Class NetServerOptions
java.lang.Object
io.vertx.core.net.NetworkOptions
io.vertx.core.net.TCPSSLOptions
io.vertx.core.net.NetServerOptions
- Direct Known Subclasses:
HttpServerOptions, MqttServerOptions, StompServerOptions, TelnetTermOptions
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe default accept backlog = 1024static final StringThe default host to listen on = "0.0.0.0" (meaning listen on all available interfaces).static final intThe default port to listen on = 0 (meaning a random ephemeral free port will be chosen)static final longThe default value of HA PROXY protocol timeout = 10static final TimeUnitDefault HA PROXY protocol time unit = SECONDSstatic final booleanWhether a write-handler should be registered by default = false.static final booleanDefault value of whether the server supports HA PROXY protocol = falseFields inherited from class 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_KEEAPLIVE_COUNT, DEFAULT_TCP_KEEAPLIVE_IDLE_SECONDS, DEFAULT_TCP_KEEAPLIVE_INTERVAL_SECONDS, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_TCP_USER_TIMEOUT, DEFAULT_WRITE_IDLE_TIMEOUT -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructorNetServerOptions(JsonObject json) Create some options from JSONNetServerOptions(NetServerOptions other) Copy constructor -
Method Summary
Modifier and TypeMethodDescriptionaddCrlPath(String crlPath) Add a CRL pathaddCrlValue(Buffer crlValue) Add a CRL valueaddEnabledCipherSuite(String suite) Add an enabled cipher suite, appended to the ordered suites.addEnabledSecureTransportProtocol(String protocol) Add an enabled SSL/TLS protocols, appended to the ordered protocols.copy()Copy these options.protected ServerSSLOptionsintgetHost()protected ServerSSLOptionsintgetPort()longbooleanbooleanbooleanisSni()booleanremoveEnabledCipherSuite(String suite) Removes an enabled cipher suite from the ordered suites.removeEnabledSecureTransportProtocol(String protocol) Removes an enabled SSL/TLS protocol from the ordered protocols.setAcceptBacklog(int acceptBacklog) Set the accept back logsetActivityLogDataFormat(ByteBufFormat activityLogDataFormat) Set the value of Netty's logging handler's data format: Netty's pipeline is configured for logging on Netty's logger.setClientAuth(ClientAuth clientAuth) Set whether client auth is requiredsetEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols) Sets the list of enabled SSL/TLS protocols.Set the hostsetIdleTimeout(int idleTimeout) Set the idle timeout, default time unit is seconds.setIdleTimeoutUnit(TimeUnit idleTimeoutUnit) Set the idle timeout unit.setKeyCertOptions(KeyCertOptions options) Set the key/cert options.setLogActivity(boolean logEnabled) Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.setPort(int port) Set the portsetProxyProtocolTimeout(long proxyProtocolTimeout) Set the Proxy protocol timeout, default time unit is seconds.setProxyProtocolTimeoutUnit(TimeUnit proxyProtocolTimeoutUnit) Set the Proxy protocol timeout unit.setReadIdleTimeout(int idleTimeout) Set the read idle timeout, default time unit is seconds.setReceiveBufferSize(int receiveBufferSize) Set the TCP receive buffer sizesetRegisterWriteHandler(boolean registerWriteHandler) Whether a write-handler should be registered on theEventBus.setReuseAddress(boolean reuseAddress) Set the value of reuse addresssetReusePort(boolean reusePort) Set the value of reuse port.setSendBufferSize(int sendBufferSize) Set the TCP send buffer sizesetSni(boolean sni) Set whether the server supports Server Name IndiciationsetSoLinger(int soLinger) Set whether SO_linger keep alive is enabledsetSsl(boolean ssl) Set whether SSL/TLS is enabledsetSslEngineOptions(SSLEngineOptions sslEngineOptions) Set to use SSL engine implementation to use.setSslHandshakeTimeout(long sslHandshakeTimeout) Set the SSL handshake timeout, default time unit is seconds.setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit) Set the SSL handshake timeout unit.setTcpCork(boolean tcpCork) Enable theTCP_CORKoption - only with linux native transport.setTcpFastOpen(boolean tcpFastOpen) Enable theTCP_FASTOPENoption - only with linux native transport.setTcpKeepAlive(boolean tcpKeepAlive) Set whether TCP keep alive is enabledsetTcpNoDelay(boolean tcpNoDelay) Set whether TCP no delay is enabledsetTcpQuickAck(boolean tcpQuickAck) Enable theTCP_QUICKACKoption - only with linux native transport.setTcpUserTimeout(int tcpUserTimeout) Sets theTCP_USER_TIMEOUToption - only with linux native transport.setTrafficClass(int trafficClass) Set the value of traffic classsetTrafficShapingOptions(TrafficShapingOptions trafficShapingOptions) Set traffic shaping options.setTrustOptions(TrustOptions options) Set the trust options.setUseAlpn(boolean useAlpn) Set the ALPN usage.setUseProxyProtocol(boolean useProxyProtocol) Set whether the server uses the HA Proxy protocolsetWriteIdleTimeout(int idleTimeout) Set the write idle timeout, default time unit is seconds.toJson()Convert to JSONMethods inherited from class TCPSSLOptions
getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getKeyCertOptions, getReadIdleTimeout, getReceiveBufferSize, getSendBufferSize, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getTcpKeepAliveCount, getTcpKeepAliveIdleSeconds, getTcpKeepAliveIntervalSeconds, getTcpUserTimeout, getTrafficClass, getTransportOptions, getTrustOptions, getWriteIdleTimeout, isReuseAddress, isReusePort, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn, setTcpKeepAliveCount, setTcpKeepAliveIdleSeconds, setTcpKeepAliveIntervalSecondsMethods inherited from class NetworkOptions
getActivityLogDataFormat, getLogActivity
-
Field Details
-
DEFAULT_PORT
public static final int DEFAULT_PORTThe default port to listen on = 0 (meaning a random ephemeral free port will be chosen)- See Also:
-
DEFAULT_HOST
The default host to listen on = "0.0.0.0" (meaning listen on all available interfaces).- See Also:
-
DEFAULT_ACCEPT_BACKLOG
public static final int DEFAULT_ACCEPT_BACKLOGThe default accept backlog = 1024- See Also:
-
DEFAULT_USE_PROXY_PROTOCOL
public static final boolean DEFAULT_USE_PROXY_PROTOCOLDefault value of whether the server supports HA PROXY protocol = false- See Also:
-
DEFAULT_PROXY_PROTOCOL_TIMEOUT
public static final long DEFAULT_PROXY_PROTOCOL_TIMEOUTThe default value of HA PROXY protocol timeout = 10- See Also:
-
DEFAULT_PROXY_PROTOCOL_TIMEOUT_TIME_UNIT
Default HA PROXY protocol time unit = SECONDS -
DEFAULT_REGISTER_WRITE_HANDLER
public static final boolean DEFAULT_REGISTER_WRITE_HANDLERWhether a write-handler should be registered by default = false.- See Also:
-
-
Constructor Details
-
NetServerOptions
public NetServerOptions()Default constructor -
NetServerOptions
Copy constructor- Parameters:
other- the options to copy
-
NetServerOptions
-
-
Method Details
-
copy
-
toJson
Convert to JSON- Overrides:
toJsonin classTCPSSLOptions- Returns:
- the JSON
-
getSslOptions
- Overrides:
getSslOptionsin classTCPSSLOptions
-
getOrCreateSSLOptions
- Overrides:
getOrCreateSSLOptionsin classTCPSSLOptions
-
createSSLOptions
- Overrides:
createSSLOptionsin classTCPSSLOptions
-
setSendBufferSize
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
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
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
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
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
-
setTcpNoDelay
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
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
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
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
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
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
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
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
-
setUseAlpn
Description copied from class:TCPSSLOptionsSet the ALPN usage.- Overrides:
setUseAlpnin classTCPSSLOptions- Parameters:
useAlpn- true when Application-Layer Protocol Negotiation should be used
-
setSslEngineOptions
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
-
setKeyCertOptions
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
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
-
addEnabledCipherSuite
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:
-
removeEnabledCipherSuite
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
-
addEnabledSecureTransportProtocol
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
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
Description copied from class:TCPSSLOptionsEnable theTCP_FASTOPENoption - only with linux native transport.- Overrides:
setTcpFastOpenin classTCPSSLOptions- Parameters:
tcpFastOpen- the fast open value
-
setTcpCork
Description copied from class:TCPSSLOptionsEnable theTCP_CORKoption - only with linux native transport.- Overrides:
setTcpCorkin classTCPSSLOptions- Parameters:
tcpCork- the cork value
-
setTcpQuickAck
Description copied from class:TCPSSLOptionsEnable theTCP_QUICKACKoption - only with linux native transport.- Overrides:
setTcpQuickAckin classTCPSSLOptions- Parameters:
tcpQuickAck- the quick ack value
-
setTcpUserTimeout
Description copied from class:TCPSSLOptionsSets theTCP_USER_TIMEOUToption - only with linux native transport.- Overrides:
setTcpUserTimeoutin classTCPSSLOptions- Parameters:
tcpUserTimeout- the tcp user timeout value
-
addCrlPath
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
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
-
setEnabledSecureTransportProtocols
public NetServerOptions setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols) Description copied from class:TCPSSLOptionsSets the list of enabled SSL/TLS protocols.- Overrides:
setEnabledSecureTransportProtocolsin classTCPSSLOptions- Parameters:
enabledSecureTransportProtocols- the SSL/TLS protocols to enable- Returns:
- a reference to this, so the API can be used fluently
-
setSslHandshakeTimeout
Description copied from class:TCPSSLOptionsSet the SSL handshake timeout, default time unit is seconds.- Overrides:
setSslHandshakeTimeoutin classTCPSSLOptions- Parameters:
sslHandshakeTimeout- the SSL handshake timeout to set, in milliseconds- Returns:
- a reference to this, so the API can be used fluently
-
setSslHandshakeTimeoutUnit
Description copied from class:TCPSSLOptionsSet the SSL handshake timeout unit. If not specified, default is seconds.- Overrides:
setSslHandshakeTimeoutUnitin classTCPSSLOptions- Parameters:
sslHandshakeTimeoutUnit- specify time unit.- Returns:
- a reference to this, so the API can be used fluently
-
getAcceptBacklog
public int getAcceptBacklog()- Returns:
- the value of accept backlog
-
setAcceptBacklog
Set the accept back log- Parameters:
acceptBacklog- accept backlog- Returns:
- a reference to this, so the API can be used fluently
-
getPort
public int getPort()- Returns:
- the port
-
setPort
Set the port- Parameters:
port- the port- Returns:
- a reference to this, so the API can be used fluently
-
getHost
- Returns:
- the host
-
setHost
Set the host- Parameters:
host- the host- Returns:
- a reference to this, so the API can be used fluently
-
getClientAuth
-
setClientAuth
Set whether client auth is required- Parameters:
clientAuth- One of "NONE, REQUEST, REQUIRED". If it's set to "REQUIRED" then server will require the SSL cert to be presented otherwise it won't accept the request. If it's set to "REQUEST" then it won't mandate the certificate to be presented, basically make it optional.- Returns:
- a reference to this, so the API can be used fluently
-
setLogActivity
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
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 classNetworkOptions- Parameters:
activityLogDataFormat- the format to use- Returns:
- a reference to this, so the API can be used fluently
-
isSni
public boolean isSni()- Returns:
- whether the server supports Server Name Indication
-
setSni
Set whether the server supports Server Name Indiciation- Returns:
- a reference to this, so the API can be used fluently
-
isUseProxyProtocol
public boolean isUseProxyProtocol()- Returns:
- whether the server uses the HA Proxy protocol
-
setUseProxyProtocol
Set whether the server uses the HA Proxy protocol- Returns:
- a reference to this, so the API can be used fluently
-
getProxyProtocolTimeout
public long getProxyProtocolTimeout()- Returns:
- the Proxy protocol timeout, in time unit specified by
getProxyProtocolTimeoutUnit().
-
setProxyProtocolTimeout
Set the Proxy protocol timeout, default time unit is seconds.- Parameters:
proxyProtocolTimeout- the Proxy protocol timeout to set- Returns:
- a reference to this, so the API can be used fluently
-
setProxyProtocolTimeoutUnit
Set the Proxy protocol timeout unit. If not specified, default is seconds.- Parameters:
proxyProtocolTimeoutUnit- specify time unit.- Returns:
- a reference to this, so the API can be used fluently
-
getProxyProtocolTimeoutUnit
- Returns:
- the Proxy protocol timeout unit.
-
getTrafficShapingOptions
- Returns:
- traffic shaping options used by Net server.
-
setTrafficShapingOptions
Set traffic shaping options. If not specified, traffic is unthrottled.- Parameters:
trafficShapingOptions- options used by traffic handler- Returns:
- a reference to this, so the API can be used fluently
-
isRegisterWriteHandler
public boolean isRegisterWriteHandler()- Returns:
trueif a write-handler should be registered on theEventBus, otherwisefalse
-
setRegisterWriteHandler
Whether a write-handler should be registered on theEventBus.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:
-
isFileRegionEnabled
public boolean isFileRegionEnabled()- Returns:
- whether the server should use file region
-