doclib: link new berlios wiki
[senf.git] / Socket / Protocols / INet / UDPSocketHandle.hh
index 13673e8..a90163e 100644 (file)
@@ -1,8 +1,8 @@
 // $Id$
 //
 // Copyright (C) 2006
-// Fraunhofer Institute for Open Communication Systems (FOKUS) 
-// Competence Center NETwork research (NET), St. Augustin, GERMANY 
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     Stefan Bund <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
@@ -31,9 +31,9 @@
 #define HH_UDPSocketHandle_ 1
 
 // Custom includes
-#include "INetProtocol.hh"
-#include "UDPProtocol.hh"
-#include "MulticastProtocol.hh"
+#include "INetSocketProtocol.hh"
+#include "UDPSocketProtocol.hh"
+#include "MulticastSocketProtocol.hh"
 #include "../../../Socket/Protocols/BSDSocketProtocol.hh"
 #include "../../../Socket/Protocols/DatagramSocketProtocol.hh"
 #include "../../../Socket/FramingPolicy.hh"
@@ -64,11 +64,10 @@ namespace senf {
 
         \par Policy Interface:
             ClientSocketHandle::read(), ClientSocketHandle::readfrom(),
-            ClientSocketHandle::writeto(), ClientSocketHandle::bind(), ClientSocketHandle::local(),
-            ClientSocketHandle::rcvbuf(), ClientSocketHandle::sndbuf()
+            ClientSocketHandle::writeto(), ClientSocketHandle::bind(), ClientSocketHandle::local()
 
         \par Address Type:
-            INet4Address
+            INet4SocketAddress
 
         UDPv4SocketProtocol provides an internet protocol stream socket based on the UDP protocol
         and IPv4 addressing.
@@ -79,15 +78,13 @@ namespace senf {
         \see UDPv6SocketProtocol
      */
     class UDPv4SocketProtocol
-        : public ConcreteSocketProtocol<UDPv4Socket_Policy>,
-          public IPv4Protocol,
-          public UDPProtocol,
-          public MulticastProtocol,
-          public INet4MulticastProtocol,
+        : public ConcreteSocketProtocol<UDPv4Socket_Policy, UDPv4SocketProtocol>,
+          public UDPSocketProtocol,
+          public MulticastSocketProtocol,
+          public INet4MulticastSocketProtocol,
           public BSDSocketProtocol,
           public DatagramSocketProtocol,
-          public AddressableBSDSocketProtocol,
-          public senf::pool_alloc_mixin<UDPv4SocketProtocol>
+          public AddressableBSDSocketProtocol
     {
     public:
         ///////////////////////////////////////////////////////////////////////////
@@ -110,11 +107,6 @@ namespace senf {
                                              constructor */
 
         ///@}
-        ///\name Abstract Interface Implementation
-
-        std::auto_ptr<SocketProtocol> clone() const;
-
-        ///@}
 
     };
 
@@ -132,8 +124,7 @@ namespace senf {
 
         \par Policy Interface: 
             ClientSocketHandle::read(), ClientSocketHandle::readfrom(),
-            ClientSocketHandle::writeto(), ClientSocketHandle::bind(), ClientSocketHandle::local(),
-            ClientSocketHandle::rcvbuf(), ClientSocketHandle::sndbuf()
+            ClientSocketHandle::writeto(), ClientSocketHandle::bind(), ClientSocketHandle::local()
 
         \par Address Type:
             INet6Address
@@ -147,15 +138,13 @@ namespace senf {
         \see UDPv4SocketProtocol
      */
     class UDPv6SocketProtocol
-        : public ConcreteSocketProtocol<UDPv6Socket_Policy>,
-          public IPv6Protocol,
-          public UDPProtocol,
-          public MulticastProtocol,
-          public INet6MulticastProtocol,
+        : public ConcreteSocketProtocol<UDPv6Socket_Policy, UDPv6SocketProtocol>,
+          public UDPSocketProtocol,
+          public MulticastSocketProtocol,
+          public INet6MulticastSocketProtocol,
           public BSDSocketProtocol,
           public DatagramSocketProtocol,
-          public AddressableBSDSocketProtocol,
-          public senf::pool_alloc_mixin<UDPv6SocketProtocol>
+          public AddressableBSDSocketProtocol
     {
     public:
         ///////////////////////////////////////////////////////////////////////////
@@ -178,11 +167,6 @@ namespace senf {
                                              constructor */
 
         ///@}
-        ///\name Abstract Interface Implementation
-
-        std::auto_ptr<SocketProtocol> clone() const;
-
-        ///@}
     };
 
     typedef ProtocolClientSocketHandle<UDPv6SocketProtocol> UDPv6ClientSocketHandle;