ns3::SatFrameAllocator Class Reference

helper class for Satellite Superframe Allocator. More...

#include "satellite-frame-allocator.h"

+ Inheritance diagram for ns3::SatFrameAllocator:
+ Collaboration diagram for ns3::SatFrameAllocator:

Classes

struct  BandwidthComparator
 BandwidthComparator is a custom functor meant as comparison function for std::map. More...
 
class  CcReqCompare
 CcReqCompare class for CC type comparisons. More...
 
class  SatFrameAllocInfo
 SatFrameAllocInfo is used to hold a frame's allocation info in symbols. More...
 
class  SatFrameAllocInfoItem
 Allocation information item for requests and allocations [symbols] used internally by SatFrameAllocator. More...
 
class  SatFrameAllocReq
 SatFrameAllocReq is used to define frame allocation parameters when requesting allocation from SatFrameAllocator (calling method AllocateSymbols). More...
 
class  SatFrameAllocReqItem
 Allocation information item for the UT/RC requests [bytes]. More...
 
struct  UtAllocItem_t
 Allocation information for a UT. More...
 

Public Types

enum  CcLevel_t { CC_LEVEL_CRA , CC_LEVEL_CRA_MIN_RBDC , CC_LEVEL_CRA_RBDC , CC_LEVEL_CRA_RBDC_VBDC }
 Enum for CC levels. More...
 
typedef std::vector< SatFrameAllocReq * > SatFrameAllocContainer_t
 Container to store SatFrameAllocReq item pointers. More...
 
typedef std::vector< SatFrameAllocReqItemSatFrameAllocReqItemContainer_t
 Container to store SatFrameAllocReqItem items. More...
 
typedef std::vector< Ptr< SatTbtpMessage > > TbtpMsgContainer_t
 Container to store generated TBTP messages. More...
 
typedef std::map< Address, UtAllocInfoItem_tUtAllocInfoContainer_t
 Map container to store UT allocation information. More...
 
typedef std::pair< std::vector< uint32_t >, bool > UtAllocInfoItem_t
 Pair used to store UT allocation information. More...
 

Public Member Functions

 SatFrameAllocator ()
 Default constructor (not in used) More...
 
 SatFrameAllocator (Ptr< SatFrameConf > frameConf, uint8_t frameId, SatSuperframeConf::ConfigType_t m_configType, Ptr< SatFrameAllocator > parent)
 Construct frame info. More...
 
bool Allocate (CcLevel_t ccLevel, SatFrameAllocReq *allocReq, uint32_t waveformId)
 Allocate symbols to this frame, if criteria are fulfilled. More...
 
void GenerateTimeSlots (SatFrameAllocator::TbtpMsgContainer_t &tbtpContainer, uint32_t maxSizeInBytes, UtAllocInfoContainer_t &utAllocContainer, bool rcBasedAllocationEnabled, TracedCallback< uint32_t > waveformTrace, TracedCallback< uint32_t, uint32_t > utLoadTrace, TracedCallback< uint32_t, double > loadTrace)
 Generate time slots for UT/RCs i.e. More...
 
bool GetBestWaveform (double cno, uint32_t &waveFormId, double &cnoThreshold) const
 Get the best waveform supported by this allocator based on given C/N0. More...
 
double GetCarrierBandwidthHz (bool checkParent=false) const
 
uint16_t GetCarrierCount () const
 Get the amount of carriers used in this frame. More...
 
uint32_t GetCarrierMinPayloadInBytes () const
 Get minimum payload of a carrier in bytes. More...
 
double GetCcLoad (CcLevel_t ccLevel)
 Get frame load by requested CC. More...
 
Ptr< SatWaveformGetMostRobustWaveform () const
 Get the most robust waveform used by this frame allocator. More...
 
Ptr< SatFrameAllocatorGetParent () const
 
double GetVolumeBytes () const
 
void PreAllocateSymbols (double targetLoad, bool fcaEnabled)
 Preallocate symbols for all UTs with RCs allocated to the frame. More...
 
void Reset ()
 Reset frame allocator. More...
 
void SelectCarriers (uint16_t &amount, uint16_t offset)
 Set the amount of carriers used in this frame. More...
 

Private Types

