ns3::SatFrameConf Class Reference

This class implements configuration for frames (for super frames) More...

#include "satellite-frame-conf.h"

+ Inheritance diagram for ns3::SatFrameConf:
+ Collaboration diagram for ns3::SatFrameConf:

Classes

struct  SatFrameConfParams_t
 Helper struct to reduce the number of parameters fed into the SatFrameConf constructor. More...
 

Public Types

typedef std::vector< Ptr< SatTimeSlotConf > > SatTimeSlotConfContainer_t
 Define type SatTimeSlotConfContainer_t. More...
 

Public Member Functions

 SatFrameConf ()
 Default constructor for SatFrameConf. More...
 
 SatFrameConf (SatFrameConfParams_t parameters)
 Constructor for SatFrameConf. More...
 
 ~SatFrameConf ()
 Destructor for SatFrameConf. More...
 
uint8_t GetAllocationChannelId () const
 Get allocation channel ID of this frame. More...
 
double GetBandwidthHz () const
 Get bandwidth of the frame. More...
 
Ptr< SatBtuConfGetBtuConf () const
 Get BTU conf of the frame. More...
 
double GetCarrierBandwidthHz (SatEnums::CarrierBandwidthType_t bandwidthType) const
 Get carrier bandwidth in frame. More...
 
uint16_t GetCarrierCount () const
 Get carrier count of the frame. More...
 
double GetCarrierFrequencyHz (uint16_t carrierId) const
 Get carrier center frequency in frame. More...
 
uint32_t GetCarrierMaxSymbols () const
 Get maximum symbols in carrier. More...
 
uint32_t GetCarrierMinPayloadInBytes () const
 Get minimum payload of a carrier in bytes. More...
 
Time GetDuration () const
 Get duration of frame. More...
 
uint8_t GetGuardTimeSymbols () const
 Get the guard time configuration of this frame. More...
 
Ptr< SatFrameConfGetParent () const
 
uint8_t GetSubdivisionLevel () const
 Get the subdivision level of this frame. More...
 
Ptr< SatTimeSlotConfGetTimeSlotConf (uint16_t carrierId, uint16_t index) const
 Get time slot conf of the frame. More...
 
Ptr< SatTimeSlotConfGetTimeSlotConf (uint16_t index) const
 Get time slot configuration of the frame. More...
 
SatTimeSlotConfContainer_t GetTimeSlotConfs (uint16_t carrierId) const
 Get time slot of the specific carrier. More...
 
uint16_t GetTimeSlotCount () const
 Get time slot count of the frame. More...
 
Ptr< SatWaveformConfGetWaveformConf () const
 Get waveform configuration of this frame. More...
 
bool IsLogon () const
 Get state if frame is logon frame. More...
 
bool IsRandomAccess () const
 Get state if frame is random access frame. More...
 
bool IsSubdivided () const
 Get wether this frame is subdivided or not. More...
 

Static Public Attributes

static const uint16_t m_maxTimeSlotCount = SatConstVariables::MAXIMUM_TIME_SLOT_ID + 1
 

Private Types

typedef std::map< uint16_t, SatTimeSlotConfContainer_tSatTimeSlotConfMap_t
 

Private Member Functions

uint16_t AddTimeSlotConf (Ptr< SatTimeSlotConf > conf)
 Add time slot. More...
 

Private Attributes

uint8_t m_allocationChannel
 
double m_bandwidthHz
 
Ptr< SatBtuConfm_btuConf
 
uint16_t m_carrierCount
 
Time m_duration
 
uint8_t m_guardTimeSymbols
 
bool m_isLogon
 
bool m_isRandomAccess
 
uint32_t m_maxSymbolsPerCarrier
 
uint32_t m_minPayloadPerCarrierInBytes
 
Ptr< SatFrameConfm_parent
 
SatTimeSlotConfMap_t m_timeSlotConfMap
 
Ptr< SatWaveformConfm_waveformConf
 

Detailed Description

This class implements configuration for frames (for super frames)

Definition at line 252 of file satellite-frame-conf.h.

Member Typedef Documentation

◆ SatTimeSlotConfContainer_t

Define type SatTimeSlotConfContainer_t.

Definition at line 258 of file satellite-frame-conf.h.

◆ SatTimeSlotConfMap_t

Definition at line 485 of file satellite-frame-conf.h.

Constructor & Destructor Documentation

◆ SatFrameConf() [1/2]

ns3::SatFrameConf::SatFrameConf ( )

Default constructor for SatFrameConf.

Definition at line 122 of file satellite-frame-conf.cc.

◆ SatFrameConf() [2/2]

◆ ~SatFrameConf()

ns3::SatFrameConf::~SatFrameConf ( )

Destructor for SatFrameConf.

Definition at line 228 of file satellite-frame-conf.cc.

Member Function Documentation

◆ AddTimeSlotConf()

