// $Id$
//
// Copyright (C) 2006
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
-// Stefan Bund <stefan.bund@fokus.fraunhofer.de>
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// Stefan Bund <g0dil@berlios.de>
//
// 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
// 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"
DatagramFramingPolicy,
UnconnectedCommunicationPolicy,
ReadablePolicy,
- WriteablePolicy,
- SocketBufferingPolicy
+ WriteablePolicy
>::policy UDPv4Socket_Policy; ///< Socket Policy of the UDPv4 Protocol
/** \brief IPv4 UDP Socket Protocol
: public ConcreteSocketProtocol<UDPv4Socket_Policy>,
public IPv4Protocol,
public UDPProtocol,
+ public MulticastProtocol,
+ public INet4MulticastProtocol,
public BSDSocketProtocol,
+ public DatagramSocketProtocol,
public AddressableBSDSocketProtocol,
public senf::pool_alloc_mixin<UDPv4SocketProtocol>
{
ProtocolClientSocketHandle::ProtocolClientSocketHandle()
constructor */
void init_client(INet4SocketAddress const & address) const;
- ///< Create client socket and connect
- /**< Creates a new client socket and connects to the given
+ ///< Create client socket and bind
+ /**< Creates a new client socket and bind to the given
address.
-
- \param[in] address remote address to connect to */
+ \param[in] address local address to bind to */
/**< \note This member is implicitly called from the
- ProtocolClientSocketHandle::ProtocolClientSocketHandle()
+ ProtocolClientSocketHandle::ProtocolClientSocketHandle()
constructor */
///@}
std::auto_ptr<SocketProtocol> clone() const;
///@}
+
};
typedef ProtocolClientSocketHandle<UDPv4SocketProtocol> UDPv4ClientSocketHandle;
: public ConcreteSocketProtocol<UDPv6Socket_Policy>,
public IPv6Protocol,
public UDPProtocol,
+ public MulticastProtocol,
+ public INet6MulticastProtocol,
public BSDSocketProtocol,
+ public DatagramSocketProtocol,
public AddressableBSDSocketProtocol,
public senf::pool_alloc_mixin<UDPv6SocketProtocol>
{
constructor */
void init_client(INet6SocketAddress const & address) const;
///< Create client socket and connect
- /**< Creates a new client socket and connects to the given
+ /**< Creates a new client socket and bind to the given
address.
-
- \param[in] address remote address to connect to */
+ \param[in] address local address to bind to */
/**< \note This member is implicitly called from the
ProtocolClientSocketHandle::ProtocolClientSocketHandle()
constructor */