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) |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. |
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.
Definition at line 49 of file LSOCK_CODgram.h.
ACE_LSOCK_CODgram::ACE_LSOCK_CODgram | ( | void | ) | [inline] |
Default constructor; requires a call to open() prior to communication.
Definition at line 10 of file LSOCK_CODgram.inl.
{ ACE_TRACE ("ACE_LSOCK_CODgram::ACE_LSOCK_CODgram"); }
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. |
Definition at line 49 of file LSOCK_CODgram.cpp.
void ACE_LSOCK_CODgram::dump | ( | void | ) | const |
Dump the state of an object.
Reimplemented from ACE_LSOCK.
Definition at line 19 of file LSOCK_CODgram.cpp.
{ #if defined (ACE_HAS_DUMP) ACE_TRACE ("ACE_LSOCK_CODgram::dump"); ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); ACE_SOCK_CODgram::dump (); ACE_LSOCK::dump (); ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); #endif /* ACE_HAS_DUMP */ }
ACE_HANDLE ACE_LSOCK_CODgram::get_handle | ( | void | ) | const [inline] |
Get underlying handle.
Reimplemented from ACE_LSOCK.
Definition at line 24 of file LSOCK_CODgram.inl.
{ ACE_TRACE ("ACE_LSOCK_CODgram::get_handle"); return this->ACE_SOCK_CODgram::get_handle (); }
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. |
Definition at line 34 of file LSOCK_CODgram.cpp.
{ ACE_TRACE ("ACE_LSOCK_CODgram::open"); if (ACE_SOCK_CODgram::open (remote, local, protocol_family, protocol) == -1) return -1; ACE_LSOCK::set_handle (this->get_handle ()); return 0; }
void ACE_LSOCK_CODgram::set_handle | ( | ACE_HANDLE | h | ) | [inline] |
Set underlying handle.
Reimplemented from ACE_LSOCK.
Definition at line 16 of file LSOCK_CODgram.inl.
{ ACE_TRACE ("ACE_LSOCK_CODgram::set_handle"); this->ACE_SOCK_CODgram::set_handle (h); this->ACE_LSOCK::set_handle (h); }
Declare the dynamic allocation hooks.
Reimplemented from ACE_LSOCK.
Definition at line 98 of file LSOCK_CODgram.h.