Loading...
Searching...
No Matches
ns3::SatFwdLinkSchedulerDefault Class Reference

SatFwdLinkSchedulerDefault schedules BB frames for forward link. More...

#include "satellite-fwd-link-scheduler-default.h"

Inheritance diagram for ns3::SatFwdLinkSchedulerDefault:
Collaboration diagram for ns3::SatFwdLinkSchedulerDefault:

Public Member Functions

 SatFwdLinkSchedulerDefault ()
 Construct a SatFwdLinkScheduler.
 SatFwdLinkSchedulerDefault (Ptr< SatBbFrameConf > conf, Mac48Address address, double carrierBandwidthInHz)
 Actual constructor of a SatFwdLinkScheduler.
 ~SatFwdLinkSchedulerDefault ()
 Destroy a SatFwdLinkScheduler.
virtual void ClearAllPackets ()
 Remove all packets being treated.
virtual std::pair< Ptr< SatBbFrame >, const Time > GetNextFrame ()
 Get next frame to be transmitted.
virtual void NotifyConstructionCompleted () override
 Notifier called once the ObjectBase is fully constructed.

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID.

Private Member Functions

void DoDispose (void)
 Do dispose actions.
void GetSchedulingObjects (std::vector< Ptr< SatSchedulingObject > > &output)
 Gets scheduling object in sorted order according to configured sorting criteria.
void ScheduleBbFrames ()
 Schedule BB Frames.
void SendAndClearSymbolsSentStat ()
 Send stats and reset all the symbols sent count for each slice to zero.

Private Attributes

Ptr< SatBbFrameContainerm_bbFrameContainer
 The container for BB Frames.
Time m_schedulingStartThresholdTime
 Threshold time of total transmissions in BB Frame container to trigger a scheduling round.
Time m_schedulingStopThresholdTime
 Threshold time of total transmissions in BB Frame container to stop a scheduling round.
uint32_t m_symbolsSent
 The number of symbols sent for each slice during an allocation cycle.

Additional Inherited Members

 Types for sorting algorithm used by forward link scheduler. More...

Detailed Description

SatFwdLinkSchedulerDefault schedules BB frames for forward link.

This is the reference case of the scheduler, without separation between slices. It uses only one instance of BbFrameContainer.

   SatFwdLinkSchedulerDefault communicated through callback functions to request scheduling

objects and notifying TX opportunities.

   GW MAC requests frames from scheduler through method GetNextFrame.

Definition at line 48 of file satellite-fwd-link-scheduler-default.h.

Constructor & Destructor Documentation

◆ SatFwdLinkSchedulerDefault() [1/2]

ns3::SatFwdLinkSchedulerDefault::SatFwdLinkSchedulerDefault ( )

Construct a SatFwdLinkScheduler.

This the default constructor for the SatFwdLinkScheduler is not supported.

Definition at line 64 of file satellite-fwd-link-scheduler-default.cc.

References ns3::SatFwdLinkScheduler::SatFwdLinkScheduler().

Here is the call graph for this function:

◆ SatFwdLinkSchedulerDefault() [2/2]

ns3::SatFwdLinkSchedulerDefault::SatFwdLinkSchedulerDefault ( Ptr< SatBbFrameConf > conf,
Mac48Address address,
double carrierBandwidthInHz )

Actual constructor of a SatFwdLinkScheduler.

Parameters
confBB Frame configuration
addressMAC address
carrierBandwidthInHzCarrier bandwidth where scheduler is associated to [Hz].

Definition at line 71 of file satellite-fwd-link-scheduler-default.cc.

References ns3::SatFwdLinkScheduler::SatFwdLinkScheduler(), and m_symbolsSent.

Here is the call graph for this function:

◆ ~SatFwdLinkSchedulerDefault()

ns3::SatFwdLinkSchedulerDefault::~SatFwdLinkSchedulerDefault ( )

Destroy a SatFwdLinkScheduler.

This is the destructor for the SatFwdLinkScheduler.

Definition at line 92 of file satellite-fwd-link-scheduler-default.cc.

Member Function Documentation

◆ ClearAllPackets()

void ns3::SatFwdLinkSchedulerDefault::ClearAllPackets ( )
virtual

Remove all packets being treated.

