io.vertx.core.net

## 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

      public class NetServerOptions
      extends TCPSSLOptions

  Options for configuring a `NetServer`.
  Author:
    Tim Fox

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_ACCEPT_BACKLOG` The default accept backlog = 1024
    `static ClientAuth` | `DEFAULT_CLIENT_AUTH` Default value of whether client auth is required (SSL/TLS) = No
    `static String` | `DEFAULT_HOST` The default host to listen on = "0.0.0.0" (meaning listen on all available interfaces).
    `static int` | `DEFAULT_PORT` The default port to listen on = 0 (meaning a random ephemeral free port will be chosen)
    `static boolean` | `DEFAULT_SNI` Default value of whether the server supports SNI = false

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

      `DEFAULT_ENABLED_SECURE_TRANSPORT_PROTOCOLS, DEFAULT_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_USE_ALPN, DEFAULT_USE_POOLED_BUFFERS`

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

      `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
    `NetServerOptions()` Default constructor
    `NetServerOptions(JsonObject json)` Create some options from JSON
    `NetServerOptions(NetServerOptions other)` Copy constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `NetServerOptions` | `addCrlPath(String crlPath)` Add a CRL path
    `NetServerOptions` | `addCrlValue(Buffer crlValue)` Add a CRL value
    `NetServerOptions` | `addEnabledCipherSuite(String suite)` Add an enabled cipher suite, appended to the ordered suites.
    `NetServerOptions` | `addEnabledSecureTransportProtocol(String protocol)` Add an enabled SSL/TLS protocols, appended to the ordered protocols.
    `boolean` | `equals(Object o)`
    `int` | `getAcceptBacklog()`
    `ClientAuth` | `getClientAuth()`
    `String` | `getHost()`
    `int` | `getPort()`
    `int` | `hashCode()`
    `boolean` | `isClientAuthRequired()` Deprecated.
    `boolean` | `isSni()`
    `NetServerOptions` | `removeEnabledSecureTransportProtocol(String protocol)` Removes an enabled SSL/TLS protocol from the ordered protocols.
    `NetServerOptions` | `setAcceptBacklog(int acceptBacklog)` Set the accept back log
    `NetServerOptions` | `setClientAuth(ClientAuth clientAuth)` Set whether client auth is required
    `NetServerOptions` | `setClientAuthRequired(boolean clientAuthRequired)` Deprecated.
    `NetServerOptions` | `setHost(String host)` Set the host
    `NetServerOptions` | `setIdleTimeout(int idleTimeout)` Set the idle timeout, in seconds.
    `NetServerOptions` | `setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)`
    `NetServerOptions` | `setKeyCertOptions(KeyCertOptions options)` Set the key/cert options.
    `NetServerOptions` | `setKeyStoreOptions(JksOptions options)` Set the key/cert options in jks format, aka Java keystore.
    `NetServerOptions` | `setLogActivity(boolean logEnabled)` Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
    `NetServerOptions` | `setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)`
    `NetServerOptions` | `setPemKeyCertOptions(PemKeyCertOptions options)` Set the key/cert store options in pem format.
    `NetServerOptions` | `setPemTrustOptions(PemTrustOptions options)` Set the trust options in pem format
    `NetServerOptions` | `setPfxKeyCertOptions(PfxOptions options)` Set the key/cert options in pfx format.
    `NetServerOptions` | `setPfxTrustOptions(PfxOptions options)` Set the trust options in pfx format
    `NetServerOptions` | `setPort(int port)` Set the port
    `NetServerOptions` | `setReceiveBufferSize(int receiveBufferSize)` Set the TCP receive buffer size
    `NetServerOptions` | `setReuseAddress(boolean reuseAddress)` Set the value of reuse address
    `NetServerOptions` | `setReusePort(boolean reusePort)` Set the value of reuse port.
    `NetServerOptions` | `setSendBufferSize(int sendBufferSize)` Set the TCP send buffer size
    `NetServerOptions` | `setSni(boolean sni)` Set whether the server supports Server Name Indiciation
    `NetServerOptions` | `setSoLinger(int soLinger)` Set whether SO_linger keep alive is enabled
    `NetServerOptions` | `setSsl(boolean ssl)` Set whether SSL/TLS is enabled
    `NetServerOptions` | `setSslEngineOptions(SSLEngineOptions sslEngineOptions)` Set to use SSL engine implementation to use.
    `NetServerOptions` | `setTcpCork(boolean tcpCork)` Enable the `TCP_CORK` option - only with linux native transport.
    `NetServerOptions` | `setTcpFastOpen(boolean tcpFastOpen)` Enable the `TCP_FASTOPEN` option - only with linux native transport.
    `NetServerOptions` | `setTcpKeepAlive(boolean tcpKeepAlive)` Set whether TCP keep alive is enabled
    `NetServerOptions` | `setTcpNoDelay(boolean tcpNoDelay)` Set whether TCP no delay is enabled
    `NetServerOptions` | `setTcpQuickAck(boolean tcpQuickAck)` Enable the `TCP_QUICKACK` option - only with linux native transport.
    `NetServerOptions` | `setTrafficClass(int trafficClass)` Set the value of traffic class
    `NetServerOptions` | `setTrustOptions(TrustOptions options)` Set the trust options.
    `NetServerOptions` | `setTrustStoreOptions(JksOptions options)` Set the trust options in jks format, aka Java truststore
    `NetServerOptions` | `setUseAlpn(boolean useAlpn)` Set the ALPN usage.
    `NetServerOptions` | `setUsePooledBuffers(boolean usePooledBuffers)` Set whether Netty pooled buffers are enabled
    `JsonObject` | `toJson()` Convert to JSON

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

      `getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getJdkSslEngineOptions, getKeyCertOptions, getKeyStoreOptions, getOpenSslEngineOptions, getPemKeyCertOptions, getPemTrustOptions, getPfxKeyCertOptions, getPfxTrustOptions, getSoLinger, getSslEngineOptions, getTrustOptions, getTrustStoreOptions, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn, isUsePooledBuffers, setEnabledSecureTransportProtocols`

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

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

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

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

