X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FSocketProtocol.hh;h=012b857da9b1e045b1f046a1ecbe0fca16f08087;hb=8025a3e571ed9de108f7203907baa4cabc801ea9;hp=db71a83e8fbe4314a6bddaeaba2c1464db3c48e4;hpb=a1a6c76a214ad1935032826713cabaf9ac57bf07;p=senf.git
diff --git a/Socket/SocketProtocol.hh b/Socket/SocketProtocol.hh
index db71a83..012b857 100644
--- a/Socket/SocketProtocol.hh
+++ b/Socket/SocketProtocol.hh
@@ -32,22 +32,19 @@
/** \defgroup protocol_group The Protocol Classes
- \htmlonly
-
-
- \endhtmlonly
+
+ \ref SocketProtocol
+ \ref UNSocketProtocol
+ \ref PacketSocketProtocol
+ \ref ConcreteSocketProtocol
+ \ref BSDSocketProtocol
+ \ref DatagramSocketProtocol
+ \ref TCPSocketProtocol
+ \ref UNDatagramSocketProtocol
+ \ref AddressableBSDSocketProtocol
+ \ref TCPv4SocketProtocol
+
+ \htmlonly
\endhtmlonly
The socket handle classes and templates only implement the most important socket API methods
using the policy framework. To access the complete API, the protocol interface is
@@ -174,7 +171,8 @@ namespace senf {
virtual void close() const; ///< Close socket
/**< This override will automatically \c shutdown() the
socket whenever it is closed.
- \throws senf::SystemException */
+ \throws senf::SystemException
+ \fixme Move into (at least) BSDSOcketProtocol */
virtual void terminate() const; ///< Forcibly close socket
/**< This override will automatically \c shutdown() the
@@ -182,7 +180,8 @@ namespace senf {
disable SO_LINGER to ensure, that v_terminate will not
block. Like the overriden method, this member will ignore
failures and will never throw. It is therefore safe to be
- called from a destructor. */
+ called from a destructor.
+ \fixme Move into (at least) BSDSocketProtocol */
virtual void state(SocketStateMap & map, unsigned lod) const;
///< Return socket state information
@@ -264,7 +263,7 @@ namespace senf {
A protocol implementation may define the protocol interface directly. It can also
(additionally) make use of multiple inheritance to combine a set of protocol facets into a
specific protocol implementation (i.e. TCPv4SocketProtocol inherits from
- ConcreteSocketProtocol and from the protocol facets IPv4Protocol, TCPProtocol,
+ ConcreteSocketProtocol and from the protocol facets IPv4SocketProtocol, TCPSocketProtocol,
BSDSocketProtocol and AddressableBSDSocketProtocol). The protocol facets are not concrete
protocols themselves, they are combined to build concrete protocols. This structure will
remove a lot of code duplication. It is important to ensure, that the protocol facets do not