Package io.vertx.ext.stomp

## Interface StompClient

-     public interface StompClient

  Defines a STOMP client.
  Author:
    Clement Escoffier

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Future<Void>` | `close()` | Closes the client.
    `Future<StompClientConnection>` | `connect()` | Connects to the server using the host and port configured in the client's options.
    `Future<StompClientConnection>` | `connect​(int port, String host)` | Connects to the server.
    `static StompClient` | `create​(Vertx vertx)` | Creates a `StompClient` using the default implementation.
    `static StompClient` | `create​(Vertx vertx, StompClientOptions options)` | Creates a `StompClient` using the default implementation.
    `StompClient` | `errorFrameHandler​(Handler<Frame> handler)` | A general error frame handler.
    `StompClient` | `exceptionHandler​(Handler<Throwable> handler)` | Sets an exception handler notified for TCP-level errors.
    `boolean` | `isClosed()` |
    `StompClientOptions` | `options()` |
    `StompClient` | `receivedFrameHandler​(Handler<Frame> handler)` | Configures a received handler that gets notified when a STOMP frame is received by the client.
    `Vertx` | `vertx()` |
    `StompClient` | `writingFrameHandler​(Handler<Frame> handler)` | Configures a writing handler that gets notified when a STOMP frame is written on the wire.

- - ### Method Detail

    - #### create

          static StompClient create​(Vertx vertx)

      Creates a `StompClient` using the default implementation.
      Parameters:
        `vertx` - the vert.x instance to use
      Returns:
        the created `StompClient`

    - #### create

          static StompClient create​(Vertx vertx,
                                    StompClientOptions options)

      Creates a `StompClient` using the default implementation.
      Parameters:
        `vertx` - the vert.x instance to use
        `options` - the options
      Returns:
        the created `StompClient`

    - #### connect

          Future<StompClientConnection> connect​(int port,
                                                String host)

      Connects to the server.
      Parameters:
        `port` - the server port
        `host` - the server host
      Returns:
        a future notified with the connection result

    - #### connect

          Future<StompClientConnection> connect()

      Connects to the server using the host and port configured in the client's options.
      Returns:
        a future notified with the connection result. A failure will be sent to the handler if a TCP level issue happen before the `CONNECTED` frame is received.

    - #### receivedFrameHandler

          StompClient receivedFrameHandler​(Handler<Frame> handler)

      Configures a received handler that gets notified when a STOMP frame is received by the client. This handler can be used for logging, debugging or ad-hoc behavior. The frame can still be modified at the time.

      When a connection is created, the handler is used as `StompClientConnection.receivedFrameHandler(Handler)`.

      Parameters:
        `handler` - the handler
      Returns:
        the current `StompClient`

    - #### writingFrameHandler

          StompClient writingFrameHandler​(Handler<Frame> handler)

      Configures a writing handler that gets notified when a STOMP frame is written on the wire. This handler can be used for logging, debugging or ad-hoc behavior. The frame can still be modified at the time.

      When a connection is created, the handler is used as `StompClientConnection.writingFrameHandler(Handler)`.

      Parameters:
        `handler` - the handler
      Returns:
        the current `StompClient`

    - #### errorFrameHandler

          StompClient errorFrameHandler​(Handler<Frame> handler)

      A general error frame handler. It can be used to catch `ERROR` frame emitted during the connection process (wrong authentication). This error handler will be pass to all `StompClientConnection` created from this client. Obviously, the client can override it when the connection is established.
      Parameters:
        `handler` - the handler
      Returns:
        the current `StompClient`

    - #### exceptionHandler

          StompClient exceptionHandler​(Handler<Throwable> handler)

      Sets an exception handler notified for TCP-level errors.
      Parameters:
        `handler` - the handler
      Returns:
        the current `StompClient`

    - #### close

          Future<Void> close()

      Closes the client.

    - #### options

          StompClientOptions options()

      Returns:
        the client's options.

    - #### vertx

          Vertx vertx()

      Returns:
        the vert.x instance used by the client.

    - #### isClosed

          boolean isClosed()

      Returns:
        whether or not the client is connected to the server.