21 #ifndef SAT_FWD_LINK_SCHEDULER_SCPC_H
22 #define SAT_FWD_LINK_SCHEDULER_SCPC_H
26 #include <ns3/pointer.h>
78 SatScpcScheduler(Ptr<SatBbFrameConf> conf, Mac48Address address,
double carrierBandwidthInHz);
92 virtual std::pair<Ptr<SatBbFrame>,
const Time>
GetNextFrame();
SatFwdLinkScheduler schedules BB frames for forward link.
SatFwdLinkSchedulerDefault schedules BB frames for forward link.
void SendAndClearSymbolsSentStat()
Send stats and reset all the symbols sent count for each slice to zero.
Ptr< SatBbFrameContainer > m_bbFrameContainer
The container for BB Frames.
~SatScpcScheduler()
Destroy a SatFwdLinkScheduler.
void DoDispose(void)
Do dispose actions.
uint32_t m_symbolsSent
The number of symbols sent for each slice during an allocation cycle.
Time m_schedulingStartThresholdTime
Threshold time of total transmissions in BB Frame container to trigger a scheduling round.
virtual std::pair< Ptr< SatBbFrame >, const Time > GetNextFrame()
Get next frame to be transmitted.
virtual TypeId GetInstanceTypeId(void) const
Get the type ID of instance.
static TypeId GetTypeId(void)
Get the type ID.
SatScpcScheduler()
Construct a SatFwdLinkScheduler.
void ScheduleBbFrames()
Schedule BB Frames.
void PeriodicTimerExpired()
Handles periodic timer timeouts.
Time m_schedulingStopThresholdTime
Threshold time of total transmissions in BB Frame container to stop a scheduling round.
void GetSchedulingObjects(std::vector< Ptr< SatSchedulingObject >> &output)
Gets scheduling object in sorted order according to configured sorting criteria.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.