X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FTCPSocketHandle.hh;h=f94e4399293f8a3f03c158146ba745109c3dd43d;hb=9ca82f3198ce01fa2daf50aa8f46e0eb630d275c;hp=484e6222f4f0c029580292517a06c0140155f1a3;hpb=d0006132bfcb3ab442cf66b600ed3fad36f1ac2c;p=senf.git diff --git a/Socket/TCPSocketHandle.hh b/Socket/TCPSocketHandle.hh index 484e622..f94e439 100644 --- a/Socket/TCPSocketHandle.hh +++ b/Socket/TCPSocketHandle.hh @@ -160,8 +160,6 @@ namespace senf { ProtocolServerSocketHandle via the Socket Handle typedefs above. \see TCPv4SocketProtocol - - \todo Implement */ class TCPv6SocketProtocol : public ConcreteSocketProtocol, @@ -170,6 +168,47 @@ namespace senf { public BSDSocketProtocol, public AddressableBSDSocketProtocol { + /////////////////////////////////////////////////////////////////////////// + // internal interface + + ///\name Constructors + ///@{ + + void init_client() const; ///< Create unconnected client socket + /**< \note This member is implicitly called from the + ProtocolClientSocketHandle::ProtocolClientSocketHandle() + constructor */ + void init_client(INet4Address const & address) const; + ///< Create client socket and connect + /**< Creates a new client socket and connects to the given + address. + + \param[in] address remote address to connect to */ + /**< \note This member is implicitly called from the + ProtocolClientSocketHandle::ProtocolClientSocketHandle() + constructor */ + void init_server() const; ///< Create server socket + /**< \note This member is implicitly called from the + ProtocolServerSocketHandle::ProtocolServerSocketHandle() + constructor */ + void init_server(INet4Address const & address, unsigned backlog=1) const; + ///< Create server socket and listen + /**< Creates a new server socket, binds to \a address end + starts listening for new connections with a backlog of + \a backlog connections. It also enables reuseaddr(). + + \param[in] address address to listen on + \param[in] backlog size of the listen backlog */ + /**< \note This member is implicitly called from the + ProtocolServerSocketHandle::ProtocolServerSocketHandle() + constructor */ + + ///@} + ///\name Abstract Interface Implementation + + std::auto_ptr clone() const; + + ///@} }; typedef ProtocolClientSocketHandle TCPv6ClientSocketHandle;