Packets: optimized intrusive_ptr access; optimized PacketTypeMixin member parameters
[senf.git] / senf / PPI / Connectors.cci
index cebc539..16948c0 100644 (file)
 #define prefix_ inline
 ///////////////////////////////cci.p///////////////////////////////////////
 
+#ifdef SENF_PPI_NOTRACE
+#   define SENF_PPI_THROTTLE_TRACE(label, type)
+#   define SENF_PPI_TRACE(packet, label)
+#else
+#   define SENF_PPI_THROTTLE_TRACE(label, type) throttleTrace(label, type)
+#   define SENF_PPI_TRACE(packet, label) trace(packet, label)
+#endif
+
 ///////////////////////////////////////////////////////////////////////////
 // senf::ppi::connector::Connector
 
@@ -38,7 +46,7 @@ prefix_ senf::ppi::connector::Connector & senf::ppi::connector::Connector::peer(
     const
 {
     // The connector is not connected
-    SENF_ASSERT(peer_ && "senf::ppi::connect() call missing");
+    SENF_ASSERT(peer_, "senf::ppi::connect() call missing");
     return *peer_;
 }
 
@@ -47,7 +55,7 @@ prefix_ senf::ppi::module::Module & senf::ppi::connector::Connector::module()
 {
     // The connector is not registered in the module -> probably a route() or noroute() statement is
     // missing.
-    SENF_ASSERT(module_ && "Connector not registered: Missing route() or noroute()");
+    SENF_ASSERT(module_, "Connector not registered: Missing route() or noroute()");
     return *module_;
 }
 
@@ -119,14 +127,14 @@ prefix_ bool senf::ppi::connector::PassiveConnector::throttled()
 
 prefix_ void senf::ppi::connector::PassiveConnector::emitThrottle()
 {
-    throttleTrace("OUT", "throttle");
+    SENF_PPI_THROTTLE_TRACE("OUT", "throttle");
     if (connected())
         peer().notifyThrottle();
 }
 
 prefix_ void senf::ppi::connector::PassiveConnector::emitUnthrottle()
 {
-    throttleTrace("OUT", "unthrottle");
+    SENF_PPI_THROTTLE_TRACE("OUT", "unthrottle");
     if (connected()) {
         peer().notifyUnthrottle();
         v_unthrottleEvent();
@@ -192,11 +200,12 @@ prefix_ senf::ppi::connector::PassiveConnector::PassiveConnector()
 prefix_ void senf::ppi::connector::PassiveConnector::emit()
 {
     // No event callback has been registered (onRequest() call missing)
-    SENF_ASSERT(callback_ && "senf::ppi::connector::PassiveConnector: missing onRequest()");
-    if (!throttled())
+    SENF_ASSERT(callback_, "senf::ppi::connector::PassiveConnector: missing onRequest()");
+    if (!throttled()) {
         callback_();
-    else
-        throttleTrace("IN ", "queueing packet");
+    } else {
+        SENF_PPI_THROTTLE_TRACE("IN ", "queueing packet");
+    }
 }
 
 ///////////////////////////////////////////////////////////////////////////
@@ -263,7 +272,7 @@ prefix_ senf::Packet senf::ppi::connector::InputConnector::peek()
     const
 {
     // Cannot peek() head of empty queue
-    SENF_ASSERT( ! queue_.empty() &&
+    SENF_ASSERT( ! queue_.empty(),
                  "senf::ppi::connector::InputConnector: cannot call peek() on empty queue" );
     return queue_.back();
 }
@@ -307,7 +316,7 @@ prefix_ senf::ppi::connector::InputConnector & senf::ppi::connector::OutputConne
 
 prefix_ void senf::ppi::connector::OutputConnector::operator()(Packet const & p)
 {
-    trace(p, "OUT");
+    SENF_PPI_TRACE(p, "OUT");
     if (connected())
         peer().enqueue(p);
 }