NAME

ACE_SOCK_Dgram - Defines the member functions for the ACE_SOCK datagram abstraction.

SYNOPSIS

#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 ( const ACE_Addr &local, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g = 0, u_long flags = 0, int reuse_addr = 0 ); int open ( const ACE_Addr &local, int protocol_family = PF_INET, int protocol = 0, int reuse_addr = 0 ); int open ( const ACE_Addr &local, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g = 0, u_long flags = 0, int reuse_addr = 0 ); ~ACE_SOCK_Dgram (void); 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; ssize_t send ( const void *buf, size_t n, ACE_Addr &addr, int flags, const ACE_Time_Value *timeout ) const; ssize_t send ( const iovec buffers[], int buffer_count, size_t &number_of_bytes_sent, int flags, const ACE_Addr &addr, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func ) const; ssize_t recv ( iovec buffers[], int buffer_count, size_t &number_of_bytes_recvd, int &flags, ACE_Addr &addr, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func ) const; ssize_t send ( const void *buf, size_t n, const ACE_Addr &addr, int flags, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func ) const; ssize_t recv ( void *buf, size_t n, ACE_Addr &addr, int flags, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func ) 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; };

Initialization and termination methods.

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 (
    const ACE_Addr &local,
    int protocol_family,
    int protocol,
    ACE_Protocol_Info *protocolinfo,
    ACE_SOCK_GROUP g = 0,
    u_long flags = 0,
    int reuse_addr = 0
    );

int open (
    const ACE_Addr &local,
    int protocol_family = PF_INET,
    int protocol = 0,
    int reuse_addr = 0
    );

int open (
    const ACE_Addr &local,
    int protocol_family,
    int protocol,
    ACE_Protocol_Info *protocolinfo,
    ACE_SOCK_GROUP g = 0,
    u_long flags = 0,
    int reuse_addr = 0
    );

~ACE_SOCK_Dgram (void);

Data transfer routines.

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;

ssize_t send (
    const void *buf,
    size_t n,
    ACE_Addr &addr,
    int flags,
    const ACE_Time_Value *timeout
    ) const;

ssize_t send (
    const iovec buffers[],
    int buffer_count,
    size_t &number_of_bytes_sent,
    int flags,
    const ACE_Addr &addr,
    ACE_OVERLAPPED *overlapped,
    ACE_OVERLAPPED_COMPLETION_FUNC func
    ) const;

ssize_t recv (
    iovec buffers[],
    int buffer_count,
    size_t &number_of_bytes_recvd,
    int &flags,
    ACE_Addr &addr,
    ACE_OVERLAPPED *overlapped,
    ACE_OVERLAPPED_COMPLETION_FUNC func
    ) const;

ssize_t send (
    const void *buf,
    size_t n,
    const ACE_Addr &addr,
    int flags,
    ACE_OVERLAPPED *overlapped,
    ACE_OVERLAPPED_COMPLETION_FUNC func
    ) const;

ssize_t recv (
    void *buf,
    size_t n,
    ACE_Addr &addr,
    int flags,
    ACE_OVERLAPPED *overlapped,
    ACE_OVERLAPPED_COMPLETION_FUNC func
    ) const;

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE;

AUTHOR

Doug Schmidt

LIBRARY

ace