org.apache.tomcat.jni
public class Socket extends Object
Version: $Revision: 832187 $, $Date: 2009-11-03 00:23:20 +0100 (Tue, 03 Nov 2009) $
Field Summary | |
---|---|
static int | APR_INCOMPLETE_READ Set on non-blocking sockets (timeout ! |
static int | APR_INCOMPLETE_WRITE like APR_INCOMPLETE_READ, but for write |
static int | APR_INET |
static int | APR_INET6 |
static int | APR_IPV4_ADDR_OK no longer allow read or write requests |
static int | APR_IPV6_ADDR_OK |
static int | APR_IPV6_V6ONLY Don't accept IPv4 connections on an IPv6 listening socket. |
static int | APR_LOCAL
Enum to tell us if we're interested in remote or local socket
apr_interface_e |
static int | APR_PROTO_SCTP UDP |
static int | APR_PROTO_TCP |
static int | APR_PROTO_UDP TCP |
static int | APR_REMOTE |
static int | APR_RESET_NODELAY This flag is ONLY set internally when we set APR_TCP_NOPUSH with
APR_TCP_NODELAY set to tell us that APR_TCP_NODELAY should be turned on
again when NOPUSH is turned off |
static int | APR_SHUTDOWN_READ Define what type of socket shutdown should occur.
apr_shutdown_how_e enum |
static int | APR_SHUTDOWN_READWRITE no longer allow write requests |
static int | APR_SHUTDOWN_WRITE no longer allow read request |
static int | APR_SO_DEBUG Keepalive |
static int | APR_SO_DISCONNECTED Receive buffer |
static int | APR_SO_KEEPALIVE Linger |
static int | APR_SO_LINGER |
static int | APR_SO_NONBLOCK Debug |
static int | APR_SO_RCVBUF Send buffer |
static int | APR_SO_REUSEADDR Non-blocking IO |
static int | APR_SO_SNDBUF Reuse addresses |
static int | APR_TCP_DEFER_ACCEPT Delay accepting of new connections until data is available. |
static int | APR_TCP_NODELAY For SCTP sockets, this is mapped to STCP_NODELAY internally. |
static int | APR_TCP_NOPUSH |
static int | APR_UNSPEC |
static int | SOCKET_GET_APRS |
static int | SOCKET_GET_IMPL |
static int | SOCKET_GET_POOL |
static int | SOCKET_GET_TYPE |
static int | SOCK_DGRAM |
static int | SOCK_STREAM |
Method Summary | |
---|---|
static long | accept(long sock)
Accept a new connection request |
static int | acceptfilter(long sock, String name, String args)
Set an OS level accept filter. |
static long | acceptx(long sock, long pool)
Accept a new connection request |
static boolean | atmark(long sock)
Query the specified socket if at the OOB/Urgent data mark |
static int | bind(long sock, long sa)
Bind the socket to its associated port |
static int | close(long thesocket)
Close a socket. |
static int | connect(long sock, long sa)
Issue a connection request to a socket either on the same machine
or a different one. |
static long | create(int family, int type, int protocol, long cont)
Create a socket. |
static void | destroy(long thesocket)
Destroy a pool associated with socket |
static int | listen(long sock, int backlog)
Listen to a bound socket for connections. |
static int | optGet(long sock, int opt)
Query socket options for the specified socket |
static int | optSet(long sock, int opt, int on)
Setup socket options for the specified socket |
static long | pool(long thesocket)
Create a child pool from associated socket pool. |
static int | recv(long sock, byte[] buf, int offset, int nbytes)
Read data from a network.
|
static int | recvb(long sock, ByteBuffer buf, int offset, int nbytes)
Read data from a network.
|
static int | recvbb(long sock, int offset, int nbytes)
Read data from a network using internally set ByteBuffer |
static int | recvbbt(long sock, int offset, int nbytes, long timeout)
Read data from a network with timeout using internally set ByteBuffer |
static int | recvbt(long sock, ByteBuffer buf, int offset, int nbytes, long timeout)
Read data from a network with timeout.
|
static int | recvfrom(long from, long sock, int flags, byte[] buf, int offset, int nbytes) |
static int | recvt(long sock, byte[] buf, int offset, int nbytes, long timeout)
Read data from a network with timeout.
|
static int | send(long sock, byte[] buf, int offset, int len)
Send data over a network.
|
static int | sendb(long sock, ByteBuffer buf, int offset, int len)
Send data over a network.
|
static int | sendbb(long sock, int offset, int len)
Send data over a network using internally set ByteBuffer |
static long | sendfile(long sock, long file, byte[][] headers, byte[][] trailers, long offset, long len, int flags)
Send a file from an open file descriptor to a socket, along with
optional headers and trailers.
|
static long | sendfilen(long sock, long file, long offset, long len, int flags)
Send a file without header and trailer arrays. |
static int | sendto(long sock, long where, int flags, byte[] buf, int offset, int len) |
static int | sendv(long sock, byte[][] vec)
Send multiple packets of data over a network.
|
static void | setrbb(long sock, ByteBuffer buf)
Set internal receive ByteBuffer.
|
static void | setsbb(long sock, ByteBuffer buf)
Set internal send ByteBuffer.
|
static int | shutdown(long thesocket, int how)
Shutdown either reading, writing, or both sides of a socket.
|
static long | timeoutGet(long sock)
Query socket timeout for the specified socket |
static int | timeoutSet(long sock, long t)
Setup socket timeout for the specified socket |
Parameters: sock The socket we are listening on.
Returns: A copy of the socket that is connected to the socket that made the connection request. This is the socket which should be used for all future communication.
Parameters: sock The socket to put the accept filter on. name The accept filter args Any extra args to the accept filter. Passing NULL here removes the accept filter.
Parameters: sock The socket we are listening on. pool The pool for the new socket.
Returns: A copy of the socket that is connected to the socket that made the connection request. This is the socket which should be used for all future communication.
Parameters: sock The socket to query
Returns: True if socket is at the OOB/urgent mark, otherwise return false.
Parameters: sock The socket to bind sa The socket address to bind to This may be where we will find out if there is any other process using the selected port.
Parameters: thesocket The socket to close
Parameters: sock The socket we wish to use for our side of the connection sa The address of the machine we wish to connect to.
Parameters: family The address family of the socket (e.g., APR_INET). type The type of the socket (e.g., SOCK_STREAM). protocol The protocol of the socket (e.g., APR_PROTO_TCP). cont The parent pool to use
Returns: The new socket that has been set up.
Parameters: thesocket The destroy
Parameters: sock The socket to listen on backlog The number of outstanding connections allowed in the sockets listen queue. If this value is less than zero, the listen queue size is set to zero.
Parameters: sock The socket to query opt The option we would like to query. One of:
APR_SO_DEBUG -- turn on debugging information
APR_SO_KEEPALIVE -- keep connections active
APR_SO_LINGER -- lingers on close if data is present
APR_SO_NONBLOCK -- Turns blocking on/off for socket
APR_SO_REUSEADDR -- The rules used in validating addresses
supplied to bind should allow reuse
of local addresses.
APR_SO_SNDBUF -- Set the SendBufferSize
APR_SO_RCVBUF -- Set the ReceiveBufferSize
APR_SO_DISCONNECTED -- Query the disconnected state of the socket.
(Currently only used on Windows)
Returns: Socket option returned on the call.
Parameters: sock The socket to set up. opt The option we would like to configure. One of:
APR_SO_DEBUG -- turn on debugging information
APR_SO_KEEPALIVE -- keep connections active
APR_SO_LINGER -- lingers on close if data is present
APR_SO_NONBLOCK -- Turns blocking on/off for socket
When this option is enabled, use
the APR_STATUS_IS_EAGAIN() macro to
see if a send or receive function
could not transfer data without
blocking.
APR_SO_REUSEADDR -- The rules used in validating addresses
supplied to bind should allow reuse
of local addresses.
APR_SO_SNDBUF -- Set the SendBufferSize
APR_SO_RCVBUF -- Set the ReceiveBufferSize
on Value for the option.
Parameters: thesocket The socket to use
This functions acts like a blocking read by default. To change this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK socket option. The number of bytes actually received is stored in argument 3. It is possible for both bytes to be received and an APR_EOF or other error to be returned. APR_EINTR is never returned.
Parameters: sock The socket to read the data from. buf The buffer to store the data in. offset Offset in the byte buffer. nbytes The number of bytes to read (-1) for full array.
Returns: the number of bytes received.
This functions acts like a blocking read by default. To change this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK socket option. The number of bytes actually received is stored in argument 3. It is possible for both bytes to be received and an APR_EOF or other error to be returned. APR_EINTR is never returned.
Parameters: sock The socket to read the data from. buf The buffer to store the data in. offset Offset in the byte buffer. nbytes The number of bytes to read (-1) for full array.
Returns: the number of bytes received.
This functions acts like a blocking read by default. To change this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK socket option. The number of bytes actually received is stored in argument 3. It is possible for both bytes to be received and an APR_EOF or other error to be returned. APR_EINTR is never returned.
Parameters: sock The socket to read the data from. buf The buffer to store the data in. offset Offset in the byte buffer. nbytes The number of bytes to read (-1) for full array. timeout The socket timeout in microseconds.
Returns: the number of bytes received.
Parameters: from The apr_sockaddr_t to fill in the recipient info sock The socket to use flags The flags to use buf The buffer to use offset Offset in the byte buffer. nbytes The number of bytes to read (-1) for full array.
Returns: the number of bytes received.
This functions acts like a blocking read by default. To change this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK socket option. The number of bytes actually received is stored in argument 3. It is possible for both bytes to be received and an APR_EOF or other error to be returned. APR_EINTR is never returned.
Parameters: sock The socket to read the data from. buf The buffer to store the data in. offset Offset in the byte buffer. nbytes The number of bytes to read (-1) for full array. timeout The socket timeout in microseconds.
Returns: the number of bytes received.
This functions acts like a blocking write by default. To change this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK socket option. It is possible for both bytes to be sent and an error to be returned. APR_EINTR is never returned.
Parameters: sock The socket to send the data over. buf The buffer which contains the data to be sent. offset Offset in the byte buffer. len The number of bytes to write; (-1) for full array.
Returns: The number of bytes send.
This functions acts like a blocking write by default. To change this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK socket option. It is possible for both bytes to be sent and an error to be returned. APR_EINTR is never returned.
Parameters: sock The socket to send the data over. buf The Byte buffer which contains the data to be sent. offset The offset within the buffer array of the first buffer from which bytes are to be retrieved; must be non-negative and no larger than buf.length len The maximum number of buffers to be accessed; must be non-negative and no larger than buf.length - offset
Returns: The number of bytes send.
Parameters: sock The socket to which we're writing file The open file from which to read headers Array containing the headers to send trailers Array containing the trailers to send offset Offset into the file where we should begin writing len Number of bytes to send from the file flags APR flags that are mapped to OS specific flags
Returns: Number of bytes actually sent, including headers, file, and trailers
Parameters: sock The socket to send from where The apr_sockaddr_t describing where to send the data flags The flags to use buf The data to send offset Offset in the byte buffer. len The length of the data to send
This functions acts like a blocking write by default. To change this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK socket option. The number of bytes actually sent is stored in argument 3. It is possible for both bytes to be sent and an error to be returned. APR_EINTR is never returned.
Parameters: sock The socket to send the data over. vec The array from which to get the data to send.
Parameters: sock The socket to use buf The ByteBuffer
Parameters: sock The socket to use buf The ByteBuffer
Parameters: thesocket The socket to close how How to shutdown the socket. One of:
APR_SHUTDOWN_READ no longer allow read requests
APR_SHUTDOWN_WRITE no longer allow write requests
APR_SHUTDOWN_READWRITE no longer allow read or write requests
Parameters: sock The socket to query
Returns: Socket timeout returned from the query.
Parameters: sock The socket to set up. t Value for the timeout in microseconds.
t > 0 -- read and write calls return APR_TIMEUP if specified time
elapsess with no data read or written
t == 0 -- read and write calls never block
t < 0 -- read and write calls block