Join multiple packet streams with passive inputs. More...
#include <senf/PPI/Joins.hh>
Public Member Functions | |
PassiveJoin () | |
Public Member Functions inherited from senf::ppi::module::Module | |
virtual | ~Module () |
Public Attributes | |
connector::ActiveOutput< PacketType > | output |
Additional Inherited Members | |
Public Types inherited from senf::ppi::module::MultiConnectorMixin< Self_, ConnectorType_, KeyType_, ContainerType_ > | |
typedef ConnectorType_ | ConnectorType |
Type of MultiConnector connector. More... | |
Protected Types inherited from senf::ppi::module::MultiConnectorMixin< Self_, ConnectorType_, KeyType_, ContainerType_ > | |
typedef ContainerType_ | ContainerType |
Type of connector container. More... | |
Protected Member Functions inherited from senf::ppi::module::Module | |
Module () | |
Route< connector::InputConnector, connector::OutputConnector > & | route (connector::InputConnector &input, connector::OutputConnector &output) |
Define flow information. More... | |
Route< connector::InputConnector, EventDescriptor > & | route (connector::InputConnector &input, EventDescriptor &output) |
Define flow information. More... | |
Route< EventDescriptor, connector::OutputConnector > & | route (EventDescriptor &input, connector::OutputConnector &output) |
Define flow information. More... | |
void | noroute (connector::Connector &connector) |
Define terminal connectors. More... | |
template<class Target > | |
void | registerEvent (EventDescriptor &descriptor, Target target) |
Register an external event. More... | |
ClockService::clock_type const & | time () const |
Time-stamp of the currently processing event. More... | |
ClockService::clock_type const & | now () const |
Current time of the currently processing event. More... | |
virtual void | v_init () |
Called after module setup. More... | |
console::DirectoryNode & | sysConsoleDir () const |
void | destroy () |
Protected Member Functions inherited from senf::ppi::module::MultiConnectorMixin< Self_, ConnectorType_, KeyType_, ContainerType_ > | |
ContainerType_ & | connectors () |
Get connector container. More... | |
ContainerType_ const & | connectors () const |
Get connectors container (const) More... | |
void | connectorDestroy (ConnectorType const &) |
Related Functions inherited from senf::ppi::module::MultiConnectorMixin< Self_, ConnectorType_, KeyType_, ContainerType_ > | |
template<class MultiConnectorSource , class Target , class A1 > | |
MultiConnectorSource::ConnectorType & | connect (MultiConnectorSource &source, A1 const &a1, Target &target) |
Connect MultiConnector source to arbitrary target. More... | |
template<class Source , class MultiConnectorTarget , class A1 > | |
MultiConnectorTarget::ConnectorType & | connect (Source &source, MultiConnectorTarget &target, A1 const &a1) |
Connect arbitrary source to MultiConnector target. More... | |
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<> 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 the needed input connectors. This hides this extra functionality from the user.
senf::ppi::module::PassiveJoin< PacketType >::PassiveJoin | ( | ) |
connector::ActiveOutput<PacketType> senf::ppi::module::PassiveJoin< PacketType >::output |