#include <ace/SOCK_Dgram.h>
class ACE_SOCK_Dgram : public ACE_SOCK {
public:ACE_SOCK_Dgram (void);ACE_SOCK_Dgram ( const ACE_Addr &local, int protocol_family = PF_INET, int protocol = 0, int reuse_addr = 0 );~ACE_SOCK_Dgram (void);int open ( const ACE_Addr &local, int protocol_family = PF_INET, int protocol = 0, int reuse_addr = 0 );ssize_t send ( const void *buf, size_t n, const ACE_Addr &addr, int flags = 0 ) const;ssize_t recv ( void *buf, size_t n, ACE_Addr &addr, int flags = 0 ) const;ssize_t recv ( iovec *io_vec, ACE_Addr &addr, int flags = 0, const ACE_Time_Value *timeout = 0 ) const;ssize_t send ( const iovec iov[], size_t n, const ACE_Addr &addr, int flags = 0 ) const;ssize_t recv ( iovec iov[], size_t n, ACE_Addr &addr, int flags = 0 ) const;ssize_t recv ( void *buf, size_t n, ACE_Addr &addr, int flags, const ACE_Time_Value *timeout ) const;void dump (void) const;ACE_ALLOC_HOOK_DECLARE;protected:int shared_open (const ACE_Addr &local, int protocol_family);private:int get_remote_addr (ACE_Addr &) const;};
ACE_SOCK_Dgram (void);
ACE_SOCK_Dgram (
    const ACE_Addr &local,
    int protocol_family = PF_INET,
    int protocol = 0,
    int reuse_addr = 0
    );
~ACE_SOCK_Dgram (void);
int open (
    const ACE_Addr &local,
    int protocol_family = PF_INET,
    int protocol = 0,
    int reuse_addr = 0
    );
ssize_t send (
    const void *buf,
    size_t n,
    const ACE_Addr &addr,
    int flags = 0
    ) const;
n byte buf to the datagram socket (uses sendto(3)).
ssize_t recv (
    void *buf,
    size_t n,
    ACE_Addr &addr,
    int flags = 0
    ) const;
n byte buf from the datagram socket (uses
recvfrom(3)).
ssize_t recv (
    iovec *io_vec,
    ACE_Addr &addr,
    int flags = 0,
    const ACE_Time_Value *timeout = 0
    ) const;
iov_base field of io_vec using the
``delete []'' syntax.
ssize_t send (
    const iovec iov[],
    size_t n,
    const ACE_Addr &addr,
    int flags = 0
    ) const;
iovec of size n to the datagram socket (uses
sendmsg(3)).
ssize_t recv (
    iovec iov[],
    size_t n,
    ACE_Addr &addr,
    int flags = 0
    ) const;
iovec of size n to the datagram socket (uses
recvmsg(3)).
ssize_t recv (
    void *buf,
    size_t n,
    ACE_Addr &addr,
    int flags,
    const ACE_Time_Value *timeout
    ) const;
timeout amount of time to receive a datagram into
buf.  The ACE_Time_Value indicates how long to blocking
trying to receive.  If timeout == 0, the caller will block
until action is possible, else will wait until the relative time
specified in *timeout elapses).  If recv times out a -1 is
returned with errno == ETIME.  If it succeeds the number of
bytes received is returned.
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;