X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FQueueing.hh;h=7b7421e4ff41dfcc2faf7b00da38f8c21f1e12d8;hb=81ffa1c459b96dd44472bcef37e1e373934ee138;hp=daf59a87c2b761564cef17036ba8e24ec514313c;hpb=89efe5f504c400212090aba703c7ee385f483c64;p=senf.git diff --git a/PPI/Queueing.hh b/PPI/Queueing.hh index daf59a8..7b7421e 100644 --- a/PPI/Queueing.hh +++ b/PPI/Queueing.hh @@ -25,6 +25,7 @@ #define HH_Queueing_ 1 // Custom includes +#include "predecl.hh" //#include "Queueing.mpp" ///////////////////////////////hh.p//////////////////////////////////////// @@ -38,23 +39,26 @@ namespace ppi { QueueingDiscipline is called whenever the packets are entered or removed from the queue. The queueing discipline then determines the new throttling state of the queue. - \important The QueueingDiscipline will \e never drop packets explicitly. This is left to the + \note The QueueingDiscipline will \e never drop packets explicitly. This is left to the operating system by sending throttling events. The PPI will never loose a packet internally (if not a module explicitly does so), however it may disable reception of new incoming - packets which will then probably dropped by the operating system. + packets which will then probably be dropped by the operating system. */ class QueueingDiscipline { public: + virtual ~QueueingDiscipline(); + enum Event { ENQUEUE, DEQUEUE }; ///< Possible queueing events enum State { THROTTLED, UNTHROTTLED }; ///< Possible queueing states - - State update(PassiveInput & input, Event event) = 0; ///< Calculate new queueing state + + virtual State update(connector::PassiveInput & input, Event event) = 0; + ///< Calculate new queueing state /**< Whenever the queue is manipulated, this member is called to calculate the new throttling state. \param[in] input Connector holding the queue - \param[in] event Type of event triggering the upate + \param[in] event Type of event triggering the update \returns new throttling state */ }; @@ -73,4 +77,6 @@ namespace ppi { // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: