Socket/Protocols/Inet: Fix off-by-one error in INet6Address
[senf.git] / PPI / Queueing.cc
index c084f51..aa59e3d 100644 (file)
 //#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_