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< 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().
Here is the call graph for this function:
|
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().
Here is the caller graph for this function:
|
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().