From: g0dil Date: Thu, 31 Jan 2008 16:22:35 +0000 (+0000) Subject: Remove obsolete fixme, todo and idea items X-Git-Url: http://g0dil.de/git?a=commitdiff_plain;h=14daa84b7c821626ae098bedd93ef07d98bf3a40;p=senf.git Remove obsolete fixme, todo and idea items Socket: Removed (now) empty IPv4Protocol/IPv6Protocol facets git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@655 270642c3-0616-0410-b53a-bc976706d245 --- diff --git a/Packets/DefaultBundle/UDPPacket.cc b/Packets/DefaultBundle/UDPPacket.cc index bc204b3..ee0651f 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 9799cfe..8f747a7 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 RFC 768 */ struct UDPPacketParser : public PacketParserBase diff --git a/Scheduler/Scheduler.cc b/Scheduler/Scheduler.cc index 9ed26e2..cb54a2b 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 4f2ced0..291fb1e 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 98929fc..a1c014b 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 e1795d3..83672c3 100644 --- a/Socket/Protocols/INet/ConnectedRawINetSocketHandle.hh +++ b/Socket/Protocols/INet/ConnectedRawINetSocketHandle.hh @@ -75,7 +75,6 @@ namespace senf { */ class ConnectedRawV4SocketProtocol : public ConcreteSocketProtocol, - public IPv4Protocol, public RawINetProtocol, public BSDSocketProtocol, public AddressableBSDSocketProtocol @@ -144,7 +143,6 @@ namespace senf { */ class ConnectedRawV6SocketProtocol : public ConcreteSocketProtocol, - public IPv6Protocol, public RawINetProtocol, public BSDSocketProtocol, public AddressableBSDSocketProtocol diff --git a/Socket/Protocols/INet/ConnectedUDPSocketHandle.hh b/Socket/Protocols/INet/ConnectedUDPSocketHandle.hh index 5e09364..85bad71 100644 --- a/Socket/Protocols/INet/ConnectedUDPSocketHandle.hh +++ b/Socket/Protocols/INet/ConnectedUDPSocketHandle.hh @@ -78,7 +78,6 @@ namespace senf { */ class ConnectedUDPv4SocketProtocol : public ConcreteSocketProtocol, - public IPv4Protocol, public UDPProtocol, public BSDSocketProtocol, public AddressableBSDSocketProtocol @@ -138,7 +137,6 @@ namespace senf { */ class ConnectedUDPv6SocketProtocol : public ConcreteSocketProtocol, - public IPv6Protocol, public UDPProtocol, public BSDSocketProtocol, public AddressableBSDSocketProtocol diff --git a/Socket/Protocols/INet/INetProtocol.hh b/Socket/Protocols/INet/INetProtocol.hh index 89daa57..277822e 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 3853c46..65c5231 100644 --- a/Socket/Protocols/INet/RawINetSocketHandle.hh +++ b/Socket/Protocols/INet/RawINetSocketHandle.hh @@ -75,7 +75,6 @@ namespace senf { */ class RawV4SocketProtocol : public ConcreteSocketProtocol, - public IPv4Protocol, public RawINetProtocol, public BSDSocketProtocol, public AddressableBSDSocketProtocol, @@ -144,7 +143,6 @@ namespace senf { */ class RawV6SocketProtocol : public ConcreteSocketProtocol, - public IPv6Protocol, public RawINetProtocol, public BSDSocketProtocol, public AddressableBSDSocketProtocol, diff --git a/Socket/Protocols/INet/TCPSocketHandle.hh b/Socket/Protocols/INet/TCPSocketHandle.hh index dffd668..352e7cf 100644 --- a/Socket/Protocols/INet/TCPSocketHandle.hh +++ b/Socket/Protocols/INet/TCPSocketHandle.hh @@ -80,7 +80,6 @@ namespace senf { */ class TCPv4SocketProtocol : public ConcreteSocketProtocol, - public IPv4Protocol, public TCPProtocol, public BSDSocketProtocol, public AddressableBSDSocketProtocol @@ -156,7 +155,6 @@ namespace senf { */ class TCPv6SocketProtocol : public ConcreteSocketProtocol, - public IPv6Protocol, public TCPProtocol, public BSDSocketProtocol, public AddressableBSDSocketProtocol diff --git a/Socket/Protocols/INet/UDPProtocol.hh b/Socket/Protocols/INet/UDPProtocol.hh index 5bb7293..5a1a3a0 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 6ed334c..9ada42b 100644 --- a/Socket/Protocols/INet/UDPSocketHandle.hh +++ b/Socket/Protocols/INet/UDPSocketHandle.hh @@ -80,7 +80,6 @@ namespace senf { */ class UDPv4SocketProtocol : public ConcreteSocketProtocol, - public IPv4Protocol, public UDPProtocol, public MulticastProtocol, public INet4MulticastProtocol, @@ -142,7 +141,6 @@ namespace senf { */ class UDPv6SocketProtocol : public ConcreteSocketProtocol, - public IPv6Protocol, public UDPProtocol, public MulticastProtocol, public INet6MulticastProtocol, diff --git a/Socket/Protocols/Raw/PacketSocketHandle.hh b/Socket/Protocols/Raw/PacketSocketHandle.hh index 0ee1f8d..9410ab6 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 844ab34..340d2c7 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 bc7ffc7..b9070f2 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 dc9da51..5a25dd7 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 2a84487..c9a758b 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"}"