ACE_SOCK_IO Class Reference

Defines the methods for the ACE socket wrapper I/O routines (e.g., send/recv). More...

#include <SOCK_IO.h>

Inheritance diagram for ACE_SOCK_IO:

Inheritance graph
[legend]
Collaboration diagram for ACE_SOCK_IO:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 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.
void dump (void) const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Detailed Description

Defines the methods for the ACE socket wrapper I/O routines (e.g., send/recv).

If timeout == 0, then the call behaves as a normal send/recv call, i.e., for blocking sockets, the call will block until action is possible; for non-blocking sockets, -1 will be returned with errno == EWOULDBLOCK if no action is immediately possible. If timeout != 0, the call will wait until the relative time specified in *timeout elapses. Errors are reported by -1 and 0 return values. If the operation times out, -1 is returned with errno == ETIME. If it succeeds the number of bytes transferred is returned. Methods with the extra flags argument will always result in <send> getting called. Methods without the extra flags argument will result in <send> getting called on Win32 platforms, and <write> getting called on non-Win32 platforms.


Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_SOCK_IO::ACE_SOCK_IO ( void   ) 

Constructor.

ACE_INLINE ACE_SOCK_IO::~ACE_SOCK_IO ( void   ) 

Destructor.


Member Function Documentation

ACE_INLINE ssize_t ACE_SOCK_IO::recv ( void *  buf,
size_t  n,
int  flags,
const ACE_Time_Value timeout = 0 
) const

Recv an n byte buffer from the connected socket.

ACE_INLINE ssize_t ACE_SOCK_IO::recv ( void *  buf,
size_t  n,
const ACE_Time_Value timeout = 0 
) const

Recv an n byte buffer from the connected socket.

ACE_INLINE ssize_t ACE_SOCK_IO::recvv ( iovec  iov[],
int  n,
const ACE_Time_Value timeout = 0 
) const

Recv an <iovec> of size n from the connected socket.

ssize_t ACE_SOCK_IO::recvv ( iovec *  io_vec,
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 delete [] io_vec->iov_base.

ssize_t ACE_SOCK_IO::recv ( size_t  n,
  ... 
) const

Recv n varargs messages to the connected socket.

ACE_INLINE ssize_t ACE_SOCK_IO::recv ( void *  buf,
size_t  n,
ACE_OVERLAPPED overlapped 
) const

Recv n bytes via Win32 <ReadFile> using overlapped I/O.

ACE_INLINE ssize_t ACE_SOCK_IO::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.

ACE_INLINE ssize_t ACE_SOCK_IO::send ( const void *  buf,
size_t  n,
const ACE_Time_Value timeout = 0 
) const

Send an n byte buffer to the connected socket.

ACE_INLINE ssize_t ACE_SOCK_IO::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 ACE_SOCK_IO::send ( size_t  n,
  ... 
) const

Send n varargs messages to the connected socket.

ACE_INLINE ssize_t ACE_SOCK_IO::send ( const void *  buf,
size_t  n,
ACE_OVERLAPPED overlapped 
) const

Send n bytes via Win32 <WriteFile> using overlapped I/O.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_SOCK_IO::dump ( void   )  const

Dump the state of an object.

Reimplemented from ACE_SOCK.

Reimplemented in ACE_LSOCK_CODgram, ACE_LSOCK_Stream, ACE_SOCK_CODgram, ACE_SOCK_SEQPACK_Association, and ACE_SOCK_Stream.


Member Data Documentation

ACE_SOCK_IO::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

Reimplemented from ACE_SOCK.

Reimplemented in ACE_LSOCK_CODgram, ACE_LSOCK_Stream, ACE_SOCK_CODgram, ACE_SOCK_SEQPACK_Association, and ACE_SOCK_Stream.


The documentation for this class was generated from the following files:
Generated on Thu Feb 21 03:09:59 2008 for ACE by  doxygen 1.5.3-6