org.vertx.java.core.net

## Interface NetServer

-     public interface NetServer

  Represents a TCP or SSL server

  This class is a thread safe and can safely be used by different threads.

  If an instance is instantiated from an event loop then the handlers of the instance will always be called on that same event loop. If an instance is instantiated from some other arbitrary Java thread then and event loop will be assigned to the instance and used when any of its handlers are called.

  Instances cannot be used from worker verticles

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close the server.
    `void` | `close(Handler<java.lang.Void> done)` Close the server.
    `NetServer` | `connectHandler(Handler<NetSocket> connectHandler)` Supply a connect handler for this server.
    `java.lang.Integer` | `getAcceptBacklog()`
    `java.lang.String` | `getKeyStorePassword()`
    `java.lang.String` | `getKeyStorePath()`
    `java.lang.Integer` | `getReceiveBufferSize()`
    `java.lang.Integer` | `getSendBufferSize()`
    `java.lang.Integer` | `getTrafficClass()`
    `java.lang.String` | `getTrustStorePassword()`
    `java.lang.String` | `getTrustStorePath()`
    `java.lang.Boolean` | `isReuseAddress()`
    `java.lang.Boolean` | `isSoLinger()`
    `boolean` | `isSSL()`
    `java.lang.Boolean` | `isTCPKeepAlive()`
    `java.lang.Boolean` | `isTCPNoDelay()`
    `NetServer` | `listen(int port)` Instruct the server to listen for incoming connections on the specified `port` and all available interfaces.
    `NetServer` | `listen(int port, java.lang.String host)` Instruct the server to listen for incoming connections on the specified `port` and `host`.
    `NetServer` | `setAcceptBacklog(int backlog)` Set the accept backlog
    `NetServer` | `setClientAuthRequired(boolean required)` Set `required` to true if you want the server to request client authentication from any connecting clients.
    `NetServer` | `setKeyStorePassword(java.lang.String pwd)` Set the password for the SSL key store.
    `NetServer` | `setKeyStorePath(java.lang.String path)` Set the path to the SSL key store.
    `NetServer` | `setReceiveBufferSize(int size)` Set the TCP receive buffer size for connections created by this instance to `size` in bytes.
    `NetServer` | `setReuseAddress(boolean reuse)` Set the TCP reuseAddress setting for connections created by this instance to `reuse`.
    `NetServer` | `setSendBufferSize(int size)` Set the TCP send buffer size for connections created by this instance to `size` in bytes.
    `NetServer` | `setSoLinger(boolean linger)` Set the TCP soLinger setting for connections created by this instance to `reuse`.
    `NetServer` | `setSSL(boolean ssl)` If `ssl` is `true`, this signifies that any connections will be SSL connections.
    `NetServer` | `setTCPKeepAlive(boolean keepAlive)` Set the TCP keepAlive setting for connections created by this instance to `keepAlive`.
    `NetServer` | `setTCPNoDelay(boolean tcpNoDelay)` If `tcpNoDelay` is set to `true` then Nagle's algorithm will turned off for the TCP connections created by this instance.
    `NetServer` | `setTrafficClass(int trafficClass)` Set the TCP trafficClass setting for connections created by this instance to `reuse`.
    `NetServer` | `setTrustStorePassword(java.lang.String pwd)` Set the password for the SSL trust store.
    `NetServer` | `setTrustStorePath(java.lang.String path)` Set the path to the SSL trust store.

