X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FQueueing.cc;h=aa59e3db14c469909b47e9abaf7789838d0395b4;hb=44c966bc9d744d0926cffd5184fdb77a62564c16;hp=c084f51db68765dbd0966ee4419e8f46ca3c4783;hpb=81ffa1c459b96dd44472bcef37e1e373934ee138;p=senf.git diff --git a/PPI/Queueing.cc b/PPI/Queueing.cc index c084f51..aa59e3d 100644 --- a/PPI/Queueing.cc +++ b/PPI/Queueing.cc @@ -27,16 +27,28 @@ //#include "Queueing.ih" // Custom includes +#include "Connectors.hh" //#include "Queueing.mpp" #define prefix_ ///////////////////////////////cc.p//////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// -// senf::ppi::QueueingDiscipline +// senf::ppi::ThresholdQueueing -prefix_ senf::ppi::QueueingDiscipline::~QueueingDiscipline() -{} +prefix_ void senf::ppi::ThresholdQueueing::update(connector::PassiveInput & input, Event event) +{ + switch (event) { + case ENQUEUE: + if (input.queueSize() >= high_) + input.throttle(); + break; + case DEQUEUE: + if (input.queueSize() <= low_) + input.unthrottle(); + break; + } +} ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_