Utils/Termlib: Extend the completion API
[senf.git] / PPI / SocketSource.ct
index eb69a5d..e225661 100644 (file)
@@ -45,9 +45,23 @@ prefix_ Packet senf::ppi::DgramReader<Packet>::operator()(Handle handle)
 // 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);