Reimplemented from ns3::SatFwdLinkScheduler.

Definition at line 166 of file satellite-fwd-link-scheduler-default.cc.

References m_bbFrameContainer.

◆ DoDispose()

void ns3::SatFwdLinkSchedulerDefault::DoDispose ( void )
private

Do dispose actions.

Definition at line 98 of file satellite-fwd-link-scheduler-default.cc.

References ns3::SatFwdLinkScheduler::DoDispose(), and m_bbFrameContainer.

Here is the call graph for this function:

◆ GetNextFrame()

◆ GetSchedulingObjects()

void ns3::SatFwdLinkSchedulerDefault::GetSchedulingObjects ( std::vector< Ptr< SatSchedulingObject > > & output)
private

Gets scheduling object in sorted order according to configured sorting criteria.

Parameters
outputreference to a vector which will be filled with pointers to the scheduling objects available for scheduling.

Definition at line 249 of file satellite-fwd-link-scheduler-default.cc.

References m_bbFrameContainer, ns3::SatFwdLinkScheduler::m_schedContextCallback, m_schedulingStopThresholdTime, and ns3::SatFwdLinkScheduler::SortSchedulingObjects().

Referenced by ScheduleBbFrames().

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

◆ GetTypeId()

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

Get the type ID.

Returns
the object TypeId

Definition at line 36 of file satellite-fwd-link-scheduler-default.cc.

References ns3::SatFwdLinkScheduler::SatFwdLinkScheduler(), m_bbFrameContainer, m_schedulingStartThresholdTime, and m_schedulingStopThresholdTime.

Here is the call graph for this function:

◆ NotifyConstructionCompleted()

void ns3::SatFwdLinkSchedulerDefault::NotifyConstructionCompleted ( )
overridevirtual

Notifier called once the ObjectBase is fully constructed.

This method is invoked once all member attributes have been initialized. Subclasses can override this method to be notified of this event but if they do this, they must chain up to their parent's NotifyConstructionCompleted method.

Reimplemented from ns3::SatFwdLinkScheduler.

Definition at line 81 of file satellite-fwd-link-scheduler-default.cc.

References ns3::SatFwdLinkScheduler::m_bbFrameConf, m_bbFrameContainer, and ns3::SatFwdLinkScheduler::NotifyConstructionCompleted().

Here is the call graph for this function:

◆ ScheduleBbFrames()

void ns3::SatFwdLinkSchedulerDefault::ScheduleBbFrames ( )
privatevirtual

◆ SendAndClearSymbolsSentStat()

void ns3::SatFwdLinkSchedulerDefault::SendAndClearSymbolsSentStat ( )
privatevirtual

Send stats and reset all the symbols sent count for each slice to zero.

Implements ns3::SatFwdLinkScheduler.

Definition at line 174 of file satellite-fwd-link-scheduler-default.cc.

References ns3::SatFwdLinkScheduler::m_schedulingSymbolRateTrace, and m_symbolsSent.

Member Data Documentation

◆ m_bbFrameContainer

Ptr<SatBbFrameContainer> ns3::SatFwdLinkSchedulerDefault::m_bbFrameContainer
private

◆ m_schedulingStartThresholdTime

Time ns3::SatFwdLinkSchedulerDefault::m_schedulingStartThresholdTime
private

Threshold time of total transmissions in BB Frame container to trigger a scheduling round.

Definition at line 137 of file satellite-fwd-link-scheduler-default.h.

Referenced by GetNextFrame(), and GetTypeId().

◆ m_schedulingStopThresholdTime

Time ns3::SatFwdLinkSchedulerDefault::m_schedulingStopThresholdTime
private

Threshold time of total transmissions in BB Frame container to stop a scheduling round.

Definition at line 142 of file satellite-fwd-link-scheduler-default.h.

Referenced by GetSchedulingObjects(), GetTypeId(), and ScheduleBbFrames().

◆ m_symbolsSent

uint32_t ns3::SatFwdLinkSchedulerDefault::m_symbolsSent
private

The number of symbols sent for each slice during an allocation cycle.

Definition at line 147 of file satellite-fwd-link-scheduler-default.h.

Referenced by SatFwdLinkSchedulerDefault(), GetNextFrame(), and SendAndClearSymbolsSentStat().


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