#include <senf/PPI/Joins.hh>
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<> output.
When a packet request is received on Priorityjoin's output, The request will be serviced from the first unthrottled input. The order, in which connectors are connected to the PriorityJoin's input is important: The earlier connected peer has the higher priority and will be serviced first.
Since PriorityJoin 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::PriorityJoin join; ppi::connect(module1,join); // Connect first module to join's input ppi::connect(module2.some_output,join); // Connect another module to join's input ppi::connect(join,module3); // Forward combined stream to module3
Definition at line 108 of file Joins.hh.
Public Member Functions |
|
PriorityJoin () | |
Public Attributes |
|
connector::PassiveOutput | output |
connector::PassiveOutput senf::ppi::module::PriorityJoin:: | ||||
output | ||||