// file : cult/os/net/datagram-socket.hxx // author : Boris Kolpackov // copyright : Copyright (c) 2005-2010 Boris Kolpackov // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #ifndef CULT_OS_NET_DATAGRAM_SOCKET_HXX #define CULT_OS_NET_DATAGRAM_SOCKET_HXX #include #include #include #include // SOCK_DGRAM namespace Cult { namespace OS { namespace Net { class DatagramSocket: public virtual Socket { protected: DatagramSocket (); virtual ~DatagramSocket (); public: virtual Int type () const { return SOCK_DGRAM; } public: virtual Size send (Void const* buf, Size size, Address const& addr) = 0; virtual Size recv (Void* buf, Size size) = 0; /* virtual Boolean recv (Void* buf, Size size, Size& received, OS::Time const& timeout) = 0; */ }; } } } #endif // CULT_OS_NET_DATAGRAM_SOCKET_HXX