typedef std::list< RcAllocItem_tRcAllocContainer_t
 Container for RC allocation items. More...
 
typedef std::pair< Address, uint8_t > RcAllocItem_t
 Pair used as RC allocation item. More...
 
typedef std::vector< SatFrameAllocInfoItemSatFrameAllocInfoItemContainer_t
 Container to store SatFrameAllocInfoItem items. More...
 
typedef std::map< Address, UtAllocItem_tUtAllocContainer_t
 Map container for UT allocation items. More...
 

Private Member Functions

void AcceptRequests (CcLevel_t ccLevel)
 Accept UT/RC requests of the frame according to given CC level. More...
 
Ptr< SatTimeSlotConfCreateCtrlTimeSlot (uint16_t carrierId, int64_t &utSymbolsToUse, int64_t &carrierSymbolsToUse, int64_t &utSymbolsLeft, int64_t &rcSymbolsLeft, bool rcBasedAllocationEnabled)
 Create control time slot. More...
 
Ptr< SatTbtpMessageCreateNewTbtp (TbtpMsgContainer_t &tbtpContainer)
 Creates new TBTP to given container with information of the last TBTP in container. More...
 
Ptr< SatTimeSlotConfCreateTimeSlot (uint16_t carrierId, int64_t &utSymbolsToUse, int64_t &carrierSymbolsToUse, int64_t &utSymbolsLeft, int64_t &rcSymbolsLeft, double cno, bool rcBasedAllocationEnabled)
 Create time slot according to configuration type. More...
 
uint32_t GetOptimalBurtsLengthInSymbols (int64_t symbolsToUse, int64_t symbolsLeft, double cno, uint32_t &waveformId)
 Get optimal burst length in symbols. More...
 
SatFrameAllocator::UtAllocInfoContainer_t::iterator GetUtAllocItem (UtAllocInfoContainer_t &allocContainer, Address ut)
 Get UT allocation item from given container. More...
 
void ShareSymbols (bool fcaEnabled)
 Share symbols between all UTs and RCs allocated to the frame. More...
 
std::vector< uint16_t > SortCarriers ()
 Sort carriers belonging to this frame. More...
 
std::vector< uint32_t > SortUtRcs (Address ut)
 Sort RCs in given UT. More...
 
std::vector< Address > SortUts ()
 Sort UTs allocated to this frame. More...
 
void UpdateAndStoreAllocReq (Address address, double cno, SatFrameAllocInfo &req)
 Update RC/CC requested according to carrier limit. More...
 

Private Attributes

bool m_allocationDenied
 
double m_availableSymbolsInFrame
 
SatWaveformConf::BurstLengthContainer_t m_burstLenghts
 
uint16_t m_carriersOffset
 
SatSuperframeConf::ConfigType_t m_configType
 
Ptr< SatFrameConfm_frameConf
 
uint8_t m_frameId
 
uint8_t m_guardTimeSymbols
 
uint16_t m_maxCarrierCount
 
double m_maxSymbolsPerCarrier
 
Ptr< SatWaveformm_mostRobustWaveform
 
Ptr< SatFrameAllocatorm_parent
 
double m_preAllocatedCraSymbols
 
double m_preAllocatedMinRdbcSymbols
 
double m_preAllocatedRdbcSymbols
 
double m_preAllocatedVdbcSymbols
 
RcAllocContainer_t m_rcAllocs
 
double m_totalSymbolsInFrame
 
UtAllocContainer_t m_utAllocs
 
Ptr< SatWaveformConfm_waveformConf
 

Detailed Description

helper class for Satellite Superframe Allocator.

SatFrameAllocator class is used by SatSuperframeAllocator to maintain information of the pre-allocated symbols per Capacity Category (CC) in a frame. It also knows physical constrains of the frame.

SatFrameAllocator is created and used by SatSuperframeAllocator.

After created this class is used by adding first requests (UTs) to it by calling method Allocate with proper parameters. When needed allocations are done, symbols are shared between UTs by calling PreAllocateSymbols. Finally time slots for UT can be generated for UT according to preallocation by calling method GenerateTimeSlots. GenerateTimeSlots method can be called as several time, if same preallocation is wanted to use.

