INET Framework for OMNeT++/OMNEST
inet::IPassiveQueue Class Referenceabstract

Abstract interface for passive queues. More...

#include <IPassiveQueue.h>

Inheritance diagram for inet::IPassiveQueue:
inet::PassiveQueueBase inet::SchedulerBase inet::DropTailQueue inet::FIFOQueue inet::PriorityScheduler inet::WRRScheduler

Public Member Functions

virtual ~IPassiveQueue ()
 
virtual void requestPacket ()=0
 The queue should send a packet whenever this method is invoked. More...
 
virtual int getNumPendingRequests ()=0
 Returns number of pending requests. More...
 
virtual bool isEmpty ()=0
 Return true when queue is empty, otherwise return false. More...
 
virtual void clear ()=0
 Clear all queued packets and stored requests. More...
 
virtual cMessage * pop ()=0
 Returns a packet directly from the queue, bypassing the primary, send-on-request mechanism. More...
 
virtual void addListener (IPassiveQueueListener *listener)=0
 Adds a new listener to the listener list. More...
 
virtual void removeListener (IPassiveQueueListener *listener)=0
 Removes a listener from the listener list. More...
 

Detailed Description

Abstract interface for passive queues.

Constructor & Destructor Documentation

virtual inet::IPassiveQueue::~IPassiveQueue ( )
inlinevirtual
33 {}

Member Function Documentation

virtual void inet::IPassiveQueue::addListener ( IPassiveQueueListener listener)
pure virtual

Adds a new listener to the listener list.

It does nothing, if the listener list already contains the listener (by pointer equality).

Implemented in inet::PassiveQueueBase, and inet::SchedulerBase.

Referenced by inet::SchedulerBase::initialize().

virtual void inet::IPassiveQueue::clear ( )
pure virtual
virtual bool inet::IPassiveQueue::isEmpty ( )
pure virtual
virtual cMessage* inet::IPassiveQueue::pop ( )
pure virtual

Returns a packet directly from the queue, bypassing the primary, send-on-request mechanism.

Returns nullptr if the queue is empty.

Implemented in inet::PassiveQueueBase, and inet::SchedulerBase.

Referenced by inet::IdealMac::flushQueue(), inet::PPP::flushQueue(), and inet::EtherMACBase::flushQueue().

virtual void inet::IPassiveQueue::removeListener ( IPassiveQueueListener listener)
pure virtual

Removes a listener from the listener list.

It does nothing if the listener was not found on the listener list.

Implemented in inet::PassiveQueueBase, and inet::SchedulerBase.


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