helper class for Satellite Beam Scheduler. More...
#include "satellite-superframe-allocator.h"
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< SatSuperframeConf > | m_superframeConf |
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.
ns3::SatSuperframeAllocator::SatSuperframeAllocator | ( | Ptr< SatSuperframeConf > | superFrameConf | ) |
Construct SatSuperframeAllocator.
superFrameConf | Super frame configuration |
Definition at line 50 of file satellite-superframe-allocator.cc.
|
virtual |
Destruct SatSuperframeAllocator.
Definition at line 56 of file satellite-superframe-allocator.cc.
|
pure virtual |
Generate time slots in TBTP(s) for the UT/RC.
tbtpContainer | TBTP message container to add/fill TBTPs. |
maxSizeInBytes | Maximum size for a TBTP message. |
utAllocContainer | Reference to UT allocation container to fill in info of the allocation |
waveformTrace | Wave form trace callback |
utLoadTrace | UT load per the frame trace callback |
loadTrace | Load per the frame trace callback |
Implemented in ns3::SatDefaultSuperframeAllocator.
|
virtual |
Get the type ID of instance.
Reimplemented in ns3::SatDefaultSuperframeAllocator.
Definition at line 43 of file satellite-superframe-allocator.cc.
References GetTypeId().
|
inline |
Get super frame duration.
Definition at line 78 of file satellite-superframe-allocator.h.
References m_superframeConf.
|
static |
derived from object
Definition at line 36 of file satellite-superframe-allocator.cc.
Referenced by GetInstanceTypeId().
|
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.
|
pure virtual |
Release minimum rate from the allocator.
This method is called when a UT leaves the beam using this allocator.
minimumRateBytes | Minimum rate based bytes needed to reserve |
controlSlotsEnabled | Flag indicating if control slot generation is enabled |
Implemented in ns3::SatDefaultSuperframeAllocator.
|
pure virtual |
Reserve minimum rate from the allocator.
This method is called to perform CAC functionality.
minimumRateBytes | Minimum rate based bytes needed to reserve |
controlSlotsEnabled | Flag indicating if control slot generation is enabled |
Implemented in ns3::SatDefaultSuperframeAllocator.
|
protected |
Definition at line 125 of file satellite-superframe-allocator.h.
Referenced by GetSuperframeDuration(), and ns3::SatDefaultSuperframeAllocator::PreAllocateSymbols().