NOTE! Calling of PreAllocation or Allocate methods has no effect when PreAllocation is once called until Reset method is called.

Methods GetBestWaveform and GetCcLoad are used to check status of the frame allocator to decide if UT should be allocated to this allocator (frame) or not.

Definition at line 56 of file satellite-frame-allocator.h.

Member Typedef Documentation

◆ RcAllocContainer_t

Container for RC allocation items.

Definition at line 412 of file satellite-frame-allocator.h.

◆ RcAllocItem_t

typedef std::pair<Address, uint8_t> ns3::SatFrameAllocator::RcAllocItem_t
private

Pair used as RC allocation item.

first = UT address, second = RC index

Definition at line 402 of file satellite-frame-allocator.h.

◆ SatFrameAllocContainer_t

Container to store SatFrameAllocReq item pointers.

Definition at line 140 of file satellite-frame-allocator.h.

◆ SatFrameAllocInfoItemContainer_t

Container to store SatFrameAllocInfoItem items.

Definition at line 330 of file satellite-frame-allocator.h.

◆ SatFrameAllocReqItemContainer_t

◆ TbtpMsgContainer_t

Container to store generated TBTP messages.

Definition at line 62 of file satellite-frame-allocator.h.

◆ UtAllocContainer_t

typedef std::map<Address, UtAllocItem_t> ns3::SatFrameAllocator::UtAllocContainer_t
private

Map container for UT allocation items.

Definition at line 407 of file satellite-frame-allocator.h.

◆ UtAllocInfoContainer_t

Map container to store UT allocation information.

key is UT's address and value is UtAllocInfoItem_t is vector holding information of the allocated bytes for the UT/RC.

Definition at line 79 of file satellite-frame-allocator.h.

◆ UtAllocInfoItem_t

typedef std::pair<std::vector<uint32_t>, bool> ns3::SatFrameAllocator::UtAllocInfoItem_t

Pair used to store UT allocation information.

first is vector holding information of the allocated bytes, and second is flag telling if control slot is allocated for the UT/RC.

Definition at line 71 of file satellite-frame-allocator.h.

Member Enumeration Documentation

◆ CcLevel_t

Enum for CC levels.

Enumerator
CC_LEVEL_CRA 

CC level CRA.

CC_LEVEL_CRA_MIN_RBDC 

CC level CRA + Minimum RBDC.

CC_LEVEL_CRA_RBDC 

CC level CRA + RBDC.

CC_LEVEL_CRA_RBDC_VBDC 

CC level CRA + RBDC + VBDC.

Definition at line 145 of file satellite-frame-allocator.h.

Constructor & Destructor Documentation

◆ SatFrameAllocator() [1/2]

ns3::SatFrameAllocator::SatFrameAllocator ( )

Default constructor (not in used)

Definition at line 200 of file satellite-frame-allocator.cc.

◆ SatFrameAllocator() [2/2]

ns3::SatFrameAllocator::SatFrameAllocator ( Ptr< SatFrameConf frameConf,
uint8_t  frameId,
SatSuperframeConf::ConfigType_t  m_configType,
Ptr< SatFrameAllocator parent 
)

Construct frame info.

Parameters
frameConfFrame configuration for the frame info
frameIdId of the frame
m_configTypeType of the configuration (0-2 supported)
parentParent allocator in case this one holds configuration for a split frame

Definition at line 220 of file satellite-frame-allocator.cc.

References ns3::SatSuperframeConf::CONFIG_TYPE_0, ns3::SatSuperframeConf::CONFIG_TYPE_1, ns3::SatSuperframeConf::CONFIG_TYPE_2, ns3::SatSuperframeConf::CONFIG_TYPE_3, m_burstLenghts, m_configType, m_frameConf, m_guardTimeSymbols, m_maxCarrierCount, m_maxSymbolsPerCarrier, m_mostRobustWaveform, m_totalSymbolsInFrame, m_waveformConf, Reset(), and ns3::SatWaveformConf::SHORT_BURST_LENGTH.

+ Here is the call graph for this function:

Member Function Documentation

◆ AcceptRequests()

void ns3::SatFrameAllocator::AcceptRequests ( CcLevel_t  ccLevel)
private

Accept UT/RC requests of the frame according to given CC level.

