# Class Socket

java.lang.Object
org.apache.tomcat.jni.Socket

@Deprecated public class Socket extends Object
Deprecated.
The scope of the APR/Native Library will be reduced in Tomcat 9.1.x / Tomcat Native 2.x and has been reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
Socket.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `APR_INCOMPLETE_READ`
  Deprecated.
  Set on non-blocking sockets (timeout !
  `static final int`
  `APR_INCOMPLETE_WRITE`
  Deprecated.
  like APR_INCOMPLETE_READ, but for write
  `static final int`
  `APR_INET`
  Deprecated.
  `static final int`
  `APR_INET6`
  Deprecated.
  `static final int`
  `APR_IPV4_ADDR_OK`
  Deprecated.
  `static final int`
  `APR_IPV6_ADDR_OK`
  Deprecated.
  `static final int`
  `APR_IPV6_V6ONLY`
  Deprecated.
  Don't accept IPv4 connections on an IPv6 listening socket.
  `static final int`
  `APR_LOCAL`
  Deprecated.
  Enum to tell us if we're interested in remote or local socket apr_interface_e
  `static final int`
  `APR_PROTO_SCTP`
  Deprecated.
  SCTP
  `static final int`
  `APR_PROTO_TCP`
  Deprecated.
  TCP
  `static final int`
  `APR_PROTO_UDP`
  Deprecated.
  UDP
  `static final int`
  `APR_REMOTE`
  Deprecated.
  `static final int`
  `APR_RESET_NODELAY`
  Deprecated.
  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 final int`
  `APR_SHUTDOWN_READ`
  Deprecated.
  no longer allow read request
  `static final int`
  `APR_SHUTDOWN_READWRITE`
  Deprecated.
  no longer allow read or write requests
  `static final int`
  `APR_SHUTDOWN_WRITE`
  Deprecated.
  no longer allow write requests
  `static final int`
  `APR_SO_DEBUG`
  Deprecated.
  Debug
  `static final int`
  `APR_SO_DISCONNECTED`
  Deprecated.
  Disconnected
  `static final int`
  `APR_SO_KEEPALIVE`
  Deprecated.
  Keepalive
  `static final int`
  `APR_SO_LINGER`
  Deprecated.
  Linger
  `static final int`
  `APR_SO_NONBLOCK`
  Deprecated.
  Non-blocking IO
  `static final int`
  `APR_SO_RCVBUF`
  Deprecated.
  Receive buffer
  `static final int`
  `APR_SO_REUSEADDR`
  Deprecated.
  Reuse addresses
  `static final int`
  `APR_SO_SNDBUF`
  Deprecated.
  Send buffer
  `static final int`
  `APR_TCP_DEFER_ACCEPT`
  Deprecated.
  Delay accepting of new connections until data is available.
  `static final int`
  `APR_TCP_NODELAY`
  Deprecated.
  For SCTP sockets, this is mapped to STCP_NODELAY internally.
  `static final int`
  `APR_TCP_NOPUSH`
  Deprecated.
  No push
  `static final int`
  `APR_UNIX`
  Deprecated.
  `static final int`
  `APR_UNSPEC`
  Deprecated.
  `static final int`
  `SOCK_DGRAM`
  Deprecated.
  `static final int`
  `SOCK_STREAM`
  Deprecated.
  `static final int`
  `SOCKET_GET_APRS`
  Deprecated.
  `static final int`
  `SOCKET_GET_IMPL`
  Deprecated.
  `static final int`
  `SOCKET_GET_POOL`
  Deprecated.
  `static final int`
  `SOCKET_GET_TYPE`
  Deprecated.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Socket()`
  Deprecated.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static long`
  `accept(long sock)`
  Deprecated.
  Accept a new connection request
  `static int`
  `acceptfilter(long sock, String name, String args)`
  Deprecated.
  Set an OS level accept filter.
  `static long`
  `acceptx(long sock, long pool)`
  Deprecated.
  Accept a new connection request
  `static boolean`
  `atmark(long sock)`
  Deprecated.
  Query the specified socket if at the OOB/Urgent data mark
  `static int`
  `bind(long sock, long sa)`
  Deprecated.
  Bind the socket to its associated port
  `static int`
  `close(long thesocket)`
  Deprecated.
  Close a socket.
  `static int`
  `connect(long sock, long sa)`
  Deprecated.
  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)`
  Deprecated.
  Create a socket.
  `static Object`
  `dataGet(long sock, String key)`
  Deprecated.
  Return the data associated with the current socket
  `static int`
  `dataSet(long sock, String key, Object data)`
  Deprecated.
  Set the data associated with the current socket.
  `static void`
  `destroy(long thesocket)`
  Deprecated.
  Destroy a pool associated with socket
  `static int`
  `listen(long sock, int backlog)`
  Deprecated.
  Listen to a bound socket for connections.
  `static int`
  `optGet(long sock, int opt)`
  Deprecated.
  Query socket options for the specified socket
  `static int`
  `optSet(long sock, int opt, int on)`
  Deprecated.
  Setup socket options for the specified socket
  `static long`
  `pool(long thesocket)`
  Deprecated.
  Create a child pool from associated socket pool.
  `static int`
  `recv(long sock, byte[] buf, int offset, int nbytes)`
  Deprecated.
  Read data from a network.
  `static int`
  `recvb(long sock, ByteBuffer buf, int offset, int nbytes)`
  Deprecated.
  Read data from a network.
  `static int`
  `recvbb(long sock, int offset, int nbytes)`
  Deprecated.
  Read data from a network using internally set ByteBuffer.
  `static int`
  `recvbbt(long sock, int offset, int nbytes, long timeout)`
  Deprecated.
  Read data from a network with timeout using internally set ByteBuffer
  `static int`
  `recvbt(long sock, ByteBuffer buf, int offset, int nbytes, long timeout)`
  Deprecated.
  Read data from a network with timeout.
  `static int`
  `recvfrom(long from, long sock, int flags, byte[] buf, int offset, int nbytes)`
  Deprecated.
  `static int`
  `recvt(long sock, byte[] buf, int offset, int nbytes, long timeout)`
  Deprecated.
  Read data from a network with timeout.
  `static int`
  `send(long sock, byte[] buf, int offset, int len)`
  Deprecated.
  Send data over a network.
  `static int`
  `sendb(long sock, ByteBuffer buf, int offset, int len)`
  Deprecated.
  Send data over a network.
  `static int`
  `sendbb(long sock, int offset, int len)`
  Deprecated.
  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)`
  Deprecated.
  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)`
  Deprecated.
  Send a file without header and trailer arrays.
  `static int`
  `sendib(long sock, ByteBuffer buf, int offset, int len)`
  Deprecated.
  Send data over a network without retry
  `static int`
  `sendibb(long sock, int offset, int len)`
  Deprecated.
  Send data over a network using internally set ByteBuffer without internal retry.
  `static int`
  `sendto(long sock, long where, int flags, byte[] buf, int offset, int len)`
  Deprecated.
  `static int`
  `sendv(long sock, byte[][] vec)`
  Deprecated.
  Send multiple packets of data over a network.
  `static void`
  `setrbb(long sock, ByteBuffer buf)`
  Deprecated.
  Set internal receive ByteBuffer.
  `static void`
  `setsbb(long sock, ByteBuffer buf)`
  Deprecated.
  Set internal send ByteBuffer.
  `static int`
  `shutdown(long thesocket, int how)`
  Deprecated.
  Shutdown either reading, writing, or both sides of a socket.
  `static long`
  `timeoutGet(long sock)`
  Deprecated.
  Query socket timeout for the specified socket
  `static int`
  `timeoutSet(long sock, long t)`
  Deprecated.
  Setup socket timeout for the specified socket

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### SOCK_STREAM

    public static final int SOCK_STREAM
    Deprecated.
    See Also:
      - Constant Field Values

  - ### SOCK_DGRAM

    public static final int SOCK_DGRAM
    Deprecated.
    See Also:
      - Constant Field Values

  - ### APR_SO_LINGER

    public static final int APR_SO_LINGER
    Deprecated.
    Linger
    See Also:
      - Constant Field Values

  - ### APR_SO_KEEPALIVE

    public static final int APR_SO_KEEPALIVE
    Deprecated.
    Keepalive
    See Also:
      - Constant Field Values

  - ### APR_SO_DEBUG

    public static final int APR_SO_DEBUG
    Deprecated.
    Debug
    See Also:
      - Constant Field Values

  - ### APR_SO_NONBLOCK

    public static final int APR_SO_NONBLOCK
    Deprecated.
    Non-blocking IO
    See Also:
      - Constant Field Values

  - ### APR_SO_REUSEADDR

    public static final int APR_SO_REUSEADDR
    Deprecated.
    Reuse addresses
    See Also:
      - Constant Field Values

  - ### APR_SO_SNDBUF

    public static final int APR_SO_SNDBUF
    Deprecated.
    Send buffer
    See Also:
      - Constant Field Values

  - ### APR_SO_RCVBUF

    public static final int APR_SO_RCVBUF
    Deprecated.
    Receive buffer
    See Also:
      - Constant Field Values

  - ### APR_SO_DISCONNECTED

    public static final int APR_SO_DISCONNECTED
    Deprecated.
    Disconnected
    See Also:
      - Constant Field Values

  - ### APR_TCP_NODELAY

    public static final int APR_TCP_NODELAY
    Deprecated.
    For SCTP sockets, this is mapped to STCP_NODELAY internally.
    See Also:
      - Constant Field Values

  - ### APR_TCP_NOPUSH

    public static final int APR_TCP_NOPUSH
    Deprecated.
    No push
    See Also:
      - Constant Field Values

  - ### APR_RESET_NODELAY

    public static final int APR_RESET_NODELAY
    Deprecated.
    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
    See Also:
      - Constant Field Values

  - ### APR_INCOMPLETE_READ

    public static final int APR_INCOMPLETE_READ
    Deprecated.
    Set on non-blocking sockets (timeout != 0) on which the previous read() did not fill a buffer completely. the next apr_socket_recv() will first call select()/poll() rather than going straight into read(). (Can also be set by an application to force a select()/poll() call before the next read, in cases where the app expects that an immediate read would fail.)
    See Also:
      - Constant Field Values

  - ### APR_INCOMPLETE_WRITE

    public static final int APR_INCOMPLETE_WRITE
    Deprecated.
    like APR_INCOMPLETE_READ, but for write
    See Also:
      - Constant Field Values

  - ### APR_IPV6_V6ONLY

    public static final int APR_IPV6_V6ONLY
    Deprecated.
    Don't accept IPv4 connections on an IPv6 listening socket.
    See Also:
      - Constant Field Values

  - ### APR_TCP_DEFER_ACCEPT

    public static final int APR_TCP_DEFER_ACCEPT
    Deprecated.
    Delay accepting of new connections until data is available.
    See Also:
      - Constant Field Values

  - ### APR_SHUTDOWN_READ

    public static final int APR_SHUTDOWN_READ
    Deprecated.
    no longer allow read request
    See Also:
      - Constant Field Values

  - ### APR_SHUTDOWN_WRITE

    public static final int APR_SHUTDOWN_WRITE
    Deprecated.
    no longer allow write requests
    See Also:
      - Constant Field Values

  - ### APR_SHUTDOWN_READWRITE

    public static final int APR_SHUTDOWN_READWRITE
    Deprecated.
    no longer allow read or write requests
    See Also:
      - Constant Field Values

  - ### APR_IPV4_ADDR_OK

    public static final int APR_IPV4_ADDR_OK
    Deprecated.
    See Also:
      - Constant Field Values

  - ### APR_IPV6_ADDR_OK

    public static final int APR_IPV6_ADDR_OK
    Deprecated.
    See Also:
      - Constant Field Values

  - ### APR_UNSPEC

    public static final int APR_UNSPEC
    Deprecated.
    See Also:
      - Constant Field Values

  - ### APR_INET

    public static final int APR_INET
    Deprecated.
    See Also:
      - Constant Field Values

  - ### APR_INET6

    public static final int APR_INET6
    Deprecated.
    See Also:
      - Constant Field Values

  - ### APR_UNIX

    public static final int APR_UNIX
    Deprecated.
    See Also:
      - Constant Field Values

  - ### APR_PROTO_TCP

    public static final int APR_PROTO_TCP
    Deprecated.
    TCP
    See Also:
      - Constant Field Values

  - ### APR_PROTO_UDP

    public static final int APR_PROTO_UDP
    Deprecated.
    UDP
    See Also:
      - Constant Field Values

  - ### APR_PROTO_SCTP

    public static final int APR_PROTO_SCTP
    Deprecated.
    SCTP
    See Also:
      - Constant Field Values

  - ### APR_LOCAL

    public static final int APR_LOCAL
    Deprecated.
    Enum to tell us if we're interested in remote or local socket apr_interface_e
    See Also:
      - Constant Field Values

  - ### APR_REMOTE

    public static final int APR_REMOTE
    Deprecated.
    See Also:
      - Constant Field Values

  - ### SOCKET_GET_POOL

    public static final int SOCKET_GET_POOL
    Deprecated.
    See Also:
      - Constant Field Values

  - ### SOCKET_GET_IMPL

    public static final int SOCKET_GET_IMPL
    Deprecated.
    See Also:
      - Constant Field Values

  - ### SOCKET_GET_APRS

    public static final int SOCKET_GET_APRS
    Deprecated.
    See Also:
      - Constant Field Values

  - ### SOCKET_GET_TYPE

    public static final int SOCKET_GET_TYPE
    Deprecated.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Socket

    public Socket()
    Deprecated.