uint16_t ns3::SatFrameConf::AddTimeSlotConf ( Ptr< SatTimeSlotConf conf)
private

Add time slot.

Parameters
confTime slot configuration added.
Returns
ID of the added time slot.

Definition at line 367 of file satellite-frame-conf.cc.

References m_timeSlotConfMap.

Referenced by SatFrameConf().

+ Here is the caller graph for this function:

◆ GetAllocationChannelId()

uint8_t ns3::SatFrameConf::GetAllocationChannelId ( ) const
inline

Get allocation channel ID of this frame.

Definition at line 463 of file satellite-frame-conf.h.

References m_allocationChannel.

◆ GetBandwidthHz()

double ns3::SatFrameConf::GetBandwidthHz ( ) const
inline

Get bandwidth of the frame.

Returns
The bandwidth of frame in Hertz.

Definition at line 332 of file satellite-frame-conf.h.

References m_bandwidthHz.

◆ GetBtuConf()

Ptr<SatBtuConf> ns3::SatFrameConf::GetBtuConf ( ) const
inline

Get BTU conf of the frame.

Returns
The BTU conf of frame.

Definition at line 410 of file satellite-frame-conf.h.

References m_btuConf.

◆ GetCarrierBandwidthHz()

double ns3::SatFrameConf::GetCarrierBandwidthHz ( SatEnums::CarrierBandwidthType_t  bandwidthType) const

Get carrier bandwidth in frame.

Parameters
bandwidthTypeType of bandwidth requested.
Returns
The carrier bandwidth in frame in hertz.

Definition at line 249 of file satellite-frame-conf.cc.

References ns3::SatEnums::ALLOCATED_BANDWIDTH, ns3::SatEnums::EFFECTIVE_BANDWIDTH, m_btuConf, and ns3::SatEnums::OCCUPIED_BANDWIDTH.

◆ GetCarrierCount()

uint16_t ns3::SatFrameConf::GetCarrierCount ( ) const
inline

Get carrier count of the frame.

Returns
The carrier count of the frame.

Definition at line 420 of file satellite-frame-conf.h.

References m_carrierCount.

◆ GetCarrierFrequencyHz()

double ns3::SatFrameConf::GetCarrierFrequencyHz ( uint16_t  carrierId) const

Get carrier center frequency in frame.

Returns
The carrier bandwidth in frame in hertz.

Definition at line 234 of file satellite-frame-conf.cc.

References m_btuConf, and m_carrierCount.

◆ GetCarrierMaxSymbols()

uint32_t ns3::SatFrameConf::GetCarrierMaxSymbols ( ) const
inline

Get maximum symbols in carrier.

Returns
maximum symbols in carrier

Definition at line 352 of file satellite-frame-conf.h.

References m_maxSymbolsPerCarrier.

◆ GetCarrierMinPayloadInBytes()

uint32_t ns3::SatFrameConf::GetCarrierMinPayloadInBytes ( ) const
inline

Get minimum payload of a carrier in bytes.

Returns
minimum payload of a carrier in bytes

Definition at line 362 of file satellite-frame-conf.h.

References m_minPayloadPerCarrierInBytes.

◆ GetDuration()

Time ns3::SatFrameConf::GetDuration ( ) const
inline

Get duration of frame.

Returns
The duration of frame.

Definition at line 342 of file satellite-frame-conf.h.

References m_duration.

◆ GetGuardTimeSymbols()

uint8_t ns3::SatFrameConf::GetGuardTimeSymbols ( ) const
inline

Get the guard time configuration of this frame.

Definition at line 479 of file satellite-frame-conf.h.

References m_guardTimeSymbols.

◆ GetParent()

Ptr<SatFrameConf> ns3::SatFrameConf::GetParent ( ) const
inline

Definition at line 400 of file satellite-frame-conf.h.

References m_parent.

◆ GetSubdivisionLevel()

uint8_t ns3::SatFrameConf::GetSubdivisionLevel ( ) const

Get the subdivision level of this frame.

Returns
the amount of time this frame add its carriers split in two.

Definition at line 278 of file satellite-frame-conf.cc.

References m_parent.

◆ GetTimeSlotConf() [1/2]

Ptr< SatTimeSlotConf > ns3::SatFrameConf::GetTimeSlotConf ( uint16_t  carrierId,
uint16_t  index 
) const

Get time slot conf of the frame.

Possible values for id are from 0 to Carrier count - 1.

Parameters
carrierIdId of carrier which time slot is requested.
indexId of the time slot requested in the carrier of the frame.
Returns
The requested time slot configuration of frame.

Definition at line 311 of file satellite-frame-conf.cc.

References m_timeSlotConfMap.

◆ GetTimeSlotConf() [2/2]

Ptr< SatTimeSlotConf > ns3::SatFrameConf::GetTimeSlotConf ( uint16_t  index) const

Get time slot configuration of the frame.

Possible values for id are from 0 to 2047.

