This class tests L4S mode. More...
Public Member Functions | |
FqCobaltQueueDiscL4sMode () | |
virtual | ~FqCobaltQueueDiscL4sMode () |
![]() | |
virtual | ~TestCase () |
Destructor. More... | |
std::string | GetName (void) const |
Private Member Functions | |
void | AddPacket (Ptr< FqCobaltQueueDisc > queue, Ipv4Header hdr, u_int32_t nPkt) |
void | AddPacketWithDelay (Ptr< FqCobaltQueueDisc > queue, Ipv4Header hdr, double delay, uint32_t nPkt) |
void | Dequeue (Ptr< FqCobaltQueueDisc > queue, uint32_t nPkt) |
void | DequeueWithDelay (Ptr< FqCobaltQueueDisc > queue, double delay, uint32_t nPkt) |
virtual void | DoRun (void) |
Implementation to actually run this TestCase. More... | |
Additional Inherited Members | |
![]() | |
enum | TestDuration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } |
How long the test takes to execute. More... | |
![]() | |
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 TestCsse. More... | |
bool | IsStatusFailure (void) const |
Check if any tests failed. More... | |
bool | IsStatusSuccess (void) 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 (void) const |
Check if this run should assert on failure. More... | |
bool | MustContinueOnFailure (void) 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 950 of file fq-cobalt-queue-disc-test-suite.cc.
FqCobaltQueueDiscL4sMode::FqCobaltQueueDiscL4sMode | ( | ) |
Definition at line 964 of file fq-cobalt-queue-disc-test-suite.cc.
|
virtual |
Definition at line 969 of file fq-cobalt-queue-disc-test-suite.cc.
|
private |
Definition at line 974 of file fq-cobalt-queue-disc-test-suite.cc.
Referenced by AddPacketWithDelay(), and DoRun().
|
private |
Definition at line 986 of file fq-cobalt-queue-disc-test-suite.cc.
References AddPacket(), and ns3::Seconds().
Referenced by DoRun().
|
private |
Definition at line 995 of file fq-cobalt-queue-disc-test-suite.cc.
Referenced by DequeueWithDelay().
|
private |
Definition at line 1004 of file fq-cobalt-queue-disc-test-suite.cc.
References Dequeue(), and ns3::Seconds().
Referenced by DoRun().
|
privatevirtual |
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Implements ns3::TestCase.
Definition at line 1013 of file fq-cobalt-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().