- ## Method Details

  - ### create

    public static long create(int family, int type, int protocol, long cont) throws Exception
    Deprecated.
    Create a socket.
    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.
    Throws:
      `Exception` - Error creating socket

  - ### shutdown

    public static int shutdown(long thesocket, int how)
    Deprecated.
    Shutdown either reading, writing, or both sides of a socket.
    This does not actually close the socket descriptor, it just controls which calls are still valid on the socket.
    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

    Returns:
      the operation status

  - ### close

    public static int close(long thesocket)
    Deprecated.
    Close a socket.
    Parameters:
      `thesocket` - The socket to close
    Returns:
      the operation status

  - ### destroy

    public static void destroy(long thesocket)
    Deprecated.
    Destroy a pool associated with socket
    Parameters:
      `thesocket` - The destroy

  - ### bind

    public static int bind(long sock, long sa)
    Deprecated.
    Bind the socket to its associated port
    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.
    Returns:
      the operation status

  - ### listen

    public static int listen(long sock, int backlog)
    Deprecated.
    Listen to a bound socket for connections.
    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.
    Returns:
      the operation status

  - ### acceptx

    public static long acceptx(long sock, long pool) throws Exception
    Deprecated.
    Accept a new connection request
    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.
    Throws:
      `Exception` - Socket accept error

  - ### accept

    public static long accept(long sock) throws Exception
    Deprecated.
    Accept a new connection request
    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.
    Throws:
      `Exception` - Socket accept error

  - ### acceptfilter

    public static int acceptfilter(long sock, String name, String args)
    Deprecated.
    Set an OS level accept filter.
    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.
    Returns:
      the operation status

  - ### atmark

    public static boolean atmark(long sock)
    Deprecated.
    Query the specified socket if at the OOB/Urgent data mark
    Parameters:
      `sock` - The socket to query
    Returns:
      `true` if socket is at the OOB/urgent mark, otherwise `false`.

  - ### connect

    public static int connect(long sock, long sa)
    Deprecated.
    Issue a connection request to a socket either on the same machine or a different one.
    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.
    Returns:
      the operation status

  - ### send

    public static int send(long sock, byte[] buf, int offset, int len)
    Deprecated.
    Send data over a network.

        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 sent

  - ### sendb

    public static int sendb(long sock, ByteBuffer buf, int offset, int len)
    Deprecated.
    Send data over a network.

        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 sent

  - ### sendib

    public static int sendib(long sock, ByteBuffer buf, int offset, int len)
    Deprecated.
    Send data over a network without retry

        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.

    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 sent

  - ### sendbb

    public static int sendbb(long sock, int offset, int len)
    Deprecated.
    Send data over a network using internally set ByteBuffer
    Parameters:
      `sock` - The socket to send the data over.
      `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 sent

  - ### sendibb

    public static int sendibb(long sock, int offset, int len)
    Deprecated.
    Send data over a network using internally set ByteBuffer without internal retry.
    Parameters:
      `sock` - The socket to send the data over.
      `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 sent

  - ### sendv

    public static int sendv(long sock, byte[][] vec)
    Deprecated.
    Send multiple packets of data over a network.

        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.
    Returns:
      The number of bytes sent

  - ### sendto

    public static int sendto(long sock, long where, int flags, byte[] buf, int offset, int len)
    Deprecated.
    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
    Returns:
      The number of bytes sent

  - ### recv

    public static int recv(long sock, byte[] buf, int offset, int nbytes)
    Deprecated.
    Read data from a network.

        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.

  - ### recvt

    public static int recvt(long sock, byte[] buf, int offset, int nbytes, long timeout)
    Deprecated.
    Read data from a network with timeout.

        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.

  - ### recvb

    public static int recvb(long sock, ByteBuffer buf, int offset, int nbytes)
    Deprecated.
    Read data from a network.

        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:
      If ≥ 0, the return value is the number of bytes read. Note a non-blocking read with no data current available will return `Status.EAGAIN` and EOF will return `Status.APR_EOF`.

  - ### recvbb

    public static int recvbb(long sock, int offset, int nbytes)
    Deprecated.
    Read data from a network using internally set ByteBuffer.
    Parameters:
      `sock` - The socket to read the data from.
      `offset` - Offset in the byte buffer.
      `nbytes` - The number of bytes to read (-1) for full array.
    Returns:
      If > 0, the return value is the number of bytes read. If == 0, the return value indicates EOF and if < 0 the return value is the error code. Note a non-blocking read with no data current available will return `Status.EAGAIN` not zero.

  - ### recvbt

    public static int recvbt(long sock, ByteBuffer buf, int offset, int nbytes, long timeout)
    Deprecated.
    Read data from a network with timeout.

        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.

  - ### recvbbt

    public static int recvbbt(long sock, int offset, int nbytes, long timeout)
    Deprecated.
    Read data from a network with timeout using internally set ByteBuffer
    Parameters:
      `sock` - The socket to read the data from.
      `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.

  - ### recvfrom

    public static int recvfrom(long from, long sock, int flags, byte[] buf, int offset, int nbytes)
    Deprecated.
    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.

  - ### optSet

    public static int optSet(long sock, int opt, int on)
    Deprecated.
    Setup socket options for the specified socket
    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.
    Returns:
      the operation status

  - ### optGet

    public static int optGet(long sock, int opt) throws Exception
    Deprecated.
    Query socket options for the specified socket
    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.
    Throws:
      `Exception` - An error occurred

  - ### timeoutSet

    public static int timeoutSet(long sock, long t)
    Deprecated.
    Setup socket timeout for the specified socket
    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
                    elapses with no data read or written
          t == 0 -- read and write calls never block
          t < 0  -- read and write calls block

    Returns:
      the operation status

  - ### timeoutGet

    public static long timeoutGet(long sock) throws Exception
    Deprecated.
    Query socket timeout for the specified socket
    Parameters:
      `sock` - The socket to query
    Returns:
      Socket timeout returned from the query.
    Throws:
      `Exception` - An error occurred

  - ### sendfile

    public static long sendfile(long sock, long file, byte[][] headers, byte[][] trailers, long offset, long len, int flags)
    Deprecated.
    Send a file from an open file descriptor to a socket, along with optional headers and trailers.
    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 the len parameter. The offset parameter is passed by reference for no reason; its value will never be modified by the apr_socket_sendfile() function.
    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

  - ### sendfilen

    public static long sendfilen(long sock, long file, long offset, long len, int flags)
    Deprecated.
    Send a file without header and trailer arrays.
    Parameters:
      `sock` - The socket to which we're writing
      `file` - The open file from which to read
      `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

  - ### pool

    public static long pool(long thesocket) throws Exception
    Deprecated.
    Create a child pool from associated socket pool.
    Parameters:
      `thesocket` - The socket to use
    Returns:
      a pointer to the pool
    Throws:
      `Exception` - An error occurred

  - ### setsbb

    public static void setsbb(long sock, ByteBuffer buf)
    Deprecated.
    Set internal send ByteBuffer. This function will preset internal Java ByteBuffer for consecutive sendbb calls.
    Parameters:
      `sock` - The socket to use
      `buf` - The ByteBuffer

  - ### setrbb

    public static void setrbb(long sock, ByteBuffer buf)
    Deprecated.
    Set internal receive ByteBuffer. This function will preset internal Java ByteBuffer for consecutive revcvbb/recvbbt calls.
    Parameters:
      `sock` - The socket to use
      `buf` - The ByteBuffer

  - ### dataSet

    public static int dataSet(long sock, String key, Object data)
    Deprecated.
    Set the data associated with the current socket.
    Parameters:
      `sock` - The currently open socket.
      `key` - The key to associate with the data.
      `data` - The user data to associate with the socket.
    Returns:
      the operation status

  - ### dataGet

    public static Object dataGet(long sock, String key)
    Deprecated.
    Return the data associated with the current socket
    Parameters:
      `sock` - The currently open socket.
      `key` - The key to associate with the user data.
    Returns:
      Data or null in case of error.