ACE  6.4.1
Public Member Functions | Public Attributes | List of all members
ACE_LSOCK_CODgram Class Reference

Defines a fully specified (sometimes called "connected") UNIX-domain datagram abstraction. More...

#include <LSOCK_CODgram.h>

Inheritance diagram for ACE_LSOCK_CODgram:
Inheritance graph
[legend]
Collaboration diagram for ACE_LSOCK_CODgram:
Collaboration graph
[legend]

Public Member Functions

 ACE_LSOCK_CODgram (void)
 Default constructor; requires a call to open() prior to communication. More...
 
ACE_HANDLE get_handle (void) const
 Get underlying handle. More...
 
void set_handle (ACE_HANDLE)
 Set underlying handle. More...
 
void dump (void) const
 Dump the state of an object. More...
 
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 Member Functions inherited from ACE_SOCK_CODgram
 ACE_SOCK_CODgram (void)
 Default constructor. More...
 
 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. More...
 
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)
 
void dump (void) const
 Dump the state of an object. More...
 
- Public Member Functions inherited from ACE_SOCK_IO
 ACE_SOCK_IO (void)
 Constructor. More...
 
 ~ACE_SOCK_IO (void)
 Destructor. More...
 
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. More...
 
ssize_t recv (void *buf, size_t n, const ACE_Time_Value *timeout=0) const
 Recv an n byte buffer from the connected socket. More...
 
ssize_t recvv (iovec iov[], int n, const ACE_Time_Value *timeout=0) const
 Recv an <iovec> of size n from the connected socket. More...
 
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. More...
 
ssize_t recv (void *buf, size_t n, ACE_OVERLAPPED *overlapped) const
 Recv n bytes via Win32 ReadFile using overlapped I/O. More...
 
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. More...
 
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. More...
 
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. More...
 
ssize_t send (size_t n,...) const
 Send n varargs messages to the connected socket. More...
 
ssize_t send (const void *buf, size_t n, ACE_OVERLAPPED *overlapped) const
 Send n bytes via Win32 <WriteFile> using overlapped I/O. More...
 
void dump (void) const
 Dump the state of an object. More...
 
- Public Member Functions inherited from ACE_SOCK
int set_option (int level, int option, void *optval, int optlen) const
 Wrapper around the setsockopt system call. More...
 
int get_option (int level, int option, void *optval, int *optlen) const
 Wrapper around the getsockopt system call. More...
 
int close (void)
 
int get_local_addr (ACE_Addr &) const
 
int get_remote_addr (ACE_Addr &) const
 
void dump (void) const
 Dump the state of an object. More...
 
int open (int type, int protocol_family, int protocol, int reuse_addr)
 Wrapper around the BSD-style socket system call (no QoS). More...
 
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. More...
 
- Public Member Functions inherited from ACE_IPC_SAP
int control (int cmd, void *) const
 Interface for <ioctl>. More...
 
int enable (int value) const
 
int disable (int value) const
 
ACE_HANDLE get_handle (void) const
 Get the underlying handle. More...
 
void set_handle (ACE_HANDLE handle)
 Set the underlying handle. More...
 
void dump (void) const
 Dump the state of an object. More...
 
- Public Member Functions inherited from ACE_LSOCK
void dump (void) const
 Dump the state of an object. More...
 

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 
- Public Attributes inherited from ACE_SOCK_CODgram
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 
- Public Attributes inherited from ACE_SOCK_IO
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 
- Public Attributes inherited from ACE_SOCK
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 
- Public Attributes inherited from ACE_IPC_SAP
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 
- Public Attributes inherited from ACE_LSOCK
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 

Additional Inherited Members

- Public Types inherited from ACE_SOCK_CODgram
typedef ACE_INET_Addr PEER_ADDR
 
- Protected Member Functions inherited from ACE_SOCK
 ACE_SOCK (int type, int protocol_family, int protocol=0, int reuse_addr=0)
 
 ACE_SOCK (int type, int protocol_family, int protocol, ACE_Protocol_Info *protocolinfo, ACE_SOCK_GROUP g, u_long flags, int reuse_addr)
 
 ACE_SOCK (void)
 
 ~ACE_SOCK (void)
 Protected destructor. More...
 
- Protected Member Functions inherited from ACE_IPC_SAP
 ACE_IPC_SAP (void)
 Default constructor. More...
 
 ~ACE_IPC_SAP (void)
 Protected destructor. More...
 
- Protected Member Functions inherited from ACE_LSOCK
 ACE_LSOCK (void)
 Default constructor. More...
 
 ACE_LSOCK (ACE_HANDLE handle)
 Initialize based on handle. More...
 
ACE_HANDLE get_handle (void) const
 Get handle. More...
 
void set_handle (ACE_HANDLE handle)
 Set handle. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

ACE_LSOCK_CODgram::ACE_LSOCK_CODgram ( void  )
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.

Parameters
remote_sapRemote/peer address. This should be an ACE_UNIX_Addr object. It specifies where all sent datagrams will be sent to.
local_sapLocal 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.
See also
ACE_UNIX_Addr

Member Function Documentation

void ACE_LSOCK_CODgram::dump ( void  ) const

Dump the state of an object.

ACE_HANDLE ACE_LSOCK_CODgram::get_handle ( void  ) const
inline

Get underlying 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.

Return values
0if no error.
-1on error; check errno for an error reason.
void ACE_LSOCK_CODgram::set_handle ( ACE_HANDLE  h)
inline

Set underlying handle.

Member Data Documentation

ACE_LSOCK_CODgram::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.


The documentation for this class was generated from the following files: