21 #ifndef SAT_FWD_LINK_SCHEDULER_TIME_SLICING_H
22 #define SAT_FWD_LINK_SCHEDULER_TIME_SLICING_H
26 #include <ns3/pointer.h>
75 double carrierBandwidthInHz);
89 virtual std::pair<Ptr<SatBbFrame>,
const Time>
GetNextFrame();
SatModcod_t
Modulation scheme and coding rate for DVB-S2.
SatFwdLinkScheduler schedules BB frames for forward link.
SatFwdLinkSchedulerTimeSlicing schedules BB frames for forward link.
std::map< uint8_t, Ptr< SatBbFrameContainer > > m_bbFrameContainers
The containers for BBFrames.
uint8_t m_numberOfSlices
The number of slices.
void GetSchedulingObjects(std::vector< Ptr< SatSchedulingObject >> &output)
Gets scheduling object in sorted order according to configured sorting criteria.
static TypeId GetTypeId(void)
Get the type ID.
SatFwdLinkSchedulerTimeSlicing()
Construct a SatFwdLinkScheduler.
virtual std::pair< Ptr< SatBbFrame >, const Time > GetNextFrame()
Get next frame to be transmitted.
virtual void ClearAllPackets()
Remove all packets being treated.
std::map< uint8_t, uint32_t > m_symbolsSent
The number of symbols sent for each slice during an allocation cycle.
uint8_t m_lastSliceDequeued
The last slice from which a BBFrame has been sent.
void SendAndClearSymbolsSentStat()
Send stats and reset all the symbols sent count for each slice to zero.
void SendTimeSliceSubscription(Mac48Address address, std::vector< uint8_t > slices)
uint8_t m_lastSliceAssigned
The slice of the last MAC address discovered.
void DoDispose(void)
Do dispose actions.
uint32_t GetSymbols(uint8_t sliceId, SatEnums::SatModcod_t modcod)
void ScheduleBbFrames()
Schedule BB Frames.
~SatFwdLinkSchedulerTimeSlicing()
Destroy a SatFwdLinkScheduler.
bool CanOpenBbFrame(Mac48Address address, uint32_t priorityClass, SatEnums::SatModcod_t modcod)
TypeId GetInstanceTypeId(void) const
Get the type ID of instance.
void PeriodicTimerExpired()
Handles periodic timer timeouts.
std::map< Mac48Address, uint8_t > m_slicesMapping
The association between a destination MAC address and its slice.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.