ns3::SatPPduHeader Class Reference

SatPPduHeader implementation. More...

#include "satellite-rle-header.h"

+ Inheritance diagram for ns3::SatPPduHeader:
+ Collaboration diagram for ns3::SatPPduHeader:

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
 

Detailed Description

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.

See also
ETSI TS 103 179 V1.1.1 Satellite Earth Stations and Systems (SES); Return Link Encapsulation (RLE) protocol

Definition at line 45 of file satellite-rle-header.h.

Constructor & Destructor Documentation

◆ SatPPduHeader()

ns3::SatPPduHeader::SatPPduHeader ( )

Constructor.

Definition at line 34 of file satellite-rle-header.cc.

◆ ~SatPPduHeader()

ns3::SatPPduHeader::~SatPPduHeader ( )

Destructor for SatPPduHeader.

Definition at line 47 of file satellite-rle-header.cc.

Member Function Documentation

◆ Deserialize()

uint32_t ns3::SatPPduHeader::Deserialize ( Buffer::Iterator  start)
virtual

Deserializes information from buffer to this instance of SatPPduHeader.

Parameters
startBuffer from which the information is deserialized
Returns
Serialized size of the buffer

LT, T and C flags and PPDU_Label are not currently used.

Definition at line 126 of file satellite-rle-header.cc.

References GetSerializedSize(), m_endIndicator, m_fragmentId, m_ppduLengthInBytes, m_startIndicator, and m_totalLengthInBytes.

+ Here is the call graph for this function:

◆ GetEndIndicator()

uint8_t ns3::SatPPduHeader::GetEndIndicator ( ) const

Get end indicator of PPDU header.

Returns
End indicator

Definition at line 183 of file satellite-rle-header.cc.

References m_endIndicator.

Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().

+ Here is the caller graph for this function:

◆ GetFragmentId()

uint8_t ns3::SatPPduHeader::GetFragmentId ( ) const

Get PPDU fragment id.

Returns
Fragment id

Definition at line 199 of file satellite-rle-header.cc.

References m_fragmentId.

Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().

+ Here is the caller graph for this function:

◆ GetHeaderSizeInBytes()

uint32_t ns3::SatPPduHeader::GetHeaderSizeInBytes ( uint8_t  type) const

◆ GetInstanceTypeId()

TypeId ns3::SatPPduHeader::GetInstanceTypeId ( void  ) const
virtual

Get the type ID of instance.

Returns
the object TypeId

Definition at line 169 of file satellite-rle-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetMaxHeaderSizeInBytes()

uint32_t ns3::SatPPduHeader::GetMaxHeaderSizeInBytes ( ) const

Get maximum RLE header size.

Returns
Maximum header size

Definition at line 287 of file satellite-rle-header.cc.

References m_continuationPpduHeaderSize, m_endPpduHeaderSize, m_fullPpduHeaderSize, and m_startPpduHeaderSize.

Referenced by ns3::SatReturnLinkEncapsulator::SatReturnLinkEncapsulator().

+ Here is the caller graph for this function:

◆ GetPPduLength()

uint16_t ns3::SatPPduHeader::GetPPduLength ( ) const

Get PPDU fragment length in bytes.

Returns
PPDU length in bytes

Definition at line 191 of file satellite-rle-header.cc.

References m_ppduLengthInBytes.

Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().

+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::SatPPduHeader::GetSerializedSize ( void  ) const
virtual

Get serialized size of SatPPduHeader.

Returns
Serialized size in bytes

Definition at line 60 of file satellite-rle-header.cc.

References m_continuationPpduHeaderSize, m_endIndicator, m_endPpduHeaderSize, m_fullPpduHeaderSize, m_startIndicator, and m_startPpduHeaderSize.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ GetStartIndicator()

uint8_t ns3::SatPPduHeader::GetStartIndicator ( ) const

Get start indicator of PPDU header.

Returns
Start indicator

Definition at line 175 of file satellite-rle-header.cc.

References m_startIndicator.

Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().

+ Here is the caller graph for this function:

◆ GetTotalLength()

uint16_t ns3::SatPPduHeader::GetTotalLength ( ) const

Get total length of higher layer PDU.

Set in START_PPDU status type.

Returns
Total length of HL PDU

Definition at line 207 of file satellite-rle-header.cc.

References m_totalLengthInBytes.

Referenced by ns3::SatReturnLinkEncapsulator::ProcessPdu().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::SatPPduHeader::GetTypeId ( void  )
static

