Package io.vertx.core.net
Class ClientOptionsBase
- java.lang.Object
-
- io.vertx.core.net.NetworkOptions
-
- io.vertx.core.net.TCPSSLOptions
-
- io.vertx.core.net.ClientOptionsBase
-
- Direct Known Subclasses:
HttpClientOptions,NetClientOptions,WebSocketClientOptions
public abstract class ClientOptionsBase extends TCPSSLOptions
Base class for Client options- Author:
- Tim Fox
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_CONNECT_TIMEOUTThe default value of connect timeout = 60000 (ms)static StringDEFAULT_METRICS_NAMEThe default value of the client metrics = "":-
Fields inherited from class io.vertx.core.net.TCPSSLOptions
DEFAULT_IDLE_TIMEOUT, DEFAULT_IDLE_TIMEOUT_TIME_UNIT, DEFAULT_READ_IDLE_TIMEOUT, DEFAULT_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_TCP_USER_TIMEOUT, 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 Description ClientOptionsBase()Default constructorClientOptionsBase(JsonObject json)Create options from some JSONClientOptionsBase(ClientOptionsBase other)Copy constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClientOptionsBaseaddCrlPath(String crlPath)Add a CRL pathClientOptionsBaseaddCrlValue(Buffer crlValue)Add a CRL valueClientOptionsBaseaddEnabledCipherSuite(String suite)Add an enabled cipher suite, appended to the ordered suites.ClientOptionsBaseaddEnabledSecureTransportProtocol(String protocol)Add an enabled SSL/TLS protocols, appended to the ordered protocols.ClientOptionsBaseaddNonProxyHost(String host)Add ahostto thegetNonProxyHosts()list.intgetConnectTimeout()StringgetLocalAddress()StringgetMetricsName()List<String>getNonProxyHosts()protected ClientSSLOptionsgetOrCreateSSLOptions()ProxyOptionsgetProxyOptions()Get proxy options for connectionsClientSSLOptionsgetSslOptions()booleanisTrustAll()ClientOptionsBaseremoveEnabledCipherSuite(String suite)Removes an enabled cipher suite from the ordered suites.ClientOptionsBaseremoveEnabledSecureTransportProtocol(String protocol)Removes an enabled SSL/TLS protocol from the ordered protocols.ClientOptionsBasesetActivityLogDataFormat(ByteBufFormat activityLogDataFormat)Set the value of Netty's logging handler's data format: Netty's pipeline is configured for logging on Netty's logger.ClientOptionsBasesetConnectTimeout(int connectTimeout)Set the connect timeoutClientOptionsBasesetIdleTimeout(int idleTimeout)Set the idle timeout, default time unit is seconds.ClientOptionsBasesetIdleTimeoutUnit(TimeUnit idleTimeoutUnit)Set the idle timeout unit.ClientOptionsBasesetKeyCertOptions(KeyCertOptions options)Set the key/cert options.ClientOptionsBasesetLocalAddress(String localAddress)Set the local interface to bind for network connections.ClientOptionsBasesetLogActivity(boolean logEnabled)Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.ClientOptionsBasesetMetricsName(String metricsName)Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.ClientOptionsBasesetNonProxyHosts(List<String> nonProxyHosts)Set a list of remote hosts that are not proxied when the client is configured to use a proxy.ClientOptionsBasesetProxyOptions(ProxyOptions proxyOptions)Set proxy options for connections via CONNECT proxy (e.g.ClientOptionsBasesetReadIdleTimeout(int idleTimeout)Set the read idle timeout, default time unit is seconds.ClientOptionsBasesetReceiveBufferSize(int receiveBufferSize)Set the TCP receive buffer sizeClientOptionsBasesetReuseAddress(boolean reuseAddress)Set the value of reuse addressClientOptionsBasesetReusePort(boolean reusePort)Set the value of reuse port.ClientOptionsBasesetSendBufferSize(int sendBufferSize)Set the TCP send buffer sizeClientOptionsBasesetSoLinger(int soLinger)Set whether SO_linger keep alive is enabledClientOptionsBasesetSsl(boolean ssl)Set whether SSL/TLS is enabledClientOptionsBasesetSslEngineOptions(SSLEngineOptions sslEngineOptions)Set to use SSL engine implementation to use.ClientOptionsBasesetTcpCork(boolean tcpCork)Enable theTCP_CORKoption - only with linux native transport.ClientOptionsBasesetTcpFastOpen(boolean tcpFastOpen)Enable theTCP_FASTOPENoption - only with linux native transport.ClientOptionsBasesetTcpKeepAlive(boolean tcpKeepAlive)Set whether TCP keep alive is enabledClientOptionsBasesetTcpNoDelay(boolean tcpNoDelay)Set whether TCP no delay is enabledClientOptionsBasesetTcpQuickAck(boolean tcpQuickAck)Enable theTCP_QUICKACKoption - only with linux native transport.ClientOptionsBasesetTcpUserTimeout(int tcpUserTimeout)Sets theTCP_USER_TIMEOUToption - only with linux native transport.ClientOptionsBasesetTrafficClass(int trafficClass)Set the value of traffic classClientOptionsBasesetTrustAll(boolean trustAll)Set whether all server certificates should be trustedClientOptionsBasesetTrustOptions(TrustOptions options)Set the trust options.ClientOptionsBasesetUseAlpn(boolean useAlpn)Set the ALPN usage.ClientOptionsBasesetWriteIdleTimeout(int idleTimeout)Set the write idle timeout, default time unit is seconds.JsonObjecttoJson()Convert to JSON-
Methods inherited from class io.vertx.core.net.TCPSSLOptions
getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getKeyCertOptions, getReadIdleTimeout, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getTcpUserTimeout, getTrustOptions, getWriteIdleTimeout, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn, setEnabledSecureTransportProtocols, setSslHandshakeTimeout, setSslHandshakeTimeoutUnit
-
Methods inherited from class io.vertx.core.net.NetworkOptions
getActivityLogDataFormat, getLogActivity, getReceiveBufferSize, getSendBufferSize, getTrafficClass, isReuseAddress, isReusePort
-
-
-
-
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
-
toJson
public JsonObject toJson()
Convert to JSON- Overrides:
toJsonin classTCPSSLOptions- Returns:
- the JSON
-
getSslOptions
public ClientSSLOptions getSslOptions()
- Overrides:
getSslOptionsin classTCPSSLOptions
-
getOrCreateSSLOptions
protected ClientSSLOptions getOrCreateSSLOptions()
- Overrides:
getOrCreateSSLOptionsin classTCPSSLOptions
-
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
-
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 JVMnonProxyHostsconfiguration.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 ahostto thegetNonProxyHosts()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:NetworkOptionsSet to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.- Overrides:
setLogActivityin classTCPSSLOptions- 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:NetworkOptionsSet the value of Netty's logging handler's data format: Netty's pipeline is configured for logging on Netty's logger.- Overrides:
setActivityLogDataFormatin classTCPSSLOptions- 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:TCPSSLOptionsSet whether TCP no delay is enabled- Overrides:
setTcpNoDelayin classTCPSSLOptions- 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:TCPSSLOptionsSet whether TCP keep alive is enabled- Overrides:
setTcpKeepAlivein classTCPSSLOptions- 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:TCPSSLOptionsSet whether SO_linger keep alive is enabled- Overrides:
setSoLingerin classTCPSSLOptions- 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:TCPSSLOptionsSet 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, useTCPSSLOptions.setIdleTimeoutUnit(TimeUnit)- Overrides:
setIdleTimeoutin classTCPSSLOptions- 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:TCPSSLOptionsSet 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, useTCPSSLOptions.setIdleTimeoutUnit(TimeUnit)- Overrides:
setReadIdleTimeoutin classTCPSSLOptions- 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:TCPSSLOptionsSet 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, useTCPSSLOptions.setIdleTimeoutUnit(TimeUnit)- Overrides:
setWriteIdleTimeoutin classTCPSSLOptions- 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:TCPSSLOptionsSet the idle timeout unit. If not specified, default is seconds.- Overrides:
setIdleTimeoutUnitin classTCPSSLOptions- 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:TCPSSLOptionsSet whether SSL/TLS is enabled- Overrides:
setSslin classTCPSSLOptions- Parameters:
ssl- true if enabled- Returns:
- a reference to this, so the API can be used fluently
-
setKeyCertOptions
public ClientOptionsBase setKeyCertOptions(KeyCertOptions options)
Description copied from class:TCPSSLOptionsSet the key/cert options.- Overrides:
setKeyCertOptionsin classTCPSSLOptions- Parameters:
options- the key store options- Returns:
- a reference to this, so the API can be used fluently
-
setTrustOptions
public ClientOptionsBase setTrustOptions(TrustOptions options)
Description copied from class:TCPSSLOptionsSet the trust options.- Overrides:
setTrustOptionsin classTCPSSLOptions- Parameters:
options- the trust options- Returns:
- a reference to this, so the API can be used fluently
-
setUseAlpn
public ClientOptionsBase setUseAlpn(boolean useAlpn)
Description copied from class:TCPSSLOptionsSet the ALPN usage.- Overrides:
setUseAlpnin classTCPSSLOptions- Parameters:
useAlpn- true when Application-Layer Protocol Negotiation should be used
-
setSslEngineOptions
public ClientOptionsBase setSslEngineOptions(SSLEngineOptions sslEngineOptions)
Description copied from class:TCPSSLOptionsSet to use SSL engine implementation to use.- Overrides:
setSslEngineOptionsin classTCPSSLOptions- Parameters:
sslEngineOptions- the ssl engine to use- Returns:
- a reference to this, so the API can be used fluently
-
setSendBufferSize
public ClientOptionsBase setSendBufferSize(int sendBufferSize)
Description copied from class:NetworkOptionsSet the TCP send buffer size- Overrides:
setSendBufferSizein classTCPSSLOptions- 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:NetworkOptionsSet the TCP receive buffer size- Overrides:
setReceiveBufferSizein classTCPSSLOptions- 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:NetworkOptionsSet the value of reuse address- Overrides:
setReuseAddressin classTCPSSLOptions- 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:NetworkOptionsSet the value of reuse port. This is only supported by native transports.- Overrides:
setReusePortin classTCPSSLOptions- 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:NetworkOptionsSet the value of traffic class- Overrides:
setTrafficClassin classTCPSSLOptions- Parameters:
trafficClass- the value of traffic class- Returns:
- a reference to this, so the API can be used fluently
-
addEnabledCipherSuite
public ClientOptionsBase addEnabledCipherSuite(String suite)
Description copied from class:TCPSSLOptionsAdd an enabled cipher suite, appended to the ordered suites.- Overrides:
addEnabledCipherSuitein classTCPSSLOptions- Parameters:
suite- the suite- Returns:
- a reference to this, so the API can be used fluently
- See Also:
TCPSSLOptions.getEnabledCipherSuites()
-
removeEnabledCipherSuite
public ClientOptionsBase removeEnabledCipherSuite(String suite)
Description copied from class:TCPSSLOptionsRemoves an enabled cipher suite from the ordered suites.- Overrides:
removeEnabledCipherSuitein classTCPSSLOptions- Parameters:
suite- the suite- Returns:
- a reference to this, so the API can be used fluently
-
addCrlPath
public ClientOptionsBase addCrlPath(String crlPath) throws NullPointerException
Description copied from class:TCPSSLOptionsAdd a CRL path- Overrides:
addCrlPathin classTCPSSLOptions- Parameters:
crlPath- the path- Returns:
- a reference to this, so the API can be used fluently
- Throws:
NullPointerException
-
addCrlValue
public ClientOptionsBase addCrlValue(Buffer crlValue) throws NullPointerException
Description copied from class:TCPSSLOptionsAdd a CRL value- Overrides:
addCrlValuein classTCPSSLOptions- Parameters:
crlValue- the value- Returns:
- a reference to this, so the API can be used fluently
- Throws:
NullPointerException
-
addEnabledSecureTransportProtocol
public ClientOptionsBase addEnabledSecureTransportProtocol(String protocol)
Description copied from class:TCPSSLOptionsAdd an enabled SSL/TLS protocols, appended to the ordered protocols.- Overrides:
addEnabledSecureTransportProtocolin classTCPSSLOptions- Parameters:
protocol- the SSL/TLS protocol to enable- Returns:
- a reference to this, so the API can be used fluently
-
removeEnabledSecureTransportProtocol
public ClientOptionsBase removeEnabledSecureTransportProtocol(String protocol)
Description copied from class:TCPSSLOptionsRemoves an enabled SSL/TLS protocol from the ordered protocols.- Overrides:
removeEnabledSecureTransportProtocolin classTCPSSLOptions- Parameters:
protocol- the SSL/TLS protocol to disable- Returns:
- a reference to this, so the API can be used fluently
-
setTcpFastOpen
public ClientOptionsBase setTcpFastOpen(boolean tcpFastOpen)
Description copied from class:TCPSSLOptionsEnable theTCP_FASTOPENoption - only with linux native transport.- Overrides:
setTcpFastOpenin classTCPSSLOptions- Parameters:
tcpFastOpen- the fast open value
-
setTcpCork
public ClientOptionsBase setTcpCork(boolean tcpCork)
Description copied from class:TCPSSLOptionsEnable theTCP_CORKoption - only with linux native transport.- Overrides:
setTcpCorkin classTCPSSLOptions- Parameters:
tcpCork- the cork value
-
setTcpQuickAck
public ClientOptionsBase setTcpQuickAck(boolean tcpQuickAck)
Description copied from class:TCPSSLOptionsEnable theTCP_QUICKACKoption - only with linux native transport.- Overrides:
setTcpQuickAckin classTCPSSLOptions- Parameters:
tcpQuickAck- the quick ack value
-
setTcpUserTimeout
public ClientOptionsBase setTcpUserTimeout(int tcpUserTimeout)
Description copied from class:TCPSSLOptionsSets theTCP_USER_TIMEOUToption - only with linux native transport.- Overrides:
setTcpUserTimeoutin classTCPSSLOptions- Parameters:
tcpUserTimeout- the tcp user timeout value
-
-