// $Id$
//
-// Copyright (C) 2007
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// David Wagner <dw6@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 "UNAddressing.hh"
-#include "UNProtocol.hh"
+#include "UNSocketProtocol.hh"
#include "../../../Socket/Protocols/BSDSocketProtocol.hh"
#include "../../../Socket/FramingPolicy.hh"
#include "../../../Socket/CommunicationPolicy.hh"
#include "../../../Socket/ReadWritePolicy.hh"
-#include "../../../Socket/BufferingPolicy.hh"
#include "../../../Socket/ProtocolClientSocketHandle.hh"
-
-
//#include "UNDatagramSocketHandle.mpp"
///////////////////////////////hh.p////////////////////////////////////////
DatagramFramingPolicy,
UnconnectedCommunicationPolicy,
ReadablePolicy,
- WriteablePolicy,
- SocketBufferingPolicy
- >::policy UNDatagramSocket_Policy;
+ WriteablePolicy
+ >::policy UNDatagramSocket_Policy; ///< Socket Policy of the Unix Domain Datagram Protocol
+
+ /** \brief Unix Domain Datagram Socket Protocol
+
+ \par Socket Handle typedefs:
+ \ref UNDatagramClientSocketHandle (ProtocolClientSocketHandle)
+
+ \par Policy Interface: (to be checked)
+ ClientSocketHandle::read(), ClientSocketHandle::readfrom(),
+ ClientSocketHandle::writeto(), ClientSocketHandle::bind(), ClientSocketHandle::local()
+
+ \par Address Type:
+ UNSocketAddress
+ UNDatagramSocketProtocol provides an datagram protocol socket based on the unix domain
+ addressing.
+
+ This class is utilized as the protocol class of the ProtocolClientSocketHandle via the
+ Socket Handle typedefs above.
+ */
class UNDatagramSocketProtocol
- : public ConcreteSocketProtocol<UNDatagramSocket_Policy>,
- public UNProtocol,
+ : public ConcreteSocketProtocol<UNDatagramSocket_Policy,
+ UNDatagramSocketProtocol>,
+ public UNSocketProtocol,
public BSDSocketProtocol,
public AddressableBSDSocketProtocol
{
/**< \note This member is implicitly called from the
ProtocolClientSocketHandle::ProtocolClientSocketHandle()
constructor */
- void init_client(UNSocketAddress const & address) const;
+ void init_client(UNSocketAddress const & address) const;
///< 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()
constructor */
///@}
- ///\name Abstract Interface Implementation
-
- std::auto_ptr<SocketProtocol> clone() const;
-
- ///@}
};
typedef ProtocolClientSocketHandle<UNDatagramSocketProtocol> UNDatagramClientSocketHandle;
- typedef MakeSocketPolicy<
- UNDatagramSocket_Policy,
- UNAddressingPolicy
- >::policy UDPv6Socket_Policy;
+ ///@}
+
}
///////////////////////////////hh.e////////////////////////////////////////
//#include "UNDatagramSocketHandle.cci"