diff --git a/PPI/ActiveFeeder.test.cc b/PPI/ActiveFeeder.test.cc index f54e426b8cf9c7c666f4668e02f63260164d150c..8d9aa55e858a42c56fcc4585f4f750ef070150c4 100644 --- a/PPI/ActiveFeeder.test.cc +++ b/PPI/ActiveFeeder.test.cc @@ -50,14 +50,17 @@ BOOST_AUTO_UNIT_TEST(activeFeeder) ppi::connect(source,feeder); ppi::connect(feeder,sink); - source.submit(senf::DataPacket::create()); - source.submit(senf::DataPacket::create()); - source.submit(senf::DataPacket::create()); + for (unsigned i (0); i < 500; ++i) + source.submit(senf::DataPacket::create()); + senf::ClockService::clock_type start (senf::ClockService::now()); ppi::run(); + std::cerr << "ActiveFeeder: " + << (500*1e9)/(senf::ClockService::now()-start) + << " packets/s" << std::endl; BOOST_CHECK_EQUAL( source.size(), 0u ); - BOOST_CHECK_EQUAL( sink.size(), 3u ); + BOOST_CHECK_EQUAL( sink.size(), 500u ); } ///////////////////////////////cc.e//////////////////////////////////////// diff --git a/PPI/Events.cc b/PPI/Events.cc index 9f8ec8057a286b4ce8a51130823ed9db7313bbd9..eb89a50c6a5fd1d56f92b82866d39ac0ef944a2b 100644 --- a/PPI/Events.cc +++ b/PPI/Events.cc @@ -47,6 +47,16 @@ prefix_ void senf::ppi::EventDescriptor::notifyUnthrottle() enabled(true); } +prefix_ void senf::ppi::EventDescriptor::enabled(bool v) +{ + SENF_ASSERT(v_isRegistered()); // Module::registerEvent() call missing !! + if (v && ! enabled_) + v_enable(); + else if (! v && enabled_) + v_disable(); + enabled_ = v; +} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ //#include "Events.mpp" diff --git a/PPI/Events.cci b/PPI/Events.cci index 7d113b330764606c7e2c2389fa7200f868f82bde..1e50eb73390c91230693848416ed56d6df75d299 100644 --- a/PPI/Events.cci +++ b/PPI/Events.cci @@ -40,16 +40,6 @@ prefix_ bool senf::ppi::EventDescriptor::enabled() return enabled_; } -prefix_ void senf::ppi::EventDescriptor::enabled(bool v) -{ - SENF_ASSERT(v_isRegistered()); - if (v && ! enabled_) - v_enable(); - else if (! v && enabled_) - v_disable(); - enabled_ = v; -} - //////////////////////////////////////// // protected members