INET Framework for OMNeT++/OMNEST
|
Abstract interface for passive queues. More...
#include <IPassiveQueue.h>
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... | |
Abstract interface for passive queues.
|
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().
|
pure virtual |
Clear all queued packets and stored requests.
Implemented in inet::PassiveQueueBase, and inet::SchedulerBase.
Referenced by inet::IdealMac::clearQueue(), inet::PPP::clearQueue(), inet::EtherMACBase::clearQueue(), inet::IdealMac::flushQueue(), inet::PPP::flushQueue(), and inet::EtherMACBase::flushQueue().
|
pure virtual |
Returns number of pending requests.
Implemented in inet::PassiveQueueBase, and inet::SchedulerBase.
Referenced by inet::EtherMACBase::getNextFrameFromQueue(), inet::IdealMac::getNextMsgFromHL(), inet::PPP::handleMessage(), inet::PPP::initialize(), inet::EtherMACBase::initializeQueueModule(), inet::EtherMACBase::processConnectDisconnect(), inet::PPP::refreshOutGateConnection(), and inet::EtherMACBase::requestNextFrameFromExtQueue().
|
pure virtual |
Return true when queue is empty, otherwise return false.
Implemented in inet::SchedulerBase, inet::DropTailQueue, and inet::FIFOQueue.
Referenced by inet::IdealMac::flushQueue(), inet::PPP::flushQueue(), inet::EtherMACBase::flushQueue(), and inet::EtherMACBase::MacQueue::isEmpty().
|
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().
|
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.
|
pure virtual |
The queue should send a packet whenever this method is invoked.
If the queue is currently empty, it should send a packet when when one becomes available.
Implemented in inet::PassiveQueueBase, and inet::SchedulerBase.
Referenced by inet::PPP::clearQueue(), inet::PPP::flushQueue(), inet::EtherMACBase::getNextFrameFromQueue(), inet::IdealMac::getNextMsgFromHL(), inet::PPP::handleMessage(), inet::PPP::initialize(), inet::CsmaCaMac::initializeQueueModule(), inet::EtherMACBase::initializeQueueModule(), inet::CsmaCaMac::popTransmissionQueue(), inet::EtherMACBase::processConnectDisconnect(), inet::PPP::refreshOutGateConnection(), and inet::EtherMACBase::requestNextFrameFromExtQueue().