Parameters
ccLevelCC level for the acceptance

Definition at line 1172 of file satellite-frame-allocator.cc.

References CC_LEVEL_CRA, CC_LEVEL_CRA_MIN_RBDC, CC_LEVEL_CRA_RBDC, CC_LEVEL_CRA_RBDC_VBDC, and m_utAllocs.

Referenced by ShareSymbols().

+ Here is the caller graph for this function:

◆ Allocate()

◆ CreateCtrlTimeSlot()

Ptr< SatTimeSlotConf > ns3::SatFrameAllocator::CreateCtrlTimeSlot ( uint16_t  carrierId,
int64_t &  utSymbolsToUse,
int64_t &  carrierSymbolsToUse,
int64_t &  utSymbolsLeft,
int64_t &  rcSymbolsLeft,
bool  rcBasedAllocationEnabled 
)
private

Create control time slot.

Parameters
carrierIdId of the carrier into create time slot
utSymbolsToUseSymbols possible to allocated for the UT
carrierSymbolsToUseSymbols possible to allocate to carrier
utSymbolsLeftSymbols left for the UT
rcSymbolsLeftSymbols left for RC
rcBasedAllocationEnabledIf time slot generated per RC
Returns
Create time slot configuration

Definition at line 1067 of file satellite-frame-allocator.cc.

References m_frameConf, m_guardTimeSymbols, m_maxSymbolsPerCarrier, m_mostRobustWaveform, and ns3::SatTimeSlotConf::SLOT_TYPE_C.

Referenced by GenerateTimeSlots().

+ Here is the caller graph for this function:

◆ CreateNewTbtp()

Ptr< SatTbtpMessage > ns3::SatFrameAllocator::CreateNewTbtp ( TbtpMsgContainer_t tbtpContainer)
private

Creates new TBTP to given container with information of the last TBTP in container.

Parameters
tbtpContainerTBTP container
Returns
Pointer to created TBTP

Definition at line 1441 of file satellite-frame-allocator.cc.

Referenced by GenerateTimeSlots().

+ Here is the caller graph for this function:

◆ CreateTimeSlot()

Ptr< SatTimeSlotConf > ns3::SatFrameAllocator::CreateTimeSlot ( uint16_t  carrierId,
int64_t &  utSymbolsToUse,
int64_t &  carrierSymbolsToUse,
int64_t &  utSymbolsLeft,
int64_t &  rcSymbolsLeft,
double  cno,
bool  rcBasedAllocationEnabled 
)
private

Create time slot according to configuration type.

Parameters
carrierIdId of the carrier into create time slot
utSymbolsToUseSymbols possible to allocated for the UT
carrierSymbolsToUseSymbols possible to allocate to carrier
utSymbolsLeftSymbols left for the UT
rcSymbolsLeftSymbols left for RC
cnoEstimated C/N0 of the UT.
rcBasedAllocationEnabledIf time slot generated per RC
Returns
Create time slot configuration

Definition at line 974 of file satellite-frame-allocator.cc.

References ns3::SatSuperframeConf::CONFIG_TYPE_0, ns3::SatSuperframeConf::CONFIG_TYPE_1, ns3::SatSuperframeConf::CONFIG_TYPE_2, ns3::SatSuperframeConf::CONFIG_TYPE_3, GetOptimalBurtsLengthInSymbols(), m_configType, m_frameConf, m_guardTimeSymbols, m_maxSymbolsPerCarrier, and ns3::SatTimeSlotConf::SLOT_TYPE_TRC.

Referenced by GenerateTimeSlots().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GenerateTimeSlots()

void ns3::SatFrameAllocator::GenerateTimeSlots ( SatFrameAllocator::TbtpMsgContainer_t tbtpContainer,
uint32_t  maxSizeInBytes,
UtAllocInfoContainer_t utAllocContainer,
bool  rcBasedAllocationEnabled,
TracedCallback< uint32_t >  waveformTrace,
TracedCallback< uint32_t, uint32_t >  utLoadTrace,
TracedCallback< uint32_t, double >  loadTrace 
)

Generate time slots for UT/RCs i.e.

do actual allocation based on preallocation.

