ns3::SatTbtpMessage Class Reference

The packet for the Terminal Burst Time Plan (TBTP) messages. More...

#include "satellite-control-message.h"

+ Inheritance diagram for ns3::SatTbtpMessage:
+ Collaboration diagram for ns3::SatTbtpMessage:

Public Types

typedef std::vector< Ptr< SatTimeSlotConf > > DaTimeSlotConfContainer_t
 Container for time slot configurations in time slot map item DaTimeSlotMapItem_t. More...
 
typedef std::pair< uint8_t, DaTimeSlotConfContainer_tDaTimeSlotInfoItem_t
 Item for DA time slot information. More...
 
typedef std::set< uint8_t > RaChannelInfoContainer_t
 Container for RA channel information. More...
 

Public Member Functions

 SatTbtpMessage ()
 Default constructor for SatTbtpHeader. More...
 
 SatTbtpMessage (uint8_t seqId)
 Constructor for SatTbtpHeader to construct TBTP with given sequence id. More...
 
 ~SatTbtpMessage ()
 Destructor for SatTbtpHeader. More...
 
void Dump () const
 Dump all the contents of the TBTP. More...
 
const DaTimeSlotInfoItem_tGetDaTimeslots (Address utId)
 Get the information of the DA time slots. More...
 
uint32_t GetFrameInfoSize () const
 Get size of frame info size in this TBTP message. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the type ID of instance. More...
 
SatControlMsgTag::SatControlMsgType_t GetMsgType () const
 Get type of the message. More...
 
const RaChannelInfoContainer_t GetRaChannels () const
 Get the information of the RA channels. More...
 
virtual uint32_t GetSizeInBytes () const
 Get real size of the TBTP message, which can be used to e.g. More...
 
uint32_t GetSuperframeCounter ()
 Get counter of the super frame in this TBTP message. More...
 
uint8_t GetSuperframeSeqId ()
 Get sequence id of the super frame in this TBTP message. More...
 
uint32_t GetTimeSlotInfoSizeInBytes () const
 Get size of the time slot in bytes. More...
 
void SetDaTimeslot (Mac48Address utId, uint8_t frameId, Ptr< SatTimeSlotConf > conf)
 Set a DA time slot information. More...
 
void SetRaChannel (uint32_t raChannel, uint8_t frameId, uint16_t timeSlotCount)
 Set a RA time slot information. More...
 
void SetSuperframeCounter (uint32_t counter)
 Set counter of the super frame in this TBTP message. More...
 
- Public Member Functions inherited from ns3::SatControlMessage
 SatControlMessage ()
 Default constructor for SatControlMessage. More...
 
 ~SatControlMessage ()
 Destructor. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 methods derived from base classes More...
 
- Static Public Member Functions inherited from ns3::SatControlMessage
static TypeId GetTypeId (void)
 methods derived from base classes More...
 

Static Public Attributes

static const uint32_t m_tbtpBodySizeInBytes = 6
 Size of message body without frame info and slot assignment info. More...
 
static const uint32_t m_tbtpFrameBodySizeInBytes = 5
 Size of the frame body. More...
 

Private Types

typedef std::map< Address, DaTimeSlotInfoItem_tDaTimeSlotMap_t
 
typedef std::map< uint8_t, uint16_t > RaChannelMap_t
 

Private Attributes

uint8_t m_assignmentFormat
 
DaTimeSlotMap_t m_daTimeSlots
 
const DaTimeSlotInfoItem_t m_emptyDaSlotContainer
 Empty DA slot container to be returned if there are not DA time slots. More...
 
std::set< uint8_t > m_frameIds
 
RaChannelMap_t m_raChannels
 
uint32_t m_superframeCounter
 
uint8_t m_superframeSeqId
 

Detailed Description

The packet for the Terminal Burst Time Plan (TBTP) messages.

(Tagged by SatControlMsgTag with type value SAT_TBTP_CTRL_MSG) NOTE! Message implementation doesn't follow specification (ETSI EN 301 542-2). However it implements method GetSizeInBytes, which can be used to simulate real TBTP message size.

Definition at line 202 of file satellite-control-message.h.

Member Typedef Documentation

◆ DaTimeSlotConfContainer_t

Container for time slot configurations in time slot map item DaTimeSlotMapItem_t.

Definition at line 208 of file satellite-control-message.h.

◆ DaTimeSlotInfoItem_t

