X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FINet%2FUDPSocketHandle.hh;h=6ed334c625937149e09ba7e490580fd25f283c5b;hb=6f50bf49e282c0528f51faa0a245bbfa2b867399;hp=46a7cb34c0724ce4f8c7f8759be24b62044f67bc;hpb=739eecfbeffc911e700660864ff1d7f05c6283d0;p=senf.git diff --git a/Socket/Protocols/INet/UDPSocketHandle.hh b/Socket/Protocols/INet/UDPSocketHandle.hh index 46a7cb3..6ed334c 100644 --- a/Socket/Protocols/INet/UDPSocketHandle.hh +++ b/Socket/Protocols/INet/UDPSocketHandle.hh @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2006 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Stefan Bund +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Stefan Bund // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -33,11 +33,12 @@ // Custom includes #include "INetProtocol.hh" #include "UDPProtocol.hh" +#include "MulticastProtocol.hh" #include "../../../Socket/Protocols/BSDSocketProtocol.hh" +#include "../../../Socket/Protocols/DatagramSocketProtocol.hh" #include "../../../Socket/FramingPolicy.hh" #include "../../../Socket/CommunicationPolicy.hh" #include "../../../Socket/ReadWritePolicy.hh" -#include "../../../Socket/BufferingPolicy.hh" #include "../../../Socket/ProtocolClientSocketHandle.hh" //#include "UDPSocketHandle.mpp" @@ -53,8 +54,7 @@ namespace senf { DatagramFramingPolicy, UnconnectedCommunicationPolicy, ReadablePolicy, - WriteablePolicy, - SocketBufferingPolicy + WriteablePolicy >::policy UDPv4Socket_Policy; ///< Socket Policy of the UDPv4 Protocol /** \brief IPv4 UDP Socket Protocol @@ -79,12 +79,14 @@ namespace senf { \see UDPv6SocketProtocol */ class UDPv4SocketProtocol - : public ConcreteSocketProtocol, + : public ConcreteSocketProtocol, public IPv4Protocol, public UDPProtocol, + public MulticastProtocol, + public INet4MulticastProtocol, public BSDSocketProtocol, - public AddressableBSDSocketProtocol, - public senf::pool_alloc_mixin + public DatagramSocketProtocol, + public AddressableBSDSocketProtocol { public: /////////////////////////////////////////////////////////////////////////// @@ -101,17 +103,13 @@ namespace senf { ///< Create client socket and bind /**< Creates a new client socket and bind to the given address. - \param[in] local address to bind to */ + \param[in] address local address to bind to */ /**< \note This member is implicitly called from the - ProtocolClientSocketHandle::ProtocolClientSocketHandle() + ProtocolClientSocketHandle::ProtocolClientSocketHandle() constructor */ ///@} - ///\name Abstract Interface Implementation - - std::auto_ptr clone() const; - ///@} }; typedef ProtocolClientSocketHandle UDPv4ClientSocketHandle; @@ -143,12 +141,14 @@ namespace senf { \see UDPv4SocketProtocol */ class UDPv6SocketProtocol - : public ConcreteSocketProtocol, + : public ConcreteSocketProtocol, public IPv6Protocol, public UDPProtocol, + public MulticastProtocol, + public INet6MulticastProtocol, public BSDSocketProtocol, - public AddressableBSDSocketProtocol, - public senf::pool_alloc_mixin + public DatagramSocketProtocol, + public AddressableBSDSocketProtocol { public: /////////////////////////////////////////////////////////////////////////// @@ -165,17 +165,12 @@ namespace senf { ///< Create client socket and connect /**< Creates a new client socket and bind to the given address. - \param[in] local address to bind to */ + \param[in] address local address to bind to */ /**< \note This member is implicitly called from the ProtocolClientSocketHandle::ProtocolClientSocketHandle() constructor */ ///@} - ///\name Abstract Interface Implementation - - std::auto_ptr clone() const; - - ///@} }; typedef ProtocolClientSocketHandle UDPv6ClientSocketHandle;