X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FINetProtocol.hh;h=d4f051cf8615fd2f9c919e9e1f4056251571ddf4;hb=85ab07d100a382467a42e19d741d403a7a96c951;hp=e1116bd3f41a849dae22738e544194ad3a84a1a5;hpb=3e42ecb22121f2e6df86b27bea73f890384a4ee4;p=senf.git diff --git a/Socket/INetProtocol.hh b/Socket/INetProtocol.hh index e1116bd..d4f051c 100644 --- a/Socket/INetProtocol.hh +++ b/Socket/INetProtocol.hh @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2006 +// Copyright (C) 2006 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) // Kompetenzzentrum fuer Satelitenkommunikation (SatCom) // Stefan Bund @@ -23,7 +23,7 @@ /** \file \brief IPv[46]Protocol public header - \todo what about OOB data? + \todo what about OOB data? \todo Implement IP_RECVERR / MSG_ERRQUEUE. This should be placed into an additional protocol facet since IP_RECVERR is only valid @@ -48,33 +48,33 @@ namespace senf { /// @{ /** \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 addres is given ?). What have I been thinking here ??? - - \todo move all multicast-methods into an extra IPv4MulticastProtocol class (it's only - available on datagram sockets) + This protocol facet introduces all the socket api protocol members which are related to IPv4 + addressing. - \todo the multicast add/remove/iface semantics are quite unclear ... + \todo Is it safe, not to allow setting the interface index on add/drop? what does it do + (especially if the local addres is given ?). What have I been thinking here ??? - \todo connect() is only available on stream sockets. We want to access bind() and connet() - via the ClientSocketHandle -> see SocketProtocol todo point + \todo move all multicast-methods into an extra IPv4MulticastProtocol class (it's only + available on datagram sockets) + + \todo the multicast add/remove/iface semantics are quite unclear ... + + \todo connect() is only available on stream sockets. We want to access bind() and connet() + via the ClientSocketHandle -> see SocketProtocol todo point */ - class IPv4Protocol + class IPv4Protocol : public virtual SocketProtocol { public: void connect(INet4Address const & address) const; ///< Connect to remote address /**< \todo make this obsolete by allowing access to the - ClientSocketHandle from ConcreateSocketProtocol - \param[in] address Address to connect to */ + ClientSocketHandle from ConcreateSocketProtocol + \param[in] address Address to connect to */ void bind(INet4Address const & address) const; ///< Set local socket address /**< \todo make this obsolete by allowing access to the - ClientSocketHandle from ConcreateSocketProtocol - \param[in] address Address to set */ + ClientSocketHandle from ConcreateSocketProtocol + \param[in] address Address to set */ unsigned mcTTL() const; ///< Return current multicast TTL void mcTTL(unsigned value) const; ///< Set multicast TTL @@ -85,48 +85,48 @@ namespace senf { void mcAddMembership(INet4Address const & mcAddr) const; ///< Join multicast group /**< This member will add \a mcAddr to the list of multicast - groups received. The group is joined on the default - interface. - \param[in] mcAddr address of group to join - \todo fix this as soon as we have a real address class - (differend from the sockaddress class */ + groups received. The group is joined on the default + interface. + \param[in] mcAddr address of group to join + \todo fix this as soon as we have a real address class + (differend from the sockaddress class */ void mcAddMembership(INet4Address const & mcAddr, INet4Address const & localAddr) const; ///< join multicast group on a specific address/interface /**< This member will add \a mcAddr to the list of multicast - groups received. The group is joined on the interface - with the given local address. - \param[in] mcAddr address of group to join - \param[in] localAddr address of interface to join on - \todo fix this as soon as we have a real address class - (differend from the sockaddress class */ + groups received. The group is joined on the interface + with the given local address. + \param[in] mcAddr address of group to join + \param[in] localAddr address of interface to join on + \todo fix this as soon as we have a real address class + (differend from the sockaddress class */ void mcDropMembership(INet4Address const & mcAddr) const; - ///< Leave multicast group + ///< Leave multicast group /**< This member will remove \a mcAddr from the list of - multicast groups received. The group is left from the - default interface. - \param[in] mcAddr address of group to leave - \todo fix this as soon as we have a real address class - (differend from the sockaddress class */ + multicast groups received. The group is left from the + default interface. + \param[in] mcAddr address of group to leave + \todo fix this as soon as we have a real address class + (differend from the sockaddress class */ void mcDropMembership(INet4Address const & mcAddr, INet4Address const & localAddr) const; ///< leave multicast group on a specific address/interface /**< This member will remove \a mcAddr from the list of - multicast groups received. The group is left from the - interface with the given local address. - \param[in] mcAddr address of group to leave - \param[in] localAddr address of interface to leave from - \todo fix this as soon as we have a real address class - (differend from the sockaddress class */ + multicast groups received. The group is left from the + interface with the given local address. + \param[in] mcAddr address of group to leave + \param[in] localAddr address of interface to leave from + \todo fix this as soon as we have a real address class + (differend from the sockaddress class */ void mcIface(std::string iface = std::string()) const; ///< set default multicast interface of the socket /**< \param[in] iface name of interface */ }; - + /** \brief Protocol facet providing IPv6 Addressing related API - - This protocol facet introduces all the socket api protocol members which are related to IPv6 - addressing. + + This protocol facet introduces all the socket api protocol members which are related to IPv6 + addressing. */ class IPv6Protocol : public virtual SocketProtocol @@ -134,12 +134,12 @@ namespace senf { public: void connect(INet6SocketAddress const & address) const; ///< Connect to remote address /**< \todo make this obsolete by allowing access to the - ClientSocketHandle from ConcreateSocketProtocol - \param[in] address Address to connect to */ + ClientSocketHandle from ConcreateSocketProtocol + \param[in] address Address to connect to */ void bind(INet6SocketAddress const & address) const; ///< Set local socket address /**< \todo make this obsolete by allowing access to the - ClientSocketHandle from ConcreateSocketProtocol - \param[in] address Address to set */ + ClientSocketHandle from ConcreateSocketProtocol + \param[in] address Address to set */ }; /// @} @@ -155,6 +155,8 @@ namespace senf { // Local Variables: // mode: c++ -// c-file-style: "senf" // fill-column: 100 +// c-file-style: "senf" +// indent-tabs-mode: nil +// ispell-local-dictionary: "american" // End: