Add doclib/fix-links.py to temporarily fix/remove bad doxygen links
[senf.git] / PPI / Connectors.hh
index e37ad1f..e42bab9 100644 (file)
 /** \file
     \brief Connectors public header */
 
-/** \defgroup connectors Connector classes
-
-    A connector has two independent properties
-    \li it may be \e active or \e passive
-    \li it may be an \e input or an \e output
-    
-    \e Active connectors are activated from within the module, \e passive connectors are signaled by
-    the external framework. \e Input modules receive packets, \e output modules send packets.
-
-    All passive connectors call some onRequest callback whenever I/O needs to be performed. All
-    input modules possess a packet queue.
-
-    We therefore have 4 connector types: senf::ppi::ActiveInput, senf::ppi::ActiveOutput,
-    senf::ppi::PassiveInput and senf::ppi::PassiveOutput.
- */
-
 #ifndef HH_Connectors_
 #define HH_Connectors_ 1
 
@@ -44,8 +28,8 @@
 #include <deque>
 #include <boost/utility.hpp>
 #include <boost/scoped_ptr.hpp>
-#include "Utils/SafeBool.hh"
-#include "Packets/Packets.hh"
+#include "../Utils/SafeBool.hh"
+#include "../Packets/Packets.hh"
 #include "predecl.hh"
 #include "detail/Callback.hh"
 #include "Queueing.hh"
@@ -59,6 +43,20 @@ namespace connector {
 
     /** \namespace senf::ppi::connector
         \brief Connector classes 
+
+        A connector has two independent properties
+        \li it may be \e active or \e passive
+        \li it may be an \e input or an \e output
+    
+        \e Active connectors are activated from within the module, \e passive connectors are
+        signaled by the external framework. \e Input modules receive packets, \e output modules send
+        packets.
+
+        All passive connectors call some onRequest callback whenever I/O needs to be performed. All
+        input modules possess a packet queue.
+
+        We therefore have 4 connector types: senf::ppi::ActiveInput, senf::ppi::ActiveOutput,
+        senf::ppi::PassiveInput and senf::ppi::PassiveOutput.
      */
 
     /** \brief Connector base-class
@@ -200,7 +198,7 @@ namespace connector {
                                              holds this input. In the second case, the pointer will
                                              automatically be bound to the containing instance.
 
-                                             \param[in] handle Handler to call on unthrottle
+                                             \param[in] handler Handler to call on unthrottle
                                                  notifications. */
         void onUnthrottle();            ///< Clear unthrottle notification handler
 
@@ -257,6 +255,7 @@ namespace connector {
         typedef Queue::const_iterator queue_iterator; ///< Iterator type of the embedded queue
         typedef Queue::size_type size_type; ///< Unsigned type for counting queue elements
 
+
         Packet operator()();            ///< Get a packet
                                         /**< This member is the primary method to access received
                                              data. On passive connectors, this operator will just
@@ -267,6 +266,8 @@ namespace connector {
                                              logic error in the module implementation and an
                                              exception is raised. */
 
+        Packet read();                  ///< Alias for \ref operator()()
+
         OutputConnector & peer() const;
 
         queue_iterator begin() const;   ///< Access queue begin (head)
@@ -301,7 +302,9 @@ namespace connector {
         : public virtual Connector
     {
     public:
-        void operator()(Packet p);        ///< Send out a packet
+        void operator()(Packet p);      ///< Send out a packet
+
+        void write(Packet p);           ///< Alias for \ref operator()()
 
         InputConnector & peer() const;
 
@@ -309,9 +312,6 @@ namespace connector {
         OutputConnector();
     };
     
-    ///@{
-    ///\addtogroup connectors
-
     /** \brief Combination of PassiveConnector and InputConnector
 
         The PassiveInput automatically controls the connectors throttling state using a queueing
@@ -394,8 +394,6 @@ namespace connector {
         void connect(PassiveInput & target); ///< Internal: Use senf::ppi::connect() instead
     };
 
-    ///@}
-
 }}}
 
 ///////////////////////////////hh.e////////////////////////////////////////