X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FConnectors.hh;h=4779c3036681867519389053c241dcfb2c46f043;hb=82ad2ed94c12c3e53097fef92978de8c28239fab;hp=9730338b1fafce9d2edf38f96128d7bb7f937515;hpb=e8b91aa6a817af6d9a3714e7b66be6c0d6b0a4e5;p=senf.git diff --git a/PPI/Connectors.hh b/PPI/Connectors.hh index 9730338..4779c30 100644 --- a/PPI/Connectors.hh +++ b/PPI/Connectors.hh @@ -28,8 +28,8 @@ #include #include #include -#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////////////////////////////////////////