#define HH_Queueing_ 1
// Custom includes
+#include "predecl.hh"
//#include "Queueing.mpp"
///////////////////////////////hh.p////////////////////////////////////////
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 */
};
// c-file-style: "senf"
// indent-tabs-mode: nil
// ispell-local-dictionary: "american"
+// compile-command: "scons -u test"
+// comment-column: 40
// End: