Remove obsolete fixme, todo and idea items
g0dil [Thu, 31 Jan 2008 16:22:35 +0000 (16:22 +0000)]
Socket: Removed (now) empty IPv4Protocol/IPv6Protocol facets

git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@655 270642c3-0616-0410-b53a-bc976706d245

17 files changed:
Packets/DefaultBundle/UDPPacket.cc
Packets/DefaultBundle/UDPPacket.hh
Scheduler/Scheduler.cc
Socket/NetdeviceController.hh
Socket/Protocols/DatagramSocketProtocol.hh
Socket/Protocols/INet/ConnectedRawINetSocketHandle.hh
Socket/Protocols/INet/ConnectedUDPSocketHandle.hh
Socket/Protocols/INet/INetProtocol.hh
Socket/Protocols/INet/RawINetSocketHandle.hh
Socket/Protocols/INet/TCPSocketHandle.hh
Socket/Protocols/INet/UDPProtocol.hh
Socket/Protocols/INet/UDPSocketHandle.hh
Socket/Protocols/Raw/PacketSocketHandle.hh
Socket/Protocols/Raw/TunTapSocketHandle.hh
Socket/SocketPolicy.hh
Socket/SocketProtocol.hh
admin/build.sh

index bc204b3..ee0651f 100644 (file)
@@ -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
index 9799cfe..8f747a7 100644 (file)
@@ -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
index 9ed26e2..cb54a2b 100644 (file)
@@ -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
index 4f2ced0..291fb1e 100644 (file)
@@ -41,6 +41,7 @@ namespace senf {
     /** \brief NetdeviceController
      
         \todo document me
+        \todo Add 'promisc' member to enable/disable promiscuous mode
      */
     class NetdeviceController
     {
index 98929fc..a1c014b 100644 (file)
@@ -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 */
     };
     
 
index e1795d3..83672c3 100644 (file)
@@ -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
index 5e09364..85bad71 100644 (file)
@@ -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
index 89daa57..277822e 100644 (file)
@@ -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:
-    };
-
     /// @}
 
 }
index 3853c46..65c5231 100644 (file)
@@ -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,
index dffd668..352e7cf 100644 (file)
@@ -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
index 5bb7293..5a1a3a0 100644 (file)
@@ -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
index 6ed334c..9ada42b 100644 (file)
@@ -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,
index 0ee1f8d..9410ab6 100644 (file)
@@ -22,8 +22,6 @@
 
 /** \file
     \brief PacketProtocol and PacketSocketHandle public header
-
-    \todo Implement global promisc() helper based on ioctl() interface.
  */
 
 #ifndef HH_PacketSocketHandle_
index 844ab34..340d2c7 100644 (file)
@@ -22,8 +22,6 @@
 
 /** \file
     \brief PacketProtocol and PacketSocketHandle public header
-
-    \todo Implement global promisc() helper based on ioctl() interface.
  */
 
 #ifndef HH_TunTapSocketHandle_
index bc7ffc7..b9070f2 100644 (file)
 /** \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
index dc9da51..5a25dd7 100644 (file)
 
 /** \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)
index 2a84487..c9a758b 100755 (executable)
@@ -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"}"