#include <ace/SOCK_IO.h>
class ACE_SOCK_IO : public ACE_SOCK {
public:
ACE_SOCK_IO (void);
~ACE_SOCK_IO (void);
ssize_t recv ( void *buf, size_t n, int flags, const ACE_Time_Value *timeout = 0 ) const;
ssize_t recv ( void *buf, size_t n, const ACE_Time_Value *timeout = 0 ) const;
ssize_t recvv ( iovec iov[], size_t n, const ACE_Time_Value *timeout = 0 ) const;
ssize_t recv ( iovec iov[], size_t n, const ACE_Time_Value *timeout = 0 ) const;
ssize_t recvv ( iovec *io_vec, const ACE_Time_Value *timeout = 0 ) const;
ssize_t recv ( iovec *io_vec, const ACE_Time_Value *timeout = 0 ) const;
ssize_t recv (size_t n, ...) const;
ssize_t recv ( void *buf, size_t n, ACE_OVERLAPPED *overlapped ) const;
ssize_t send ( const void *buf, size_t n, int flags, const ACE_Time_Value *timeout = 0 ) const;
ssize_t send ( const void *buf, size_t n, const ACE_Time_Value *timeout = 0 ) const;
ssize_t sendv ( const iovec iov[], size_t n, const ACE_Time_Value *timeout = 0 ) const;
ssize_t send ( const iovec iov[], size_t n, const ACE_Time_Value *timeout = 0 ) const;
ssize_t send (size_t n, ...) const;
ssize_t send ( const void *buf, size_t n, ACE_OVERLAPPED *overlapped ) const;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
};
ACE_SOCK_IO (void);
~ACE_SOCK_IO (void);
ssize_t recv (
void *buf,
size_t n,
int flags,
const ACE_Time_Value *timeout = 0
) const;
n
byte buffer from the connected socket.
ssize_t recv (
void *buf,
size_t n,
const ACE_Time_Value *timeout = 0
) const;
n
byte buffer from the connected socket.
ssize_t recvv (
iovec iov[],
size_t n,
const ACE_Time_Value *timeout = 0
) const;
iovec
of size n
from the connected socket.
ssize_t recv (
iovec iov[],
size_t n,
const ACE_Time_Value *timeout = 0
) const;
ssize_t recvv (
iovec *io_vec,
const ACE_Time_Value *timeout = 0
) const;
iov_base
field of io_vec
using
delete [] io_vec-iov_base.
ssize_t recv (iovec *io_vec, const ACE_Time_Value *timeout = 0) const;
ssize_t recv (size_t n, ...) const;
n
varargs messages to the connected socket.
ssize_t recv (void *buf, size_t n, ACE_OVERLAPPED *overlapped) const;
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;
n
byte buffer to the connected socket.
ssize_t send (
const void *buf,
size_t n,
const ACE_Time_Value *timeout = 0
) const;
n
byte buffer to the connected socket.
ssize_t sendv (
const iovec iov[],
size_t n,
const ACE_Time_Value *timeout = 0
) const;
iovec
of size n
to the connected socket.
ssize_t send (
const iovec iov[],
size_t n,
const ACE_Time_Value *timeout = 0
) const;
ssize_t send (size_t n, ...) const;
n
varargs messages to the connected socket.
ssize_t send (
const void *buf,
size_t n,
ACE_OVERLAPPED *overlapped
) const;
n
bytes via Win32 WriteFile
using overlapped I/O.
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
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,
EWOULDBLOCK will be returned 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.