#include <EnqueueHook.h>
Public Member Functions | |
virtual void | setModule (cSimpleModule *) |
virtual void | enqueue (cMessage *msg, cQueue &queue)=0 |
virtual cMessage * | dropIfNotNeeded (cMessage *msg)=0 |
Abstract base class for enqueue hooks.
Definition at line 28 of file EnqueueHook.h.
virtual cMessage* EnqueueHook::dropIfNotNeeded | ( | cMessage * | msg | ) | [pure virtual] |
Called when a packet arrives and the queue is empty. Implementation of this function should either return the same pointer, or drop the packet and return NULL.
Referenced by QueueWithQoS::arrivalWhenIdle().
virtual void EnqueueHook::enqueue | ( | cMessage * | msg, | |
cQueue & | queue | |||
) | [pure virtual] |
Called when a packet arrives and the queue is not empty. Implementation of this function should enqueue the packet -- or just discard it. It can also do priority queueing or discard other packets already in the queue -- anything.
Referenced by QueueWithQoS::arrival().
virtual void EnqueueHook::setModule | ( | cSimpleModule * | ) | [inline, virtual] |
Called with the "this" pointer from the module which installs this object. Subclasses may use the pointer to get access to module pointers, etc. Note that this class doesn't store the pointer but subclasses may well decide to do so.
Definition at line 37 of file EnqueueHook.h.
Referenced by QueueWithQoS::initialize().
{}