ACE_SOCK_Dgram Class ReferenceDefines the member functions for the ACE_SOCK datagram abstraction.
More...
#include <SOCK_Dgram.h>
List of all members.
|
Public Types |
typedef ACE_INET_Addr | PEER_ADDR |
Public Member Functions |
| ACE_SOCK_Dgram (void) |
| Default constructor.
|
| ACE_SOCK_Dgram (const ACE_Addr &local, int protocol_family=ACE_PROTOCOL_FAMILY_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=ACE_PROTOCOL_FAMILY_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) |
| 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 |
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[], int n, const ACE_Addr &addr, int flags=0) const |
ssize_t | recv (iovec iov[], int 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, 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 |
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 |
| Send an n byte buf to the datagram socket (uses <WSASendTo>).
|
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 |
| Dump the state of an object.
|
int | set_nic (const ACE_TCHAR *net_if, int addr_family=AF_UNSPEC) |
| Set NIC to use as multicast interface.
|
Public Attributes |
| ACE_ALLOC_HOOK_DECLARE |
| Declare the dynamic allocation hooks.
|
Protected Member Functions |
int | shared_open (const ACE_Addr &local, int protocol_family) |
| Open is shared by this and by <LSOCK_Dgram>.
|
int | make_multicast_ifaddr (ip_mreq *mreq, const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if) |
int | make_multicast_ifaddr6 (ipv6_mreq *mreq, const ACE_INET_Addr &mcast_addr, const ACE_TCHAR *net_if) |
Private Member Functions |
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.
Member Typedef Documentation
Constructor & Destructor Documentation
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_SOCK_Dgram::ACE_SOCK_Dgram |
( |
void |
|
) |
|
ACE_SOCK_Dgram::ACE_SOCK_Dgram |
( |
const ACE_Addr & |
local, |
|
|
int |
protocol_family = ACE_PROTOCOL_FAMILY_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.
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 <ACE_OS::join_leaf>.
ACE_INLINE ACE_SOCK_Dgram::~ACE_SOCK_Dgram |
( |
void |
|
) |
|
Member Function Documentation
int ACE_SOCK_Dgram::open |
( |
const ACE_Addr & |
local, |
|
|
int |
protocol_family = ACE_PROTOCOL_FAMILY_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.
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 <ACE_OS::join_leaf>.
ACE_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.
ACE_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)>).
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.
ssize_t ACE_SOCK_Dgram::send |
( |
const iovec |
iov[], |
|
|
int |
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.
ssize_t ACE_SOCK_Dgram::recv |
( |
iovec |
iov[], |
|
|
int |
n, |
|
|
ACE_Addr & |
addr, |
|
|
int |
flags = 0 | |
|
) |
| | const |
Recv an <iovec> of size n to the datagram socket (uses <recvmsg(3)>).
Wait up to 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.
Wait up to timeout amount of time to send a datagram to 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 <send> times out a -1 is returned with errno == ETIME. If it succeeds the number of bytes sent is returned.
Send <buffer_count> worth of buffers to addr using overlapped I/O (uses <WSASendTo>). Returns 0 on success.
Recv <buffer_count> worth of buffers from addr using overlapped I/O (uses <WSARecvFrom>). Returns 0 on success.
Send an n byte buf to the datagram socket (uses <WSASendTo>).
Receive an n byte buf from the datagram socket (uses <WSARecvFrom>).
ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_SOCK_Dgram::dump |
( |
void |
|
) |
const |
int ACE_SOCK_Dgram::set_nic |
( |
const ACE_TCHAR * |
net_if, |
|
|
int |
addr_family = AF_UNSPEC | |
|
) |
| | |
Set NIC to use as multicast interface.
int ACE_SOCK_Dgram::shared_open |
( |
const ACE_Addr & |
local, |
|
|
int |
protocol_family | |
|
) |
| | [protected] |
Open is shared by this and by <LSOCK_Dgram>.
int ACE_SOCK_Dgram::make_multicast_ifaddr |
( |
ip_mreq * |
mreq, |
|
|
const ACE_INET_Addr & |
mcast_addr, |
|
|
const ACE_TCHAR * |
net_if | |
|
) |
| | [protected] |
Create a multicast addr/if pair, in format useful for system calls. If mreq param is NULL, just verify the passed addr/interface specs.
int ACE_SOCK_Dgram::make_multicast_ifaddr6 |
( |
ipv6_mreq * |
mreq, |
|
|
const ACE_INET_Addr & |
mcast_addr, |
|
|
const ACE_TCHAR * |
net_if | |
|
) |
| | [protected] |
Create a multicast addr/if pair, in format useful for system calls. If mreq param is NULL, just verify the passed addr/interface specs.
int ACE_SOCK_Dgram::get_remote_addr |
( |
ACE_Addr & |
|
) |
const [private] |
Member Data Documentation
The documentation for this class was generated from the following files:
Generated on Mon Sep 15 07:17:03 2008 for ACE by
1.5.5
|