EMANE  1.2.1
EMANE::Models::TDMA::SchedulerUser Class Referenceabstract

Interface used by a scheduler module to communicate information with BaseModel. More...

#include <scheduleruser.h>

Inheritance diagram for EMANE::Models::TDMA::SchedulerUser:
EMANE::Models::TDMA::BaseModel EMANE::Models::TDMA::BaseModel::Implementation EMANE::Models::TDMA::RadioModel< SCHEDULER, QUEUEMANAGER >

Public Member Functions

virtual ~SchedulerUser ()
 
virtual void notifyScheduleChange (const Frequencies &frequencies, std::uint64_t u64BandwidthHz, const Microseconds &slotDuration, const Microseconds &slotOverhead)=0
 
virtual void processSchedulerPacket (DownstreamPacket &pkt)=0
 
virtual void processSchedulerControl (const ControlMessages &msgs)=0
 
virtual QueueInfos getPacketQueueInfo () const =0
 

Static Public Attributes

static const ControlMessages empty
 

Protected Member Functions

 SchedulerUser ()
 

Detailed Description

Interface used by a scheduler module to communicate information with BaseModel.

Definition at line 52 of file scheduleruser.h.

Constructor & Destructor Documentation

◆ ~SchedulerUser()

virtual EMANE::Models::TDMA::SchedulerUser::~SchedulerUser ( )
inlinevirtual

Destroys an instance

Definition at line 58 of file scheduleruser.h.

◆ SchedulerUser()

EMANE::Models::TDMA::SchedulerUser::SchedulerUser ( )
inlineprotected

Creates an instance

Definition at line 103 of file scheduleruser.h.

Member Function Documentation

◆ getPacketQueueInfo()

virtual QueueInfos EMANE::Models::TDMA::SchedulerUser::getPacketQueueInfo ( ) const
pure virtual

Gets queue status.

Returns
A list of QueueInfo entries.

Implemented in EMANE::Models::TDMA::BaseModel::Implementation, and EMANE::Models::TDMA::BaseModel.

◆ notifyScheduleChange()

virtual void EMANE::Models::TDMA::SchedulerUser::notifyScheduleChange ( const Frequencies frequencies,
std::uint64_t  u64BandwidthHz,
const Microseconds slotDuration,
const Microseconds slotOverhead 
)
pure virtual

Notifies when a schedule change occurs

Parameters
frequenciesSet of frequencies used in the schedule
u64BandwidthHzTransceiver bandwidth
slotDurationSlot duration
slotOverheadSlot overhead

Implemented in EMANE::Models::TDMA::BaseModel::Implementation, and EMANE::Models::TDMA::BaseModel.

◆ processSchedulerControl()

virtual void EMANE::Models::TDMA::SchedulerUser::processSchedulerControl ( const ControlMessages msgs)
pure virtual

Processes Scheduler control messages for communication with the downsteam NEM layer

Parameters
msgsControl messages

Implemented in EMANE::Models::TDMA::BaseModel::Implementation, and EMANE::Models::TDMA::BaseModel.

◆ processSchedulerPacket()

virtual void EMANE::Models::TDMA::SchedulerUser::processSchedulerPacket ( DownstreamPacket pkt)
pure virtual

Processes a Scheduler packet for transmission over-the-air

Parameters
pktPacket to transmit

Implemented in EMANE::Models::TDMA::BaseModel::Implementation, and EMANE::Models::TDMA::BaseModel.

Member Data Documentation

◆ empty

const ControlMessages EMANE::Models::TDMA::SchedulerUser::empty
static

Definition at line 97 of file scheduleruser.h.


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