\brief Connector classes
A connector has two independent properties
- \li it may be \e active or \e passive
- \li it may be an \e input or an \e output
+ - it may be \e active or \e passive
+ - it may be an \e input or an \e output
\e Active connectors are activated from within the module, \e passive connectors are
signaled by the external framework. \e Input modules receive packets, \e output modules send
input modules possess a packet queue.
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.
+ - senf::ppi::connector::ActiveInput
+ - senf::ppi::connector::ActiveOutput
+ - senf::ppi::connector::PassiveInput
+ - senf::ppi::connector::PassiveOutput.
Connectors are declared as module data members and are then externally connected to other
modules.
Passive connectors always handle two throttling states:
- \li The \e native throttling state is set manually by the module. It is the throttling state
+ - The \e native throttling state is set manually by the module. It is the throttling state
originating in the current module
- \li The \e forwarded throttling state is the state as it is received by throttling
+ - The \e forwarded throttling state is the state as it is received by throttling
notifications
The accumulative throttling state is generated by combining all sub-states.
that read packets are returned as \a PacketType instead of generic senf::Packet references.
\see GenericActiveInput \n
- senf::ppi::connectro
+ senf::ppi::connector
*/
template <class PacketType>
class ActiveInput : public GenericActiveInput