25 #include "ns3/packet.h" 27 #include "ns3/lte-rlc-am-header.h" 54 uint32_t psize = pkt->
GetSize ();
55 uint8_t buffer[psize];
56 std::ostringstream oss (std::ostringstream::out);
58 for (uint32_t i = 0; i < psize; i++)
60 oss << std::setfill (
'0') << std::setw (2) << std::hex << (uint32_t) buffer[i];
72 uint32_t psize = pkt->
GetSize ();
73 uint8_t buffer[psize];
74 std::ostringstream oss (std::ostringstream::out);
76 for (uint32_t i = 0; i < psize; i++)
78 oss << (std::bitset<8> (buffer[i]));
80 return std::string (oss.str () +
"\n");
89 NS_LOG_DEBUG (
"---- SERIALIZED PACKET CONTENTS (HEX): -------");
102 NS_LOG_DEBUG (
"--------- " << s.data () <<
" INFO: -------");
103 std::ostringstream oss (std::ostringstream::out);
127 std::list<SequenceNumber10> nackSnList,
131 virtual void DoRun (
void);
141 std::list<SequenceNumber10> nackSnList ,
145 m_nackSnList (nackSnList),
161 for (std::list<SequenceNumber10>::iterator it =
m_nackSnList.begin ();
165 h.PushNack (it->GetValue ());
178 for (std::list<SequenceNumber10>::iterator it =
m_nackSnList.begin ();
210 std::list<SequenceNumber10> nackSnList;
211 std::string hex (
"0020");
217 std::list<SequenceNumber10> nackSnList;
218 std::string hex (
"0da4");
224 std::list<SequenceNumber10> nackSnList;
226 std::string hex (
"000bb480");
233 std::list<SequenceNumber10> nackSnList;
236 std::string hex (
"000bfed790");
243 std::list<SequenceNumber10> nackSnList;
247 std::string hex (
"000bfed795d980");
254 std::list<SequenceNumber10> nackSnList;
259 std::string hex (
"000bfed795d9cad8");
uint32_t RemoveHeader(Header &header)
Deserialize and remove the header from the internal buffer.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
Rlc Am Status Pdu Test Case.
uint32_t GetSize(void) const
Returns the the size in bytes of the packet (including the zero-filled initial payload).
ns3::LteRlcHeaderTestSuite staticLteRlcHeaderTestSuiteInstance
the test suite
static void LogPacketContents(Ptr< Packet > pkt)
Function to log packet contents.
static void LogPacketInfo(T source, std::string s)
Log packet info function.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
static std::string sprintPacketContentsHex(Ptr< Packet > pkt)
Function to convert packet contents in hex format.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
RlcAmStatusPduTestCase(SequenceNumber10 ackSn, std::list< SequenceNumber10 > nackSnList, std::string hex)
Constructor.
SequenceNumber10 m_ackSn
ack sequence number
uint32_t CopyData(uint8_t *buffer, uint32_t size) const
Copy the packet contents to a byte buffer.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
virtual void DoRun(void)
Implementation to actually run this TestCase.
#define NS_TEST_ASSERT_MSG_GT(actual, limit, msg)
Test that an actual value is greater than a limit and report and abort if not.
static std::string sprintPacketContentsBin(Ptr< Packet > pkt)
Function to convert packet contents in binary format.
std::list< SequenceNumber10 > m_nackSnList
list of nack sequence numbers
#define NS_TEST_ASSERT_MSG_LT(actual, limit, msg)
Test that an actual value is less than a limit and report and abort if not.
void AddHeader(const Header &header)
Add header to this packet.
std::string m_hex
hex string