#include <SOCK_Stream.h>
Inheritance diagram for ACE_SOCK_Stream:
Public Types | |
typedef ACE_INET_Addr | PEER_ADDR |
Public Member Functions | |
ACE_SOCK_Stream (void) | |
Constructor. | |
ACE_SOCK_Stream (ACE_HANDLE h) | |
Constructor (sets the underlying ACE_HANDLE with h). | |
~ACE_SOCK_Stream (void) | |
Destructor. | |
ssize_t | recv_n (void *buf, size_t len, int flags, const ACE_Time_Value *timeout=0, size_t *bytes_transferred=0) const |
Try to recv exactly len bytes into buf from the connected socket. | |
ssize_t | recv_n (void *buf, size_t len, const ACE_Time_Value *timeout=0, size_t *bytes_transferred=0) const |
Try to recv exactly len bytes into buf from the connected socket. | |
ssize_t | recvv_n (iovec iov[], int iovcnt, const ACE_Time_Value *timeout=0, size_t *bytes_transferred=0) const |
Receive an iovec of size iovcnt from the connected socket. | |
ssize_t | send_n (const void *buf, size_t len, int flags, const ACE_Time_Value *timeout=0, size_t *bytes_transferred=0) const |
Try to send exactly len bytes from buf>to the connection socket. | |
ssize_t | send_n (const void *buf, size_t len, const ACE_Time_Value *timeout=0, size_t *bytes_transferred=0) const |
Try to send exactly len bytes from buf to the connected socket. | |
ssize_t | send_n (const ACE_Message_Block *message_block, const ACE_Time_Value *timeout=0, size_t *bytes_transferred=0) const |
ssize_t | sendv_n (const iovec iov[], int iovcnt, const ACE_Time_Value *timeout=0, size_t *bytes_transferred=0) const |
Send an iovec of size iovcnt to the connected socket. | |
ssize_t | send_urg (const void *ptr, size_t len=sizeof(char), const ACE_Time_Value *timeout=0) const |
ssize_t | recv_urg (void *ptr, size_t len=sizeof(char), const ACE_Time_Value *timeout=0) const |
int | close_reader (void) |
Close down the reader. | |
int | close_writer (void) |
Close down the writer. | |
int | close (void) |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. |
This adds additional wrapper methods atop the ACE_SOCK_IO class.
<buf> is the buffer to write from or receive into. <len> is the number of bytes to transfer. The <timeout> parameter in the following methods indicates how long to blocking trying to transfer data. 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 for data to arrive no longer than the relative time specified in *<timeout>. The "_n()" I/O methods keep looping until all the data has been transferred. These methods also work for sockets in non-blocking mode i.e., they keep looping on EWOULDBLOCK. <timeout> is used to make sure we keep making progress, i.e., the same timeout value is used for every I/O operation in the loop and the timeout is not counted down. The return values for the "*_n()" methods match the return values from the non "_n()" methods and are specified as follows:
On partial transfers, i.e., if any data is transferred before timeout/error/EOF, <bytes_transferred> will contain the number of bytes transferred. Methods with <iovec> parameter are I/O vector variants of the I/O operations. 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.
|
Reimplemented in ACE_LSOCK_Stream. |
|
Constructor.
|
|
Constructor (sets the underlying ACE_HANDLE with h).
|
|
Destructor.
|
|
Close down the socket (we need this to make things work correctly on Win32, which requires use to do a close_writer() before doing the close to avoid losing data). Reimplemented from ACE_SOCK. |
|
Close down the reader.
|
|
Close down the writer.
|
|
Dump the state of an object.
Reimplemented from ACE_SOCK_IO. Reimplemented in ACE_LSOCK_Stream. |
|
Try to recv exactly len bytes into buf from the connected socket.
|
|
Try to recv exactly len bytes into buf from the connected socket.
|
|
|
|
Receive an
|
|
Send all the |
|
Try to send exactly len bytes from buf to the connected socket.
|
|
Try to send exactly len bytes from buf>to the connection socket.
|
|
|
|
Send an
|
|
Declare the dynamic allocation hooks.
Reimplemented from ACE_SOCK_IO. Reimplemented in ACE_LSOCK_Stream. |