RINASim  October 2016
Documentation of framework for OMNeT++
RMTSchedulingBase Class Reference

#include <RMTSchedulingBase.h>

Inheritance diagram for RMTSchedulingBase:
DQSch DumbSch FWQ::WeightedFairQ IterativeScheduling::IterativeScheduling LongestQFirst

Public Member Functions

virtual void processQueues (RMTPort *port, RMTQueueType direction)
 

Protected Member Functions

virtual void onPolicyInit ()
 
void scheduleReinvocation (simtime_t time, RMTPort *port, RMTQueueType direction)
 
void handleMessage (cMessage *msg)
 

Protected Attributes

RMTModuleAllocatorrmtAllocator
 

Private Member Functions

void initialize ()
 

Friends

class RMTQMonitorBase
 

Detailed Description

Noop base class for the RMT scheduling policy. This policy is invoked each time some queue has data to send and uses some algorithm to make a decision about which queues should be handled first.

Definition at line 40 of file RMTSchedulingBase.h.

Member Function Documentation

void RMTSchedulingBase::handleMessage ( cMessage *  msg)
protected

Handler for OMNeT++ module messages (probably not of much use here).

Definition at line 35 of file RMTSchedulingBase.cc.

void RMTSchedulingBase::initialize ( )
private

Module initialization routine setting up parameters for GUI. Inherited policies should be using onPolicyInit() instead.

Definition at line 27 of file RMTSchedulingBase.cc.

void RMTSchedulingBase::onPolicyInit ( )
protectedvirtual

A hook method invoked after the initial setup of policy module.

Reimplemented in DumbSch, FWQ::WeightedFairQ, and DQSch.

Definition at line 56 of file RMTSchedulingBase.cc.

Referenced by initialize().

void RMTSchedulingBase::processQueues ( RMTPort port,
RMTQueueType  direction 
)
virtual

A hook method invoked on multiple occasions. 1) A PDU arrives into a queue. 2) An (N-1)-port becomes ready to serve. 3) By self-postponed scheduler invocation.

Parameters
portthe (N-1)-port
directionthe direction of data flow (in/out)

Reimplemented in DumbSch, IterativeScheduling::IterativeScheduling, FWQ::WeightedFairQ, LongestQFirst, and DQSch.

Definition at line 73 of file RMTSchedulingBase.cc.

Referenced by handleMessage(), RMT::postQueueArrival(), RMT::readFromPort(), and RMT::writeToPort().

void RMTSchedulingBase::scheduleReinvocation ( simtime_t  time,
RMTPort port,
RMTQueueType  direction 
)
protected

Method used for creating postponed Scheduler calls (e.g. for PDU spacing).

Parameters
simtime_ttarget simulation time
port(N-1)-port
directiondirection that is to be processed

Definition at line 60 of file RMTSchedulingBase.cc.

Referenced by DQSch::processQueues().

Friends And Related Function Documentation

friend class RMTQMonitorBase
friend

Definition at line 43 of file RMTSchedulingBase.h.

Member Data Documentation

RMTModuleAllocator* RMTSchedulingBase::rmtAllocator
protected

Pointer to the RMT allocator module (also providing queue<->port mappings).

Definition at line 82 of file RMTSchedulingBase.h.

Referenced by handleMessage(), and initialize().


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