- - ### Field Detail

    - #### DEFAULT_PORT

          public static final int DEFAULT_PORT

      The default port to listen on = 0 (meaning a random ephemeral free port will be chosen)
      See Also:
        Constant Field Values

    - #### DEFAULT_HOST

          public static final String DEFAULT_HOST

      The default host to listen on = "0.0.0.0" (meaning listen on all available interfaces).
      See Also:
        Constant Field Values

    - #### DEFAULT_ACCEPT_BACKLOG

          public static final int DEFAULT_ACCEPT_BACKLOG

      The default accept backlog = 1024
      See Also:
        Constant Field Values

    - #### DEFAULT_CLIENT_AUTH

          public static final ClientAuth DEFAULT_CLIENT_AUTH

      Default value of whether client auth is required (SSL/TLS) = No

    - #### DEFAULT_SNI

          public static final boolean DEFAULT_SNI

      Default value of whether the server supports SNI = false
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### NetServerOptions

          public NetServerOptions()

      Default constructor

    - #### NetServerOptions

          public NetServerOptions(NetServerOptions other)

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

    - #### NetServerOptions

          public NetServerOptions(JsonObject json)

      Create some options from JSON
      Parameters:
        `json` - the JSON

  - ### Method Detail

    - #### toJson

          public JsonObject toJson()

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

    - #### setSendBufferSize

          public NetServerOptions 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 NetServerOptions 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 NetServerOptions 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 NetServerOptions 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 NetServerOptions 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

    - #### setTcpNoDelay

          public NetServerOptions 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 NetServerOptions 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 NetServerOptions 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

    - #### setUsePooledBuffers

          public NetServerOptions setUsePooledBuffers(boolean usePooledBuffers)

      Description copied from class: `TCPSSLOptions`
      Set whether Netty pooled buffers are enabled
      Overrides:
        `setUsePooledBuffers` in class `TCPSSLOptions`
      Parameters:
        `usePooledBuffers` - true if pooled buffers enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeout

          public NetServerOptions setIdleTimeout(int idleTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the idle timeout, in seconds. zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout.
      Overrides:
        `setIdleTimeout` in class `TCPSSLOptions`
      Parameters:
        `idleTimeout` - the timeout, in seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSsl

          public NetServerOptions 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 NetServerOptions 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

    - #### setSslEngineOptions

          public NetServerOptions setSslEngineOptions(SSLEngineOptions sslEngineOptions)

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

    - #### setJdkSslEngineOptions

          public NetServerOptions setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)

      Overrides:
        `setJdkSslEngineOptions` in class `TCPSSLOptions`

    - #### setOpenSslEngineOptions

          public NetServerOptions setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)

      Overrides:
        `setOpenSslEngineOptions` in class `TCPSSLOptions`

    - #### setKeyCertOptions

          public NetServerOptions setKeyCertOptions(KeyCertOptions options)

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

    - #### setKeyStoreOptions

          public NetServerOptions setKeyStoreOptions(JksOptions options)

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

    - #### setPfxKeyCertOptions

          public NetServerOptions setPfxKeyCertOptions(PfxOptions options)

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

    - #### setPemKeyCertOptions

          public NetServerOptions setPemKeyCertOptions(PemKeyCertOptions options)

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

    - #### setTrustOptions

          public NetServerOptions setTrustOptions(TrustOptions options)

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

    - #### setTrustStoreOptions

          public NetServerOptions setTrustStoreOptions(JksOptions options)

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

    - #### setPfxTrustOptions

          public NetServerOptions setPfxTrustOptions(PfxOptions options)

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

    - #### setPemTrustOptions

          public NetServerOptions setPemTrustOptions(PemTrustOptions options)

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

    - #### addEnabledCipherSuite

          public NetServerOptions addEnabledCipherSuite(String suite)

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

    - #### addEnabledSecureTransportProtocol

          public NetServerOptions 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

    - #### removeEnabledSecureTransportProtocol

          public NetServerOptions removeEnabledSecureTransportProtocol(String protocol)

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

    - #### setTcpFastOpen

          public NetServerOptions 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

    - #### setTcpCork

          public NetServerOptions setTcpCork(boolean tcpCork)

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

    - #### setTcpQuickAck

          public NetServerOptions 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

    - #### addCrlPath

          public NetServerOptions addCrlPath(String crlPath)
                                      throws NullPointerException

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

    - #### addCrlValue

          public NetServerOptions addCrlValue(Buffer crlValue)
                                       throws NullPointerException

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

    - #### getAcceptBacklog

          public int getAcceptBacklog()

      Returns:
        the value of accept backlog

    - #### setAcceptBacklog

          public NetServerOptions setAcceptBacklog(int acceptBacklog)

      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

          public NetServerOptions setPort(int port)

      Set the port
      Parameters:
        `port` - the port
      Returns:
        a reference to this, so the API can be used fluently

    - #### getHost

          public String getHost()

      Returns:
        the host

    - #### setHost

          public NetServerOptions setHost(String host)

      Set the host
      Parameters:
        `host` - the host
      Returns:
        a reference to this, so the API can be used fluently

    - #### isClientAuthRequired

          @Deprecated
          public boolean isClientAuthRequired()

      Deprecated.
      Returns:
        true if client auth is required

    - #### setClientAuthRequired

          @Deprecated
          public NetServerOptions setClientAuthRequired(boolean clientAuthRequired)

      Deprecated.
      Set whether client auth is required
      Parameters:
        `clientAuthRequired` - true if client auth is required
      Returns:
        a reference to this, so the API can be used fluently

    - #### getClientAuth

          public ClientAuth getClientAuth()

    - #### setClientAuth

          public NetServerOptions setClientAuth(ClientAuth clientAuth)

      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

          public NetServerOptions 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

    - #### isSni

          public boolean isSni()

      Returns:
        whether the server supports Server Name Indication

    - #### setSni

          public NetServerOptions setSni(boolean sni)

      Set whether the server supports Server Name Indiciation
      Returns:
        a reference to this, so the API can be used fluently

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `TCPSSLOptions`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `TCPSSLOptions`

Copyright © 2018 Eclipse. All rights reserved.