From 50f2d62ffada50da65939befae0d1577e006ecf9 Mon Sep 17 00:00:00 2001
From: g0dil <g0dil@wiback.org>
Date: Thu, 31 Jan 2008 16:22:35 +0000
Subject: [PATCH] Remove obsolete fixme, todo and idea items Socket: Removed
 (now) empty IPv4Protocol/IPv6Protocol facets

---
 Packets/DefaultBundle/UDPPacket.cc            |  4 +--
 Packets/DefaultBundle/UDPPacket.hh            |  2 +-
 Scheduler/Scheduler.cc                        |  3 --
 Socket/NetdeviceController.hh                 |  1 +
 Socket/Protocols/DatagramSocketProtocol.hh    |  3 +-
 .../INet/ConnectedRawINetSocketHandle.hh      |  2 --
 .../INet/ConnectedUDPSocketHandle.hh          |  2 --
 Socket/Protocols/INet/INetProtocol.hh         | 28 -------------------
 Socket/Protocols/INet/RawINetSocketHandle.hh  |  2 --
 Socket/Protocols/INet/TCPSocketHandle.hh      |  2 --
 Socket/Protocols/INet/UDPProtocol.hh          |  2 --
 Socket/Protocols/INet/UDPSocketHandle.hh      |  2 --
 Socket/Protocols/Raw/PacketSocketHandle.hh    |  2 --
 Socket/Protocols/Raw/TunTapSocketHandle.hh    |  2 --
 Socket/SocketPolicy.hh                        | 13 ++++-----
 Socket/SocketProtocol.hh                      |  8 ------
 admin/build.sh                                |  2 ++
 17 files changed, 12 insertions(+), 68 deletions(-)

diff --git a/Packets/DefaultBundle/UDPPacket.cc b/Packets/DefaultBundle/UDPPacket.cc
index bc204b39b..ee0651f9c 100644
--- a/Packets/DefaultBundle/UDPPacket.cc
+++ b/Packets/DefaultBundle/UDPPacket.cc
@@ -78,8 +78,8 @@ prefix_ boost::uint16_t senf::UDPPacketParser::calcChecksum()
             // The destination used here must be the *final* destination ...
             summer.feed( ipv6->destination().i(), 
                          ipv6->destination().i() + IPv6PacketParser::destination_t::fixed_bytes );
-            /// This is a simplification. The value is really 32bit to support UDP Jumbograms
-            /// (RFC2147). However, skipping an even number of 0 bytes does not change the checksum
+            // This is a simplification. The value is really 32bit to support UDP Jumbograms
+            // (RFC2147). However, skipping an even number of 0 bytes does not change the checksum
             summer.feed( i() + length_offset, i() + length_offset + 2 );
             // RFC2460 specifies, that this must always be 17, not the value used in the ipv6
             // header
