Package io.vertx.amqp

## Interface AmqpConnection

-     public interface AmqpConnection

  Once connected to the broker or router, you get a connection. This connection is automatically opened.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Future<Void>` | `close()` | Closes the AMQP connection, i.e. allows the Close frame to be emitted.
    `Future<Void>` | `closeFuture()` |
    `Future<AmqpSender>` | `createAnonymousSender()` | Creates an anonymous sender.
    `Future<AmqpReceiver>` | `createDynamicReceiver()` | Creates a dynamic receiver.
    `Future<AmqpReceiver>` | `createReceiver​(String address)` | Creates a receiver used to consume messages from the given address.
    `Future<AmqpReceiver>` | `createReceiver​(String address, AmqpReceiverOptions receiverOptions)` | Creates a receiver used to consumer messages from the given address.
    `Future<AmqpSender>` | `createSender​(String address)` | Creates a sender used to send messages to the given address.
    `Future<AmqpSender>` | `createSender​(String address, AmqpSenderOptions options)` | Creates a sender used to send messages to the given address.
    `AmqpConnection` | `exceptionHandler​(Handler<Throwable> handler)` | Registers a handler called on disconnection.
    `boolean` | `isDisconnected()` |
    `io.vertx.proton.ProtonConnection` | `unwrap()` |

- - ### Method Detail

    - #### exceptionHandler

          AmqpConnection exceptionHandler​(Handler<Throwable> handler)

      Registers a handler called on disconnection.
      Parameters:
        `handler` - the exception handler.
      Returns:
        the connection

    - #### close

          Future<Void> close()

      Closes the AMQP connection, i.e. allows the Close frame to be emitted.
      Returns:
        a future notified when the connection is closed

    - #### createReceiver

          Future<AmqpReceiver> createReceiver​(String address)

      Creates a receiver used to consume messages from the given address. The receiver has no handler and won't start receiving messages until a handler is explicitly configured.
      Parameters:
        `address` - The source address to attach the consumer to, must not be `null`
      Returns:
        a future notified with the receiver. The receiver has been opened.

    - #### createReceiver

          Future<AmqpReceiver> createReceiver​(String address,
                                              AmqpReceiverOptions receiverOptions)

      Creates a receiver used to consumer messages from the given address.
      Parameters:
        `address` - The source address to attach the consumer to.
        `receiverOptions` - The options for this receiver.
      Returns:
        a future notified with the receiver, once opened. Note that the `messageHandler` can be called before the `completionHandler` if messages are awaiting delivery.

    - #### createDynamicReceiver

          Future<AmqpReceiver> createDynamicReceiver()

      Creates a dynamic receiver. The address is provided by the broker and is available in the `completionHandler`, using the `AmqpReceiver.address()` method. this method is useful for request-reply to generate a unique reply address.
      Returns:
        a future notified when the receiver has been created and opened.

    - #### createSender

          Future<AmqpSender> createSender​(String address)

      Creates a sender used to send messages to the given address. The address must be set. For anonymous sender, check `createAnonymousSender()`.
      Parameters:
        `address` - The target address to attach to, must not be `null`
      Returns:
        a future notified with the sender, once opened
      See Also:
        `createAnonymousSender()`

    - #### createSender

          Future<AmqpSender> createSender​(String address,
                                          AmqpSenderOptions options)

      Creates a sender used to send messages to the given address. The address must be set. For anonymous sender, check `createAnonymousSender()`.
      Parameters:
        `address` - The target address to attach to, allowed to be `null` if the `options` configures the sender to be attached to a dynamic address (provided by the broker).
        `options` - The AMQP sender options
      Returns:
        a future notified with the sender, once opened
      See Also:
        `createAnonymousSender()`

    - #### createAnonymousSender

          Future<AmqpSender> createAnonymousSender()

      Creates an anonymous sender.

      Unlike "regular" sender, this sender is not associated to a specific address, and each message sent must provide an address. This method can be used in request-reply scenarios where you create a sender to send the reply, but you don't know the address, as the reply address is passed into the message you are going to receive.

      Returns:
        a future notifid with the created sender, once opened

    - #### isDisconnected

          boolean isDisconnected()

      Returns:
        whether the connection has been disconnected.

    - #### closeFuture

          Future<Void> closeFuture()

      Returns:
        a future completed when the connection is closed

    - #### unwrap

          io.vertx.proton.ProtonConnection unwrap()

      Returns:
        the underlying ProtonConnection.