io.vertx.core.http

## Class WebSocketClientOptions

- java.lang.Object
- - io.vertx.core.net.NetworkOptions
  - - io.vertx.core.net.TCPSSLOptions
    - - io.vertx.core.net.ClientOptionsBase
      - - io.vertx.core.http.WebSocketClientOptions

-     public class WebSocketClientOptions
      extends ClientOptionsBase

- - ### Field Summary

    - ### Fields inherited from class io.vertx.core.net.ClientOptionsBase

      `DEFAULT_CONNECT_TIMEOUT, DEFAULT_METRICS_NAME, DEFAULT_TRUST_ALL`

    - ### Fields inherited from class io.vertx.core.net.TCPSSLOptions

      `DEFAULT_ENABLED_SECURE_TRANSPORT_PROTOCOLS, DEFAULT_IDLE_TIMEOUT, DEFAULT_IDLE_TIMEOUT_TIME_UNIT, DEFAULT_READ_IDLE_TIMEOUT, DEFAULT_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_SSL_HANDSHAKE_TIMEOUT, DEFAULT_SSL_HANDSHAKE_TIMEOUT_TIME_UNIT, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEAPLIVE_INTERVAL_SECONDS, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_KEEPALIVE_COUNT, DEFAULT_TCP_KEEPALIVE_IDLE_SECONDS, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_TCP_USER_TIMEOUT, DEFAULT_USE_ALPN, DEFAULT_WRITE_IDLE_TIMEOUT`

    - ### Fields inherited from class io.vertx.core.net.NetworkOptions

      `DEFAULT_LOG_ACTIVITY_FORMAT, DEFAULT_LOG_ENABLED, DEFAULT_RECEIVE_BUFFER_SIZE, DEFAULT_REUSE_ADDRESS, DEFAULT_REUSE_PORT, DEFAULT_SEND_BUFFER_SIZE, DEFAULT_TRAFFIC_CLASS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WebSocketClientOptions()` Default constructor
    `WebSocketClientOptions(JsonObject json)` Constructor to create an options from JSON
    `WebSocketClientOptions(WebSocketClientOptions other)` Copy constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `WebSocketClientOptions` | `addCrlPath(String crlPath)` Add a CRL path
    `WebSocketClientOptions` | `addCrlValue(Buffer crlValue)` Add a CRL value
    `WebSocketClientOptions` | `addEnabledCipherSuite(String suite)` Add an enabled cipher suite, appended to the ordered suites.
    `WebSocketClientOptions` | `addEnabledSecureTransportProtocol(String protocol)` Add an enabled SSL/TLS protocols, appended to the ordered protocols.
    `WebSocketClientOptions` | `addNonProxyHost(String host)` Add a `host` to the `ClientOptionsBase.getNonProxyHosts()` list.
    `int` | `getClosingTimeout()`
    `boolean` | `getCompressionAllowClientNoContext()`
    `int` | `getCompressionLevel()`
    `boolean` | `getCompressionRequestServerNoContext()`
    `String` | `getDefaultHost()` Get the default host name to be used by this client in requests if none is provided when making the request.
    `int` | `getDefaultPort()` Get the default port to be used by this client in requests if none is provided when making the request.
    `int` | `getMaxConnections()` Get the maximum of WebSockets per endpoint.
    `int` | `getMaxFrameSize()` Get the maximum WebSocket frame size to use
    `int` | `getMaxMessageSize()` Get the maximum WebSocket message size to use
    `String` | `getName()`
    `boolean` | `getTryUsePerFrameCompression()`
    `boolean` | `getTryUsePerMessageCompression()`
    `boolean` | `isSendUnmaskedFrames()`
    `boolean` | `isShared()`
    `boolean` | `isVerifyHost()` Is hostname verification (for SSL/TLS) enabled?
    `WebSocketClientOptions` | `removeEnabledCipherSuite(String suite)` Removes an enabled cipher suite from the ordered suites.
    `WebSocketClientOptions` | `setActivityLogDataFormat(ByteBufFormat activityLogDataFormat)` Set the value of Netty's logging handler's data format: Netty's pipeline is configured for logging on Netty's logger.
    `WebSocketClientOptions` | `setClosingTimeout(int closingTimeout)` Set the amount of time a client WebSocket will wait until it closes the TCP connection after sending a close frame.
    `WebSocketClientOptions` | `setCompressionAllowClientNoContext(boolean offer)` Set whether the `client_no_context_takeover` parameter of the WebSocket per-message deflate compression extension will be offered.
    `WebSocketClientOptions` | `setCompressionLevel(int compressionLevel)` Set the WebSocket deflate compression level.
    `WebSocketClientOptions` | `setCompressionRequestServerNoContext(boolean offer)` Set whether the `server_no_context_takeover` parameter of the WebSocket per-message deflate compression extension will be offered.
    `WebSocketClientOptions` | `setConnectTimeout(int connectTimeout)` Set the connect timeout
    `WebSocketClientOptions` | `setDefaultHost(String defaultHost)` Set the default host name to be used by this client in requests if none is provided when making the request.
    `WebSocketClientOptions` | `setDefaultPort(int defaultPort)` Set the default port to be used by this client in requests if none is provided when making the request.
    `WebSocketClientOptions` | `setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)` Sets the list of enabled SSL/TLS protocols.
    `WebSocketClientOptions` | `setIdleTimeout(int idleTimeout)` Set the idle timeout, default time unit is seconds.
    `WebSocketClientOptions` | `setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)` Set the idle timeout unit.
    `WebSocketClientOptions` | `setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)` Deprecated.
    `WebSocketClientOptions` | `setKeyCertOptions(KeyCertOptions options)` Set the key/cert options.
    `WebSocketClientOptions` | `setKeyStoreOptions(JksOptions options)` Deprecated.
    `WebSocketClientOptions` | `setLocalAddress(String localAddress)` Set the local interface to bind for network connections.
    `WebSocketClientOptions` | `setLogActivity(boolean logEnabled)` Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
    `WebSocketClientOptions` | `setMaxConnections(int maxConnections)` Set the max number of WebSockets per endpoint.
    `WebSocketClientOptions` | `setMaxFrameSize(int maxFrameSize)` Set the max WebSocket frame size
    `WebSocketClientOptions` | `setMaxMessageSize(int maxMessageSize)` Set the max WebSocket message size
    `WebSocketClientOptions` | `setMetricsName(String metricsName)` Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
    `WebSocketClientOptions` | `setName(String name)` Set the client name, used when the client is shared, otherwise ignored.
    `WebSocketClientOptions` | `setNonProxyHosts(List<String> nonProxyHosts)` Set a list of remote hosts that are not proxied when the client is configured to use a proxy.
    `WebSocketClientOptions` | `setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)` Deprecated.
    `WebSocketClientOptions` | `setPemKeyCertOptions(PemKeyCertOptions options)` Deprecated.
    `WebSocketClientOptions` | `setPemTrustOptions(PemTrustOptions options)` Deprecated.
    `WebSocketClientOptions` | `setPfxKeyCertOptions(PfxOptions options)` Deprecated.
    `WebSocketClientOptions` | `setPfxTrustOptions(PfxOptions options)` Deprecated.
    `WebSocketClientOptions` | `setProxyOptions(ProxyOptions proxyOptions)` Set proxy options for connections via CONNECT proxy (e.g.
    `WebSocketClientOptions` | `setReadIdleTimeout(int idleTimeout)` Set the read idle timeout, default time unit is seconds.
    `WebSocketClientOptions` | `setReceiveBufferSize(int receiveBufferSize)` Set the TCP receive buffer size
    `WebSocketClientOptions` | `setReuseAddress(boolean reuseAddress)` Set the value of reuse address
    `WebSocketClientOptions` | `setReusePort(boolean reusePort)` Set the value of reuse port.
    `WebSocketClientOptions` | `setSendBufferSize(int sendBufferSize)` Set the TCP send buffer size
    `WebSocketClientOptions` | `setSendUnmaskedFrames(boolean sendUnmaskedFrames)` Set `true` when the client wants to skip frame masking.
    `WebSocketClientOptions` | `setShared(boolean shared)` Set to `true` to share the client.
    `WebSocketClientOptions` | `setSoLinger(int soLinger)` Set whether SO_linger keep alive is enabled
    `WebSocketClientOptions` | `setSsl(boolean ssl)` Set whether SSL/TLS is enabled
    `WebSocketClientOptions` | `setSslEngineOptions(SSLEngineOptions sslEngineOptions)` Set to use SSL engine implementation to use.
    `WebSocketClientOptions` | `setSslHandshakeTimeout(long sslHandshakeTimeout)` Set the SSL handshake timeout, default time unit is seconds.
    `WebSocketClientOptions` | `setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)` Set the SSL handshake timeout unit.
    `WebSocketClientOptions` | `setTcpCork(boolean tcpCork)` Enable the `TCP_CORK` option - only with linux native transport.
    `WebSocketClientOptions` | `setTcpFastOpen(boolean tcpFastOpen)` Enable the `TCP_FASTOPEN` option - only with linux native transport.
    `WebSocketClientOptions` | `setTcpKeepAlive(boolean tcpKeepAlive)` Set whether TCP keep alive is enabled
    `WebSocketClientOptions` | `setTcpNoDelay(boolean tcpNoDelay)` Set whether TCP no delay is enabled
    `WebSocketClientOptions` | `setTcpQuickAck(boolean tcpQuickAck)` Enable the `TCP_QUICKACK` option - only with linux native transport.
    `WebSocketClientOptions` | `setTcpUserTimeout(int tcpUserTimeout)` Sets the `TCP_USER_TIMEOUT` option - only with linux native transport.
    `WebSocketClientOptions` | `setTrafficClass(int trafficClass)` Set the value of traffic class
    `WebSocketClientOptions` | `setTrustAll(boolean trustAll)` Set whether all server certificates should be trusted
    `WebSocketClientOptions` | `setTrustOptions(TrustOptions options)` Set the trust options.
    `WebSocketClientOptions` | `setTrustStoreOptions(JksOptions options)` Deprecated.
    `WebSocketClientOptions` | `setTryUsePerFrameCompression(boolean offer)` Set whether the client will offer the WebSocket per-frame deflate compression extension.
    `WebSocketClientOptions` | `setTryUsePerMessageCompression(boolean offer)` Set whether the client will offer the WebSocket per-message deflate compression extension.
    `WebSocketClientOptions` | `setUseAlpn(boolean useAlpn)` Set the ALPN usage.
    `WebSocketClientOptions` | `setVerifyHost(boolean verifyHost)` Set whether hostname verification is enabled
    `WebSocketClientOptions` | `setWriteIdleTimeout(int idleTimeout)` Set the write idle timeout, default time unit is seconds.
    `JsonObject` | `toJson()` Convert to JSON

    - ### Methods inherited from class io.vertx.core.net.ClientOptionsBase

      `getConnectTimeout, getLocalAddress, getMetricsName, getNonProxyHosts, getProxyOptions, isTrustAll, removeEnabledSecureTransportProtocol`

    - ### Methods inherited from class io.vertx.core.net.TCPSSLOptions

      `getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getJdkSslEngineOptions, getKeyCertOptions, getKeyStoreOptions, getOpenSslEngineOptions, getPemKeyCertOptions, getPemTrustOptions, getPfxKeyCertOptions, getPfxTrustOptions, getReadIdleTimeout, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getSslOptions, getTcpKeepAliveCount, getTcpKeepAliveIdleSeconds, getTcpKeepAliveIntervalSeconds, getTcpUserTimeout, getTrustOptions, getTrustStoreOptions, getWriteIdleTimeout, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn, setTcpKeepAliveCount, setTcpKeepAliveIdleSeconds, setTcpKeepAliveIntervalSeconds`

    - ### Methods inherited from class io.vertx.core.net.NetworkOptions

      `getActivityLogDataFormat, getLogActivity, getReceiveBufferSize, getSendBufferSize, getTrafficClass, isReuseAddress, isReusePort`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### WebSocketClientOptions

          public WebSocketClientOptions()

      Default constructor

    - #### WebSocketClientOptions

          public WebSocketClientOptions(WebSocketClientOptions other)

      Copy constructor
      Parameters:
        `other` - the options to copy

    - #### WebSocketClientOptions

          public WebSocketClientOptions(JsonObject json)

      Constructor to create an options from JSON
      Parameters:
        `json` - the JSON

  - ### Method Detail

    - #### getDefaultHost

          public String getDefaultHost()

      Get the default host name to be used by this client in requests if none is provided when making the request.
      Returns:
        the default host name

    - #### setDefaultHost

          public WebSocketClientOptions setDefaultHost(String defaultHost)

      Set the default host name to be used by this client in requests if none is provided when making the request.
      Returns:
        a reference to this, so the API can be used fluently

    - #### getDefaultPort

          public int getDefaultPort()

      Get the default port to be used by this client in requests if none is provided when making the request.
      Returns:
        the default port

    - #### setDefaultPort

          public WebSocketClientOptions setDefaultPort(int defaultPort)

      Set the default port to be used by this client in requests if none is provided when making the request.
      Returns:
        a reference to this, so the API can be used fluently

    - #### isVerifyHost

          public boolean isVerifyHost()

      Is hostname verification (for SSL/TLS) enabled?
      Returns:
        `true` if enabled

    - #### setVerifyHost

          public WebSocketClientOptions setVerifyHost(boolean verifyHost)

      Set whether hostname verification is enabled
      Parameters:
        `verifyHost` - `true` if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### isSendUnmaskedFrames

          public boolean isSendUnmaskedFrames()

      Returns:
        `true` when frame masking is skipped

    - #### setSendUnmaskedFrames

          public WebSocketClientOptions setSendUnmaskedFrames(boolean sendUnmaskedFrames)

      Set `true` when the client wants to skip frame masking.

      You may want to set it `true` on server by server WebSocket communication: in this case you are by passing RFC6455 protocol.

      It's `false` as default.

      Parameters:
        `sendUnmaskedFrames` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### getMaxFrameSize

          public int getMaxFrameSize()

      Get the maximum WebSocket frame size to use
      Returns:
        the max WebSocket frame size

    - #### setMaxFrameSize

          public WebSocketClientOptions setMaxFrameSize(int maxFrameSize)

      Set the max WebSocket frame size
      Parameters:
        `maxFrameSize` - the max frame size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### getMaxMessageSize

          public int getMaxMessageSize()

      Get the maximum WebSocket message size to use
      Returns:
        the max WebSocket message size

    - #### setMaxMessageSize

          public WebSocketClientOptions setMaxMessageSize(int maxMessageSize)

      Set the max WebSocket message size
      Parameters:
        `maxMessageSize` - the max message size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### getMaxConnections

          public int getMaxConnections()

      Get the maximum of WebSockets per endpoint.
      Returns:
        the max number of WebSockets

    - #### setMaxConnections

          public WebSocketClientOptions setMaxConnections(int maxConnections)

      Set the max number of WebSockets per endpoint.
      Parameters:
        `maxConnections` - the max value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTryUsePerFrameCompression

          public WebSocketClientOptions setTryUsePerFrameCompression(boolean offer)

      Set whether the client will offer the WebSocket per-frame deflate compression extension.
      Parameters:
        `offer` - `true` to offer the per-frame deflate compression extension
      Returns:
        a reference to this, so the API can be used fluently

    - #### getTryUsePerFrameCompression

          public boolean getTryUsePerFrameCompression()

      Returns:
        `true` when the WebSocket per-frame deflate compression extension will be offered

    - #### setTryUsePerMessageCompression

          public WebSocketClientOptions setTryUsePerMessageCompression(boolean offer)

      Set whether the client will offer the WebSocket per-message deflate compression extension.
      Parameters:
        `offer` - `true` to offer the per-message deflate compression extension
      Returns:
        a reference to this, so the API can be used fluently

    - #### getTryUsePerMessageCompression

          public boolean getTryUsePerMessageCompression()

      Returns:
        `true` when the WebSocket per-message deflate compression extension will be offered

    - #### setCompressionLevel

          public WebSocketClientOptions setCompressionLevel(int compressionLevel)

      Set the WebSocket deflate compression level.
      Parameters:
        `compressionLevel` - the WebSocket deflate compression level
      Returns:
        a reference to this, so the API can be used fluently

    - #### getCompressionLevel

          public int getCompressionLevel()

      Returns:
        the WebSocket deflate compression level

    - #### setCompressionAllowClientNoContext

          public WebSocketClientOptions setCompressionAllowClientNoContext(boolean offer)

      Set whether the `client_no_context_takeover` parameter of the WebSocket per-message deflate compression extension will be offered.
      Parameters:
        `offer` - `true` to offer the `client_no_context_takeover` parameter
      Returns:
        a reference to this, so the API can be used fluently

    - #### getCompressionAllowClientNoContext

          public boolean getCompressionAllowClientNoContext()

      Returns:
        `true` when the `client_no_context_takeover` parameter for the WebSocket per-message deflate compression extension will be offered

    - #### setCompressionRequestServerNoContext

          public WebSocketClientOptions setCompressionRequestServerNoContext(boolean offer)

      Set whether the `server_no_context_takeover` parameter of the WebSocket per-message deflate compression extension will be offered.
      Parameters:
        `offer` - `true` to offer the `server_no_context_takeover` parameter
      Returns:
        a reference to this, so the API can be used fluently

    - #### getCompressionRequestServerNoContext

          public boolean getCompressionRequestServerNoContext()

      Returns:
        `true` when the `server_no_context_takeover` parameter for the WebSocket per-message deflate compression extension will be offered

    - #### getClosingTimeout

          public int getClosingTimeout()

      Returns:
        the amount of time (in seconds) a client WebSocket will wait until it closes TCP connection after receiving a close frame

    - #### setClosingTimeout

          public WebSocketClientOptions setClosingTimeout(int closingTimeout)

      Set the amount of time a client WebSocket will wait until it closes the TCP connection after sending a close frame.

      When a WebSocket is closed, the server should close the TCP connection. This timeout will close the TCP connection on the client when the server has not responded with a close frame and closed the connection in a timely manner.

      Setting to `0L` closes the TCP connection after receiving the close frame, note this should not be avoided when interacting with misbehaving server that do not respond with close frames.

      Set to a negative value to disable it.

      Parameters:
        `closingTimeout` - the timeout is seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### isShared

          public boolean isShared()

      Returns:
        whether the pool is shared

    - #### setShared

          public WebSocketClientOptions setShared(boolean shared)

      Set to `true` to share the client.

      There can be multiple shared clients distinguished by `getName()`, when no specific name is set, the `HttpClientOptions.DEFAULT_NAME` is used.

      Parameters:
        `shared` - `true` to use a shared client
      Returns:
        a reference to this, so the API can be used fluently

    - #### getName

          public String getName()

      Returns:
        the client name used for sharing

    - #### setName

          public WebSocketClientOptions setName(String name)

      Set the client name, used when the client is shared, otherwise ignored.
      Parameters:
        `name` - the new name
      Returns:
        a reference to this, so the API can be used fluently

    - #### toJson

          public JsonObject toJson()

      Convert to JSON
      Overrides:
        `toJson` in class `ClientOptionsBase`
      Returns:
        the JSON

    - #### setTrustAll

          public WebSocketClientOptions setTrustAll(boolean trustAll)

      Description copied from class: `ClientOptionsBase`
      Set whether all server certificates should be trusted
      Overrides:
        `setTrustAll` in class `ClientOptionsBase`
      Parameters:
        `trustAll` - true if all should be trusted
      Returns:
        a reference to this, so the API can be used fluently

    - #### setConnectTimeout

          public WebSocketClientOptions setConnectTimeout(int connectTimeout)

      Description copied from class: `ClientOptionsBase`
      Set the connect timeout
      Overrides:
        `setConnectTimeout` in class `ClientOptionsBase`
      Parameters:
        `connectTimeout` - connect timeout, in ms
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMetricsName

          public WebSocketClientOptions setMetricsName(String metricsName)

      Description copied from class: `ClientOptionsBase`
      Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
      Overrides:
        `setMetricsName` in class `ClientOptionsBase`
      Parameters:
        `metricsName` - the metrics name
      Returns:
        a reference to this, so the API can be used fluently

    - #### setProxyOptions

          public WebSocketClientOptions setProxyOptions(ProxyOptions proxyOptions)

      Description copied from class: `ClientOptionsBase`
      Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.
      Overrides:
        `setProxyOptions` in class `ClientOptionsBase`
      Parameters:
        `proxyOptions` - proxy options object
      Returns:
        a reference to this, so the API can be used fluently

    - #### setNonProxyHosts

          public WebSocketClientOptions setNonProxyHosts(List<String> nonProxyHosts)

      Description copied from class: `ClientOptionsBase`
      Set a list of remote hosts that are not proxied when the client is configured to use a proxy. This list serves the same purpose than the JVM `nonProxyHosts` configuration.

      Entries can use the * wildcard character for pattern matching, e.g *.example.com matches www.example.com.

      Overrides:
        `setNonProxyHosts` in class `ClientOptionsBase`
      Parameters:
        `nonProxyHosts` - the list of non proxies hosts
      Returns:
        a reference to this, so the API can be used fluently

    - #### setLocalAddress

          public WebSocketClientOptions setLocalAddress(String localAddress)

      Description copied from class: `ClientOptionsBase`
      Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null.
      Overrides:
        `setLocalAddress` in class `ClientOptionsBase`
      Parameters:
        `localAddress` - the local address
      Returns:
        a reference to this, so the API can be used fluently

    - #### setLogActivity

          public WebSocketClientOptions setLogActivity(boolean logEnabled)

      Description copied from class: `NetworkOptions`
      Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
      Overrides:
        `setLogActivity` in class `ClientOptionsBase`
      Parameters:
        `logEnabled` - true for logging the network activity
      Returns:
        a reference to this, so the API can be used fluently

    - #### setActivityLogDataFormat

          public WebSocketClientOptions setActivityLogDataFormat(ByteBufFormat activityLogDataFormat)

      Description copied from class: `NetworkOptions`
      Set the value of Netty's logging handler's data format: Netty's pipeline is configured for logging on Netty's logger.
      Overrides:
        `setActivityLogDataFormat` in class `ClientOptionsBase`
      Parameters:
        `activityLogDataFormat` - the format to use
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpNoDelay

          public WebSocketClientOptions setTcpNoDelay(boolean tcpNoDelay)

      Description copied from class: `TCPSSLOptions`
      Set whether TCP no delay is enabled
      Overrides:
        `setTcpNoDelay` in class `ClientOptionsBase`
      Parameters:
        `tcpNoDelay` - true if TCP no delay is enabled (Nagle disabled)
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpKeepAlive

          public WebSocketClientOptions setTcpKeepAlive(boolean tcpKeepAlive)

      Description copied from class: `TCPSSLOptions`
      Set whether TCP keep alive is enabled
      Overrides:
        `setTcpKeepAlive` in class `ClientOptionsBase`
      Parameters:
        `tcpKeepAlive` - true if TCP keep alive is enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSoLinger

          public WebSocketClientOptions setSoLinger(int soLinger)

      Description copied from class: `TCPSSLOptions`
      Set whether SO_linger keep alive is enabled
      Overrides:
        `setSoLinger` in class `ClientOptionsBase`
      Parameters:
        `soLinger` - true if SO_linger is enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeout

          public WebSocketClientOptions setIdleTimeout(int idleTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received nor sent within the timeout. If you want change default time unit, use `TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)`
      Overrides:
        `setIdleTimeout` in class `ClientOptionsBase`
      Parameters:
        `idleTimeout` - the timeout
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReadIdleTimeout

          public WebSocketClientOptions setReadIdleTimeout(int idleTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the read idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use `TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)`
      Overrides:
        `setReadIdleTimeout` in class `ClientOptionsBase`
      Parameters:
        `idleTimeout` - the read timeout
      Returns:
        a reference to this, so the API can be used fluently

    - #### setWriteIdleTimeout

          public WebSocketClientOptions setWriteIdleTimeout(int idleTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the write idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is sent within the timeout. If you want change default time unit, use `TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)`
      Overrides:
        `setWriteIdleTimeout` in class `ClientOptionsBase`
      Parameters:
        `idleTimeout` - the write timeout
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeoutUnit

          public WebSocketClientOptions setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)

      Description copied from class: `TCPSSLOptions`
      Set the idle timeout unit. If not specified, default is seconds.
      Overrides:
        `setIdleTimeoutUnit` in class `ClientOptionsBase`
      Parameters:
        `idleTimeoutUnit` - specify time unit.
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSsl

          public WebSocketClientOptions setSsl(boolean ssl)

      Description copied from class: `TCPSSLOptions`
      Set whether SSL/TLS is enabled
      Overrides:
        `setSsl` in class `ClientOptionsBase`
      Parameters:
        `ssl` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeyCertOptions

          public WebSocketClientOptions setKeyCertOptions(KeyCertOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert options.
      Overrides:
        `setKeyCertOptions` in class `ClientOptionsBase`
      Parameters:
        `options` - the key store options
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeyStoreOptions

          @Deprecated
          public WebSocketClientOptions setKeyStoreOptions(JksOptions options)

      Deprecated.
      Description copied from class: `TCPSSLOptions`
      Set the key/cert options in jks format, aka Java keystore.
      Overrides:
        `setKeyStoreOptions` in class `ClientOptionsBase`
      Parameters:
        `options` - the key store in jks format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPfxKeyCertOptions

          @Deprecated
          public WebSocketClientOptions setPfxKeyCertOptions(PfxOptions options)

      Deprecated.
      Description copied from class: `TCPSSLOptions`
      Set the key/cert options in pfx format.
      Overrides:
        `setPfxKeyCertOptions` in class `ClientOptionsBase`
      Parameters:
        `options` - the key cert options in pfx format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPemKeyCertOptions

          @Deprecated
          public WebSocketClientOptions setPemKeyCertOptions(PemKeyCertOptions options)

      Deprecated.
      Description copied from class: `TCPSSLOptions`
      Set the key/cert store options in pem format.
      Overrides:
        `setPemKeyCertOptions` in class `ClientOptionsBase`
      Parameters:
        `options` - the options in pem format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrustOptions

          public WebSocketClientOptions setTrustOptions(TrustOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options.
      Overrides:
        `setTrustOptions` in class `ClientOptionsBase`
      Parameters:
        `options` - the trust options
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrustStoreOptions

          @Deprecated
          public WebSocketClientOptions setTrustStoreOptions(JksOptions options)

      Deprecated.
      Description copied from class: `TCPSSLOptions`
      Set the trust options in jks format, aka Java truststore
      Overrides:
        `setTrustStoreOptions` in class `ClientOptionsBase`
      Parameters:
        `options` - the trust options in jks format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPfxTrustOptions

          @Deprecated
          public WebSocketClientOptions setPfxTrustOptions(PfxOptions options)

      Deprecated.
      Description copied from class: `TCPSSLOptions`
      Set the trust options in pfx format
      Overrides:
        `setPfxTrustOptions` in class `ClientOptionsBase`
      Parameters:
        `options` - the trust options in pfx format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPemTrustOptions

          @Deprecated
          public WebSocketClientOptions setPemTrustOptions(PemTrustOptions options)

      Deprecated.
      Description copied from class: `TCPSSLOptions`
      Set the trust options in pem format
      Overrides:
        `setPemTrustOptions` in class `ClientOptionsBase`
      Parameters:
        `options` - the trust options in pem format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setUseAlpn

          public WebSocketClientOptions setUseAlpn(boolean useAlpn)

      Description copied from class: `TCPSSLOptions`
      Set the ALPN usage.
      Overrides:
        `setUseAlpn` in class `ClientOptionsBase`
      Parameters:
        `useAlpn` - true when Application-Layer Protocol Negotiation should be used

    - #### setSslEngineOptions

          public WebSocketClientOptions setSslEngineOptions(SSLEngineOptions sslEngineOptions)

      Description copied from class: `TCPSSLOptions`
      Set to use SSL engine implementation to use.
      Overrides:
        `setSslEngineOptions` in class `ClientOptionsBase`
      Parameters:
        `sslEngineOptions` - the ssl engine to use
      Returns:
        a reference to this, so the API can be used fluently

    - #### setJdkSslEngineOptions

          @Deprecated
          public WebSocketClientOptions setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)

      Deprecated.
      Overrides:
        `setJdkSslEngineOptions` in class `ClientOptionsBase`

    - #### setOpenSslEngineOptions

          @Deprecated
          public WebSocketClientOptions setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)

      Deprecated.
      Overrides:
        `setOpenSslEngineOptions` in class `ClientOptionsBase`

    - #### setSendBufferSize

          public WebSocketClientOptions setSendBufferSize(int sendBufferSize)

      Description copied from class: `NetworkOptions`
      Set the TCP send buffer size
      Overrides:
        `setSendBufferSize` in class `ClientOptionsBase`
      Parameters:
        `sendBufferSize` - the buffers size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReceiveBufferSize

          public WebSocketClientOptions setReceiveBufferSize(int receiveBufferSize)

      Description copied from class: `NetworkOptions`
      Set the TCP receive buffer size
      Overrides:
        `setReceiveBufferSize` in class `ClientOptionsBase`
      Parameters:
        `receiveBufferSize` - the buffers size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReuseAddress

          public WebSocketClientOptions setReuseAddress(boolean reuseAddress)

      Description copied from class: `NetworkOptions`
      Set the value of reuse address
      Overrides:
        `setReuseAddress` in class `ClientOptionsBase`
      Parameters:
        `reuseAddress` - the value of reuse address
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReusePort

          public WebSocketClientOptions setReusePort(boolean reusePort)

      Description copied from class: `NetworkOptions`
      Set the value of reuse port.

      This is only supported by native transports.
      Overrides:
        `setReusePort` in class `ClientOptionsBase`
      Parameters:
        `reusePort` - the value of reuse port
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrafficClass

          public WebSocketClientOptions setTrafficClass(int trafficClass)

      Description copied from class: `NetworkOptions`
      Set the value of traffic class
      Overrides:
        `setTrafficClass` in class `ClientOptionsBase`
      Parameters:
        `trafficClass` - the value of traffic class
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpFastOpen

          public WebSocketClientOptions setTcpFastOpen(boolean tcpFastOpen)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_FASTOPEN` option - only with linux native transport.
      Overrides:
        `setTcpFastOpen` in class `ClientOptionsBase`
      Parameters:
        `tcpFastOpen` - the fast open value

    - #### setTcpCork

          public WebSocketClientOptions setTcpCork(boolean tcpCork)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_CORK` option - only with linux native transport.
      Overrides:
        `setTcpCork` in class `ClientOptionsBase`
      Parameters:
        `tcpCork` - the cork value

    - #### setTcpQuickAck

          public WebSocketClientOptions setTcpQuickAck(boolean tcpQuickAck)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_QUICKACK` option - only with linux native transport.
      Overrides:
        `setTcpQuickAck` in class `ClientOptionsBase`
      Parameters:
        `tcpQuickAck` - the quick ack value

    - #### setTcpUserTimeout

          public WebSocketClientOptions setTcpUserTimeout(int tcpUserTimeout)

      Description copied from class: `TCPSSLOptions`
      Sets the `TCP_USER_TIMEOUT` option - only with linux native transport.
      Overrides:
        `setTcpUserTimeout` in class `ClientOptionsBase`
      Parameters:
        `tcpUserTimeout` - the tcp user timeout value

    - #### setEnabledSecureTransportProtocols

          public WebSocketClientOptions setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)

      Description copied from class: `TCPSSLOptions`
      Sets the list of enabled SSL/TLS protocols.
      Overrides:
        `setEnabledSecureTransportProtocols` in class `TCPSSLOptions`
      Parameters:
        `enabledSecureTransportProtocols` - the SSL/TLS protocols to enable
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSslHandshakeTimeout

          public WebSocketClientOptions setSslHandshakeTimeout(long sslHandshakeTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the SSL handshake timeout, default time unit is seconds.
      Overrides:
        `setSslHandshakeTimeout` in class `TCPSSLOptions`
      Parameters:
        `sslHandshakeTimeout` - the SSL handshake timeout to set, in milliseconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSslHandshakeTimeoutUnit

          public WebSocketClientOptions setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)

      Description copied from class: `TCPSSLOptions`
      Set the SSL handshake timeout unit. If not specified, default is seconds.
      Overrides:
        `setSslHandshakeTimeoutUnit` in class `TCPSSLOptions`
      Parameters:
        `sslHandshakeTimeoutUnit` - specify time unit.
      Returns:
        a reference to this, so the API can be used fluently

    - #### addNonProxyHost

          public WebSocketClientOptions addNonProxyHost(String host)

      Description copied from class: `ClientOptionsBase`
      Add a `host` to the `ClientOptionsBase.getNonProxyHosts()` list.
      Overrides:
        `addNonProxyHost` in class `ClientOptionsBase`
      Parameters:
        `host` - the added host
      Returns:
        a reference to this, so the API can be used fluently

    - #### addEnabledCipherSuite

          public WebSocketClientOptions addEnabledCipherSuite(String suite)

      Description copied from class: `TCPSSLOptions`
      Add an enabled cipher suite, appended to the ordered suites.
      Overrides:
        `addEnabledCipherSuite` in class `ClientOptionsBase`
      Parameters:
        `suite` - the suite
      Returns:
        a reference to this, so the API can be used fluently
      See Also:
        `TCPSSLOptions.getEnabledCipherSuites()`

    - #### removeEnabledCipherSuite

          public WebSocketClientOptions removeEnabledCipherSuite(String suite)

      Description copied from class: `TCPSSLOptions`
      Removes an enabled cipher suite from the ordered suites.
      Overrides:
        `removeEnabledCipherSuite` in class `ClientOptionsBase`
      Parameters:
        `suite` - the suite
      Returns:
        a reference to this, so the API can be used fluently

    - #### addCrlPath

          public WebSocketClientOptions addCrlPath(String crlPath)
                                            throws NullPointerException

      Description copied from class: `TCPSSLOptions`
      Add a CRL path
      Overrides:
        `addCrlPath` in class `ClientOptionsBase`
      Parameters:
        `crlPath` - the path
      Returns:
        a reference to this, so the API can be used fluently
      Throws:
        `NullPointerException`

    - #### addCrlValue

          public WebSocketClientOptions addCrlValue(Buffer crlValue)
                                             throws NullPointerException

      Description copied from class: `TCPSSLOptions`
      Add a CRL value
      Overrides:
        `addCrlValue` in class `ClientOptionsBase`
      Parameters:
        `crlValue` - the value
      Returns:
        a reference to this, so the API can be used fluently
      Throws:
        `NullPointerException`

    - #### addEnabledSecureTransportProtocol

          public WebSocketClientOptions addEnabledSecureTransportProtocol(String protocol)

      Description copied from class: `TCPSSLOptions`
      Add an enabled SSL/TLS protocols, appended to the ordered protocols.
      Overrides:
        `addEnabledSecureTransportProtocol` in class `ClientOptionsBase`
      Parameters:
        `protocol` - the SSL/TLS protocol to enable
      Returns:
        a reference to this, so the API can be used fluently

Copyright © 2025 Eclipse. All rights reserved.