X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FSocketSource.ct;h=e2256615beb51967c7cecad0a5ef87463ae1d4c6;hb=b8ca4a544cce3e6023bb56b712a03d6362f2bb79;hp=1b9dd572488b83003e2d8a7bf49abb55021d5f0d;hpb=28275a1a9075ae42dc29aaadc5bc78e6fa204e26;p=senf.git diff --git a/PPI/SocketSource.ct b/PPI/SocketSource.ct index 1b9dd57..e225661 100644 --- a/PPI/SocketSource.ct +++ b/PPI/SocketSource.ct @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -31,32 +31,46 @@ ///////////////////////////////ct.p//////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// -// senf::ppi::PacketSource +// senf::ppi::DgramReader template -prefix_ Packet senf::ppi::PacketSource::operator()(Handle handle) +prefix_ Packet senf::ppi::DgramReader::operator()(Handle handle) { - Packet packet (Packet::create(Packet::noinit)); + Packet packet (Packet::create(senf::noinit)); handle.read(packet.data(),0u); return packet; } /////////////////////////////////////////////////////////////////////////// -// senf::ppi::module::ActiveSocketSource +// senf::ppi::module::ActiveSocketSource -template -prefix_ senf::ppi::module::ActiveSocketSource:: -ActiveSocketSource(Handle handle) - : handle_(handle), event_(handle_, IOEvent::Read), reader_() +template +prefix_ senf::ppi::module::ActiveSocketSource::ActiveSocketSource() { registerEvent( event_, &ActiveSocketSource::read ); route(event_, output); } -template -prefix_ senf::ppi::module::ActiveSocketSource::ActiveSocketSource(Handle handle, - Source source) - : handle_(handle), event_(handle_, IOEvent::Read), reader_(source) +template +prefix_ senf::ppi::module::ActiveSocketSource::ActiveSocketSource(Reader reader) + : reader_(reader) +{ + registerEvent( event_, &ActiveSocketSource::read ); + route(event_, output); +} + +template +prefix_ senf::ppi::module::ActiveSocketSource::ActiveSocketSource(Handle handle) + : handle_(handle), event_(handle_, IOEvent::Read) +{ + registerEvent( event_, &ActiveSocketSource::read ); + route(event_, output); +} + +template +prefix_ senf::ppi::module::ActiveSocketSource::ActiveSocketSource(Handle handle, + Reader reader) + : handle_(handle), event_(handle_, IOEvent::Read), reader_(reader) { registerEvent( event_, &ActiveSocketSource::read ); route(event_, output); @@ -65,8 +79,8 @@ prefix_ senf::ppi::module::ActiveSocketSource::ActiveSocketSource(Handle //////////////////////////////////////// // private members -template -prefix_ void senf::ppi::module::ActiveSocketSource::read() +template +prefix_ void senf::ppi::module::ActiveSocketSource::read() { output(reader_(handle_)); }