Utils/Logger: Complete unit testing
[senf.git] / PPI / Connectors.hh
index 9730338..4779c30 100644 (file)
@@ -28,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"
@@ -55,8 +55,19 @@ namespace connector {
         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.
+        We therefore have 4 connector types: 
+        \li senf::ppi::connector::ActiveInput
+        \li senf::ppi::connector::ActiveOutput
+        \li senf::ppi::connector::PassiveInput
+        \li senf::ppi::connector::PassiveOutput.
+
+        Connectors are declared as module data members and are then externally connected to other
+        modules.
+
+        \see 
+            senf::ppi::module::Module \n
+            senf::ppi::connect()
+            \ref ppi_connectors
      */
 
     /** \brief Connector base-class
@@ -198,7 +209,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
 
@@ -255,6 +266,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
@@ -265,6 +277,8 @@ namespace connector {
                                              logic error in the module implementation and an
                                              exception is raised. */
 
+        Packet read();                  ///< Alias for operator()()
+
         OutputConnector & peer() const;
 
         queue_iterator begin() const;   ///< Access queue begin (head)
@@ -299,7 +313,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 operator()(Packet p)
 
         InputConnector & peer() const;
 
@@ -307,9 +323,6 @@ namespace connector {
         OutputConnector();
     };
     
-    ///@{
-    ///\addtogroup connectors
-
     /** \brief Combination of PassiveConnector and InputConnector
 
         The PassiveInput automatically controls the connectors throttling state using a queueing
@@ -392,8 +405,6 @@ namespace connector {
         void connect(PassiveInput & target); ///< Internal: Use senf::ppi::connect() instead
     };
 
-    ///@}
-
 }}}
 
 ///////////////////////////////hh.e////////////////////////////////////////