///////////////////////////////ct.p////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
-// senf::ppi::DgramReader<Packet>
+// senf::ppi::DgramReader<Packet,MaxSize>
-template <class Packet>
-prefix_ Packet senf::ppi::DgramReader<Packet>::operator()(Handle handle)
+template <class Packet, unsigned MaxSize>
+prefix_ Packet senf::ppi::DgramReader<Packet,MaxSize>::operator()(Handle handle)
{
Packet packet (Packet::create(senf::noinit));
- handle.read(packet.data(),0u);
+ handle.read(packet.data(),MaxSize);
return packet;
}
// senf::ppi::module::ActiveSocketSource<Reader>
template <class Reader>
-prefix_ senf::ppi::module::ActiveSocketSource<Reader>::
-ActiveSocketSource(Handle handle)
- : handle_(handle), event_(handle_, IOEvent::Read), reader_()
+prefix_ senf::ppi::module::ActiveSocketSource<Reader>::ActiveSocketSource()
+{
+ registerEvent( event_, &ActiveSocketSource::read );
+ route(event_, output);
+}
+
+template <class Reader>
+prefix_ senf::ppi::module::ActiveSocketSource<Reader>::ActiveSocketSource(Reader reader)
+ : reader_(reader)
+{
+ registerEvent( event_, &ActiveSocketSource::read );
+ route(event_, output);
+}
+
+template <class Reader>
+prefix_ senf::ppi::module::ActiveSocketSource<Reader>::ActiveSocketSource(Handle handle)
+ : handle_(handle), event_(handle_, IOEvent::Read)
{
registerEvent( event_, &ActiveSocketSource::read );
route(event_, output);