X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FSocketReader.hh;h=5d2691303d4a977a1c5e2370ec7d30d0cb7d1dac;hb=410b5d6536361b7a7376c38efee92263e793fea4;hp=f416c0d698deacd49786c9f5b1b1b2177dd3eb03;hpb=7231c220a7332754de3d16e4e8aacd5dbd31c501;p=senf.git diff --git a/PPI/SocketReader.hh b/PPI/SocketReader.hh index f416c0d..5d26913 100644 --- a/PPI/SocketReader.hh +++ b/PPI/SocketReader.hh @@ -25,11 +25,11 @@ #define HH_SocketReader_ 1 // Custom includes -#include "Packets/Packets.hh" -#include "Socket/ClientSocketHandle.hh" -#include "Socket/SocketPolicy.hh" -#include "Socket/ReadWritePolicy.hh" -#include "Socket/FramingPolicy.hh" +#include "../Packets/Packets.hh" +#include "../Socket/ClientSocketHandle.hh" +#include "../Socket/SocketPolicy.hh" +#include "../Socket/ReadWritePolicy.hh" +#include "../Socket/FramingPolicy.hh" #include "Module.hh" #include "Connectors.hh" #include "IOEvent.hh" @@ -74,23 +74,28 @@ namespace module { /** \brief Input module reading data from an arbitrary FileHandle This input module will read data from a FileHandle object and parse the data according to - the \a Reader. - - The \a Reader must fulfill the following interface: + the \a Reader. The default reader is senf::ppi::PacketReader <> which reads the data into a + senf::DataPacket. To parse the data according to some other packet type, pass that packet + type to senf::ppi::PacketReader: \code - class SomeReader - { - public: - typedef unspecified_type Handle; // type of handle requested - SomeReader(); // default constructible - Packet operator()(Handle handle); // extraction function - }; + senf::ppi::module::ActiveSocketReader< senf::ppi::PacketReader > reader; + \endcode + declares a \a reader module reading senf::EthrtnetPacket's. + + A \a Reader must fulfill the following interface: + \code + class SomeReader + { + public: + typedef unspecified_type Handle; // type of handle requested + SomeReader(); // default constructible + Packet operator()(Handle handle); // extraction function + }; \endcode - Whenever the FileHandle object is ready for reading, the \a Reader's \c operator() is called - to read a packet. The default \a Reader is \c PacketReader<>, which will read packets from a - datagram SocketHandle into DataPacket's. You may - + to read a packet. + + \ingroup io_modules */ template > class ActiveSocketReader