X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FQueueingSocketSink.ct;h=836c1cd1dfa8ff0fc26d06928d9d6632ec4caf03;hb=7ee689fe38d66aa3a0004d55e8708750d35adc0b;hp=2d991c657c36001cf878a58cd24837cec261ccd9;hpb=d8d169a9fa7f5633171ea83362b0deaaf5bd337e;p=senf.git diff --git a/senf/PPI/QueueingSocketSink.ct b/senf/PPI/QueueingSocketSink.ct index 2d991c6..836c1cd 100644 --- a/senf/PPI/QueueingSocketSink.ct +++ b/senf/PPI/QueueingSocketSink.ct @@ -26,11 +26,12 @@ //#include "QueueingSocketSink.ih" // Custom includes +#include #define prefix_ -///////////////////////////////ct.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::ppi::QueueingAlgorithmRegistry template @@ -42,7 +43,7 @@ prefix_ void senf::ppi::QueueingAlgorithmRegistry::registerQAlgorithm(std::strin throw Exception("Duplicated QAlgorithm Registration ") << key; } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::ppi::detail::QueueingAlgorithmRegistry_Entry template @@ -52,7 +53,7 @@ prefix_ senf::ppi::QueueingAlgorithm::ptr senf::ppi::detail::QueueingAlgorithmRe return QAlgorithm::create(); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::ppi::module::PassiveQueueingSocketSink template @@ -77,9 +78,18 @@ prefix_ senf::ppi::module::PassiveQueueingSocketSink::PassiveQueueingSoc } template +prefix_ void senf::ppi::module::PassiveQueueingSocketSink::handle(Handle const & handle) +{ + handle_ = handle; + event_.set( handle_, IOEvent::Write); + qAlgo_->clear(); + checkThrottle(); +} + +template prefix_ void senf::ppi::module::PassiveQueueingSocketSink::write() { - PacketType p ( input.read()); + PacketType p ( input()); if (qAlgo_->size() > 0) { qAlgo_->enqueue( p); return; @@ -127,7 +137,7 @@ prefix_ void senf::ppi::module::PassiveQueueingSocketSink::setQAlgorithm qAlgorithm( QueueingAlgorithmRegistry::instance().createQAlgorithm( key)); } -///////////////////////////////ct.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_