ACE
6.1.7
|
Defines a fully specified (sometimes called "connected") UNIX-domain datagram abstraction. More...
#include <LSOCK_CODgram.h>
Public Member Functions | |
ACE_LSOCK_CODgram (void) | |
Default constructor; requires a call to open() prior to communication. | |
ACE_HANDLE | get_handle (void) const |
Get underlying handle. | |
void | set_handle (ACE_HANDLE) |
Set underlying handle. | |
void | dump (void) const |
Dump the state of an object. | |
Initialization methods | |
ACE_LSOCK_CODgram (const ACE_Addr &remote_sap, const ACE_Addr &local_sap=ACE_Addr::sap_any, int protocol_family=PF_UNIX, int protocol=0) | |
int | open (const ACE_Addr &remote_sap, const ACE_Addr &local_sap=ACE_Addr::sap_any, int protocol_family=PF_UNIX, int protocol=0) |
![]() | |
ACE_SOCK_CODgram (void) | |
Default constructor. | |
ACE_SOCK_CODgram (const ACE_Addr &remote_sap, const ACE_Addr &local_sap=ACE_Addr::sap_any, int protocol_family=ACE_PROTOCOL_FAMILY_INET, int protocol=0, int reuse_addr=0) | |
~ACE_SOCK_CODgram (void) | |
Default dtor. | |
int | open (const ACE_Addr &remote_sap, const ACE_Addr &local_sap=ACE_Addr::sap_any, int protocol_family=ACE_PROTOCOL_FAMILY_INET, int protocol=0, int reuse_addr=0) |
![]() | |
ACE_SOCK_IO (void) | |
Constructor. | |
~ACE_SOCK_IO (void) | |
Destructor. | |
ssize_t | recv (void *buf, size_t n, int flags, const ACE_Time_Value *timeout=0) const |
Recv an n byte buffer from the connected socket. | |
ssize_t | recv (void *buf, size_t n, const ACE_Time_Value *timeout=0) const |
Recv an n byte buffer from the connected socket. | |
ssize_t | recvv (iovec iov[], int n, const ACE_Time_Value *timeout=0) const |
Recv an <iovec> of size n from the connected socket. | |
ssize_t | recvv (iovec *io_vec, const ACE_Time_Value *timeout=0) const |
ssize_t | recv (size_t n,...) const |
Recv n varargs messages to the connected socket. | |
ssize_t | recv (void *buf, size_t n, ACE_OVERLAPPED *overlapped) const |
Recv n bytes via Win32 ReadFile using overlapped I/O. | |
ssize_t | send (const void *buf, size_t n, int flags, const ACE_Time_Value *timeout=0) const |
Send an n byte buffer to the connected socket. | |
ssize_t | send (const void *buf, size_t n, const ACE_Time_Value *timeout=0) const |
Send an n byte buffer to the connected socket. | |
ssize_t | sendv (const iovec iov[], int n, const ACE_Time_Value *timeout=0) const |
Send an iovec of size n to the connected socket. | |
ssize_t | send (size_t n,...) const |
Send n varargs messages to the connected socket. | |
ssize_t | send (const void *buf, size_t n, ACE_OVERLAPPED *overlapped) const |
Send n bytes via Win32 <WriteFile> using overlapped I/O. | |
![]() | |
int | set_option (int level, int option, void *optval, int optlen) const |
Wrapper around the setsockopt system call. | |
int | get_option (int level, int option, void *optval, int *optlen) const |
Wrapper around the getsockopt system call. | |
int | close (void) |
int | get_local_addr (ACE_Addr &) const |
int | get_remote_addr (ACE_Addr &) const |
int | open (int type, int protocol_family, int protocol, int reuse_addr) |
Wrapper around the BSD-style socket system call (no QoS). | |
int | open (int type, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr) |
Wrapper around the QoS-enabled WSASocket function. | |
![]() | |
int | control (int cmd, void *) const |
Interface for <ioctl>. | |
int | enable (int value) const |
int | disable (int value) const |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() |
Additional Inherited Members | |
![]() | |
typedef ACE_INET_Addr | PEER_ADDR |
![]() | |
ACE_LSOCK (void) | |
Default constructor. | |
ACE_LSOCK (ACE_HANDLE handle) | |
Initialize based on handle. |
Defines a fully specified (sometimes called "connected") UNIX-domain datagram abstraction.
ACE_LSOCK_CODgram provides a way to use a UNIX-domain datagram socket in a situation where the local and peer addresses are fully known in advance. The "connection-oriented" part of "CODgram" is a misnomer. There is no connection used on this type of socket. It merely specifies that both endpoint addresses are known in advance of use. Furthermore, this class is more suited for use cases where a local endpoint wishes to communicate with a single, known peer and may or may not have a specified local address.
If your use case requires receiving datagrams from multiple peers without previously known addresses, consider using ACE_LSOCK_Dgram instead.
|
inline |
Default constructor; requires a call to open() prior to communication.
ACE_LSOCK_CODgram::ACE_LSOCK_CODgram | ( | const ACE_Addr & | remote_sap, |
const ACE_Addr & | local_sap = ACE_Addr::sap_any , |
||
int | protocol_family = PF_UNIX , |
||
int | protocol = 0 |
||
) |
Initialize a fully-specified datagram socket.
remote_sap | Remote/peer address. This should be an ACE_UNIX_Addr object. It specifies where all sent datagrams will be sent to. |
local_sap | Local address. The local address to receive datagrams at. If not specified, an unused address is selected. If specified, should be an ACE_UNIX_Addr object. |
void ACE_LSOCK_CODgram::dump | ( | void | ) | const |
Dump the state of an object.
Reimplemented from ACE_LSOCK.
|
inline |
Get underlying handle.
Reimplemented from ACE_LSOCK.
int ACE_LSOCK_CODgram::open | ( | const ACE_Addr & | remote_sap, |
const ACE_Addr & | local_sap = ACE_Addr::sap_any , |
||
int | protocol_family = PF_UNIX , |
||
int | protocol = 0 |
||
) |
Initialize a fully-specified datagram socket.
0 | if no error. |
-1 | on error; check errno for an error reason. |
|
inline |
Set underlying handle.
Reimplemented from ACE_LSOCK.
ACE_LSOCK_CODgram::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
Reimplemented from ACE_LSOCK.