This class tests L4S mode. More...
Public Member Functions | |
FqPieQueueDiscL4sMode () | |
~FqPieQueueDiscL4sMode () override | |
Public Member Functions inherited from ns3::TestCase | |
TestCase (const TestCase &)=delete | |
virtual | ~TestCase () |
Destructor. More... | |
std::string | GetName () const |
TestCase & | operator= (const TestCase &)=delete |
Private Member Functions | |
void | AddPacket (Ptr< FqPieQueueDisc > queue, Ipv4Header hdr, uint32_t nPkt) |
Enqueue the given number of packets. More... | |
void | AddPacketWithDelay (Ptr< FqPieQueueDisc > queue, Ipv4Header hdr, double delay, uint32_t nPkt) |
Enqueue the given number of packets at different times. More... | |
void | Dequeue (Ptr< FqPieQueueDisc > queue, uint32_t nPkt) |
Dequeue the given number of packets. More... | |
void | DequeueWithDelay (Ptr< FqPieQueueDisc > queue, double delay, uint32_t nPkt) |
Dequeue the given number of packets at different times. More... | |
void | DoRun () override |
Implementation to actually run this TestCase. More... | |
Additional Inherited Members | |
Public Types inherited from ns3::TestCase | |
enum | TestDuration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
Protected Member Functions inherited from ns3::TestCase | |
TestCase (std::string name) | |
Constructor. More... | |
void | AddTestCase (TestCase *testCase, TestDuration duration=QUICK) |
Add an individual child TestCase to this test suite. More... | |
TestCase * | GetParent () const |
Get the parent of this TestCase. More... | |
bool | IsStatusFailure () const |
Check if any tests failed. More... | |
bool | IsStatusSuccess () const |
Check if all tests passed. More... | |
void | SetDataDir (std::string directory) |
Set the data directory where reference trace files can be found. More... | |
void | ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line) |
Log the failure of this TestCase. More... | |
bool | MustAssertOnFailure () const |
Check if this run should assert on failure. More... | |
bool | MustContinueOnFailure () const |
Check if this run should continue on failure. More... | |
std::string | CreateDataDirFilename (std::string filename) |
Construct the full path to a file in the data directory. More... | |
std::string | CreateTempDirFilename (std::string filename) |
Construct the full path to a file in a temporary directory. More... | |
This class tests L4S mode.
This test is divided to sub test one without hash collisions and so ECT0 and ECT1 flows are classified into different flows. Sub Test 1 70 packets are enqueued into both the flows with the delay of 0.5ms between two enqueues, and dequeued with the delay of 1ms between two dequeues. Sub Test 2 140(70 ECT0 + 70 ECT1) packets are enqueued such that ECT1 packets are enqueued at 0.5ms, 1.5ms, 2.5ms and so on, and ECT0 packets are enqueued are enqueued at 1ms, 2ms, 3ms and so on Any future classifier options (e.g. SetAssociativehash) should be disabled to prevent a hash collision on this test case.
Definition at line 892 of file fq-pie-queue-disc-test-suite.cc.
FqPieQueueDiscL4sMode::FqPieQueueDiscL4sMode | ( | ) |
Definition at line 930 of file fq-pie-queue-disc-test-suite.cc.
|
override |
Definition at line 935 of file fq-pie-queue-disc-test-suite.cc.
|
private |
Enqueue the given number of packets.
queue | The queue disc. |
hdr | The IPv4 header. |
nPkt | The number of packets. |
Definition at line 940 of file fq-pie-queue-disc-test-suite.cc.
Referenced by AddPacketWithDelay(), and DoRun().
|
private |
Enqueue the given number of packets at different times.
queue | The queue disc. |
hdr | The IPv4 header. |
delay | The time between two consecutive enqueue operations. |
nPkt | The number of packets. |
Definition at line 952 of file fq-pie-queue-disc-test-suite.cc.
References AddPacket(), and ns3::Seconds().
Referenced by DoRun().
|
private |
Dequeue the given number of packets.
queue | The queue disc. |
nPkt | The number of packets. |
Definition at line 969 of file fq-pie-queue-disc-test-suite.cc.
Referenced by DequeueWithDelay().
|
private |
Dequeue the given number of packets at different times.
queue | The queue disc. |
delay | The time between two consecutive dequeue operations. |
nPkt | The number of packets. |
Definition at line 978 of file fq-pie-queue-disc-test-suite.cc.
References Dequeue(), and ns3::Seconds().
Referenced by DoRun().
|
overrideprivatevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 991 of file fq-pie-queue-disc-test-suite.cc.
References AddPacket(), AddPacketWithDelay(), DequeueWithDelay(), ns3::MilliSeconds(), NS_TEST_EXPECT_MSG_EQ, ns3::Seconds(), ns3::Ipv4Header::SetDestination(), ns3::Ipv4Header::SetEcn(), ns3::Ipv4Header::SetPayloadSize(), ns3::Ipv4Header::SetProtocol(), and ns3::Ipv4Header::SetSource().