return *module_;
}
+prefix_ void senf::ppi::connector::Connector::tracing(TraceState state)
+{
+ traceState_ = state;
+}
+
+prefix_ senf::ppi::connector::Connector::TraceState senf::ppi::connector::Connector::tracing()
+{
+ return traceState_;
+}
+
////////////////////////////////////////
// protected members
prefix_ void senf::ppi::connector::PassiveConnector::emitThrottle()
{
+ throttleTrace("OUT", "throttle");
if (connected())
peer().notifyThrottle();
}
prefix_ void senf::ppi::connector::PassiveConnector::emitUnthrottle()
{
+ throttleTrace("OUT", "unthrottle");
if (connected()) {
peer().notifyUnthrottle();
v_unthrottleEvent();
if (!throttled()) {
nativeThrottled_ = true;
emitThrottle();
- }
+ } else
+ nativeThrottled_ = true;
}
prefix_ void senf::ppi::connector::PassiveConnector::unthrottle()
SENF_ASSERT(callback_ && "senf::ppi::connector::PassiveConnector: missing onRequest()");
if (!throttled())
callback_();
+ else
+ throttleTrace("IN ", "queueing packet");
}
///////////////////////////////////////////////////////////////////////////
prefix_ void senf::ppi::connector::OutputConnector::operator()(Packet const & p)
{
+ trace(p, "OUT");
if (connected())
peer().enqueue(p);
}