Parameters
indexId of the time slot requested in frame.
Returns
The requested time slot configuration of frame.

Definition at line 332 of file satellite-frame-conf.cc.

References m_timeSlotConfMap.

◆ GetTimeSlotConfs()

SatFrameConf::SatTimeSlotConfContainer_t ns3::SatFrameConf::GetTimeSlotConfs ( uint16_t  carrierId) const

Get time slot of the specific carrier.

Parameters
carrierIdId of the carrier which time slots are requested.
Returns
Container containing time slots.

Definition at line 346 of file satellite-frame-conf.cc.

References m_timeSlotConfMap.

◆ GetTimeSlotCount()

uint16_t ns3::SatFrameConf::GetTimeSlotCount ( ) const

Get time slot count of the frame.

Returns
The requested time slot count of frame.

Definition at line 296 of file satellite-frame-conf.cc.

References m_timeSlotConfMap.

◆ GetWaveformConf()

Ptr<SatWaveformConf> ns3::SatFrameConf::GetWaveformConf ( ) const
inline

Get waveform configuration of this frame.

Definition at line 471 of file satellite-frame-conf.h.

References m_waveformConf.

◆ IsLogon()

bool ns3::SatFrameConf::IsLogon ( ) const
inline

Get state if frame is logon frame.

Returns
Is frame logon frame [true or false]

Definition at line 455 of file satellite-frame-conf.h.

References m_isLogon.

◆ IsRandomAccess()

bool ns3::SatFrameConf::IsRandomAccess ( ) const
inline

Get state if frame is random access frame.

Returns
Is frame random access frame [true or false]

Definition at line 445 of file satellite-frame-conf.h.

References m_isRandomAccess.

◆ IsSubdivided()

bool ns3::SatFrameConf::IsSubdivided ( ) const
inline

Get wether this frame is subdivided or not.

Returns
true if this frame is subdivided, false otherwise.

Definition at line 387 of file satellite-frame-conf.h.

References m_parent.

Member Data Documentation

◆ m_allocationChannel

uint8_t ns3::SatFrameConf::m_allocationChannel
private

Definition at line 495 of file satellite-frame-conf.h.

Referenced by GetAllocationChannelId().

◆ m_bandwidthHz

double ns3::SatFrameConf::m_bandwidthHz
private

Definition at line 487 of file satellite-frame-conf.h.

Referenced by SatFrameConf(), and GetBandwidthHz().

◆ m_btuConf

Ptr<SatBtuConf> ns3::SatFrameConf::m_btuConf
private

◆ m_carrierCount

uint16_t ns3::SatFrameConf::m_carrierCount
private

Definition at line 496 of file satellite-frame-conf.h.

Referenced by SatFrameConf(), GetCarrierCount(), and GetCarrierFrequencyHz().

◆ m_duration

Time ns3::SatFrameConf::m_duration
private

Definition at line 488 of file satellite-frame-conf.h.

Referenced by SatFrameConf(), and GetDuration().

◆ m_guardTimeSymbols

uint8_t ns3::SatFrameConf::m_guardTimeSymbols
private

Definition at line 500 of file satellite-frame-conf.h.

Referenced by SatFrameConf(), and GetGuardTimeSymbols().

◆ m_isLogon

bool ns3::SatFrameConf::m_isLogon
private

Definition at line 490 of file satellite-frame-conf.h.

Referenced by IsLogon().

◆ m_isRandomAccess

bool ns3::SatFrameConf::m_isRandomAccess
private

Definition at line 489 of file satellite-frame-conf.h.

Referenced by IsRandomAccess().

◆ m_maxSymbolsPerCarrier

uint32_t ns3::SatFrameConf::m_maxSymbolsPerCarrier
private

Definition at line 497 of file satellite-frame-conf.h.

Referenced by SatFrameConf(), and GetCarrierMaxSymbols().

◆ m_maxTimeSlotCount

const uint16_t ns3::SatFrameConf::m_maxTimeSlotCount = SatConstVariables::MAXIMUM_TIME_SLOT_ID + 1
static

◆ m_minPayloadPerCarrierInBytes

uint32_t ns3::SatFrameConf::m_minPayloadPerCarrierInBytes
private

Definition at line 498 of file satellite-frame-conf.h.

Referenced by SatFrameConf(), and GetCarrierMinPayloadInBytes().

◆ m_parent

Ptr<SatFrameConf> ns3::SatFrameConf::m_parent
private

Definition at line 492 of file satellite-frame-conf.h.

Referenced by GetParent(), GetSubdivisionLevel(), and IsSubdivided().

◆ m_timeSlotConfMap

SatTimeSlotConfMap_t ns3::SatFrameConf::m_timeSlotConfMap
private

◆ m_waveformConf

Ptr<SatWaveformConf> ns3::SatFrameConf::m_waveformConf
private

Definition at line 494 of file satellite-frame-conf.h.

Referenced by SatFrameConf(), and GetWaveformConf().


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