7#include "nr-pdcp-header.h"
14NS_LOG_COMPONENT_DEFINE(
"NrPdcpHeader");
16NS_OBJECT_ENSURE_REGISTERED(NrPdcpHeader);
20 m_sequenceNumber(0xfffa)
24NrPdcpHeader::~NrPdcpHeader()
27 m_sequenceNumber = 0xfffb;
33 m_dcBit = dcBit & 0x01;
39 m_sequenceNumber = sequenceNumber & 0x0FFF;
51 return m_sequenceNumber;
57 static TypeId tid = TypeId(
"ns3::NrPdcpHeader")
65NrPdcpHeader::GetInstanceTypeId()
const
71NrPdcpHeader::Print(std::ostream& os)
const
73 os <<
"D/C=" << (uint16_t)m_dcBit;
74 os <<
" SN=" << m_sequenceNumber;
78NrPdcpHeader::GetSerializedSize()
const
84NrPdcpHeader::Serialize(Buffer::Iterator start)
const
86 Buffer::Iterator i = start;
88 i.WriteU8((m_dcBit << 7) | (m_sequenceNumber & 0x0F00) >> 8);
89 i.WriteU8(m_sequenceNumber & 0x00FF);
93NrPdcpHeader::Deserialize(Buffer::Iterator start)
95 Buffer::Iterator i = start;
101 m_dcBit = (byte_1 & 0x80) > 7;
103 NS_ASSERT(m_dcBit == DATA_PDU);
104 m_sequenceNumber = ((byte_1 & 0x0F) << 8) | byte_2;
106 return GetSerializedSize();