The packet for the Terminal Burst Time Plan (TBTP) messages. More...
#include "satellite-control-message.h"
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_t > | DaTimeSlotInfoItem_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_t & | GetDaTimeslots (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... | |
Static Public Member Functions | |
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_t > | DaTimeSlotMap_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 |
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.
typedef std::vector<Ptr<SatTimeSlotConf> > ns3::SatTbtpMessage::DaTimeSlotConfContainer_t |
Container for time slot configurations in time slot map item DaTimeSlotMapItem_t.
Definition at line 208 of file satellite-control-message.h.
typedef std::pair<uint8_t, DaTimeSlotConfContainer_t> ns3::SatTbtpMessage::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.
|
private |
Definition at line 381 of file satellite-control-message.h.
typedef std::set<uint8_t> ns3::SatTbtpMessage::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.
|
private |
Definition at line 380 of file satellite-control-message.h.
ns3::SatTbtpMessage::SatTbtpMessage | ( | ) |
Default constructor for SatTbtpHeader.
Set sequence id to 0.
Definition at line 144 of file satellite-control-message.cc.
ns3::SatTbtpMessage::SatTbtpMessage | ( | uint8_t | seqId | ) |
Constructor for SatTbtpHeader to construct TBTP with given sequence id.
seqId | sequence id |
Definition at line 152 of file satellite-control-message.cc.
ns3::SatTbtpMessage::~SatTbtpMessage | ( | ) |
Destructor for SatTbtpHeader.
Definition at line 160 of file satellite-control-message.cc.
References m_daTimeSlots, and m_frameIds.
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.
const SatTbtpMessage::DaTimeSlotInfoItem_t & ns3::SatTbtpMessage::GetDaTimeslots | ( | Address | utId | ) |
Get the information of the DA time slots.
utId | id of the UT which time slot information is requested |
Definition at line 191 of file satellite-control-message.cc.
References m_daTimeSlots, and m_emptyDaSlotContainer.
|
inline |
Get size of frame info size in this TBTP message.
Definition at line 322 of file satellite-control-message.h.
References m_tbtpFrameBodySizeInBytes.
|
virtual |
Get the type ID of instance.
Definition at line 183 of file satellite-control-message.cc.
References GetTypeId().
|
inlinevirtual |
Get type of the message.
Implements ns3::SatControlMessage.
Definition at line 282 of file satellite-control-message.h.
References ns3::SatControlMsgTag::SAT_TBTP_CTRL_MSG.
const SatTbtpMessage::RaChannelInfoContainer_t ns3::SatTbtpMessage::GetRaChannels | ( | ) | const |
Get the information of the RA channels.
Definition at line 240 of file satellite-control-message.cc.
References m_raChannels.
|
virtual |
Get real size of the TBTP message, which can be used to e.g.
simulate real size.
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.
|
inline |
Get counter of the super frame in this TBTP message.
Definition at line 312 of file satellite-control-message.h.
References m_superframeCounter.
|
inline |
Get sequence id of the super frame in this TBTP message.
Definition at line 302 of file satellite-control-message.h.
References m_superframeSeqId.
uint32_t ns3::SatTbtpMessage::GetTimeSlotInfoSizeInBytes | ( | ) | const |
Get size of the time slot in bytes.
Definition at line 284 of file satellite-control-message.cc.
References m_assignmentFormat.
Referenced by GetSizeInBytes().
|
static |
methods derived from base classes
Definition at line 169 of file satellite-control-message.cc.
References m_assignmentFormat.
Referenced by GetInstanceTypeId().
void ns3::SatTbtpMessage::SetDaTimeslot | ( | Mac48Address | utId, |
uint8_t | frameId, | ||
Ptr< SatTimeSlotConf > | conf | ||
) |
Set a DA time slot information.
utId | id of the UT which time slot information is set |
frameId | Frame ID of the time slot |
conf | Pointer to time slot configuration |
Definition at line 206 of file satellite-control-message.cc.
References m_daTimeSlots, and m_frameIds.
void ns3::SatTbtpMessage::SetRaChannel | ( | uint32_t | raChannel, |
uint8_t | frameId, | ||
uint16_t | timeSlotCount | ||
) |
Set a RA time slot information.
raChannel | raChannel index |
frameId | Frame ID of RA channel |
timeSlotCount | Timeslots in channel |
Definition at line 255 of file satellite-control-message.cc.
References m_frameIds, and m_raChannels.
|
inline |
Set counter of the super frame in this TBTP message.
counter | The super frame counter. |
Definition at line 292 of file satellite-control-message.h.
References m_superframeCounter.
|
private |
Definition at line 387 of file satellite-control-message.h.
Referenced by Dump(), GetTimeSlotInfoSizeInBytes(), and GetTypeId().
|
private |
Definition at line 383 of file satellite-control-message.h.
Referenced by ~SatTbtpMessage(), Dump(), GetDaTimeslots(), GetSizeInBytes(), and SetDaTimeslot().
|
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().
|
private |
Definition at line 388 of file satellite-control-message.h.
Referenced by ~SatTbtpMessage(), GetSizeInBytes(), SetDaTimeslot(), and SetRaChannel().
|
private |
Definition at line 384 of file satellite-control-message.h.
Referenced by GetRaChannels(), GetSizeInBytes(), and SetRaChannel().
|
private |
Definition at line 385 of file satellite-control-message.h.
Referenced by Dump(), GetSuperframeCounter(), and SetSuperframeCounter().
|
private |
Definition at line 386 of file satellite-control-message.h.
Referenced by Dump(), and GetSuperframeSeqId().
|
static |
Size of message body without frame info and slot assignment info.
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().
|
static |
Size of the frame body.
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().