Loading...
Searching...
No Matches
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.
virtual ~SatSuperframeAllocator ()
 Destruct SatSuperframeAllocator.
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.
Time GetSuperframeDuration () const
 Get super frame duration.
virtual void PreAllocateSymbols (SatFrameAllocator::SatFrameAllocContainer_t &allocReqs)=0
 Preallocate symbols for given to UTs in superframe.
virtual void ReleaseMinimumRate (uint32_t minimumRateBytes, bool controlSlotsEnabled)=0
 Release minimum rate from the allocator.
virtual void ReserveMinimumRate (uint32_t minimumRateBytes, bool controlSlotsEnabled)=0
 Reserve minimum rate from the allocator.

Static Public Member Functions

static TypeId GetTypeId (void)
 derived from object

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 48 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 42 of file satellite-superframe-allocator.cc.

References m_superframeConf.

Referenced by ns3::SatDefaultSuperframeAllocator::SatDefaultSuperframeAllocator(), and ns3::SatDefaultSuperframeAllocator::GetTypeId().

Here is the caller graph for this function:

◆ ~SatSuperframeAllocator()

ns3::SatSuperframeAllocator::~SatSuperframeAllocator ( )
virtual

Destruct SatSuperframeAllocator.

Definition at line 48 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.

◆ GetSuperframeDuration()

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

Get super frame duration.

Returns
Super frame duration.

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

References m_superframeConf.

◆ GetTypeId()

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

derived from object

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

◆ 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: