Skip to content
Snippets Groups Projects
Commit cbf91493 authored by g0dil's avatar g0dil
Browse files

PPI: Measure ActiveFeeder performance in unit test

parent 17b137f9
No related branches found
No related tags found
No related merge requests found
...@@ -50,14 +50,17 @@ BOOST_AUTO_UNIT_TEST(activeFeeder) ...@@ -50,14 +50,17 @@ BOOST_AUTO_UNIT_TEST(activeFeeder)
ppi::connect(source,feeder); ppi::connect(source,feeder);
ppi::connect(feeder,sink); ppi::connect(feeder,sink);
source.submit(senf::DataPacket::create()); for (unsigned i (0); i < 500; ++i)
source.submit(senf::DataPacket::create()); source.submit(senf::DataPacket::create());
source.submit(senf::DataPacket::create());
senf::ClockService::clock_type start (senf::ClockService::now());
ppi::run(); ppi::run();
std::cerr << "ActiveFeeder: "
<< (500*1e9)/(senf::ClockService::now()-start)
<< " packets/s" << std::endl;
BOOST_CHECK_EQUAL( source.size(), 0u ); BOOST_CHECK_EQUAL( source.size(), 0u );
BOOST_CHECK_EQUAL( sink.size(), 3u ); BOOST_CHECK_EQUAL( sink.size(), 500u );
} }
///////////////////////////////cc.e//////////////////////////////////////// ///////////////////////////////cc.e////////////////////////////////////////
......
...@@ -47,6 +47,16 @@ prefix_ void senf::ppi::EventDescriptor::notifyUnthrottle() ...@@ -47,6 +47,16 @@ prefix_ void senf::ppi::EventDescriptor::notifyUnthrottle()
enabled(true); 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//////////////////////////////////////// ///////////////////////////////cc.e////////////////////////////////////////
#undef prefix_ #undef prefix_
//#include "Events.mpp" //#include "Events.mpp"
......
...@@ -40,16 +40,6 @@ prefix_ bool senf::ppi::EventDescriptor::enabled() ...@@ -40,16 +40,6 @@ prefix_ bool senf::ppi::EventDescriptor::enabled()
return 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 // protected members
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment