Class NetClientOptions

    • Field Detail

      • DEFAULT_RECONNECT_ATTEMPTS

        public static final int DEFAULT_RECONNECT_ATTEMPTS
        The default value for reconnect attempts = 0
        See Also:
        Constant Field Values
      • DEFAULT_RECONNECT_INTERVAL

        public static final long DEFAULT_RECONNECT_INTERVAL
        The default value for reconnect interval = 1000 ms
        See Also:
        Constant Field Values
      • DEFAULT_HOSTNAME_VERIFICATION_ALGORITHM

        public static final String DEFAULT_HOSTNAME_VERIFICATION_ALGORITHM
        Default value to determine hostname verification algorithm hostname verification (for SSL/TLS) = ""
        See Also:
        Constant Field Values
      • DEFAULT_REGISTER_WRITE_HANDLER

        public static final boolean DEFAULT_REGISTER_WRITE_HANDLER
        Whether a write-handler should be registered by default = false.
        See Also:
        Constant Field Values
    • Constructor Detail

      • NetClientOptions

        public NetClientOptions()
        The default constructor
      • NetClientOptions

        public NetClientOptions​(NetClientOptions other)
        Copy constructor
        Parameters:
        other - the options to copy
      • NetClientOptions

        public NetClientOptions​(ClientOptionsBase other)
        Create an instance copying the values from other and using the defaults of NetClientOptions.
        Parameters:
        other - the options to copy
      • NetClientOptions

        public NetClientOptions​(JsonObject json)
        Create options from JSON
        Parameters:
        json - the JSON
    • Method Detail

      • setSendBufferSize

        public NetClientOptions 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 NetClientOptions 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 NetClientOptions 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 NetClientOptions 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 NetClientOptions 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
      • setTcpNoDelay

        public NetClientOptions 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 NetClientOptions 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 NetClientOptions 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 NetClientOptions 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 NetClientOptions 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 NetClientOptions 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 NetClientOptions 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 NetClientOptions 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
      • setTrustAll

        public NetClientOptions 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
      • setMetricsName

        public NetClientOptions 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
      • setReconnectAttempts

        public NetClientOptions setReconnectAttempts​(int attempts)
        Set the value of reconnect attempts
        Parameters:
        attempts - the maximum number of reconnect attempts
        Returns:
        a reference to this, so the API can be used fluently
      • getReconnectAttempts

        public int getReconnectAttempts()
        Returns:
        the value of reconnect attempts
      • setReconnectInterval

        public NetClientOptions setReconnectInterval​(long interval)
        Set the reconnect interval
        Parameters:
        interval - the reconnect interval in ms
        Returns:
        a reference to this, so the API can be used fluently
      • getHostnameVerificationAlgorithm

        public String getHostnameVerificationAlgorithm()
        Returns:
        the value of the hostname verification algorithm
      • setHostnameVerificationAlgorithm

        public NetClientOptions setHostnameVerificationAlgorithm​(String hostnameVerificationAlgorithm)
        Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String
        Parameters:
        hostnameVerificationAlgorithm - should be HTTPS, LDAPS or an empty String
        Returns:
        a reference to this, so the API can be used fluently
      • getApplicationLayerProtocols

        public List<String> getApplicationLayerProtocols()
        Returns:
        the list of application-layer protocols send during the Application-Layer Protocol Negotiation.
      • setApplicationLayerProtocols

        public NetClientOptions setApplicationLayerProtocols​(List<String> protocols)
        Set the list of application-layer protocols to provide to the server during the Application-Layer Protocol Negotiation.
        Parameters:
        protocols - the protocols
        Returns:
        a reference to this, so the API can be used fluently
      • getReconnectInterval

        public long getReconnectInterval()
        Returns:
        the value of reconnect interval
      • setLogActivity

        public NetClientOptions 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 NetClientOptions 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
      • setProxyOptions

        public NetClientOptions 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 NetClientOptions 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 NetClientOptions 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
      • setEnabledSecureTransportProtocols

        public NetClientOptions 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 NetClientOptions 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 NetClientOptions 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
      • isRegisterWriteHandler

        public boolean isRegisterWriteHandler()
        Returns:
        true if a write-handler should be registered on the EventBus, otherwise false
      • setRegisterWriteHandler

        public NetClientOptions setRegisterWriteHandler​(boolean registerWriteHandler)
        Whether a write-handler should be registered on the EventBus.

        Defaults to false.

        Parameters:
        registerWriteHandler - true to register a write-handler
        Returns:
        a reference to this, so the API can be used fluently
        See Also:
        NetSocket.writeHandlerID()