diff --git a/Packets/DefaultBundle/UDPPacket.hh b/Packets/DefaultBundle/UDPPacket.hh
index 9799cfe3f..8f747a79b 100644
--- a/Packets/DefaultBundle/UDPPacket.hh
+++ b/Packets/DefaultBundle/UDPPacket.hh
@@ -38,7 +38,7 @@ namespace senf {
 
         Parser implementing the UDP header. The fields implemented are:
 
-        \see UDPPacketType
+        \see UDPPacketType \n
             <a href="http://tools.ietf.org/html/rfc768">RFC 768</a>
      */
     struct UDPPacketParser : public PacketParserBase
diff --git a/Scheduler/Scheduler.cc b/Scheduler/Scheduler.cc
index 9ed26e2ea..cb54a2bff 100644
--- a/Scheduler/Scheduler.cc
+++ b/Scheduler/Scheduler.cc
@@ -23,9 +23,6 @@
 /** \file
     \brief Scheduler non-inline non-template implementation
 
-    \idea Implement signal handling (See source for more discussion
-    about this)
-
     \idea Multithreading support: To support multithreading, the
     static member Scheduler::instance() must return a thread-local
     value (that is Scheduler::instance() must allocate one Scheduler
diff --git a/Socket/NetdeviceController.hh b/Socket/NetdeviceController.hh
index 4f2ced06a..291fb1eab 100644
--- a/Socket/NetdeviceController.hh
+++ b/Socket/NetdeviceController.hh
@@ -41,6 +41,7 @@ namespace senf {
     /** \brief NetdeviceController
      
         \todo document me
+        \todo Add 'promisc' member to enable/disable promiscuous mode
      */
     class NetdeviceController
     {
diff --git a/Socket/Protocols/DatagramSocketProtocol.hh b/Socket/Protocols/DatagramSocketProtocol.hh
index 98929fcc5..a1c014b89 100644
--- a/Socket/Protocols/DatagramSocketProtocol.hh
+++ b/Socket/Protocols/DatagramSocketProtocol.hh
@@ -51,8 +51,7 @@ namespace senf {
                                              timing.
                                              \pre The \c SO_TIMESTAMP socket option must not be set
                                                  on the socket.
-                                             \returns timestamp when last packet was received
-                                             \todo Move this to DatagramSocketProtocol class */
+                                             \returns timestamp when last packet was received */
     };
     
 
diff --git a/Socket/Protocols/INet/ConnectedRawINetSocketHandle.hh b/Socket/Protocols/INet/ConnectedRawINetSocketHandle.hh
index e1795d343..83672c389 100644
--- a/Socket/Protocols/INet/ConnectedRawINetSocketHandle.hh
+++ b/Socket/Protocols/INet/ConnectedRawINetSocketHandle.hh
@@ -75,7 +75,6 @@ namespace senf {
      */
     class ConnectedRawV4SocketProtocol
         : public ConcreteSocketProtocol<ConnectedRawV4Socket_Policy, ConnectedRawV4SocketProtocol>,
-          public IPv4Protocol,
           public RawINetProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol
@@ -144,7 +143,6 @@ namespace senf {
      */
     class ConnectedRawV6SocketProtocol
         : public ConcreteSocketProtocol<ConnectedRawV6Socket_Policy, ConnectedRawV6SocketProtocol>,
-          public IPv6Protocol,
           public RawINetProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol
diff --git a/Socket/Protocols/INet/ConnectedUDPSocketHandle.hh b/Socket/Protocols/INet/ConnectedUDPSocketHandle.hh
index 5e09364b4..85bad71a2 100644
--- a/Socket/Protocols/INet/ConnectedUDPSocketHandle.hh
+++ b/Socket/Protocols/INet/ConnectedUDPSocketHandle.hh
@@ -78,7 +78,6 @@ namespace senf {
      */
     class ConnectedUDPv4SocketProtocol
         : public ConcreteSocketProtocol<ConnectedUDPv4Socket_Policy, ConnectedUDPv4SocketProtocol>,
-          public IPv4Protocol,
           public UDPProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol
@@ -138,7 +137,6 @@ namespace senf {
      */
     class ConnectedUDPv6SocketProtocol
         : public ConcreteSocketProtocol<ConnectedUDPv6Socket_Policy, ConnectedUDPv6SocketProtocol>,
-          public IPv6Protocol,
           public UDPProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol
diff --git a/Socket/Protocols/INet/INetProtocol.hh b/Socket/Protocols/INet/INetProtocol.hh
index 89daa5730..277822e30 100644
--- a/Socket/Protocols/INet/INetProtocol.hh
+++ b/Socket/Protocols/INet/INetProtocol.hh
@@ -69,34 +69,6 @@ namespace senf {
                                              \returns Bound interface name */
     };
 
-    /** \brief Protocol facet providing IPv4 Addressing related API
-
-        This protocol facet introduces all the socket api protocol members which are related to IPv4
-        addressing.
-
-        \todo Is it safe, not to allow setting the interface index on add/drop? what does it do
-        (especially if the local address is given ?). What have I been thinking here ???
-
-        \todo connect() is only available on stream sockets. We want to access bind() and connect()
-        via the ClientSocketHandle -> see SocketProtocol todo point
-     */
-    class IPv4Protocol
-        : public virtual SocketProtocol
-    {
-    public:
-    };
-
-    /** \brief Protocol facet providing IPv6 Addressing related API
-
-        This protocol facet introduces all the socket api protocol members which are related to IPv6
-        addressing.
-     */
-    class IPv6Protocol
-        : public virtual SocketProtocol
-    {
-    public:
-    };
-
     /// @}
 
 }
diff --git a/Socket/Protocols/INet/RawINetSocketHandle.hh b/Socket/Protocols/INet/RawINetSocketHandle.hh
index 3853c460f..65c523168 100644
--- a/Socket/Protocols/INet/RawINetSocketHandle.hh
+++ b/Socket/Protocols/INet/RawINetSocketHandle.hh
@@ -75,7 +75,6 @@ namespace senf {
      */
     class RawV4SocketProtocol
         : public ConcreteSocketProtocol<RawV4Socket_Policy, RawV4SocketProtocol>,
-          public IPv4Protocol,
           public RawINetProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol,
@@ -144,7 +143,6 @@ namespace senf {
      */
     class RawV6SocketProtocol
         : public ConcreteSocketProtocol<RawV6Socket_Policy,RawV6SocketProtocol>,
-          public IPv6Protocol,
           public RawINetProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol,
diff --git a/Socket/Protocols/INet/TCPSocketHandle.hh b/Socket/Protocols/INet/TCPSocketHandle.hh
index dffd6686e..352e7cf38 100644
--- a/Socket/Protocols/INet/TCPSocketHandle.hh
+++ b/Socket/Protocols/INet/TCPSocketHandle.hh
@@ -80,7 +80,6 @@ namespace senf {
      */
     class TCPv4SocketProtocol
         : public ConcreteSocketProtocol<TCPv4Socket_Policy,TCPv4SocketProtocol>,
-          public IPv4Protocol,
           public TCPProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol
@@ -156,7 +155,6 @@ namespace senf {
      */
     class TCPv6SocketProtocol
         : public ConcreteSocketProtocol<TCPv6Socket_Policy,TCPv6SocketProtocol>,
-          public IPv6Protocol,
           public TCPProtocol,
           public BSDSocketProtocol,
           public AddressableBSDSocketProtocol
diff --git a/Socket/Protocols/INet/UDPProtocol.hh b/Socket/Protocols/INet/UDPProtocol.hh
index 5bb7293e4..5a1a3a0cb 100644
--- a/Socket/Protocols/INet/UDPProtocol.hh
+++ b/Socket/Protocols/INet/UDPProtocol.hh
@@ -43,8 +43,6 @@ namespace senf {
 
         This protocol facet provides all those protocol functions,
         which are available on any UDP socket.
-        
-        \todo the multicast add/remove/iface semantics are quite unclear ...
      */
     class UDPProtocol
         : public virtual SocketProtocol
diff --git a/Socket/Protocols/INet/UDPSocketHandle.hh b/Socket/Protocols/INet/UDPSocketHandle.hh
index 6ed334c62..9ada42b7a 100644
--- a/Socket/Protocols/INet/UDPSocketHandle.hh
+++ b/Socket/Protocols/INet/UDPSocketHandle.hh
@@ -80,7 +80,6 @@ namespace senf {
      */
     class UDPv4SocketProtocol
         : public ConcreteSocketProtocol<UDPv4Socket_Policy, UDPv4SocketProtocol>,
-          public IPv4Protocol,
           public UDPProtocol,
           public MulticastProtocol,
           public INet4MulticastProtocol,
@@ -142,7 +141,6 @@ namespace senf {
      */
     class UDPv6SocketProtocol
         : public ConcreteSocketProtocol<UDPv6Socket_Policy, UDPv6SocketProtocol>,
-          public IPv6Protocol,
           public UDPProtocol,
           public MulticastProtocol,
           public INet6MulticastProtocol,
diff --git a/Socket/Protocols/Raw/PacketSocketHandle.hh b/Socket/Protocols/Raw/PacketSocketHandle.hh
index 0ee1f8d7f..9410ab6de 100644
--- a/Socket/Protocols/Raw/PacketSocketHandle.hh
+++ b/Socket/Protocols/Raw/PacketSocketHandle.hh
@@ -22,8 +22,6 @@
 
 /** \file
     \brief PacketProtocol and PacketSocketHandle public header
-
-    \todo Implement global promisc() helper based on ioctl() interface.
  */
 
 #ifndef HH_PacketSocketHandle_
diff --git a/Socket/Protocols/Raw/TunTapSocketHandle.hh b/Socket/Protocols/Raw/TunTapSocketHandle.hh
index 844ab34d3..340d2c738 100644
--- a/Socket/Protocols/Raw/TunTapSocketHandle.hh
+++ b/Socket/Protocols/Raw/TunTapSocketHandle.hh
@@ -22,8 +22,6 @@
 
 /** \file
     \brief PacketProtocol and PacketSocketHandle public header
-
-    \todo Implement global promisc() helper based on ioctl() interface.
  */
 
 #ifndef HH_TunTapSocketHandle_
diff --git a/Socket/SocketPolicy.hh b/Socket/SocketPolicy.hh
index bc7ffc740..b9070f2e9 100644
--- a/Socket/SocketPolicy.hh
+++ b/Socket/SocketPolicy.hh
@@ -23,14 +23,11 @@
 /** \file
     \brief Policy Framework public header
 
-    \todo Do we want to support separate read and write policies. This allows to treat pipes within
-        this framework however, is this worth the effort?
-
-    \idea Creating a new Socket will create 4 (!) new instances (The handle, the body, the policy
-        and the protocol) of which 3 (argh) (body, policy and protocol) live on the heap. This is
-        expensive. We should convert all the policy classes to singletons and assign the same
-        instance to all socket bodies with the same policy. This would reduce the number of heap
-        allocations per socket handle to two.
+    \idea Creating a new Socket will create 3 new instances (The handle, the body, the policy) of
+        which 2 (argh) (body, policy) live on the heap. This is expensive. We should convert all the
+        policy classes to singletons and assign the same instance to all socket bodies with the same
+        policy. This would reduce the number of heap allocations per socket handle to one (which is
+        already optimized using the pool_alloc_mixin)
  */
 
 /** \defgroup policy_group The Policy Framework
diff --git a/Socket/SocketProtocol.hh b/Socket/SocketProtocol.hh
index dc9da5135..5a25dd708 100644
--- a/Socket/SocketProtocol.hh
+++ b/Socket/SocketProtocol.hh
@@ -22,11 +22,6 @@
 
 /** \file
     \brief SocketProtocol and ConcreteSocketProtocol public header
-
-    \idea We should optimize the protocol handling. Allocating a protocol instance for every socket
-        body seems quite wasteful. We could derive SocketPolicy from SocketBody (probably privately,
-        since private inheritance models more of 'has a' than 'is a'). This would allow to reduce
-        the number of heap-allocations per socket to one which is good.
  */
 
 // The private inheritance idea should indeed work very well: We just need to change the
@@ -72,9 +67,6 @@
     \see
         \ref handle_group \n
         \ref policy_group
-
-    \todo Complete the protocol interface implementations. Better distribution of members to
-        protocol facets and more precise distribution of functionality among the facets.
  */
 
 /** \defgroup concrete_protocol_group Protocol Implementations (Concrete Protocol Classes)
diff --git a/admin/build.sh b/admin/build.sh
index 2a8448707..c9a758b5a 100755
--- a/admin/build.sh
+++ b/admin/build.sh
@@ -26,6 +26,8 @@ rm -f ../svn-update.log
 
 echo "\$ nice ${SCONS:-scons} -kj2 all ${DOXYGEN:+DOXYGEN="$DOXYGEN"}"
 nice ${SCONS:-scons} -kj2 all ${DOXYGEN:+DOXYGEN="$DOXYGEN"}
+echo "\$ nice ${SCONS:-scons} all ${DOXYGEN:+DOXYGEN="$DOXYGEN"}"
+nice ${SCONS:-scons} all ${DOXYGEN:+DOXYGEN="$DOXYGEN"}
 echo "\$ nice ${SCONS:-scons} linklint ${DOXYGEN:+DOXYGEN="$DOXYGEN"}"
 nice ${SCONS:-scons} linklint ${DOXYGEN:+DOXYGEN="$DOXYGEN"}
 echo "\$ nice ${SCONS:-scons} fixlinks ${DOXYGEN:+DOXYGEN="$DOXYGEN"}"
-- 
GitLab