ExtendedSocketOptions (Java SE 13 & JDK 13 )
Description: declaration: module: jdk.net, package: jdk.net, class: ExtendedSocketOptions
Keywords: jdk.net.ExtendedSocketOptions class

Module jdk.net
Package jdk.net

# Class ExtendedSocketOptions

java.lang.Object
jdk.net.ExtendedSocketOptions

    public final class ExtendedSocketOptions
    extends Object

Defines extended socket options, beyond those defined in `StandardSocketOptions`. These options may be platform specific.

Since:
  1.8

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static SocketOption<SocketFlow>` | `SO_FLOW_SLA` | Service level properties.
  `static SocketOption<Integer>` | `TCP_KEEPCOUNT` | Keep-Alive retransmission maximum limit.
  `static SocketOption<Integer>` | `TCP_KEEPIDLE` | Keep-Alive idle time.
  `static SocketOption<Integer>` | `TCP_KEEPINTERVAL` | Keep-Alive retransmission interval time.
  `static SocketOption<Boolean>` | `TCP_QUICKACK` | Disable Delayed Acknowledgements.

- ## Method Summary

  ### Methods declared in class java.lang.Object

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

- ## Field Details

  - ### SO_FLOW_SLA

    public static final SocketOption<SocketFlow> SO_FLOW_SLA
    Service level properties. When a security manager is installed, setting or getting this option requires a `NetworkPermission` `("setOption.SO_FLOW_SLA")` or `"getOption.SO_FLOW_SLA"` respectively.

  - ### TCP_QUICKACK

    public static final SocketOption<Boolean> TCP_QUICKACK
    Disable Delayed Acknowledgements.

    This socket option can be used to reduce or disable delayed acknowledgments (ACKs). When `TCP_QUICKACK` is enabled, ACKs are sent immediately, rather than delayed if needed in accordance to normal TCP operation. This option is not permanent, it only enables a switch to or from `TCP_QUICKACK` mode. Subsequent operations of the TCP protocol will once again disable/enable `TCP_QUICKACK` mode depending on internal protocol processing and factors such as delayed ACK timeouts occurring and data transfer, therefore this option needs to be set with `setOption` after each operation of TCP on a given socket.

    The value of this socket option is a `Boolean` that represents whether the option is enabled or disabled. The socket option is specific to stream-oriented sockets using the TCP/IP protocol. The exact semantics of this socket option are socket type and system dependent.

    Since:
      10

  - ### TCP_KEEPIDLE

    public static final SocketOption<Integer> TCP_KEEPIDLE
    Keep-Alive idle time.

    The value of this socket option is an `Integer` that is the number of seconds of idle time before keep-alive initiates a probe. The socket option is specific to stream-oriented sockets using the TCP/IP protocol. The exact semantics of this socket option are system dependent.

    When the `SO_KEEPALIVE` option is enabled, TCP probes a connection that has been idle for some amount of time. The default value for this idle period is system dependent, but is typically 2 hours. The `TCP_KEEPIDLE` option can be used to affect this value for a given socket.

    Since:
      11

  - ### TCP_KEEPINTERVAL

    public static final SocketOption<Integer> TCP_KEEPINTERVAL
    Keep-Alive retransmission interval time.

    The value of this socket option is an `Integer` that is the number of seconds to wait before retransmitting a keep-alive probe. The socket option is specific to stream-oriented sockets using the TCP/IP protocol. The exact semantics of this socket option are system dependent.

    When the `SO_KEEPALIVE` option is enabled, TCP probes a connection that has been idle for some amount of time. If the remote system does not respond to a keep-alive probe, TCP retransmits the probe after some amount of time. The default value for this retransmission interval is system dependent, but is typically 75 seconds. The `TCP_KEEPINTERVAL` option can be used to affect this value for a given socket.

    Since:
      11

  - ### TCP_KEEPCOUNT

    public static final SocketOption<Integer> TCP_KEEPCOUNT
    Keep-Alive retransmission maximum limit.

    The value of this socket option is an `Integer` that is the maximum number of keep-alive probes to be sent. The socket option is specific to stream-oriented sockets using the TCP/IP protocol. The exact semantics of this socket option are system dependent.

    When the `SO_KEEPALIVE` option is enabled, TCP probes a connection that has been idle for some amount of time. If the remote system does not respond to a keep-alive probe, TCP retransmits the probe a certain number of times before a connection is considered to be broken. The default value for this keep-alive probe retransmit limit is system dependent, but is typically 8. The `TCP_KEEPCOUNT` option can be used to affect this value for a given socket.

    Since:
      11