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 205 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 211 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 219 of file satellite-control-message.h.
|
private |
Definition at line 384 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 226 of file satellite-control-message.h.
|
private |
Definition at line 383 of file satellite-control-message.h.
ns3::SatTbtpMessage::SatTbtpMessage | ( | ) |
Default constructor for SatTbtpHeader.
Set sequence id to 0.
Definition at line 147 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 155 of file satellite-control-message.cc.
ns3::SatTbtpMessage::~SatTbtpMessage | ( | ) |
Destructor for SatTbtpHeader.
Definition at line 163 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 363 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 194 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 325 of file satellite-control-message.h.
References m_tbtpFrameBodySizeInBytes.
|
virtual |
Get the type ID of instance.
Definition at line 186 of file satellite-control-message.cc.
References GetTypeId().
|
inlinevirtual |
Get type of the message.
Implements ns3::SatControlMessage.
Definition at line 285 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 243 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 337 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 315 of file satellite-control-message.h.
References m_superframeCounter.
|
inline |
Get sequence id of the super frame in this TBTP message.
Definition at line 305 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 287 of file satellite-control-message.cc.
References m_assignmentFormat.
Referenced by GetSizeInBytes().
|
static |
methods derived from base classes
Definition at line 172 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 209 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 258 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 295 of file satellite-control-message.h.
References m_superframeCounter.
|
private |
Definition at line 390 of file satellite-control-message.h.
Referenced by Dump(), GetTimeSlotInfoSizeInBytes(), and GetTypeId().
|
private |
Definition at line 386 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 396 of file satellite-control-message.h.
Referenced by GetDaTimeslots().
|
private |
Definition at line 391 of file satellite-control-message.h.
Referenced by ~SatTbtpMessage(), GetSizeInBytes(), SetDaTimeslot(), and SetRaChannel().
|
private |
Definition at line 387 of file satellite-control-message.h.
Referenced by GetRaChannels(), GetSizeInBytes(), and SetRaChannel().
|
private |
Definition at line 388 of file satellite-control-message.h.
Referenced by Dump(), GetSuperframeCounter(), and SetSuperframeCounter().
|
private |
Definition at line 389 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 240 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 251 of file satellite-control-message.h.
Referenced by GetFrameInfoSize(), and GetSizeInBytes().