Item for DA time slot information.

Stored information is pair, which member first holds frame id of the time slots and member second holds container of time slot configurations.

Definition at line 216 of file satellite-control-message.h.

◆ DaTimeSlotMap_t

typedef std::map<Address, DaTimeSlotInfoItem_t> ns3::SatTbtpMessage::DaTimeSlotMap_t
private

Definition at line 381 of file satellite-control-message.h.

◆ RaChannelInfoContainer_t

Container for RA channel information.

Stored information is index of the RA channel.

Definition at line 223 of file satellite-control-message.h.

◆ RaChannelMap_t

typedef std::map<uint8_t, uint16_t> ns3::SatTbtpMessage::RaChannelMap_t
private

Definition at line 380 of file satellite-control-message.h.

Constructor & Destructor Documentation

◆ SatTbtpMessage() [1/2]

ns3::SatTbtpMessage::SatTbtpMessage ( )

Default constructor for SatTbtpHeader.

Set sequence id to 0.

Definition at line 144 of file satellite-control-message.cc.

◆ SatTbtpMessage() [2/2]

ns3::SatTbtpMessage::SatTbtpMessage ( uint8_t  seqId)

Constructor for SatTbtpHeader to construct TBTP with given sequence id.

Parameters
seqIdsequence id

Definition at line 152 of file satellite-control-message.cc.

◆ ~SatTbtpMessage()

ns3::SatTbtpMessage::~SatTbtpMessage ( )

Destructor for SatTbtpHeader.

Definition at line 160 of file satellite-control-message.cc.

References m_daTimeSlots, and m_frameIds.

Member Function Documentation

◆ Dump()

void ns3::SatTbtpMessage::Dump ( ) const

Dump all the contents of the TBTP.

Definition at line 360 of file satellite-control-message.cc.

References m_assignmentFormat, m_daTimeSlots, m_superframeCounter, and m_superframeSeqId.

◆ GetDaTimeslots()

const SatTbtpMessage::DaTimeSlotInfoItem_t & ns3::SatTbtpMessage::GetDaTimeslots ( Address  utId)

Get the information of the DA time slots.

Parameters
utIdid of the UT which time slot information is requested
Returns
vector containing DA time slot info

Definition at line 191 of file satellite-control-message.cc.

References m_daTimeSlots, and m_emptyDaSlotContainer.

◆ GetFrameInfoSize()

uint32_t ns3::SatTbtpMessage::GetFrameInfoSize ( ) const
inline

Get size of frame info size in this TBTP message.

Returns
Frame info size.

Definition at line 322 of file satellite-control-message.h.

References m_tbtpFrameBodySizeInBytes.

◆ GetInstanceTypeId()

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

Get the type ID of instance.

Returns
the object TypeId

Definition at line 183 of file satellite-control-message.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetMsgType()

SatControlMsgTag::SatControlMsgType_t ns3::SatTbtpMessage::GetMsgType ( void  ) const
inlinevirtual

Get type of the message.

Returns
SatControlMsgTag::SAT_TBTP_CTRL_MSG

Implements ns3::SatControlMessage.

Definition at line 282 of file satellite-control-message.h.

References ns3::SatControlMsgTag::SAT_TBTP_CTRL_MSG.

◆ GetRaChannels()

const SatTbtpMessage::RaChannelInfoContainer_t ns3::SatTbtpMessage::GetRaChannels ( ) const

Get the information of the RA channels.

Returns
vector containing RA channels.

Definition at line 240 of file satellite-control-message.cc.

References m_raChannels.

◆ GetSizeInBytes()

uint32_t ns3::SatTbtpMessage::GetSizeInBytes ( ) const
virtual

Get real size of the TBTP message, which can be used to e.g.

simulate real size.

Returns
Real size of the TBTP message.

Implements ns3::SatControlMessage.

Definition at line 334 of file satellite-control-message.cc.

References GetTimeSlotInfoSizeInBytes(), m_daTimeSlots, m_frameIds, m_raChannels, m_tbtpBodySizeInBytes, and m_tbtpFrameBodySizeInBytes.

+ Here is the call graph for this function:

◆ GetSuperframeCounter()

uint32_t ns3::SatTbtpMessage::GetSuperframeCounter ( )
inline

Get counter of the super frame in this TBTP message.

Returns
The super frame counter.

Definition at line 312 of file satellite-control-message.h.

References m_superframeCounter.