- - ### Method Detail

    - #### connectHandler

          NetServer connectHandler(Handler<NetSocket> connectHandler)

      Supply a connect handler for this server. The server can only have at most one connect handler at any one time. As the server accepts TCP or SSL connections it creates an instance of `NetSocket` and passes it to the connect handler.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### listen

          NetServer listen(int port)

      Instruct the server to listen for incoming connections on the specified `port` and all available interfaces.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### listen

          NetServer listen(int port,
                         java.lang.String host)

      Instruct the server to listen for incoming connections on the specified `port` and `host`. `host` can be a host name or an IP address.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### close

          void close()

      Close the server. This will close any currently open connections.

    - #### close

          void close(Handler<java.lang.Void> done)

      Close the server. This will close any currently open connections. The event handler `done` will be called when the close is complete.

    - #### setSSL

          NetServer setSSL(boolean ssl)

      If `ssl` is `true`, this signifies that any connections will be SSL connections.
      Returns:
        A reference to this, so multiple invocations can be chained together.

    - #### setKeyStorePath

          NetServer setKeyStorePath(java.lang.String path)

      Set the path to the SSL key store. This method should only be used in SSL mode, i.e. after `setSSL(boolean)` has been set to `true`.

      The SSL key store is a standard Java Key Store which should contain the server certificate.

      Returns:
        A reference to this, so multiple invocations can be chained together.

    - #### setKeyStorePassword

          NetServer setKeyStorePassword(java.lang.String pwd)

      Set the password for the SSL key store. This method should only be used in SSL mode, i.e. after `setSSL(boolean)` has been set to `true`.

      Returns:
        A reference to this, so multiple invocations can be chained together.

    - #### setTrustStorePath

          NetServer setTrustStorePath(java.lang.String path)

      Set the path to the SSL trust store. This method should only be used in SSL mode, i.e. after `setSSL(boolean)` has been set to `true`.

      The trust store is a standard Java Key Store, and should contain the certificates of any clients that the server trusts - this is only necessary if client authentication is enabled.

      Returns:
        A reference to this, so multiple invocations can be chained together.

    - #### setTrustStorePassword

          NetServer setTrustStorePassword(java.lang.String pwd)

      Set the password for the SSL trust store. This method should only be used in SSL mode, i.e. after `setSSL(boolean)` has been set to `true`.

      Returns:
        A reference to this, so multiple invocations can be chained together.

    - #### setClientAuthRequired

          NetServer setClientAuthRequired(boolean required)

      Set `required` to true if you want the server to request client authentication from any connecting clients. This is an extra level of security in SSL, and requires clients to provide client certificates. Those certificates must be added to the server trust store.
      Returns:
        A reference to this, so multiple invocations can be chained together.

    - #### setTCPNoDelay

          NetServer setTCPNoDelay(boolean tcpNoDelay)

      If `tcpNoDelay` is set to `true` then Nagle's algorithm will turned off for the TCP connections created by this instance.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### setSendBufferSize

          NetServer setSendBufferSize(int size)

      Set the TCP send buffer size for connections created by this instance to `size` in bytes.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### setReceiveBufferSize

          NetServer setReceiveBufferSize(int size)

      Set the TCP receive buffer size for connections created by this instance to `size` in bytes.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### setTCPKeepAlive

          NetServer setTCPKeepAlive(boolean keepAlive)

      Set the TCP keepAlive setting for connections created by this instance to `keepAlive`.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### setReuseAddress

          NetServer setReuseAddress(boolean reuse)

      Set the TCP reuseAddress setting for connections created by this instance to `reuse`.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### setSoLinger

          NetServer setSoLinger(boolean linger)

      Set the TCP soLinger setting for connections created by this instance to `reuse`.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### setTrafficClass

          NetServer setTrafficClass(int trafficClass)

      Set the TCP trafficClass setting for connections created by this instance to `reuse`.
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### setAcceptBacklog

          NetServer setAcceptBacklog(int backlog)

      Set the accept backlog
      Returns:
        a reference to this so multiple method calls can be chained together

    - #### isTCPNoDelay

          java.lang.Boolean isTCPNoDelay()

      Returns:
        true if Nagle's algorithm is disabled.

    - #### getSendBufferSize

          java.lang.Integer getSendBufferSize()

      Returns:
        The TCP send buffer size

    - #### getReceiveBufferSize

          java.lang.Integer getReceiveBufferSize()

      Returns:
        The TCP receive buffer size

    - #### isTCPKeepAlive

          java.lang.Boolean isTCPKeepAlive()

      Returns:
        true if TCP keep alive is enabled

    - #### isReuseAddress

          java.lang.Boolean isReuseAddress()

      Returns:
        The value of TCP reuse address

    - #### isSoLinger

          java.lang.Boolean isSoLinger()

      Returns:
        the value of TCP so linger

    - #### getTrafficClass

          java.lang.Integer getTrafficClass()

      Returns:
        the value of TCP traffic class

    - #### getAcceptBacklog

          java.lang.Integer getAcceptBacklog()

      Returns:
        The accept backlog

    - #### isSSL

          boolean isSSL()

      Returns:
        true if this server will make SSL connections

    - #### getKeyStorePath

          java.lang.String getKeyStorePath()

      Returns:
        The path to the key store

    - #### getKeyStorePassword

          java.lang.String getKeyStorePassword()

      Returns:
        The keystore password

    - #### getTrustStorePath

          java.lang.String getTrustStorePath()

      Returns:
        The trust store path

    - #### getTrustStorePassword

          java.lang.String getTrustStorePassword()

      Returns:
        The trust store password