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");
266 "method allowed only for STATUS PDUs");
315 os <<
" E=" << (uint16_t)(*it1);
327 os << (uint16_t)(*it1);
337 os << (uint16_t)(*it2) <<
" ";
347 os <<
" NACK_SN=" << (int)(*it3);
396 i.
WriteU8(((oddE << 7) & 0x80) | ((oddLi >> 4) & 0x007F));
397 i.
WriteU8(((oddLi << 4) & 0x00F0) | ((evenE << 3) & 0x08) |
398 ((evenLi >> 8) & 0x0007));
406 i.
WriteU8(((oddE << 7) & 0x80) | ((oddLi >> 4) & 0x007F));
407 i.
WriteU8((oddLi << 4) & 0x00F0);
443 i.
WriteU8((oddNack >> 1) & 0xFF);
452 i.
WriteU8(((oddNack << 7) & 0x80) | (0x40)
453 | ((evenNack >> 5) & 0x1F));
464 i.
WriteU8(((evenNack << 3) & 0xF8) | (0x04) | ((oddNack >> 9) & 0x01));
469 i.
WriteU8((evenNack << 3) & 0xF8);
475 i.
WriteU8((oddNack << 7) & 0x80);
490 uint8_t extensionBit;
511 extensionBit = (byte_1 & 0x04) >> 2;
530 oddE = (byte_1 & 0x80) >> 7;
531 oddLi = ((byte_1 & 0x7F) << 4) | ((byte_2 & 0xF0) >> 4);
542 evenE = (byte_2 & 0x08) >> 3;
543 evenLi = ((byte_2 & 0x07) << 8) | (byte_3 & 0xFF);
563 m_ackSn = ((byte_1 & 0x0F) << 6) | ((byte_2 & 0xFC) >> 2);
565 int moreNacks = (byte_2 & 0x02) >> 1;
574 m_nackSnList.push_back(((byte_2 & 0x01) << 9) | (byte_3 << 1) | ((byte_4 & 0x80) >> 7));
577 moreNacks = ((byte_4 & 0x40) >> 6);
578 uint8_t
byte = byte_4;
581 while (moreNacks == 1)
585 m_nackSnList.push_back(((
byte & 0x1F) << 5) | ((nextByte & 0xF8) >> 3));
589 moreNacks = (nextByte & 0x04) >> 2;
596 m_nackSnList.push_back(((
byte & 0x01) << 9) | (nextByte << 1) |
597 ((finalByte & 0x80) >> 7));
599 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.