Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_SOCK_Dgram Class Reference

Defines the member functions for the ACE_SOCK datagram abstraction. More...

#include <SOCK_Dgram.h>

Inheritance diagram for ACE_SOCK_Dgram

Inheritance graph
[legend]
Collaboration diagram for ACE_SOCK_Dgram:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_SOCK_Dgram (void)
 Default constructor.

 ACE_SOCK_Dgram (const ACE_Addr &local, int protocol_family = PF_INET, int protocol = 0, int reuse_addr = 0)
 This is a BSD-style method (i.e., no QoS) for initiating a socket dgram that will accept datagrams at the <local> address.

 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)
 This is a BSD-style method (i.e., no QoS) for initiating a socket dgram that will accept datagrams at the <local> address.

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)
 Default dtor.

ssize_t send (const void *buf, size_t n, const ACE_Addr &addr, int flags = 0) const
 Send an <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
 Receive an <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
ssize_t send (const iovec iov[], size_t n, const ACE_Addr &addr, int flags = 0) const
 Send an <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
 Recv an <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
ssize_t send (const void *buf, size_t n, const 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
 Send <buffer_count> worth of <buffers> to using overlapped I/O (uses <WSASentTo>). Returns 0 on success.

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
 Recv <buffer_count> worth of <buffers> from using overlapped I/O (uses <WSARecvFrom>). Returns 0 on success.

ssize_t send (const void *buf, size_t n, const ACE_Addr &addr, int flags, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func) const
 Send an <n> byte <buf> to the datagram socket (uses <WSASentTo>).

ssize_t recv (void *buf, size_t n, ACE_Addr &addr, int flags, ACE_OVERLAPPED *overlapped, ACE_OVERLAPPED_COMPLETION_FUNC func) const
 Receive an <n> byte <buf> from the datagram socket (uses <WSARecvFrom>).

void dump (void) const
 Dump the state of an object.

void set_nic (const char *option_value)

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Protected Methods

int shared_open (const ACE_Addr &local, int protocol_family)
 Open is shared by this and by <LSOCK_Dgram>.


Private Methods

int get_remote_addr (ACE_Addr &) const
 Do not allow this function to percolate up to this interface...


Detailed Description

Defines the member functions for the ACE_SOCK datagram abstraction.


Constructor & Destructor Documentation

ASYS_INLINE ACE_SOCK_Dgram::ACE_SOCK_Dgram ( void )
 

Default constructor.

ACE_SOCK_Dgram::ACE_SOCK_Dgram ( const ACE_Addr & local,
int protocol_family = PF_INET,
int protocol = 0,
int reuse_addr = 0 )
 

This is a BSD-style method (i.e., no QoS) for initiating a socket dgram that will accept datagrams at the <local> address.

ACE_SOCK_Dgram::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 )
 

This is a QoS-enabed method for initiating a socket dgram that will accept datagrams at the <local> address. The <qos_params> are passed to .

ASYS_INLINE ACE_SOCK_Dgram::~ACE_SOCK_Dgram ( void )
 

Default dtor.


Member Function Documentation

void ACE_SOCK_Dgram::dump ( void ) const
 

Dump the state of an object.

Reimplemented from ACE_SOCK.

Reimplemented in ACE_LSOCK_Dgram, ACE_SOCK_Dgram_Bcast, and ACE_SOCK_Dgram_Mcast.

int ACE_SOCK_Dgram::get_remote_addr ( ACE_Addr & addr ) const [private]
 

Do not allow this function to percolate up to this interface...

Reimplemented from ACE_SOCK.

Reimplemented in ACE_SOCK_Dgram_Bcast.

int ACE_SOCK_Dgram::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 )
 

This is a QoS-enabed method for initiating a socket dgram that will accept datagrams at the <local> address. The <qos_params> are passed to .

int ACE_SOCK_Dgram::open ( const ACE_Addr & mcast_addr,
int protocol_family = PF_INET,
int protocol = 0,
int reuse_addr = 0 )
 

This is a BSD-style method (i.e., no QoS) for initiating a socket dgram that will accept datagrams at the <local> address.

Reimplemented in ACE_SOCK_Dgram_Mcast.

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

Receive an <n> byte <buf> from the datagram socket (uses <WSARecvFrom>).

ASYS_INLINE ssize_t ACE_SOCK_Dgram::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
 

Recv <buffer_count> worth of <buffers> from using overlapped I/O (uses <WSARecvFrom>). Returns 0 on success.

ssize_t ACE_SOCK_Dgram::recv ( void * buf,
size_t n,
ACE_Addr & addr,
int flags,
const ACE_Time_Value * timeout ) const
 

Wait up to <timeout> amount of time to receive a datagram into <buf>. The 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.

ssize_t ACE_SOCK_Dgram::recv ( iovec iov[],
size_t n,
ACE_Addr & addr,
int flags = 0 ) const
 

Recv an <iovec> of size <n> to the datagram socket (uses <recvmsg(3)>).

ssize_t ACE_SOCK_Dgram::recv ( iovec * io_vec,
ACE_Addr & addr,
int flags = 0,
const ACE_Time_Value * timeout = 0 ) const
 

Allows a client to read from a socket without having to provide a buffer to read. This method determines how much data is in the socket, allocates a buffer of this size, reads in the data, and returns the number of bytes read. The caller is responsible for deleting the member in the <iov_base> field of <io_vec> using the ``delete []'' syntax.

ASYS_INLINE ssize_t ACE_SOCK_Dgram::recv ( void * buf,
size_t n,
ACE_Addr & addr,
int flags = 0 ) const
 

Receive an <n> byte <buf> from the datagram socket (uses <recvfrom(3)>).

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

Send an <n> byte <buf> to the datagram socket (uses <WSASentTo>).

ASYS_INLINE ssize_t ACE_SOCK_Dgram::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
 

Send <buffer_count> worth of <buffers> to using overlapped I/O (uses <WSASentTo>). Returns 0 on success.

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

Wait up to <timeout> amount of time to receive a datagram into <buf>. The 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 <send> times out a -1 is returned with <errno == ETIME>. If it succeeds the number of bytes sent is returned.

ssize_t ACE_SOCK_Dgram::send ( const iovec iov[],
size_t n,
const ACE_Addr & addr,
int flags = 0 ) const
 

Send an <iovec> of size <n> to the datagram socket (uses <sendmsg(3)>).

Reimplemented in ACE_SOCK_Dgram_Bcast, and ACE_SOCK_Dgram_Mcast.

ASYS_INLINE ssize_t ACE_SOCK_Dgram::send ( const void * buf,
size_t n,
const ACE_Addr & addr,
int flags = 0 ) const
 

Send an <n> byte <buf> to the datagram socket (uses <sendto(3)>).

Reimplemented in ACE_SOCK_Dgram_Bcast, and ACE_SOCK_Dgram_Mcast.

void ACE_SOCK_Dgram::set_nic ( const char * option_value )
 

int ACE_SOCK_Dgram::shared_open ( const ACE_Addr & local,
int protocol_family ) [protected]
 

Open is shared by this and by <LSOCK_Dgram>.


Member Data Documentation

ACE_SOCK_Dgram::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented from ACE_SOCK.

Reimplemented in ACE_LSOCK_Dgram, ACE_SOCK_Dgram_Bcast, and ACE_SOCK_Dgram_Mcast.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 10:33:36 2001 for ACE by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000