22 #include "ns3/qos-utils.h"
23 #include "ns3/ctrl-headers.h"
68 virtual void DoRun (
void);
73 :
TestCase (
"Check correct order of buffering when startSequence < endSeq")
89 std::list<uint16_t> m_buffer;
90 std::list<uint16_t>::iterator i,j;
91 m_buffer.push_back (0);
92 m_buffer.push_back (16);
93 m_buffer.push_back (56000);
95 uint16_t endSeq = 4000;
97 uint16_t receivedSeq = 4001 * 16;
104 m_buffer.insert (i, receivedSeq);
107 receivedSeq = 3999 * 16;
114 m_buffer.insert (i, receivedSeq);
117 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;
189 m_buffer.insert (i, receivedSeq);
192 receivedSeq = 15 * 16 + 1;
199 m_buffer.insert (i, receivedSeq);
202 receivedSeq = 4050 * 16;
209 m_buffer.insert (i, receivedSeq);
212 for (i = m_buffer.begin (), j =
m_expectedBuffer.begin (); i != m_buffer.end (); i++, j++)
224 virtual void DoRun ();
229 :
TestCase (
"Check the correctness of block ack compressed bitmap")
241 for (uint32_t i = 179; i < 220; i++)
245 for (uint32_t i = 225; i <= 242; i++)
261 for (uint32_t i = 4090; i != 10; i = (i + 1) % 4096)
265 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