#if !defined (_CDEV_SOCKET_DATAGRAM_H_)
#define _CDEV_SOCKET_DATAGRAM_H

#include "cdevSocket.h"
#include "cdevAddr.h"

class CDEV_REACTOR_API cdevSocketDatagram : public cdevSocket
{
public:
  cdevSocketDatagram (void);
  cdevSocketDatagram (const cdevAddr &addr, int protocol_family = PF_INET, int protocol = 0);
  int     open       (const cdevAddr &addr, int protocol_family = PF_INET, int protocol = 0);
  ssize_t send       (const void *buf, size_t n, const cdevAddr &addr, int flags = 0) const;
  ssize_t recv       (void *buf, size_t n, cdevAddr &addr, int flags = 0) const;

};

#endif /* _CDEV_SOCKET_DATAGRAM_H_ */
