ns3::SatSuperframeAllocator Class Referenceabstract

helper class for Satellite Beam Scheduler. More...

#include "satellite-superframe-allocator.h"

+ Inheritance diagram for ns3::SatSuperframeAllocator:
+ Collaboration diagram for ns3::SatSuperframeAllocator:

Public Member Functions

 SatSuperframeAllocator (Ptr< SatSuperframeConf > superFrameConf)
 Construct SatSuperframeAllocator. More...
 
virtual ~SatSuperframeAllocator ()
 Destruct SatSuperframeAllocator. More...
 
virtual void GenerateTimeSlots (SatFrameAllocator::TbtpMsgContainer_t &tbtpContainer, uint32_t maxSizeInBytes, SatFrameAllocator::UtAllocInfoContainer_t &utAllocContainer, TracedCallback< uint32_t > waveformTrace, TracedCallback< uint32_t, uint32_t > utLoadTrace, TracedCallback< uint32_t, double > loadTrace)=0
 Generate time slots in TBTP(s) for the UT/RC. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the type ID of instance. More...
 
Time GetSuperframeDuration () const
 Get super frame duration. More...
 
virtual void PreAllocateSymbols (SatFrameAllocator::SatFrameAllocContainer_t &allocReqs)=0
 Preallocate symbols for given to UTs in superframe. More...
 
virtual void ReleaseMinimumRate (uint32_t minimumRateBytes, bool controlSlotsEnabled)=0
 Release minimum rate from the allocator. More...
 
virtual void ReserveMinimumRate (uint32_t minimumRateBytes, bool controlSlotsEnabled)=0
 Reserve minimum rate from the allocator. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 derived from object More...
 

Protected Attributes

Ptr< SatSuperframeConfm_superframeConf
 

Detailed Description

helper class for Satellite Beam Scheduler.

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

SatSuperframeAllocator is created and used by SatBeamScheduler.

Definition at line 46 of file satellite-superframe-allocator.h.

Constructor & Destructor Documentation

◆ SatSuperframeAllocator()

ns3::SatSuperframeAllocator::SatSuperframeAllocator ( Ptr< SatSuperframeConf superFrameConf)

Construct SatSuperframeAllocator.

Parameters
superFrameConfSuper frame configuration

Definition at line 49 of file satellite-superframe-allocator.cc.

◆ ~SatSuperframeAllocator()

ns3::SatSuperframeAllocator::~SatSuperframeAllocator ( )
virtual

Destruct SatSuperframeAllocator.

Definition at line 55 of file satellite-superframe-allocator.cc.

Member Function Documentation

◆ GenerateTimeSlots()

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

Generate time slots in TBTP(s) for the UT/RC.

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
waveformTraceWave form trace callback
utLoadTraceUT load per the frame trace callback
loadTraceLoad per the frame trace callback

Implemented in ns3::SatDefaultSuperframeAllocator.

◆ GetInstanceTypeId()

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

Get the type ID of instance.

Returns
the object TypeId

Reimplemented in ns3::SatDefaultSuperframeAllocator.

Definition at line 42 of file satellite-superframe-allocator.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetSuperframeDuration()

Time ns3::SatSuperframeAllocator::GetSuperframeDuration ( ) const
inline

Get super frame duration.

Returns
Super frame duration.

Definition at line 76 of file satellite-superframe-allocator.h.

References m_superframeConf.

◆ GetTypeId()

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

derived from object

Definition at line 35 of file satellite-superframe-allocator.cc.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

◆ PreAllocateSymbols()

virtual void ns3::SatSuperframeAllocator::PreAllocateSymbols ( SatFrameAllocator::SatFrameAllocContainer_t allocReqs)
pure virtual

Preallocate symbols for given to UTs in superframe.

Pre-allocation is done in fairly manner between UTs and RCs.

Implemented in ns3::SatDefaultSuperframeAllocator.

◆ ReleaseMinimumRate()

virtual void ns3::SatSuperframeAllocator::ReleaseMinimumRate ( uint32_t  minimumRateBytes,
bool  controlSlotsEnabled 
)
pure virtual

Release minimum rate from the allocator.

This method is called when a UT leaves the beam using this allocator.

Parameters
minimumRateBytesMinimum rate based bytes needed to reserve
controlSlotsEnabledFlag indicating if control slot generation is enabled

Implemented in ns3::SatDefaultSuperframeAllocator.

◆ ReserveMinimumRate()

virtual void ns3::SatSuperframeAllocator::ReserveMinimumRate ( uint32_t  minimumRateBytes,
bool  controlSlotsEnabled 
)
pure virtual

Reserve minimum rate from the allocator.

This method is called to perform CAC functionality.

Parameters
minimumRateBytesMinimum rate based bytes needed to reserve
controlSlotsEnabledFlag indicating if control slot generation is enabled

Implemented in ns3::SatDefaultSuperframeAllocator.

Member Data Documentation

◆ m_superframeConf

Ptr<SatSuperframeConf> ns3::SatSuperframeAllocator::m_superframeConf
protected

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