namespace ppi {
namespace module {
- /** \brief Route packets to destination according to some annotation value
+ /** \brief %Route packets to destination according to some annotation value
This router takes packet on a single input and directs them to one of it outputs depending
on a \ref packet_usage_annotation "packet annotation". Each output connected
The \a AnnotationType template parameter defines the routing key. This annotation must
support the following operations:
- \li Comparison with '<' (\c LessThanCompatable concept)
+ \li Comparison with '<' (\c LessThanComparable concept)
\li Copy construction and copy assignment (\c Copyable und \c Assignable concepts)
(e.g. via compiler synthesized copy constructor and assignment operator)
\li Output streaming to an ostream via '\c <<' (for error description purposes) (\c
{
public:
PacketType operator()(); ///< Read packet
- /**< \throws std::bad_cast, if the %connector receives a
+ /**< \throws std::bad_cast if the %connector receives a
Packet which is not of type \a PacketType.
\returns newly read packet reference. */
PacketType read(); ///< Alias for operator()
{
public:
PacketType operator()(); ///< Read packet
- /**< \throws std::bad_cast, if the %connector receives a
+ /**< \throws std::bad_cast if the %connector receives a
Packet which is not of type \a PacketType.
\returns newly read packet reference. */
PacketType read(); ///< Alias for operator()
namespace ppi {
namespace module {
- /** \brief Base class providing simple monitor module support
+ /** \brief Base class providing simple monitor %module support
- A monitor module is a module which needs information about traversing packets but does not
- really act on the packets. Because of this, it is \e optional to connect the output: If the
- output is not connected, the packets will be silently dropped.
+ A monitor %module is a \ref senf::ppi::module::Module "module" which needs information
+ about traversing packets but does not really act on the packets. Because of this, it is
+ \e optional to connect the output: If the output is not connected, the packets will be
+ silently dropped.
This allows to add monitor modules either into an existing chain or add them using an
ActiveDuplicator.
- To write a monitor module, derive from senf::ppi::module::MonitorModule instead of
+ To write a monitor %module, derive from senf::ppi::module::MonitorModule instead of
senf::ppi::module and implement v_handlePacket():
\code
{
SENF_PPI_MODULE(CountPackets);
public:
- SomeMonitor() : counter_ (0u) {}
+ CountPackets() : counter_ (0u) {}
private:
virtual void v_handlePacket(Packet const & p)
\endcode
You may of course add events (or even further connectors besides \c input and \c output
- provided by MonitorModule) to the module.
+ provided by MonitorModule) to the %module.
\tparam PacketType type of packet expected on input and sent on output. This is also the
type of the v_handlePacket() argument.