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

[legend]
Collaboration diagram for ACE_SOCK_Dgram:

[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:

- SOCK_Dgram.h
- SOCK_Dgram.cpp
- SOCK_Dgram.i