Get the type ID.

Returns
the object TypeId

Definition at line 52 of file satellite-rle-header.cc.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

◆ Print()

void ns3::SatPPduHeader::Print ( std::ostream &  os) const
virtual

Print time stamp of this instance of SatPPduHeader.

Parameters
&osOutput stream to which tag timestamp is printed.

Definition at line 160 of file satellite-rle-header.cc.

References m_endIndicator, m_fragmentId, m_ppduLengthInBytes, m_startIndicator, and m_totalLengthInBytes.

◆ Serialize()

void ns3::SatPPduHeader::Serialize ( Buffer::Iterator  start) const
virtual

Serializes information to buffer from this instance of SatPPduHeader.

Parameters
startBuffer in which the information is serialized

LT, T and C flags and PPDU_Label are not currently used.

Definition at line 95 of file satellite-rle-header.cc.

References m_endIndicator, m_fragmentId, m_ppduLengthInBytes, m_startIndicator, and m_totalLengthInBytes.

◆ SetEndIndicator()

void ns3::SatPPduHeader::SetEndIndicator ( )

Set end indicator to PPDU header.

Definition at line 223 of file satellite-rle-header.cc.

References m_endIndicator.

Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().

+ Here is the caller graph for this function:

◆ SetFragmentId()

void ns3::SatPPduHeader::SetFragmentId ( uint8_t  id)

Set fragment id to PPDU header.

Parameters
idFragment id

Definition at line 239 of file satellite-rle-header.cc.

References m_fragmentId.

Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().

+ Here is the caller graph for this function:

◆ SetPPduLength()

void ns3::SatPPduHeader::SetPPduLength ( uint16_t  bytes)

Set PPDU fragment length to PPDU header.

Parameters
bytesPPDU length in bytes

Definition at line 231 of file satellite-rle-header.cc.

References m_ppduLengthInBytes.

Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().

+ Here is the caller graph for this function:

◆ SetStartIndicator()

void ns3::SatPPduHeader::SetStartIndicator ( )

Set start indicator to PPDU header.

Definition at line 215 of file satellite-rle-header.cc.

References m_startIndicator.

Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().

+ Here is the caller graph for this function:

◆ SetTotalLength()

void ns3::SatPPduHeader::SetTotalLength ( uint16_t  bytes)

Set total length of higher layer PDU.

Set in START_PPDU status type.

Parameters
bytesTotal HL packet size

Definition at line 247 of file satellite-rle-header.cc.

References m_totalLengthInBytes.

Referenced by ns3::SatReturnLinkEncapsulator::GetNewRlePdu().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_continuationPpduHeaderSize

const uint32_t ns3::SatPPduHeader::m_continuationPpduHeaderSize
private

◆ m_endIndicator

uint8_t ns3::SatPPduHeader::m_endIndicator
private

◆ m_endPpduHeaderSize

const uint32_t ns3::SatPPduHeader::m_endPpduHeaderSize
private

◆ m_fragmentId

uint8_t ns3::SatPPduHeader::m_fragmentId
private

Definition at line 172 of file satellite-rle-header.h.

Referenced by Deserialize(), GetFragmentId(), Print(), Serialize(), and SetFragmentId().

◆ m_fullPpduHeaderSize

const uint32_t ns3::SatPPduHeader::m_fullPpduHeaderSize
private

Constant variables for determining the header sizes of different RLE PPDU fragments.

Definition at line 179 of file satellite-rle-header.h.

Referenced by GetHeaderSizeInBytes(), GetMaxHeaderSizeInBytes(), and GetSerializedSize().

◆ m_ppduLengthInBytes

uint16_t ns3::SatPPduHeader::m_ppduLengthInBytes
private

Definition at line 171 of file satellite-rle-header.h.

Referenced by Deserialize(), GetPPduLength(), Print(), Serialize(), and SetPPduLength().

◆ m_startIndicator

uint8_t ns3::SatPPduHeader::m_startIndicator
private

◆ m_startPpduHeaderSize

const uint32_t ns3::SatPPduHeader::m_startPpduHeaderSize
private

◆ m_totalLengthInBytes

uint16_t ns3::SatPPduHeader::m_totalLengthInBytes
private

Definition at line 173 of file satellite-rle-header.h.

Referenced by Deserialize(), GetTotalLength(), Print(), Serialize(), and SetTotalLength().


The documentation for this class was generated from the following files: