Package io.vertx.ext.shell.term

## Interface TermServer

-     public interface TermServer

  A server for terminal based applications.
  Author:
    Julien Viet

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `actualPort()` | The actual port the server is listening on.
    `TermServer` | `authenticationProvider​(AuthenticationProvider provider)` | Set an auth provider to use, any provider configured in options will override this provider.
    `Future<Void>` | `close()` | Close the server.
    `static TermServer` | `createHttpTermServer​(Vertx vertx)` | Create a term server for the HTTP protocol.
    `static TermServer` | `createHttpTermServer​(Vertx vertx, HttpTermOptions options)` | Create a term server for the HTTP protocol.
    `static TermServer` | `createHttpTermServer​(Vertx vertx, Router router)` | Create a term server for the HTTP protocol, using an existing router.
    `static TermServer` | `createHttpTermServer​(Vertx vertx, Router router, HttpTermOptions options)` | Create a term server for the HTTP protocol, using an existing router.
    `static TermServer` | `createSSHTermServer​(Vertx vertx)` | Create a term server for the SSH protocol.
    `static TermServer` | `createSSHTermServer​(Vertx vertx, SSHTermOptions options)` | Create a term server for the SSH protocol.
    `static TermServer` | `createTelnetTermServer​(Vertx vertx)` | Create a term server for the Telnet protocol.
    `static TermServer` | `createTelnetTermServer​(Vertx vertx, TelnetTermOptions options)` | Create a term server for the Telnet protocol.
    `Future<Void>` | `listen()` | Bind the term server, the `termHandler(Handler)` must be set before.
    `TermServer` | `termHandler​(Handler<Term> handler)` | Set the term handler that will receive incoming client connections.

- - ### Method Detail

    - #### createSSHTermServer

          static TermServer createSSHTermServer​(Vertx vertx)

      Create a term server for the SSH protocol.
      Parameters:
        `vertx` - the vertx instance
      Returns:
        the term server

    - #### createSSHTermServer

          static TermServer createSSHTermServer​(Vertx vertx,
                                                SSHTermOptions options)

      Create a term server for the SSH protocol.
      Parameters:
        `vertx` - the vertx instance
        `options` - the ssh options
      Returns:
        the term server

    - #### createTelnetTermServer

          static TermServer createTelnetTermServer​(Vertx vertx)

      Create a term server for the Telnet protocol.
      Parameters:
        `vertx` - the vertx instance
      Returns:
        the term server

    - #### createTelnetTermServer

          static TermServer createTelnetTermServer​(Vertx vertx,
                                                   TelnetTermOptions options)

      Create a term server for the Telnet protocol.
      Parameters:
        `vertx` - the vertx instance
        `options` - the term options
      Returns:
        the term server

    - #### createHttpTermServer

          static TermServer createHttpTermServer​(Vertx vertx)

      Create a term server for the HTTP protocol.
      Parameters:
        `vertx` - the vertx instance
      Returns:
        the term server

    - #### createHttpTermServer

          static TermServer createHttpTermServer​(Vertx vertx,
                                                 HttpTermOptions options)

      Create a term server for the HTTP protocol.
      Parameters:
        `vertx` - the vertx instance
        `options` - the term options
      Returns:
        the term server

    - #### createHttpTermServer

          static TermServer createHttpTermServer​(Vertx vertx,
                                                 Router router)

      Create a term server for the HTTP protocol, using an existing router.
      Parameters:
        `vertx` - the vertx instance
        `router` - the router
      Returns:
        the term server

    - #### createHttpTermServer

          static TermServer createHttpTermServer​(Vertx vertx,
                                                 Router router,
                                                 HttpTermOptions options)

      Create a term server for the HTTP protocol, using an existing router.
      Parameters:
        `vertx` - the vertx instance
        `router` - the router
        `options` - the term options
      Returns:
        the term server

    - #### termHandler

          TermServer termHandler​(Handler<Term> handler)

      Set the term handler that will receive incoming client connections. When a remote terminal connects the `handler` will be called with the `Term` which can be used to interact with the remote terminal.
      Parameters:
        `handler` - the term handler
      Returns:
        this object

    - #### authenticationProvider

          TermServer authenticationProvider​(AuthenticationProvider provider)

      Set an auth provider to use, any provider configured in options will override this provider. This should be used when a custom auth provider should be used.
      Parameters:
        `provider` - the auth to use
      Returns:
        this object

    - #### listen

          Future<Void> listen()

      Bind the term server, the `termHandler(Handler)` must be set before.
      Returns:
        this object

    - #### actualPort

          int actualPort()

      The actual port the server is listening on. This is useful if you bound the server specifying 0 as port number signifying an ephemeral port
      Returns:
        the actual port the server is listening on.

    - #### close

          Future<Void> close()

      Close the server. This will close any currently open connections. The close may not complete until after this method has returned.