22 #include "ns3/qos-utils.h"
23 #include "ns3/ctrl-headers.h"
67 virtual void DoRun (
void);
72 :
TestCase (
"Check correct order of buffering when startSequence < endSeq")
88 std::list<uint16_t> m_buffer;
89 std::list<uint16_t>::iterator i,j;
90 m_buffer.push_back (0);
91 m_buffer.push_back (16);
92 m_buffer.push_back (56000);
94 uint16_t endSeq = 4000;
96 uint16_t receivedSeq = 4001 * 16;
103 m_buffer.insert (i, receivedSeq);
106 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++)
151 virtual void DoRun (
void);
156 :
TestCase (
"Check correct order of buffering when startSequence > endSeq")
173 std::list<uint16_t> m_buffer;
174 std::list<uint16_t>::iterator i,j;
175 m_buffer.push_back (256);
176 m_buffer.push_back (64000);
177 m_buffer.push_back (16);
179 uint16_t endSeq = 10;
181 uint16_t receivedSeq = 15 * 16;
188 m_buffer.insert (i, receivedSeq);
191 receivedSeq = 15 * 16 + 1;
198 m_buffer.insert (i, receivedSeq);
201 receivedSeq = 4050 * 16;
208 m_buffer.insert (i, receivedSeq);
211 for (i = m_buffer.begin (), j =
m_expectedBuffer.begin (); i != m_buffer.end (); i++, j++)
223 virtual void DoRun ();
228 :
TestCase (
"Check the correctness of block ack compressed bitmap")
240 for (uint32_t i = 179; i < 220; i++)
244 for (uint32_t i = 225; i <= 242; i++)
260 for (uint32_t i = 4090; i != 10; i = (i + 1) % 4096)
264 for (uint32_t i = 22; i < 25; i++)
std::list< uint16_t > m_expectedBuffer
NS_LOG_COMPONENT_DEFINE("GrantedTimeWindowMpiInterface")
virtual ~PacketBufferingCaseA()
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
virtual ~PacketBufferingCaseB()
virtual void DoRun(void)
Implementation to actually run this TestCase.
void AddTestCase(TestCase *testCase) NS_DEPRECATED
Add an individual child TestCase case to this TestCase.
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