SatPPduHeader implementation. More...
#include "satellite-rle-header.h"
Public Member Functions | |
SatPPduHeader () | |
Constructor. More... | |
~SatPPduHeader () | |
Destructor for SatPPduHeader. More... | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserializes information from buffer to this instance of SatPPduHeader. More... | |
uint8_t | GetEndIndicator () const |
Get end indicator of PPDU header. More... | |
uint8_t | GetFragmentId () const |
Get PPDU fragment id. More... | |
uint32_t | GetHeaderSizeInBytes (uint8_t type) const |
Get the maximum RLE header size. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Get the type ID of instance. More... | |
uint32_t | GetMaxHeaderSizeInBytes () const |
Get maximum RLE header size. More... | |
uint16_t | GetPPduLength () const |
Get PPDU fragment length in bytes. More... | |
virtual uint32_t | GetSerializedSize (void) const |
Get serialized size of SatPPduHeader. More... | |
uint8_t | GetStartIndicator () const |
Get start indicator of PPDU header. More... | |
uint16_t | GetTotalLength () const |
Get total length of higher layer PDU. More... | |
virtual void | Print (std::ostream &os) const |
Print time stamp of this instance of SatPPduHeader. More... | |
virtual void | Serialize (Buffer::Iterator start) const |
Serializes information to buffer from this instance of SatPPduHeader. More... | |
void | SetEndIndicator () |
Set end indicator to PPDU header. More... | |
void | SetFragmentId (uint8_t id) |
Set fragment id to PPDU header. More... | |
void | SetPPduLength (uint16_t bytes) |
Set PPDU fragment length to PPDU header. More... | |
void | SetStartIndicator () |
Set start indicator to PPDU header. More... | |
void | SetTotalLength (uint16_t bytes) |
Set total length of higher layer PDU. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Attributes | |
const uint32_t | m_continuationPpduHeaderSize |
uint8_t | m_endIndicator |
const uint32_t | m_endPpduHeaderSize |
uint8_t | m_fragmentId |
const uint32_t | m_fullPpduHeaderSize |
Constant variables for determining the header sizes of different RLE PPDU fragments. More... | |
uint16_t | m_ppduLengthInBytes |
uint8_t | m_startIndicator |
const uint32_t | m_startPpduHeaderSize |
uint16_t | m_totalLengthInBytes |
SatPPduHeader implementation.
RLE header is added to each of the transmitted RLE packets at the UT in RTN link direction. The header is detached and interpreted at the RLE receiver at the GW. Based on the content the receiver can do the defragmentation of the higher layer packet. The size of the RLE header is determined by the Serialize and GetSerializedSize methods. The RLE header has the proper content and size according to specification.
Definition at line 47 of file satellite-rle-header.h.
ns3::SatPPduHeader::SatPPduHeader | ( | ) |
Constructor.
Definition at line 37 of file satellite-rle-header.cc.
ns3::SatPPduHeader::~SatPPduHeader | ( | ) |
Destructor for SatPPduHeader.
Definition at line 50 of file satellite-rle-header.cc.
|
virtual |
Deserializes information from buffer to this instance of SatPPduHeader.
start | Buffer from which the information is deserialized |
LT, T and C flags and PPDU_Label are not currently used.
Definition at line 129 of file satellite-rle-header.cc.
References GetSerializedSize(), m_endIndicator, m_fragmentId, m_ppduLengthInBytes, m_startIndicator, and m_totalLengthInBytes.
uint8_t ns3::SatPPduHeader::GetEndIndicator | ( | ) | const |
Get end indicator of PPDU header.
Definition at line 186 of file satellite-rle-header.cc.
References m_endIndicator.
Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().
uint8_t ns3::SatPPduHeader::GetFragmentId | ( | ) | const |
Get PPDU fragment id.
Definition at line 202 of file satellite-rle-header.cc.
References m_fragmentId.
Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().
uint32_t ns3::SatPPduHeader::GetHeaderSizeInBytes | ( | uint8_t | type | ) | const |
Get the maximum RLE header size.
type | Header type |
Definition at line 258 of file satellite-rle-header.cc.
References ns3::SatEncapPduStatusTag::CONTINUATION_PDU, ns3::SatEncapPduStatusTag::END_PDU, ns3::SatEncapPduStatusTag::FULL_PDU, m_continuationPpduHeaderSize, m_endPpduHeaderSize, m_fullPpduHeaderSize, m_startPpduHeaderSize, and ns3::SatEncapPduStatusTag::START_PDU.
Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().
|
virtual |
Get the type ID of instance.
Definition at line 172 of file satellite-rle-header.cc.
References GetTypeId().
uint32_t ns3::SatPPduHeader::GetMaxHeaderSizeInBytes | ( | ) | const |
Get maximum RLE header size.
Definition at line 290 of file satellite-rle-header.cc.
References m_continuationPpduHeaderSize, m_endPpduHeaderSize, m_fullPpduHeaderSize, and m_startPpduHeaderSize.
Referenced by ns3::SatReturnLinkEncapsulator::SatReturnLinkEncapsulator().
uint16_t ns3::SatPPduHeader::GetPPduLength | ( | ) | const |
Get PPDU fragment length in bytes.
Definition at line 194 of file satellite-rle-header.cc.
References m_ppduLengthInBytes.
Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().
|
virtual |
Get serialized size of SatPPduHeader.
Definition at line 63 of file satellite-rle-header.cc.
References m_continuationPpduHeaderSize, m_endIndicator, m_endPpduHeaderSize, m_fullPpduHeaderSize, m_startIndicator, and m_startPpduHeaderSize.
Referenced by Deserialize().
uint8_t ns3::SatPPduHeader::GetStartIndicator | ( | ) | const |
Get start indicator of PPDU header.
Definition at line 178 of file satellite-rle-header.cc.
References m_startIndicator.
Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().
uint16_t ns3::SatPPduHeader::GetTotalLength | ( | ) | const |
Get total length of higher layer PDU.
Set in START_PPDU status type.
Definition at line 210 of file satellite-rle-header.cc.
References m_totalLengthInBytes.
Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().
|
static |
Get the type ID.
Definition at line 55 of file satellite-rle-header.cc.
Referenced by GetInstanceTypeId().
|
virtual |
Print time stamp of this instance of SatPPduHeader.
&os | Output stream to which tag timestamp is printed. |
Definition at line 163 of file satellite-rle-header.cc.
References m_endIndicator, m_fragmentId, m_ppduLengthInBytes, m_startIndicator, and m_totalLengthInBytes.
|
virtual |
Serializes information to buffer from this instance of SatPPduHeader.
start | Buffer in which the information is serialized |
LT, T and C flags and PPDU_Label are not currently used.
Definition at line 98 of file satellite-rle-header.cc.
References m_endIndicator, m_fragmentId, m_ppduLengthInBytes, m_startIndicator, and m_totalLengthInBytes.
void ns3::SatPPduHeader::SetEndIndicator | ( | ) |
Set end indicator to PPDU header.
Definition at line 226 of file satellite-rle-header.cc.
References m_endIndicator.
Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().
void ns3::SatPPduHeader::SetFragmentId | ( | uint8_t | id | ) |
Set fragment id to PPDU header.
id | Fragment id |
Definition at line 242 of file satellite-rle-header.cc.
References m_fragmentId.
Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().
void ns3::SatPPduHeader::SetPPduLength | ( | uint16_t | bytes | ) |
Set PPDU fragment length to PPDU header.
bytes | PPDU length in bytes |
Definition at line 234 of file satellite-rle-header.cc.
References m_ppduLengthInBytes.
Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().
void ns3::SatPPduHeader::SetStartIndicator | ( | ) |
Set start indicator to PPDU header.
Definition at line 218 of file satellite-rle-header.cc.
References m_startIndicator.
Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().
void ns3::SatPPduHeader::SetTotalLength | ( | uint16_t | bytes | ) |
Set total length of higher layer PDU.
Set in START_PPDU status type.
bytes | Total HL packet size |
Definition at line 250 of file satellite-rle-header.cc.
References m_totalLengthInBytes.
Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().
|
private |
Definition at line 184 of file satellite-rle-header.h.
Referenced by GetHeaderSizeInBytes(), GetMaxHeaderSizeInBytes(), and GetSerializedSize().
|
private |
Definition at line 172 of file satellite-rle-header.h.
Referenced by Deserialize(), GetEndIndicator(), GetSerializedSize(), Print(), Serialize(), and SetEndIndicator().
|
private |
Definition at line 183 of file satellite-rle-header.h.
Referenced by GetHeaderSizeInBytes(), GetMaxHeaderSizeInBytes(), and GetSerializedSize().
|
private |
Definition at line 174 of file satellite-rle-header.h.
Referenced by Deserialize(), GetFragmentId(), Print(), Serialize(), and SetFragmentId().
|
private |
Constant variables for determining the header sizes of different RLE PPDU fragments.
Definition at line 181 of file satellite-rle-header.h.
Referenced by GetHeaderSizeInBytes(), GetMaxHeaderSizeInBytes(), and GetSerializedSize().
|
private |
Definition at line 173 of file satellite-rle-header.h.
Referenced by Deserialize(), GetPPduLength(), Print(), Serialize(), and SetPPduLength().
|
private |
Definition at line 171 of file satellite-rle-header.h.
Referenced by Deserialize(), GetSerializedSize(), GetStartIndicator(), Print(), Serialize(), and SetStartIndicator().
|
private |
Definition at line 182 of file satellite-rle-header.h.
Referenced by GetHeaderSizeInBytes(), GetMaxHeaderSizeInBytes(), and GetSerializedSize().
|
private |
Definition at line 175 of file satellite-rle-header.h.
Referenced by Deserialize(), GetTotalLength(), Print(), Serialize(), and SetTotalLength().