Parameters
tbtpContainerTBTP message container to add/fill TBTPs.
maxSizeInBytesMaximum size for a TBTP message.
utAllocContainerReference to UT allocation container to fill in info of the allocation
rcBasedAllocationEnabledIf time slot generated per RC
waveformTraceWave form trace callback
utLoadTraceUT load per the frame trace callback
loadTraceLoad per the frame trace callback

Definition at line 588 of file satellite-frame-allocator.cc.

References CreateCtrlTimeSlot(), CreateNewTbtp(), CreateTimeSlot(), GetUtAllocItem(), m_frameId, m_maxSymbolsPerCarrier, ns3::SatFrameConf::m_maxTimeSlotCount, m_totalSymbolsInFrame, m_utAllocs, m_waveformConf, SortCarriers(), SortUtRcs(), and SortUts().

+ Here is the call graph for this function:

◆ GetBestWaveform()

bool ns3::SatFrameAllocator::GetBestWaveform ( double  cno,
uint32_t &  waveFormId,
double &  cnoThreshold 
) const

Get the best waveform supported by this allocator based on given C/N0.

Parameters
cnoC/N0 value used to find the best waveform
waveFormIdvariable to store the best waveform id
cnoThresholdvariable to store the C/N0 threshold of the selected waveform
Returns
true if allocator can support given C/N0

Definition at line 386 of file satellite-frame-allocator.cc.

References ns3::SatSuperframeConf::CONFIG_TYPE_0, ns3::SatSuperframeConf::CONFIG_TYPE_1, ns3::SatSuperframeConf::CONFIG_TYPE_2, ns3::SatSuperframeConf::CONFIG_TYPE_3, m_configType, m_frameConf, m_waveformConf, and ns3::SatWaveformConf::SHORT_BURST_LENGTH.

◆ GetCarrierBandwidthHz()

double ns3::SatFrameAllocator::GetCarrierBandwidthHz ( bool  checkParent = false) const
inline

Definition at line 218 of file satellite-frame-allocator.h.

References ns3::SatEnums::EFFECTIVE_BANDWIDTH, and m_frameConf.

◆ GetCarrierCount()

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

Get the amount of carriers used in this frame.

Returns
The carrier count of the frame.

Definition at line 204 of file satellite-frame-allocator.h.

References m_maxCarrierCount.

◆ GetCarrierMinPayloadInBytes()

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

Get minimum payload of a carrier in bytes.

Returns
minimum payload of a carrier in bytes

Definition at line 184 of file satellite-frame-allocator.h.

References m_frameConf.

◆ GetCcLoad()

double ns3::SatFrameAllocator::GetCcLoad ( CcLevel_t  ccLevel)

Get frame load by requested CC.

Parameters
ccLevelCC of the request
Returns
Load of the requested CC.

Definition at line 352 of file satellite-frame-allocator.cc.

References CC_LEVEL_CRA, CC_LEVEL_CRA_MIN_RBDC, CC_LEVEL_CRA_RBDC, CC_LEVEL_CRA_RBDC_VBDC, m_preAllocatedCraSymbols, m_preAllocatedMinRdbcSymbols, m_preAllocatedRdbcSymbols, m_preAllocatedVdbcSymbols, and m_totalSymbolsInFrame.

◆ GetMostRobustWaveform()

Ptr<SatWaveform> ns3::SatFrameAllocator::GetMostRobustWaveform ( ) const
inline

Get the most robust waveform used by this frame allocator.

Returns
the most robust waveform

Definition at line 194 of file satellite-frame-allocator.h.

References m_mostRobustWaveform.

◆ GetOptimalBurtsLengthInSymbols()

uint32_t ns3::SatFrameAllocator::GetOptimalBurtsLengthInSymbols ( int64_t  symbolsToUse,
int64_t  symbolsLeft,
double  cno,
uint32_t &  waveformId 
)
private

Get optimal burst length in symbols.

Parameters
symbolsToUseSymbols can be used for time slot.
symbolsLeftSymbols left for RC or UT.
cnoC/N0 to use for selection
waveformIdVariable to store id of the wave form of optimal length burst
Returns
Optimal burst length for the symbols to allocate.

Definition at line 1113 of file satellite-frame-allocator.cc.

