X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FJoins.hh;h=3f7087cc2d19acec7183ff579a42739a081d9e2c;hb=6f50bf49e282c0528f51faa0a245bbfa2b867399;hp=c1b0eb26ec450260cd305f13322c6a84aabde645;hpb=f73fa16ed5abdce272ac77f8b8b9ef2b9922c266;p=senf.git diff --git a/PPI/Joins.hh b/PPI/Joins.hh index c1b0eb2..3f7087c 100644 --- a/PPI/Joins.hh +++ b/PPI/Joins.hh @@ -41,10 +41,10 @@ namespace ppi { #ifndef DOXYGEN template - connector::PassiveInput & connect(Source & source, module::PassiveJoin & target); + connector::GenericPassiveInput & connect(Source & source, module::PassiveJoin & target); template - connector::ActiveInput & connect(Source & source, module::PriorityJoin & target); + connector::GenericActiveInput & connect(Source & source, module::PriorityJoin & target); #endif @@ -53,8 +53,8 @@ namespace module { /** \brief Join multiple packet streams with passive inputs The PassiveJoin will combine any number of packet streams. You may connect any number of - ActiveOutput's to the PassiveJoin instance. The combined stream is then provided on the - ActiveOutput \a output. + ActiveOutput<>'s to the PassiveJoin instance. The combined stream is then provided on the + ActiveOutput<> \a output. Since PassiveJoin allows any number of incoming packet streams, the input connectors are dynamically managed. A special senf::ppi::connect() overload is used to dynamically create @@ -74,34 +74,34 @@ namespace module { { SENF_PPI_MODULE(PassiveJoin); public: - connector::ActiveOutput output; + connector::ActiveOutput<> output; PassiveJoin(); private: - connector::PassiveInput & newInput(); + connector::PassiveInput<> & newInput(); #ifndef DOXYGEN // I didn't get template friend functions to work ... public: #endif template - connector::PassiveInput & connect(Source & source); + connector::GenericPassiveInput & connect(Source & source); private: - void request(connector::PassiveInput & input); + void request(connector::GenericPassiveInput & input); void onThrottle(); void onUnthrottle(); - typedef boost::ptr_vector Inputs; + typedef boost::ptr_vector > Inputs; Inputs inputs_; }; /** \brief Join multiple packet streams with active inputs The PriorityJoin will combine any number of packet streams. You may connect any number of - PassiveInput's to the PassiveJoin instance. The combined stream is then provided on the - PassiveOutput \a output. + PassiveInput<>'s to the PassiveJoin instance. The combined stream is then provided on the + PassiveOutput<> \a output. When a packet request is received on Priorityjoin's \a output, The request will be serviced from the first unthrottled input. The order, in which connectors are connected to the @@ -128,25 +128,25 @@ namespace module { { SENF_PPI_MODULE(PriorityJoin); public: - connector::PassiveOutput output; + connector::PassiveOutput<> output; PriorityJoin(); private: - connector::ActiveInput & newInput(); + connector::ActiveInput<> & newInput(); #ifndef DOXYGEN public: #endif template - connector::ActiveInput & connect(Source & source); + connector::GenericActiveInput & connect(Source & source); private: void request(); void onThrottle(); void onUnthrottle(); - typedef boost::ptr_vector Inputs; + typedef boost::ptr_vector > Inputs; Inputs inputs_; };