23 #include "ns3/qos-utils.h"
24 #include "ns3/ctrl-headers.h"
69 virtual void DoRun (
void);
74 :
TestCase (
"Check correct order of buffering when startSequence < endSeq")
90 std::list<uint16_t> m_buffer;
91 std::list<uint16_t>::iterator i,j;
92 m_buffer.push_back (0);
93 m_buffer.push_back (16);
94 m_buffer.push_back (56000);
96 uint16_t endSeq = 4000;
98 uint16_t receivedSeq = 4001 * 16;
104 m_buffer.insert (i, receivedSeq);
107 receivedSeq = 3999 * 16;
113 m_buffer.insert (i, receivedSeq);
116 for (i = m_buffer.begin (), j =
m_expectedBuffer.begin (); i != m_buffer.end (); i++, j++)
152 virtual void DoRun (
void);
157 :
TestCase (
"Check correct order of buffering when startSequence > endSeq")
174 std::list<uint16_t> m_buffer;
175 std::list<uint16_t>::iterator i,j;
176 m_buffer.push_back (256);
177 m_buffer.push_back (64000);
178 m_buffer.push_back (16);
180 uint16_t endSeq = 10;
182 uint16_t receivedSeq = 15 * 16;
188 m_buffer.insert (i, receivedSeq);
191 receivedSeq = 15 * 16 + 1;
197 m_buffer.insert (i, receivedSeq);
200 receivedSeq = 4050 * 16;
206 m_buffer.insert (i, receivedSeq);
209 for (i = m_buffer.begin (), j =
m_expectedBuffer.begin (); i != m_buffer.end (); i++, j++)
222 virtual void DoRun ();
227 :
TestCase (
"Check the correctness of block ack compressed bitmap")
239 for (uint32_t i = 179; i < 220; i++)
243 for (uint32_t i = 225; i <= 242; i++)
259 for (uint32_t i = 4090; i != 10; i = (i + 1) % 4096)
263 for (uint32_t i = 22; i < 25; i++)
std::list< uint16_t > m_expectedBuffer
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
void AddTestCase(TestCase *testCase, enum TestDuration duration)
Add an individual child TestCase to this test suite.
virtual ~PacketBufferingCaseA()
virtual ~PacketBufferingCaseB()
virtual void DoRun(void)
Implementation to actually run this TestCase.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
This simple test verifies the correctness of buffering for packets received under block ack...
uint32_t QosUtilsMapSeqControlToUniqueInteger(uint16_t seqControl, uint16_t endSequence)
Next function is useful to correctly sort buffered packets under block ack.
virtual void DoRun(void)
Implementation to actually run this TestCase.
static BlockAckTestSuite g_blockAckTestSuite
std::list< uint16_t > m_expectedBuffer