Class ClientOptionsBase

    • Field Detail

      • DEFAULT_CONNECT_TIMEOUT

        public static final int DEFAULT_CONNECT_TIMEOUT
        The default value of connect timeout = 60000 (ms)
        See Also:
        Constant Field Values
      • DEFAULT_METRICS_NAME

        public static final String DEFAULT_METRICS_NAME
        The default value of the client metrics = "":
        See Also:
        Constant Field Values
    • Constructor Detail

      • ClientOptionsBase

        public ClientOptionsBase()
        Default constructor
      • ClientOptionsBase

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

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

      • isTrustAll

        public boolean isTrustAll()
        Returns:
        true if all server certificates should be trusted
      • setTrustAll

        public ClientOptionsBase setTrustAll​(boolean trustAll)
        Set whether all server certificates should be trusted
        Parameters:
        trustAll - true if all should be trusted
        Returns:
        a reference to this, so the API can be used fluently
      • getConnectTimeout

        public int getConnectTimeout()
        Returns:
        the value of connect timeout
      • setConnectTimeout

        public ClientOptionsBase setConnectTimeout​(int connectTimeout)
        Set the connect timeout
        Parameters:
        connectTimeout - connect timeout, in ms
        Returns:
        a reference to this, so the API can be used fluently
      • getMetricsName

        public String getMetricsName()
        Returns:
        the metrics name identifying the reported metrics.
      • setMetricsName

        public ClientOptionsBase setMetricsName​(String metricsName)
        Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
        Parameters:
        metricsName - the metrics name
        Returns:
        a reference to this, so the API can be used fluently
      • setProxyOptions

        public ClientOptionsBase setProxyOptions​(ProxyOptions proxyOptions)
        Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.
        Parameters:
        proxyOptions - proxy options object
        Returns:
        a reference to this, so the API can be used fluently
      • getProxyOptions

        public ProxyOptions getProxyOptions()
        Get proxy options for connections
        Returns:
        proxy options
      • getNonProxyHosts

        public List<String> getNonProxyHosts()
        Returns:
        the list of non proxies hosts
      • setNonProxyHosts

        public ClientOptionsBase setNonProxyHosts​(List<String> nonProxyHosts)
        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.

        Parameters:
        nonProxyHosts - the list of non proxies hosts
        Returns:
        a reference to this, so the API can be used fluently
      • addNonProxyHost

        public ClientOptionsBase addNonProxyHost​(String host)
        Add a host to the getNonProxyHosts() list.
        Parameters:
        host - the added host
        Returns:
        a reference to this, so the API can be used fluently
      • getLocalAddress

        public String getLocalAddress()
        Returns:
        the local interface to bind for network connections.
      • setLocalAddress

        public ClientOptionsBase setLocalAddress​(String localAddress)
        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.
        Parameters:
        localAddress - the local address
        Returns:
        a reference to this, so the API can be used fluently
      • setLogActivity

        public ClientOptionsBase 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 TCPSSLOptions
        Parameters:
        logEnabled - true for logging the network activity
        Returns:
        a reference to this, so the API can be used fluently
      • setActivityLogDataFormat

        public ClientOptionsBase 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 TCPSSLOptions
        Parameters:
        activityLogDataFormat - the format to use
        Returns:
        a reference to this, so the API can be used fluently
      • setTcpNoDelay

        public ClientOptionsBase setTcpNoDelay​(boolean tcpNoDelay)
        Description copied from class: TCPSSLOptions
        Set whether TCP no delay is enabled
        Overrides:
        setTcpNoDelay in class TCPSSLOptions
        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 ClientOptionsBase setTcpKeepAlive​(boolean tcpKeepAlive)
        Description copied from class: TCPSSLOptions
        Set whether TCP keep alive is enabled
        Overrides:
        setTcpKeepAlive in class TCPSSLOptions
        Parameters:
        tcpKeepAlive - true if TCP keep alive is enabled
        Returns:
        a reference to this, so the API can be used fluently
      • setSoLinger

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

        public ClientOptionsBase 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 TCPSSLOptions
        Parameters:
        idleTimeout - the timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setReadIdleTimeout

        public ClientOptionsBase 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 TCPSSLOptions
        Parameters:
        idleTimeout - the read timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setWriteIdleTimeout

        public ClientOptionsBase 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 TCPSSLOptions
        Parameters:
        idleTimeout - the write timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setIdleTimeoutUnit

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

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

        public ClientOptionsBase setUseAlpn​(boolean useAlpn)
        Description copied from class: TCPSSLOptions
        Set the ALPN usage.
        Overrides:
        setUseAlpn in class TCPSSLOptions
        Parameters:
        useAlpn - true when Application-Layer Protocol Negotiation should be used
      • setSendBufferSize

        public ClientOptionsBase setSendBufferSize​(int sendBufferSize)
        Description copied from class: NetworkOptions
        Set the TCP send buffer size
        Overrides:
        setSendBufferSize in class TCPSSLOptions
        Parameters:
        sendBufferSize - the buffers size, in bytes
        Returns:
        a reference to this, so the API can be used fluently
      • setReceiveBufferSize

        public ClientOptionsBase setReceiveBufferSize​(int receiveBufferSize)
        Description copied from class: NetworkOptions
        Set the TCP receive buffer size
        Overrides:
        setReceiveBufferSize in class TCPSSLOptions
        Parameters:
        receiveBufferSize - the buffers size, in bytes
        Returns:
        a reference to this, so the API can be used fluently
      • setReuseAddress

        public ClientOptionsBase setReuseAddress​(boolean reuseAddress)
        Description copied from class: NetworkOptions
        Set the value of reuse address
        Overrides:
        setReuseAddress in class TCPSSLOptions
        Parameters:
        reuseAddress - the value of reuse address
        Returns:
        a reference to this, so the API can be used fluently
      • setReusePort

        public ClientOptionsBase 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 TCPSSLOptions
        Parameters:
        reusePort - the value of reuse port
        Returns:
        a reference to this, so the API can be used fluently
      • setTrafficClass

        public ClientOptionsBase setTrafficClass​(int trafficClass)
        Description copied from class: NetworkOptions
        Set the value of traffic class
        Overrides:
        setTrafficClass in class TCPSSLOptions
        Parameters:
        trafficClass - the value of traffic class
        Returns:
        a reference to this, so the API can be used fluently
      • addEnabledSecureTransportProtocol

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

        public ClientOptionsBase setTcpFastOpen​(boolean tcpFastOpen)
        Description copied from class: TCPSSLOptions
        Enable the TCP_FASTOPEN option - only with linux native transport.
        Overrides:
        setTcpFastOpen in class TCPSSLOptions
        Parameters:
        tcpFastOpen - the fast open value
      • setTcpQuickAck

        public ClientOptionsBase setTcpQuickAck​(boolean tcpQuickAck)
        Description copied from class: TCPSSLOptions
        Enable the TCP_QUICKACK option - only with linux native transport.
        Overrides:
        setTcpQuickAck in class TCPSSLOptions
        Parameters:
        tcpQuickAck - the quick ack value
      • setTcpUserTimeout

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