Class SocketOptions

java.lang.Object
software.amazon.awssdk.crt.CrtResource
software.amazon.awssdk.crt.io.SocketOptions
All Implemented Interfaces:
AutoCloseable

public final class SocketOptions extends CrtResource
This class wraps the aws_socket_options from aws-c-io to provide access to TCP/UDP socket configuration in the AWS Common Runtime.
  • Field Details

    • domain

      Sets the socket domain
    • type

      Sets the socket type
    • connectTimeoutMs

      public int connectTimeoutMs
      Sets the number of milliseconds before a connection will be considered timed out
    • keepAliveIntervalSecs

      public int keepAliveIntervalSecs
      Sets the number of seconds between TCP keepalive packets being sent to the peer 0 disables keepalive
    • keepAliveTimeoutSecs

      public int keepAliveTimeoutSecs
      Sets the number of seconds to wait for a keepalive response before considering the connection timed out 0 disables keepalive
    • keepAliveMaxFailedProbes

      public int keepAliveMaxFailedProbes
      Sets the number of keep alive probes allowed to fail before the connection is considered lost. If zero, OS defaults are used. On Windows, this option is meaningless until Windows 10 1703.
    • keepAlive

      public boolean keepAlive
      If true, enables periodic transmits of keepalive messages for detecting a disconnected peer.
  • Constructor Details

    • SocketOptions

      public SocketOptions()
      Creates a new set of socket options
  • Method Details

    • setTcpKeepAlive

      public void setTcpKeepAlive(int keepAliveTimeoutSecs, int keepAliveIntervalSecs)
      Enables TCP keepalive.
      Parameters:
      keepAliveTimeoutSecs - Sets the number of seconds to wait for a keepalive response before considering the connection timed out. 0 disables keepalive.
      keepAliveIntervalSecs - Sets the number of seconds between TCP keepalive packets being sent to the peer. 0 disables keepalive.
    • setTcpKeepAlive

      public void setTcpKeepAlive(int keepAliveTimeoutSecs, int keepAliveIntervalSecs, int keepAliveMaxFailedProbes)
      Enables TCP keepalive.
      Parameters:
      keepAliveTimeoutSecs - Sets the number of seconds to wait for a keepalive response before considering the connection timed out. 0 disables keepalive.
      keepAliveIntervalSecs - Sets the number of seconds between TCP keepalive packets being sent to the peer. 0 disables keepalive.
      keepAliveMaxFailedProbes - Sets the number of keep alive probes allowed to fail before the connection is considered lost. If zero, OS defaults are used. On Windows, this option is meaningless until Windows 10 1703.
    • getNativeHandle

      public long getNativeHandle()
      Description copied from class: CrtResource
      returns the native handle associated with this CRTResource.
      Overrides:
      getNativeHandle in class CrtResource
      Returns:
      native address