◆ GetSuperframeSeqId()

uint8_t ns3::SatTbtpMessage::GetSuperframeSeqId ( )
inline

Get sequence id of the super frame in this TBTP message.

Returns
The super frame sequence id.

Definition at line 302 of file satellite-control-message.h.

References m_superframeSeqId.

◆ GetTimeSlotInfoSizeInBytes()

uint32_t ns3::SatTbtpMessage::GetTimeSlotInfoSizeInBytes ( ) const

Get size of the time slot in bytes.

Returns
Size of the time slot in bytes.

Definition at line 284 of file satellite-control-message.cc.

References m_assignmentFormat.

Referenced by GetSizeInBytes().

+ Here is the caller graph for this function:

◆ GetTypeId()

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

methods derived from base classes

Definition at line 169 of file satellite-control-message.cc.

References m_assignmentFormat.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

◆ SetDaTimeslot()

void ns3::SatTbtpMessage::SetDaTimeslot ( Mac48Address  utId,
uint8_t  frameId,
Ptr< SatTimeSlotConf conf 
)

Set a DA time slot information.

Parameters
utIdid of the UT which time slot information is set
frameIdFrame ID of the time slot
confPointer to time slot configuration

Definition at line 206 of file satellite-control-message.cc.

References m_daTimeSlots, and m_frameIds.

◆ SetRaChannel()

void ns3::SatTbtpMessage::SetRaChannel ( uint32_t  raChannel,
uint8_t  frameId,
uint16_t  timeSlotCount 
)

Set a RA time slot information.

Parameters
raChannelraChannel index
frameIdFrame ID of RA channel
timeSlotCountTimeslots in channel

Definition at line 255 of file satellite-control-message.cc.

References m_frameIds, and m_raChannels.

◆ SetSuperframeCounter()

void ns3::SatTbtpMessage::SetSuperframeCounter ( uint32_t  counter)
inline

Set counter of the super frame in this TBTP message.

Parameters
counterThe super frame counter.

Definition at line 292 of file satellite-control-message.h.

References m_superframeCounter.

Member Data Documentation

◆ m_assignmentFormat

uint8_t ns3::SatTbtpMessage::m_assignmentFormat
private

Definition at line 387 of file satellite-control-message.h.

Referenced by Dump(), GetTimeSlotInfoSizeInBytes(), and GetTypeId().

◆ m_daTimeSlots

DaTimeSlotMap_t ns3::SatTbtpMessage::m_daTimeSlots
private

◆ m_emptyDaSlotContainer

const DaTimeSlotInfoItem_t ns3::SatTbtpMessage::m_emptyDaSlotContainer
private

Empty DA slot container to be returned if there are not DA time slots.

Definition at line 393 of file satellite-control-message.h.

Referenced by GetDaTimeslots().

◆ m_frameIds

std::set<uint8_t> ns3::SatTbtpMessage::m_frameIds
private

◆ m_raChannels

RaChannelMap_t ns3::SatTbtpMessage::m_raChannels
private

Definition at line 384 of file satellite-control-message.h.

Referenced by GetRaChannels(), GetSizeInBytes(), and SetRaChannel().

◆ m_superframeCounter

uint32_t ns3::SatTbtpMessage::m_superframeCounter
private

Definition at line 385 of file satellite-control-message.h.

Referenced by Dump(), GetSuperframeCounter(), and SetSuperframeCounter().

◆ m_superframeSeqId

uint8_t ns3::SatTbtpMessage::m_superframeSeqId
private

Definition at line 386 of file satellite-control-message.h.

Referenced by Dump(), and GetSuperframeSeqId().

◆ m_tbtpBodySizeInBytes

const uint32_t ns3::SatTbtpMessage::m_tbtpBodySizeInBytes = 6
static

Size of message body without frame info and slot assignment info.

field bits

group id 8 superframe sequence 8 assignment context 8 superframe count 8 assignment format (AF) 8 frame loop count 8

Definition at line 237 of file satellite-control-message.h.

Referenced by GetSizeInBytes().

◆ m_tbtpFrameBodySizeInBytes

const uint32_t ns3::SatTbtpMessage::m_tbtpFrameBodySizeInBytes = 5
static

Size of the frame body.

field bits

frame number 8 assignment offset 16 assignment loop count 16

Definition at line 248 of file satellite-control-message.h.

Referenced by GetFrameInfoSize(), and GetSizeInBytes().


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