#include <SOCK_SEQPACK_Association.h>
Inheritance diagram for ACE_SOCK_SEQPACK_Association:


Public Types | |
| typedef ACE_Multihomed_INET_Addr | PEER_ADDR |
Public Member Functions | |
| ACE_SOCK_SEQPACK_Association (void) | |
| Constructor. | |
| ACE_SOCK_SEQPACK_Association (ACE_HANDLE h) | |
| Constructor (sets the underlying ACE_HANDLE with <h>). | |
| ~ACE_SOCK_SEQPACK_Association (void) | |
| Destructor. | |
| int | get_local_addrs (ACE_INET_Addr *addrs, size_t &size) const |
| int | get_remote_addrs (ACE_INET_Addr *addrs, size_t &size) const |
| 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) |
| int | abort (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.
| ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_SOCK_SEQPACK_Association::ACE_SOCK_SEQPACK_Association | ( | void | ) |
Constructor.
| ACE_INLINE ACE_SOCK_SEQPACK_Association::ACE_SOCK_SEQPACK_Association | ( | ACE_HANDLE | h | ) |
Constructor (sets the underlying ACE_HANDLE with <h>).
| ACE_INLINE ACE_SOCK_SEQPACK_Association::~ACE_SOCK_SEQPACK_Association | ( | void | ) |
Destructor.
| int ACE_SOCK_SEQPACK_Association::abort | ( | void | ) |
Abort the association according to RFC 2960 9.1 through the API in draft-ietf-tsvwg-sctpsocket-09 7.1.4.
| int ACE_SOCK_SEQPACK_Association::close | ( | void | ) |
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.
| ACE_INLINE int ACE_SOCK_SEQPACK_Association::close_reader | ( | void | ) |
Close down the reader.
| ACE_INLINE int ACE_SOCK_SEQPACK_Association::close_writer | ( | void | ) |
Close down the writer.
| ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_SOCK_SEQPACK_Association::dump | ( | void | ) | const |
| int ACE_SOCK_SEQPACK_Association::get_local_addrs | ( | ACE_INET_Addr * | addrs, | |
| size_t & | size | |||
| ) | const |
Return local endpoint addresses in the referenced array of ACE_INET_Addr, which should have the specified <size>. If the number of local endpoint addresses is less than <size>, then <size> will be set to this number. If successful, the method returns 0, otherwise returns -1.
| int ACE_SOCK_SEQPACK_Association::get_remote_addrs | ( | ACE_INET_Addr * | addrs, | |
| size_t & | size | |||
| ) | const |
Return remote endpoint addresses in the referenced array of ACE_INET_Addr, which should have the specified <size>. If the number of remote endpoint addresses is less than <size>, then <size> will be set to this number. If successful, the method returns 0, otherwise returns -1.
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::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.
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::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.
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::recv_urg | ( | void * | ptr, | |
| size_t | len = sizeof(char), |
|||
| const ACE_Time_Value * | timeout = 0 | |||
| ) | const |
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::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.
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::send_n | ( | const ACE_Message_Block * | message_block, | |
| const ACE_Time_Value * | timeout = 0, |
|||
| size_t * | bytes_transferred = 0 | |||
| ) | const |
Send all the <message_block>s chained through their <next> and <cont> pointers. This call uses the underlying OS gather-write operation to reduce the domain-crossing penalty.
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::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.
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::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.
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::send_urg | ( | const void * | ptr, | |
| size_t | len = sizeof(char), |
|||
| const ACE_Time_Value * | timeout = 0 | |||
| ) | const |
| ACE_INLINE ssize_t ACE_SOCK_SEQPACK_Association::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.
1.4.7-1