///////////////////////////////////////////////////////////////////////////
// senf::ppi::module::PassiveJoin
+prefix_ senf::ppi::module::PassiveJoin::PassiveJoin()
+{
+ noroute(output);
+ output.onThrottle(&PassiveJoin::onThrottle);
+ output.onUnthrottle(&PassiveJoin::onUnthrottle);
+}
+
////////////////////////////////////////
// private members
{
noroute(conn);
conn.onRequest(boost::bind(&PassiveJoin::request,this,boost::ref(conn)));
-}
-
-prefix_ void senf::ppi::module::PassiveJoin::request(connector::GenericPassiveInput & input)
-{
- output(input());
+ conn.qdisc( QueueingDiscipline::NONE);
}
prefix_ void senf::ppi::module::PassiveJoin::onThrottle()
///////////////////////////////////////////////////////////////////////////
// senf::ppi::module::PriorityJoin
+prefix_ senf::ppi::module::PriorityJoin::PriorityJoin()
+{
+ noroute(output);
+ output.onRequest(&PriorityJoin::request);
+}
+
////////////////////////////////////////
// private members
if (priority < 0) {
priority = connectors().size() + priority;
- if (priority < 0)
+ if (priority < 0)
priority = 0;
}
if (priority >= int(connectors().size())-1)
return;
-
+
connectors().insert(connectors().begin()+priority, connectors().pop_back().release());
}