33 m_dataControlBit(0xff),
34 m_resegmentationFlag(0xff),
37 m_sequenceNumber(0xfffa),
38 m_segmentOffset(0xffff),
40 m_controlPduType(0xff),
148 return lengthIndicator;
216 "method allowed only for STATUS PDUs");
232 "method allowed only for STATUS PDUs");
250 "method allowed only for STATUS PDUs");
267 "method allowed only for STATUS PDUs");
306 std::list<int>::const_iterator it3 =
m_nackSnList.begin();
316 os <<
" E=" << (uint16_t)(*it1);
328 os << (uint16_t)(*it1);
338 os << (uint16_t)(*it2) <<
" ";
348 os <<
" NACK_SN=" << (int)(*it3);
367 std::list<int>::const_iterator it3 =
m_nackSnList.begin();
397 i.
WriteU8(((oddE << 7) & 0x80) | ((oddLi >> 4) & 0x007F));
398 i.
WriteU8(((oddLi << 4) & 0x00F0) | ((evenE << 3) & 0x08) |
399 ((evenLi >> 8) & 0x0007));
407 i.
WriteU8(((oddE << 7) & 0x80) | ((oddLi >> 4) & 0x007F));
408 i.
WriteU8(((oddLi << 4) & 0x00F0));
444 i.
WriteU8(((oddNack >> 1) & 0xFF));
453 i.
WriteU8(((oddNack << 7) & 0x80) | (0x40)
454 | ((evenNack >> 5) & 0x1F));
465 i.
WriteU8(((evenNack << 3) & 0xF8) | (0x04) | ((oddNack >> 9) & 0x01));
470 i.
WriteU8(((evenNack << 3) & 0xF8));
476 i.
WriteU8(((oddNack << 7) & 0x80));
491 uint8_t extensionBit;
512 extensionBit = (byte_1 & 0x04) >> 2;
531 oddE = (byte_1 & 0x80) >> 7;
532 oddLi = ((byte_1 & 0x7F) << 4) | ((byte_2 & 0xF0) >> 4);
543 evenE = (byte_2 & 0x08) >> 3;
544 evenLi = ((byte_2 & 0x07) << 8) | (byte_3 & 0xFF);
564 m_ackSn = ((byte_1 & 0x0F) << 6) | ((byte_2 & 0xFC) >> 2);
566 int moreNacks = (byte_2 & 0x02) >> 1;
575 m_nackSnList.push_back(((byte_2 & 0x01) << 9) | (byte_3 << 1) | ((byte_4 & 0x80) >> 7));
578 moreNacks = ((byte_4 & 0x40) >> 6);
579 uint8_t
byte = byte_4;
582 while (moreNacks == 1)
586 m_nackSnList.push_back(((
byte & 0x1F) << 5) | ((nextByte & 0xF8) >> 3));
590 moreNacks = (nextByte & 0x04) >> 2;
597 m_nackSnList.push_back(((
byte & 0x01) << 9) | (nextByte << 1) |
598 ((finalByte & 0x80) >> 7));
600 moreNacks = ((finalByte & 0x40) >> 6);
iterator in a Buffer instance
void WriteU8(uint8_t data)
uint16_t GetValue() const
Extracts the numeric value of the sequence number.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.