signetlabdei / quic-ns-3

QUIC implementation for ns-3
GNU General Public License v2.0
44 stars 17 forks source link

No flow when BulkSend app starts at time=0 #44

Closed abedaeed17 closed 8 months ago

abedaeed17 commented 8 months ago

Hi, I have noticed a strange behavior when setting up the BulkSend application to start sending at time=0, but works well if I set it to start at time=2 seconds, or even 0.01 seconds. Why is that happening? and is there a way to solve it? Attaching the relevant code, in case it is needed:

// Create and configure a QUIC BulkSendApplication and install it on the QUIC server's node:
    Address remoteAddr(InetSocketAddress(ueIpIface.GetAddress(0), dlPort));
    BulkSendHelper bulkSendHelper("ns3::QuicSocketFactory", remoteAddr);
    bulkSendHelper.SetAttribute("MaxBytes", UintegerValue(calculatedFileSize));
    bulkSendHelper.SetAttribute("SendSize", UintegerValue(512));
    ApplicationContainer sourceApps = bulkSendHelper.Install(remoteHost);
    sourceApps.Start(Seconds(0.01)); ** THE PROBLEM IS HERE, IF SET TO BE 0, THEN I SEE NO FLOW AT ALL **
    sourceApps.Stop(Seconds(simulationDuration));

    // Create and configure a QUIC PacketSinkApplication and install it on 'UE-0':
    PacketSinkHelper PacketSinkHelper("ns3::QuicSocketFactory", InetSocketAddress(Ipv4Address::GetAny(), dlPort));
    PacketSinkHelper.SetAttribute("Protocol", TypeIdValue(QuicSocketFactory::GetTypeId()));
    ApplicationContainer sinkApps = PacketSinkHelper.Install(ueNodes.Get(0));
    sinkApps.Start(Seconds(0));
    sinkApps.Stop(Seconds(simulationDuration));

Thanks!

fedech commented 8 months ago

The helpers for the lower layers start at time 0, and may not be configured yet. This is expected behavior, and is a limitation of ns-3, not just of the QUIC module.