X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FDebugModules.cci;h=58f367de470b4d75628ca12268cfc6e38240de4d;hb=7465ea4f6d3d54622bd783106cf8b60d5f133343;hp=6accafa1f788cffbba73a26a4ab4a033ea397ab2;hpb=026887c8f93c5dc89fb68446ae014205de559451;p=senf.git diff --git a/PPI/DebugModules.cci b/PPI/DebugModules.cci index 6accafa..58f367d 100644 --- a/PPI/DebugModules.cci +++ b/PPI/DebugModules.cci @@ -53,6 +53,7 @@ prefix_ senf::ppi::module::debug::PassivePacketSource::PassivePacketSource() prefix_ void senf::ppi::module::debug::PassivePacketSource::submit(Packet packet) { packets_.push_back(packet); + output.unthrottle(); } prefix_ bool senf::ppi::module::debug::PassivePacketSource::empty() @@ -71,8 +72,16 @@ senf::ppi::module::debug::PassivePacketSource::size() prefix_ void senf::ppi::module::debug::PassivePacketSource::request() { + BOOST_ASSERT( ! packets_.empty() ); output(packets_.front()); packets_.pop_front(); + if (packets_.empty()) + output.throttle(); +} + +prefix_ void senf::ppi::module::debug::PassivePacketSource::init() +{ + output.throttle(); } /////////////////////////////////////////////////////////////////////////// @@ -120,19 +129,19 @@ senf::ppi::module::debug::PassivePacketSink::end() return packets_.end(); } -prefix_ senf::Packet senf::ppi::module::debug::PassivePacketSink::back() +prefix_ senf::Packet senf::ppi::module::debug::PassivePacketSink::front() { if (empty()) return Packet(); else - return packets_.back(); + return packets_.front(); } -prefix_ senf::Packet senf::ppi::module::debug::PassivePacketSink::pop_back() +prefix_ senf::Packet senf::ppi::module::debug::PassivePacketSink::pop_front() { - Packet p (back()); + Packet p (front()); if (p) - packets_.pop_back(); + packets_.pop_front(); return p; }