X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FSocketSink.hh;h=6e5cfb92a382ebf120440d2f1332094a7ec9580b;hb=ea8b2923c29a6902f507db2b485a44a58e9406f0;hp=ed74d9b0ba2c9fc163b84d62b3604647835bceb0;hpb=ed0e2329281a50f80be8425938c17515fa70661b;p=senf.git diff --git a/PPI/SocketSink.hh b/PPI/SocketSink.hh index ed74d9b..6e5cfb9 100644 --- a/PPI/SocketSink.hh +++ b/PPI/SocketSink.hh @@ -105,7 +105,7 @@ namespace module { public: typedef typename Writer::Handle Handle; ///< Handle type requested by writer - connector::ActiveInput input; ///< Input connector from which data is received + connector::ActiveInput<> input; ///< Input connector from which data is received ActiveSocketSink(Handle handle); ///< Create new writer for the given handle /**< Data will be written to \a handle using \a Writer. @@ -120,8 +120,6 @@ namespace module { socket */ Writer & writer(); ///< Access the Writer - void replaceHandle(Handle newHandle); - ///< Replace the handle to which the packets are written private: void write(); @@ -168,7 +166,7 @@ namespace module { public: typedef typename Writer::Handle Handle; ///< Handle type requested by writer - connector::PassiveInput input; ///< Input connector from which data is received + connector::PassiveInput<> input; ///< Input connector from which data is received PassiveSocketSink(Handle handle); ///< Create new writer for the given handle /**< Data will be written to \a handle using \a Writer. @@ -180,9 +178,18 @@ namespace module { \pre Requires \a Writer to be copy constructible \param[in] handle Handle to write data to */ - Writer & writer(); ///< Access the Writer + Writer & writer(); ///< Access the Writer + Handle & handle(); /**< Access the handle. This is intendet to be mainly used to reconnect + the underlying socket. */ + /* void reconnect(senf::SocketAddress newAddress); + ///< Reconnect the handle to which the packets are written + */ void replaceHandle(Handle newHandle); - ///< Replace the handle to which the packets are written + /**< Replace the handle to which the packets are written + * Normally you should access the handle and call connect with + * the new address. This also works for other + * (active) ConnectedSocketSinks/Sources */ + private: void write();