References ns3::SatSuperframeConf::CONFIG_TYPE_0, m_burstLenghts, m_configType, m_frameConf, and m_waveformConf.

Referenced by CreateTimeSlot().

+ Here is the caller graph for this function:

◆ GetParent()

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

Definition at line 230 of file satellite-frame-allocator.h.

References m_parent.

◆ GetUtAllocItem()

SatFrameAllocator::UtAllocInfoContainer_t::iterator ns3::SatFrameAllocator::GetUtAllocItem ( UtAllocInfoContainer_t allocContainer,
Address  ut 
)
private

Get UT allocation item from given container.

If UT not available in the container new UT specific item is added to container.

Parameters
allocContainerContainer to check
utAddress of the UT
Returns
Iterator to UT specific allocation item

Definition at line 1411 of file satellite-frame-allocator.cc.

References m_utAllocs.

Referenced by GenerateTimeSlots().

+ Here is the caller graph for this function:

◆ GetVolumeBytes()

double ns3::SatFrameAllocator::GetVolumeBytes ( ) const
inline

Definition at line 225 of file satellite-frame-allocator.h.

References m_maxSymbolsPerCarrier.

◆ PreAllocateSymbols()

void ns3::SatFrameAllocator::PreAllocateSymbols ( double  targetLoad,
bool  fcaEnabled 
)

Preallocate symbols for all UTs with RCs allocated to the frame.

Parameters
targetLoadTarget load limits upper bound of the symbols in the frame. Valid values in range 0 and 1.
fcaEnabledFCA (free capacity allocation) enable status

Definition at line 567 of file satellite-frame-allocator.cc.

References m_allocationDenied, m_availableSymbolsInFrame, m_totalSymbolsInFrame, and ShareSymbols().

+ Here is the call graph for this function:

◆ Reset()

void ns3::SatFrameAllocator::Reset ( )

◆ SelectCarriers()

void ns3::SatFrameAllocator::SelectCarriers ( uint16_t &  amount,
uint16_t  offset 
)

Set the amount of carriers used in this frame.

Parameters
amountnumber of carriers to select in this frame. This parameter may be updated to include padding to round to an even number of selected carriers.
offsetnumber of carriers already selected for subdivided versions of the frame.

Definition at line 321 of file satellite-frame-allocator.cc.

References m_carriersOffset, m_frameConf, m_frameId, and m_maxCarrierCount.

◆ ShareSymbols()

void ns3::SatFrameAllocator::ShareSymbols ( bool  fcaEnabled)
private

Share symbols between all UTs and RCs allocated to the frame.

Parameters
fcaEnabledFCA (free capacity allocation) enable status

Definition at line 780 of file satellite-frame-allocator.cc.

References AcceptRequests(), CC_LEVEL_CRA, CC_LEVEL_CRA_MIN_RBDC, CC_LEVEL_CRA_RBDC, CC_LEVEL_CRA_RBDC_VBDC, ns3::SatFrameAllocator::CcReqCompare::CC_TYPE_MIN_RBDC, ns3::SatFrameAllocator::CcReqCompare::CC_TYPE_RBDC, ns3::SatFrameAllocator::CcReqCompare::CC_TYPE_VBDC, m_availableSymbolsInFrame, m_maxSymbolsPerCarrier, m_preAllocatedCraSymbols, m_preAllocatedMinRdbcSymbols, m_preAllocatedRdbcSymbols, m_preAllocatedVdbcSymbols, m_rcAllocs, and m_utAllocs.

Referenced by PreAllocateSymbols().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SortCarriers()

std::vector< uint16_t > ns3::SatFrameAllocator::SortCarriers ( )
private

Sort carriers belonging to this frame.

Returns
Ids of the carriers in sorted order.

Definition at line 1371 of file satellite-frame-allocator.cc.

References m_carriersOffset, and m_maxCarrierCount.

Referenced by GenerateTimeSlots().

+ Here is the caller graph for this function:

◆ SortUtRcs()

std::vector< uint32_t > ns3::SatFrameAllocator::SortUtRcs ( Address  ut)
private

Sort RCs in given UT.

Parameters
utAddress of the UT which RCs is needed to sort
Returns
Indices of the UT RC indices in sorted order.

Definition at line 1389 of file satellite-frame-allocator.cc.

References m_utAllocs.

Referenced by GenerateTimeSlots().

+ Here is the caller graph for this function:

◆ SortUts()

std::vector< Address > ns3::SatFrameAllocator::SortUts ( )
private

Sort UTs allocated to this frame.

Returns
Addressed of the UTs in sorted order.

Definition at line 1353 of file satellite-frame-allocator.cc.

References m_utAllocs.

Referenced by GenerateTimeSlots().

+ Here is the caller graph for this function:

◆ UpdateAndStoreAllocReq()

void ns3::SatFrameAllocator::UpdateAndStoreAllocReq ( Address  address,
double  cno,
SatFrameAllocInfo req 
)
private

Member Data Documentation

◆ m_allocationDenied

bool ns3::SatFrameAllocator::m_allocationDenied
private

Definition at line 460 of file satellite-frame-allocator.h.

Referenced by Allocate(), PreAllocateSymbols(), and Reset().

◆ m_availableSymbolsInFrame

double ns3::SatFrameAllocator::m_availableSymbolsInFrame
private

Definition at line 466 of file satellite-frame-allocator.h.

Referenced by PreAllocateSymbols(), Reset(), and ShareSymbols().

◆ m_burstLenghts

SatWaveformConf::BurstLengthContainer_t ns3::SatFrameAllocator::m_burstLenghts
private

◆ m_carriersOffset

uint16_t ns3::SatFrameAllocator::m_carriersOffset
private

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

Referenced by SelectCarriers(), and SortCarriers().

◆ m_configType

SatSuperframeConf::ConfigType_t ns3::SatFrameAllocator::m_configType
private

◆ m_frameConf

◆ m_frameId

uint8_t ns3::SatFrameAllocator::m_frameId
private

Definition at line 493 of file satellite-frame-allocator.h.

Referenced by GenerateTimeSlots(), and SelectCarriers().

◆ m_guardTimeSymbols

uint8_t ns3::SatFrameAllocator::m_guardTimeSymbols
private

◆ m_maxCarrierCount

uint16_t ns3::SatFrameAllocator::m_maxCarrierCount
private

◆ m_maxSymbolsPerCarrier

double ns3::SatFrameAllocator::m_maxSymbolsPerCarrier
private

◆ m_mostRobustWaveform

Ptr<SatWaveform> ns3::SatFrameAllocator::m_mostRobustWaveform
private

◆ m_parent

Ptr<SatFrameAllocator> ns3::SatFrameAllocator::m_parent
private

Definition at line 505 of file satellite-frame-allocator.h.

Referenced by GetParent().

◆ m_preAllocatedCraSymbols

double ns3::SatFrameAllocator::m_preAllocatedCraSymbols
private

Definition at line 469 of file satellite-frame-allocator.h.

Referenced by Allocate(), GetCcLoad(), Reset(), and ShareSymbols().

◆ m_preAllocatedMinRdbcSymbols

double ns3::SatFrameAllocator::m_preAllocatedMinRdbcSymbols
private

Definition at line 472 of file satellite-frame-allocator.h.

Referenced by Allocate(), GetCcLoad(), Reset(), and ShareSymbols().

◆ m_preAllocatedRdbcSymbols

double ns3::SatFrameAllocator::m_preAllocatedRdbcSymbols
private

Definition at line 475 of file satellite-frame-allocator.h.

Referenced by Allocate(), GetCcLoad(), Reset(), and ShareSymbols().

◆ m_preAllocatedVdbcSymbols

double ns3::SatFrameAllocator::m_preAllocatedVdbcSymbols
private

Definition at line 478 of file satellite-frame-allocator.h.

Referenced by Allocate(), GetCcLoad(), Reset(), and ShareSymbols().

◆ m_rcAllocs

RcAllocContainer_t ns3::SatFrameAllocator::m_rcAllocs
private

Definition at line 511 of file satellite-frame-allocator.h.

Referenced by Reset(), ShareSymbols(), and UpdateAndStoreAllocReq().

◆ m_totalSymbolsInFrame

double ns3::SatFrameAllocator::m_totalSymbolsInFrame
private

◆ m_utAllocs

◆ m_waveformConf

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

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