io.vertx.reactivex.rabbitmq

## Class RabbitMQClient

- java.lang.Object
- - io.vertx.reactivex.rabbitmq.RabbitMQClient

-     public class RabbitMQClient
      extends Object

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static io.vertx.lang.rx.TypeArg<RabbitMQClient>` | `__TYPE_ARG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RabbitMQClient(Object delegate)`
    `RabbitMQClient(RabbitMQClient delegate)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addConfirmListener(int maxQueueSize)` Add a Confirm Listener to the channel.
    `void` | `addConfirmListener(int maxQueueSize, Handler<AsyncResult<ReadStream<RabbitMQConfirmation>>> resultHandler)` Add a Confirm Listener to the channel.
    `void` | `basicAck(long deliveryTag, boolean multiple)` Acknowledge one or several received messages.
    `void` | `basicAck(long deliveryTag, boolean multiple, Handler<AsyncResult<Void>> resultHandler)` Acknowledge one or several received messages.
    `void` | `basicConsumer(String queue)`
    `void` | `basicConsumer(String queue, Handler<AsyncResult<RabbitMQConsumer>> resultHandler)`
    `void` | `basicConsumer(String queue, QueueOptions options)` Create a consumer with the given `options`.
    `void` | `basicConsumer(String queue, QueueOptions options, Handler<AsyncResult<RabbitMQConsumer>> resultHandler)` Create a consumer with the given `options`.
    `void` | `basicGet(String queue, boolean autoAck)` Retrieve a message from a queue using AMQP.Basic.Get
    `void` | `basicGet(String queue, boolean autoAck, Handler<AsyncResult<RabbitMQMessage>> resultHandler)` Retrieve a message from a queue using AMQP.Basic.Get
    `void` | `basicNack(long deliveryTag, boolean multiple, boolean requeue)` Reject one or several received messages.
    `void` | `basicNack(long deliveryTag, boolean multiple, boolean requeue, Handler<AsyncResult<Void>> resultHandler)` Reject one or several received messages.
    `void` | `basicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)` Publish a message.
    `void` | `basicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<AsyncResult<Void>> resultHandler)` Publish a message.
    `void` | `basicPublish(String exchange, String routingKey, Buffer body)` Publish a message.
    `void` | `basicPublish(String exchange, String routingKey, Buffer body, Handler<AsyncResult<Void>> resultHandler)` Publish a message.
    `void` | `basicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler)` Publish a message.
    `void` | `basicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler, Handler<AsyncResult<Void>> resultHandler)` Publish a message.
    `void` | `basicQos(int prefetchCount)` Request a specific prefetchCount "quality of service" settings for this channel.
    `void` | `basicQos(int prefetchCount, boolean global)` Request a specific prefetchCount "quality of service" settings for this channel.
    `void` | `basicQos(int prefetchCount, boolean global, Handler<AsyncResult<Void>> resultHandler)` Request a specific prefetchCount "quality of service" settings for this channel.
    `void` | `basicQos(int prefetchCount, Handler<AsyncResult<Void>> resultHandler)` Request a specific prefetchCount "quality of service" settings for this channel.
    `void` | `basicQos(int prefetchSize, int prefetchCount, boolean global)` Request specific "quality of service" settings.
    `void` | `basicQos(int prefetchSize, int prefetchCount, boolean global, Handler<AsyncResult<Void>> resultHandler)` Request specific "quality of service" settings.
    `void` | `confirmSelect()` Enables publisher acknowledgements on this channel.
    `void` | `confirmSelect(Handler<AsyncResult<Void>> resultHandler)` Enables publisher acknowledgements on this channel.
    `static RabbitMQClient` | `create(Vertx vertx)` Create and return a client configured with the default options.
    `static RabbitMQClient` | `create(Vertx vertx, RabbitMQOptions config)` Create and return a client.
    `boolean` | `equals(Object o)`
    `void` | `exchangeBind(String destination, String source, String routingKey)` Bind an exchange to an exchange.
    `void` | `exchangeBind(String destination, String source, String routingKey, Handler<AsyncResult<Void>> resultHandler)` Bind an exchange to an exchange.
    `void` | `exchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments)` Bind an exchange to an exchange.
    `void` | `exchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)` Bind an exchange to an exchange.
    `void` | `exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete)` Declare an exchange.
    `void` | `exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, Handler<AsyncResult<Void>> resultHandler)` Declare an exchange.
    `void` | `exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config)` Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.
    `void` | `exchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config, Handler<AsyncResult<Void>> resultHandler)` Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.
    `void` | `exchangeDelete(String exchange)` Delete an exchange, without regard for whether it is in use or not.
    `void` | `exchangeDelete(String exchange, Handler<AsyncResult<Void>> resultHandler)` Delete an exchange, without regard for whether it is in use or not.
    `void` | `exchangeUnbind(String destination, String source, String routingKey)` Unbind an exchange from an exchange.
    `void` | `exchangeUnbind(String destination, String source, String routingKey, Handler<AsyncResult<Void>> resultHandler)` Unbind an exchange from an exchange.
    `void` | `exchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments)` Unbind an exchange from an exchange.
    `void` | `exchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)` Unbind an exchange from an exchange.
    `RabbitMQClient` | `getDelegate()`
    `int` | `hashCode()`
    `boolean` | `isConnected()` Check if a connection is open
    `boolean` | `isOpenChannel()` Check if a channel is open
    `void` | `messageCount(String queue)` Returns the number of messages in a queue ready to be delivered.
    `void` | `messageCount(String queue, Handler<AsyncResult<Long>> resultHandler)` Returns the number of messages in a queue ready to be delivered.
    `static RabbitMQClient` | `newInstance(RabbitMQClient arg)`
    `void` | `queueBind(String queue, String exchange, String routingKey)` Bind a queue to an exchange
    `void` | `queueBind(String queue, String exchange, String routingKey, Handler<AsyncResult<Void>> resultHandler)` Bind a queue to an exchange
    `void` | `queueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments)` Bind a queue to an exchange
    `void` | `queueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)` Bind a queue to an exchange
    `void` | `queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete)` Declare a queue
    `void` | `queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeclareOk>> resultHandler)` Declare a queue
    `void` | `queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config)` Declare a queue with config options
    `void` | `queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeclareOk>> resultHandler)` Declare a queue with config options
    `void` | `queueDeclareAuto()` Actively declare a server-named exclusive, autodelete, non-durable queue.
    `void` | `queueDeclareAuto(Handler<AsyncResult<JsonObject>> resultHandler)` Actively declare a server-named exclusive, autodelete, non-durable queue.
    `void` | `queueDelete(String queue)` Delete a queue, without regard for whether it is in use or has messages on it
    `void` | `queueDelete(String queue, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeleteOk>> resultHandler)` Delete a queue, without regard for whether it is in use or has messages on it
    `void` | `queueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty)` Delete a queue
    `void` | `queueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty, Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeleteOk>> resultHandler)` Delete a queue
    `void` | `queueUnbind(String queue, String exchange, String routingKey)` Unbind a queue from an exchange
    `void` | `queueUnbind(String queue, String exchange, String routingKey, Handler<AsyncResult<Void>> resultHandler)` Unbind a queue from an exchange
    `void` | `queueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments)` Unbind a queue from an exchange
    `void` | `queueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments, Handler<AsyncResult<Void>> resultHandler)` Unbind a queue from an exchange
    `void` | `restartConnect(int attempts)` restart the rabbitMQ connect.
    `void` | `restartConnect(int attempts, Handler<AsyncResult<Void>> resultHandler)` restart the rabbitMQ connect.
    `Single<ReadStream<RabbitMQConfirmation>>` | `rxAddConfirmListener(int maxQueueSize)` Add a Confirm Listener to the channel.
    `Completable` | `rxBasicAck(long deliveryTag, boolean multiple)` Acknowledge one or several received messages.
    `Single<RabbitMQConsumer>` | `rxBasicConsumer(String queue)`
    `Single<RabbitMQConsumer>` | `rxBasicConsumer(String queue, QueueOptions options)` Create a consumer with the given `options`.
    `Single<RabbitMQMessage>` | `rxBasicGet(String queue, boolean autoAck)` Retrieve a message from a queue using AMQP.Basic.Get
    `Completable` | `rxBasicNack(long deliveryTag, boolean multiple, boolean requeue)` Reject one or several received messages.
    `Completable` | `rxBasicPublish(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body)` Publish a message.
    `Completable` | `rxBasicPublish(String exchange, String routingKey, Buffer body)` Publish a message.
    `Completable` | `rxBasicPublishWithDeliveryTag(String exchange, String routingKey, com.rabbitmq.client.BasicProperties properties, Buffer body, Handler<Long> deliveryTagHandler)` Publish a message.
    `Completable` | `rxBasicQos(int prefetchCount)` Request a specific prefetchCount "quality of service" settings for this channel.
    `Completable` | `rxBasicQos(int prefetchCount, boolean global)` Request a specific prefetchCount "quality of service" settings for this channel.
    `Completable` | `rxBasicQos(int prefetchSize, int prefetchCount, boolean global)` Request specific "quality of service" settings.
    `Completable` | `rxConfirmSelect()` Enables publisher acknowledgements on this channel.
    `Completable` | `rxExchangeBind(String destination, String source, String routingKey)` Bind an exchange to an exchange.
    `Completable` | `rxExchangeBind(String destination, String source, String routingKey, Map<String,Object> arguments)` Bind an exchange to an exchange.
    `Completable` | `rxExchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete)` Declare an exchange.
    `Completable` | `rxExchangeDeclare(String exchange, String type, boolean durable, boolean autoDelete, JsonObject config)` Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.
    `Completable` | `rxExchangeDelete(String exchange)` Delete an exchange, without regard for whether it is in use or not.
    `Completable` | `rxExchangeUnbind(String destination, String source, String routingKey)` Unbind an exchange from an exchange.
    `Completable` | `rxExchangeUnbind(String destination, String source, String routingKey, Map<String,Object> arguments)` Unbind an exchange from an exchange.
    `Single<Long>` | `rxMessageCount(String queue)` Returns the number of messages in a queue ready to be delivered.
    `Completable` | `rxQueueBind(String queue, String exchange, String routingKey)` Bind a queue to an exchange
    `Completable` | `rxQueueBind(String queue, String exchange, String routingKey, Map<String,Object> arguments)` Bind a queue to an exchange
    `Single<com.rabbitmq.client.AMQP.Queue.DeclareOk>` | `rxQueueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete)` Declare a queue
    `Single<com.rabbitmq.client.AMQP.Queue.DeclareOk>` | `rxQueueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, JsonObject config)` Declare a queue with config options
    `Single<JsonObject>` | `rxQueueDeclareAuto()` Actively declare a server-named exclusive, autodelete, non-durable queue.
    `Single<com.rabbitmq.client.AMQP.Queue.DeleteOk>` | `rxQueueDelete(String queue)` Delete a queue, without regard for whether it is in use or has messages on it
    `Single<com.rabbitmq.client.AMQP.Queue.DeleteOk>` | `rxQueueDeleteIf(String queue, boolean ifUnused, boolean ifEmpty)` Delete a queue
    `Completable` | `rxQueueUnbind(String queue, String exchange, String routingKey)` Unbind a queue from an exchange
    `Completable` | `rxQueueUnbind(String queue, String exchange, String routingKey, Map<String,Object> arguments)` Unbind a queue from an exchange
    `Completable` | `rxRestartConnect(int attempts)` restart the rabbitMQ connect.
    `Completable` | `rxStart()` Start the rabbitMQ client.
    `Completable` | `rxStop()` Stop the rabbitMQ client.
    `Completable` | `rxWaitForConfirms()` Wait until all messages published since the last call have been either ack'd or nack'd by the broker.
    `Completable` | `rxWaitForConfirms(long timeout)` Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses.
    `void` | `start()` Start the rabbitMQ client.
    `void` | `start(Handler<AsyncResult<Void>> resultHandler)` Start the rabbitMQ client.
    `void` | `stop()` Stop the rabbitMQ client.
    `void` | `stop(Handler<AsyncResult<Void>> resultHandler)` Stop the rabbitMQ client.
    `String` | `toString()`
    `void` | `waitForConfirms()` Wait until all messages published since the last call have been either ack'd or nack'd by the broker.
    `void` | `waitForConfirms(Handler<AsyncResult<Void>> resultHandler)` Wait until all messages published since the last call have been either ack'd or nack'd by the broker.
    `void` | `waitForConfirms(long timeout)` Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses.
    `void` | `waitForConfirms(long timeout, Handler<AsyncResult<Void>> resultHandler)` Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses.

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

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

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<RabbitMQClient> __TYPE_ARG

  - ### Constructor Detail

    - #### RabbitMQClient

          public RabbitMQClient(RabbitMQClient delegate)

    - #### RabbitMQClient

          public RabbitMQClient(Object delegate)

  - ### Method Detail

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getDelegate

          public RabbitMQClient getDelegate()

    - #### create

          public static RabbitMQClient create(Vertx vertx)

      Create and return a client configured with the default options.
      Parameters:
        `vertx` - the vertx instance
      Returns:
        the client

    - #### create

          public static RabbitMQClient create(Vertx vertx,
                                              RabbitMQOptions config)

      Create and return a client.
      Parameters:
        `vertx` - the vertx instance
        `config` - the client config
      Returns:
        the client

    - #### basicAck

          public void basicAck(long deliveryTag,
                               boolean multiple,
                               Handler<AsyncResult<Void>> resultHandler)

      Acknowledge one or several received messages. Supply the deliveryTag from the AMQP.Basic.GetOk or AMQP.Basic.Deliver method containing the received message being acknowledged.
      Parameters:
        `deliveryTag` -
        `multiple` -
        `resultHandler` -

    - #### basicAck

          public void basicAck(long deliveryTag,
                               boolean multiple)

      Acknowledge one or several received messages. Supply the deliveryTag from the AMQP.Basic.GetOk or AMQP.Basic.Deliver method containing the received message being acknowledged.
      Parameters:
        `deliveryTag` -
        `multiple` -

    - #### rxBasicAck

          public Completable rxBasicAck(long deliveryTag,
                                        boolean multiple)

      Acknowledge one or several received messages. Supply the deliveryTag from the AMQP.Basic.GetOk or AMQP.Basic.Deliver method containing the received message being acknowledged.
      Parameters:
        `deliveryTag` -
        `multiple` -
      Returns:

    - #### basicNack

          public void basicNack(long deliveryTag,
                                boolean multiple,
                                boolean requeue,
                                Handler<AsyncResult<Void>> resultHandler)

      Reject one or several received messages.
      Parameters:
        `deliveryTag` -
        `multiple` -
        `requeue` -
        `resultHandler` -

    - #### basicNack

          public void basicNack(long deliveryTag,
                                boolean multiple,
                                boolean requeue)

      Reject one or several received messages.
      Parameters:
        `deliveryTag` -
        `multiple` -
        `requeue` -

    - #### rxBasicNack

          public Completable rxBasicNack(long deliveryTag,
                                         boolean multiple,
                                         boolean requeue)

      Reject one or several received messages.
      Parameters:
        `deliveryTag` -
        `multiple` -
        `requeue` -
      Returns:

    - #### basicGet

          public void basicGet(String queue,
                               boolean autoAck,
                               Handler<AsyncResult<RabbitMQMessage>> resultHandler)

      Retrieve a message from a queue using AMQP.Basic.Get
      Parameters:
        `queue` -
        `autoAck` -
        `resultHandler` -

    - #### basicGet

          public void basicGet(String queue,
                               boolean autoAck)

      Retrieve a message from a queue using AMQP.Basic.Get
      Parameters:
        `queue` -
        `autoAck` -

    - #### rxBasicGet

          public Single<RabbitMQMessage> rxBasicGet(String queue,
                                                    boolean autoAck)

      Retrieve a message from a queue using AMQP.Basic.Get
      Parameters:
        `queue` -
        `autoAck` -
      Returns:

    - #### basicConsumer

          public void basicConsumer(String queue,
                                    Handler<AsyncResult<RabbitMQConsumer>> resultHandler)

      Parameters:
        `queue` -
        `resultHandler` -

    - #### basicConsumer

          public void basicConsumer(String queue)

      Parameters:
        `queue` -

    - #### rxBasicConsumer

          public Single<RabbitMQConsumer> rxBasicConsumer(String queue)

      Parameters:
        `queue` -
      Returns:

    - #### basicConsumer

          public void basicConsumer(String queue,
                                    QueueOptions options,
                                    Handler<AsyncResult<RabbitMQConsumer>> resultHandler)

      Create a consumer with the given `options`.
      Parameters:
        `queue` - the name of a queue
        `options` - options for queue
        `resultHandler` - a handler through which you can find out the operation status; if the operation succeeds you can begin to receive messages through an instance of `RabbitMQConsumer`

    - #### basicConsumer

          public void basicConsumer(String queue,
                                    QueueOptions options)

      Create a consumer with the given `options`.
      Parameters:
        `queue` - the name of a queue
        `options` - options for queue

    - #### rxBasicConsumer

          public Single<RabbitMQConsumer> rxBasicConsumer(String queue,
                                                          QueueOptions options)

      Create a consumer with the given `options`.
      Parameters:
        `queue` - the name of a queue
        `options` - options for queue
      Returns:

    - #### basicPublish

          public void basicPublish(String exchange,
                                   String routingKey,
                                   Buffer body,
                                   Handler<AsyncResult<Void>> resultHandler)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect.
      Parameters:
        `exchange` -
        `routingKey` -
        `body` -
        `resultHandler` -

    - #### basicPublish

          public void basicPublish(String exchange,
                                   String routingKey,
                                   Buffer body)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect.
      Parameters:
        `exchange` -
        `routingKey` -
        `body` -

    - #### rxBasicPublish

          public Completable rxBasicPublish(String exchange,
                                            String routingKey,
                                            Buffer body)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect.
      Parameters:
        `exchange` -
        `routingKey` -
        `body` -
      Returns:

    - #### addConfirmListener

          public void addConfirmListener(int maxQueueSize,
                                         Handler<AsyncResult<ReadStream<RabbitMQConfirmation>>> resultHandler)

      Add a Confirm Listener to the channel. Note that this will automatically call confirmSelect, it is not necessary to call that too.
      Parameters:
        `maxQueueSize` - maximum size of the queue of confirmations
        `resultHandler` - a handler through which you can find out the operation status; if the operation succeeds you can begin to receive confirmations through an instance of

    - #### addConfirmListener

          public void addConfirmListener(int maxQueueSize)

      Add a Confirm Listener to the channel. Note that this will automatically call confirmSelect, it is not necessary to call that too.
      Parameters:
        `maxQueueSize` - maximum size of the queue of confirmations

    - #### rxAddConfirmListener

          public Single<ReadStream<RabbitMQConfirmation>> rxAddConfirmListener(int maxQueueSize)

      Add a Confirm Listener to the channel. Note that this will automatically call confirmSelect, it is not necessary to call that too.
      Parameters:
        `maxQueueSize` - maximum size of the queue of confirmations
      Returns:

    - #### confirmSelect

          public void confirmSelect(Handler<AsyncResult<Void>> resultHandler)

      Enables publisher acknowledgements on this channel. Can be called once during client initialisation. Calls to basicPublish() will have to be confirmed.
      Parameters:
        `resultHandler` -

    - #### confirmSelect

          public void confirmSelect()

      Enables publisher acknowledgements on this channel. Can be called once during client initialisation. Calls to basicPublish() will have to be confirmed.

    - #### rxConfirmSelect

          public Completable rxConfirmSelect()

      Enables publisher acknowledgements on this channel. Can be called once during client initialisation. Calls to basicPublish() will have to be confirmed.
      Returns:

    - #### waitForConfirms

          public void waitForConfirms(Handler<AsyncResult<Void>> resultHandler)

      Wait until all messages published since the last call have been either ack'd or nack'd by the broker. This will incur slight performance loss at the expense of higher write consistency. If desired, multiple calls to basicPublish() can be batched before confirming.
      Parameters:
        `resultHandler` -

    - #### waitForConfirms

          public void waitForConfirms()

      Wait until all messages published since the last call have been either ack'd or nack'd by the broker. This will incur slight performance loss at the expense of higher write consistency. If desired, multiple calls to basicPublish() can be batched before confirming.

    - #### rxWaitForConfirms

          public Completable rxWaitForConfirms()

      Wait until all messages published since the last call have been either ack'd or nack'd by the broker. This will incur slight performance loss at the expense of higher write consistency. If desired, multiple calls to basicPublish() can be batched before confirming.
      Returns:

    - #### waitForConfirms

          public void waitForConfirms(long timeout,
                                      Handler<AsyncResult<Void>> resultHandler)

      Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses. If the timeout expires a TimeoutException is thrown.
      Parameters:
        `timeout` -
        `resultHandler` -

    - #### waitForConfirms

          public void waitForConfirms(long timeout)

      Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses. If the timeout expires a TimeoutException is thrown.
      Parameters:
        `timeout` -

    - #### rxWaitForConfirms

          public Completable rxWaitForConfirms(long timeout)

      Wait until all messages published since the last call have been either ack'd or nack'd by the broker; or until timeout elapses. If the timeout expires a TimeoutException is thrown.
      Parameters:
        `timeout` -
      Returns:

    - #### basicQos

          public void basicQos(int prefetchCount,
                               Handler<AsyncResult<Void>> resultHandler)

      Request a specific prefetchCount "quality of service" settings for this channel.
      Parameters:
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited
        `resultHandler` - handler called when operation is done with a result of the operation

    - #### basicQos

          public void basicQos(int prefetchCount)

      Request a specific prefetchCount "quality of service" settings for this channel.
      Parameters:
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited

    - #### rxBasicQos

          public Completable rxBasicQos(int prefetchCount)

      Request a specific prefetchCount "quality of service" settings for this channel.
      Parameters:
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited
      Returns:

    - #### basicQos

          public void basicQos(int prefetchCount,
                               boolean global,
                               Handler<AsyncResult<Void>> resultHandler)

      Request a specific prefetchCount "quality of service" settings for this channel.
      Parameters:
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited
        `global` - true if the settings should be applied to the entire channel rather than each consumer
        `resultHandler` - handler called when operation is done with a result of the operation

    - #### basicQos

          public void basicQos(int prefetchCount,
                               boolean global)

      Request a specific prefetchCount "quality of service" settings for this channel.
      Parameters:
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited
        `global` - true if the settings should be applied to the entire channel rather than each consumer

    - #### rxBasicQos

          public Completable rxBasicQos(int prefetchCount,
                                        boolean global)

      Request a specific prefetchCount "quality of service" settings for this channel.
      Parameters:
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited
        `global` - true if the settings should be applied to the entire channel rather than each consumer
      Returns:

    - #### basicQos

          public void basicQos(int prefetchSize,
                               int prefetchCount,
                               boolean global,
                               Handler<AsyncResult<Void>> resultHandler)

      Request specific "quality of service" settings. These settings impose limits on the amount of data the server will deliver to consumers before requiring acknowledgements. Thus they provide a means of consumer-initiated flow control.
      Parameters:
        `prefetchSize` - maximum amount of content (measured in octets) that the server will deliver, 0 if unlimited
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited
        `global` - true if the settings should be applied to the entire channel rather than each consumer
        `resultHandler` - handler called when operation is done with a result of the operation

    - #### basicQos

          public void basicQos(int prefetchSize,
                               int prefetchCount,
                               boolean global)

      Request specific "quality of service" settings. These settings impose limits on the amount of data the server will deliver to consumers before requiring acknowledgements. Thus they provide a means of consumer-initiated flow control.
      Parameters:
        `prefetchSize` - maximum amount of content (measured in octets) that the server will deliver, 0 if unlimited
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited
        `global` - true if the settings should be applied to the entire channel rather than each consumer

    - #### rxBasicQos

          public Completable rxBasicQos(int prefetchSize,
                                        int prefetchCount,
                                        boolean global)

      Request specific "quality of service" settings. These settings impose limits on the amount of data the server will deliver to consumers before requiring acknowledgements. Thus they provide a means of consumer-initiated flow control.
      Parameters:
        `prefetchSize` - maximum amount of content (measured in octets) that the server will deliver, 0 if unlimited
        `prefetchCount` - maximum number of messages that the server will deliver, 0 if unlimited
        `global` - true if the settings should be applied to the entire channel rather than each consumer
      Returns:

    - #### exchangeDeclare

          public void exchangeDeclare(String exchange,
                                      String type,
                                      boolean durable,
                                      boolean autoDelete,
                                      Handler<AsyncResult<Void>> resultHandler)

      Declare an exchange.
      Parameters:
        `exchange` -
        `type` -
        `durable` -
        `autoDelete` -
        `resultHandler` -

    - #### exchangeDeclare

          public void exchangeDeclare(String exchange,
                                      String type,
                                      boolean durable,
                                      boolean autoDelete)

      Declare an exchange.
      Parameters:
        `exchange` -
        `type` -
        `durable` -
        `autoDelete` -

    - #### rxExchangeDeclare

          public Completable rxExchangeDeclare(String exchange,
                                               String type,
                                               boolean durable,
                                               boolean autoDelete)

      Declare an exchange.
      Parameters:
        `exchange` -
        `type` -
        `durable` -
        `autoDelete` -
      Returns:

    - #### exchangeDeclare

          public void exchangeDeclare(String exchange,
                                      String type,
                                      boolean durable,
                                      boolean autoDelete,
                                      JsonObject config,
                                      Handler<AsyncResult<Void>> resultHandler)

      Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.
      Parameters:
        `exchange` -
        `type` -
        `durable` -
        `autoDelete` -
        `config` -
        `resultHandler` -

    - #### exchangeDeclare

          public void exchangeDeclare(String exchange,
                                      String type,
                                      boolean durable,
                                      boolean autoDelete,
                                      JsonObject config)

      Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.
      Parameters:
        `exchange` -
        `type` -
        `durable` -
        `autoDelete` -
        `config` -

    - #### rxExchangeDeclare

          public Completable rxExchangeDeclare(String exchange,
                                               String type,
                                               boolean durable,
                                               boolean autoDelete,
                                               JsonObject config)

      Declare an exchange with additional parameters such as dead lettering, an alternate exchange or TTL.
      Parameters:
        `exchange` -
        `type` -
        `durable` -
        `autoDelete` -
        `config` -
      Returns:

    - #### exchangeDelete

          public void exchangeDelete(String exchange,
                                     Handler<AsyncResult<Void>> resultHandler)

      Delete an exchange, without regard for whether it is in use or not.
      Parameters:
        `exchange` -
        `resultHandler` -

    - #### exchangeDelete

          public void exchangeDelete(String exchange)

      Delete an exchange, without regard for whether it is in use or not.
      Parameters:
        `exchange` -

    - #### rxExchangeDelete

          public Completable rxExchangeDelete(String exchange)

      Delete an exchange, without regard for whether it is in use or not.
      Parameters:
        `exchange` -
      Returns:

    - #### exchangeBind

          public void exchangeBind(String destination,
                                   String source,
                                   String routingKey,
                                   Handler<AsyncResult<Void>> resultHandler)

      Bind an exchange to an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
        `resultHandler` -

    - #### exchangeBind

          public void exchangeBind(String destination,
                                   String source,
                                   String routingKey)

      Bind an exchange to an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -

    - #### rxExchangeBind

          public Completable rxExchangeBind(String destination,
                                            String source,
                                            String routingKey)

      Bind an exchange to an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
      Returns:

    - #### exchangeBind

          public void exchangeBind(String destination,
                                   String source,
                                   String routingKey,
                                   Map<String,Object> arguments,
                                   Handler<AsyncResult<Void>> resultHandler)

      Bind an exchange to an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
        `arguments` -
        `resultHandler` -

    - #### exchangeBind

          public void exchangeBind(String destination,
                                   String source,
                                   String routingKey,
                                   Map<String,Object> arguments)

      Bind an exchange to an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
        `arguments` -

    - #### rxExchangeBind

          public Completable rxExchangeBind(String destination,
                                            String source,
                                            String routingKey,
                                            Map<String,Object> arguments)

      Bind an exchange to an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
        `arguments` -
      Returns:

    - #### exchangeUnbind

          public void exchangeUnbind(String destination,
                                     String source,
                                     String routingKey,
                                     Handler<AsyncResult<Void>> resultHandler)

      Unbind an exchange from an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
        `resultHandler` -

    - #### exchangeUnbind

          public void exchangeUnbind(String destination,
                                     String source,
                                     String routingKey)

      Unbind an exchange from an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -

    - #### rxExchangeUnbind

          public Completable rxExchangeUnbind(String destination,
                                              String source,
                                              String routingKey)

      Unbind an exchange from an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
      Returns:

    - #### exchangeUnbind

          public void exchangeUnbind(String destination,
                                     String source,
                                     String routingKey,
                                     Map<String,Object> arguments,
                                     Handler<AsyncResult<Void>> resultHandler)

      Unbind an exchange from an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
        `arguments` -
        `resultHandler` -

    - #### exchangeUnbind

          public void exchangeUnbind(String destination,
                                     String source,
                                     String routingKey,
                                     Map<String,Object> arguments)

      Unbind an exchange from an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
        `arguments` -

    - #### rxExchangeUnbind

          public Completable rxExchangeUnbind(String destination,
                                              String source,
                                              String routingKey,
                                              Map<String,Object> arguments)

      Unbind an exchange from an exchange.
      Parameters:
        `destination` -
        `source` -
        `routingKey` -
        `arguments` -
      Returns:

    - #### queueDeclareAuto

          public void queueDeclareAuto(Handler<AsyncResult<JsonObject>> resultHandler)

      Actively declare a server-named exclusive, autodelete, non-durable queue.
      Parameters:
        `resultHandler` -

    - #### queueDeclareAuto

          public void queueDeclareAuto()

      Actively declare a server-named exclusive, autodelete, non-durable queue.

    - #### rxQueueDeclareAuto

          public Single<JsonObject> rxQueueDeclareAuto()

      Actively declare a server-named exclusive, autodelete, non-durable queue.
      Returns:

    - #### queueBind

          public void queueBind(String queue,
                                String exchange,
                                String routingKey,
                                Handler<AsyncResult<Void>> resultHandler)

      Bind a queue to an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
        `resultHandler` -

    - #### queueBind

          public void queueBind(String queue,
                                String exchange,
                                String routingKey)

      Bind a queue to an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -

    - #### rxQueueBind

          public Completable rxQueueBind(String queue,
                                         String exchange,
                                         String routingKey)

      Bind a queue to an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
      Returns:

    - #### queueBind

          public void queueBind(String queue,
                                String exchange,
                                String routingKey,
                                Map<String,Object> arguments,
                                Handler<AsyncResult<Void>> resultHandler)

      Bind a queue to an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
        `arguments` -
        `resultHandler` -

    - #### queueBind

          public void queueBind(String queue,
                                String exchange,
                                String routingKey,
                                Map<String,Object> arguments)

      Bind a queue to an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
        `arguments` -

    - #### rxQueueBind

          public Completable rxQueueBind(String queue,
                                         String exchange,
                                         String routingKey,
                                         Map<String,Object> arguments)

      Bind a queue to an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
        `arguments` -
      Returns:

    - #### queueUnbind

          public void queueUnbind(String queue,
                                  String exchange,
                                  String routingKey,
                                  Handler<AsyncResult<Void>> resultHandler)

      Unbind a queue from an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
        `resultHandler` -

    - #### queueUnbind

          public void queueUnbind(String queue,
                                  String exchange,
                                  String routingKey)

      Unbind a queue from an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -

    - #### rxQueueUnbind

          public Completable rxQueueUnbind(String queue,
                                           String exchange,
                                           String routingKey)

      Unbind a queue from an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
      Returns:

    - #### queueUnbind

          public void queueUnbind(String queue,
                                  String exchange,
                                  String routingKey,
                                  Map<String,Object> arguments,
                                  Handler<AsyncResult<Void>> resultHandler)

      Unbind a queue from an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
        `arguments` -
        `resultHandler` -

    - #### queueUnbind

          public void queueUnbind(String queue,
                                  String exchange,
                                  String routingKey,
                                  Map<String,Object> arguments)

      Unbind a queue from an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
        `arguments` -

    - #### rxQueueUnbind

          public Completable rxQueueUnbind(String queue,
                                           String exchange,
                                           String routingKey,
                                           Map<String,Object> arguments)

      Unbind a queue from an exchange
      Parameters:
        `queue` -
        `exchange` -
        `routingKey` -
        `arguments` -
      Returns:

    - #### messageCount

          public void messageCount(String queue,
                                   Handler<AsyncResult<Long>> resultHandler)

      Returns the number of messages in a queue ready to be delivered.
      Parameters:
        `queue` -
        `resultHandler` -

    - #### messageCount

          public void messageCount(String queue)

      Returns the number of messages in a queue ready to be delivered.
      Parameters:
        `queue` -

    - #### rxMessageCount

          public Single<Long> rxMessageCount(String queue)

      Returns the number of messages in a queue ready to be delivered.
      Parameters:
        `queue` -
      Returns:

    - #### start

          public void start(Handler<AsyncResult<Void>> resultHandler)

      Start the rabbitMQ client. Create the connection and the channel.
      Parameters:
        `resultHandler` -

    - #### start

          public void start()

      Start the rabbitMQ client. Create the connection and the channel.

    - #### rxStart

          public Completable rxStart()

      Start the rabbitMQ client. Create the connection and the channel.
      Returns:

    - #### stop

          public void stop(Handler<AsyncResult<Void>> resultHandler)

      Stop the rabbitMQ client. Close the connection and its channel.
      Parameters:
        `resultHandler` -

    - #### stop

          public void stop()

      Stop the rabbitMQ client. Close the connection and its channel.

    - #### rxStop

          public Completable rxStop()

      Stop the rabbitMQ client. Close the connection and its channel.
      Returns:

    - #### isConnected

          public boolean isConnected()

      Check if a connection is open
      Returns:
        true when the connection is open, false otherwise

    - #### restartConnect

          public void restartConnect(int attempts,
                                     Handler<AsyncResult<Void>> resultHandler)

      restart the rabbitMQ connect.
      Parameters:
        `attempts` - number of attempts
        `resultHandler` - handler called when operation is done with a result of the operation

    - #### restartConnect

          public void restartConnect(int attempts)

      restart the rabbitMQ connect.
      Parameters:
        `attempts` - number of attempts

    - #### rxRestartConnect

          public Completable rxRestartConnect(int attempts)

      restart the rabbitMQ connect.
      Parameters:
        `attempts` - number of attempts
      Returns:

    - #### isOpenChannel

          public boolean isOpenChannel()

      Check if a channel is open
      Returns:
        true when the connection is open, false otherwise

    - #### basicPublish

          public void basicPublish(String exchange,
                                   String routingKey,
                                   com.rabbitmq.client.BasicProperties properties,
                                   Buffer body,
                                   Handler<AsyncResult<Void>> resultHandler)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect.
      Parameters:
        `exchange` -
        `routingKey` -
        `properties` -
        `body` -
        `resultHandler` -

    - #### basicPublish

          public void basicPublish(String exchange,
                                   String routingKey,
                                   com.rabbitmq.client.BasicProperties properties,
                                   Buffer body)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect.
      Parameters:
        `exchange` -
        `routingKey` -
        `properties` -
        `body` -

    - #### rxBasicPublish

          public Completable rxBasicPublish(String exchange,
                                            String routingKey,
                                            com.rabbitmq.client.BasicProperties properties,
                                            Buffer body)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect.
      Parameters:
        `exchange` -
        `routingKey` -
        `properties` -
        `body` -
      Returns:

    - #### basicPublishWithDeliveryTag

          public void basicPublishWithDeliveryTag(String exchange,
                                                  String routingKey,
                                                  com.rabbitmq.client.BasicProperties properties,
                                                  Buffer body,
                                                  Handler<Long> deliveryTagHandler,
                                                  Handler<AsyncResult<Void>> resultHandler)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect. The deliveryTagHandler will be called before the message is sent, which is necessary because the confirmation may arrive asynchronously before the resultHandler is called.
      Parameters:
        `exchange` -
        `routingKey` -
        `properties` -
        `body` -
        `deliveryTagHandler` - callback to capture the deliveryTag for this message. Note that this will be called synchronously in the context of the client before the result is known.
        `resultHandler` -

    - #### basicPublishWithDeliveryTag

          public void basicPublishWithDeliveryTag(String exchange,
                                                  String routingKey,
                                                  com.rabbitmq.client.BasicProperties properties,
                                                  Buffer body,
                                                  Handler<Long> deliveryTagHandler)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect. The deliveryTagHandler will be called before the message is sent, which is necessary because the confirmation may arrive asynchronously before the resultHandler is called.
      Parameters:
        `exchange` -
        `routingKey` -
        `properties` -
        `body` -
        `deliveryTagHandler` - callback to capture the deliveryTag for this message. Note that this will be called synchronously in the context of the client before the result is known.

    - #### rxBasicPublishWithDeliveryTag

          public Completable rxBasicPublishWithDeliveryTag(String exchange,
                                                           String routingKey,
                                                           com.rabbitmq.client.BasicProperties properties,
                                                           Buffer body,
                                                           Handler<Long> deliveryTagHandler)

      Publish a message. Publishing to a non-existent exchange will result in a channel-level protocol exception, which closes the channel. Invocations of Channel#basicPublish will eventually block if a resource-driven alarm is in effect. The deliveryTagHandler will be called before the message is sent, which is necessary because the confirmation may arrive asynchronously before the resultHandler is called.
      Parameters:
        `exchange` -
        `routingKey` -
        `properties` -
        `body` -
        `deliveryTagHandler` - callback to capture the deliveryTag for this message. Note that this will be called synchronously in the context of the client before the result is known.
      Returns:

    - #### queueDeclare

          public void queueDeclare(String queue,
                                   boolean durable,
                                   boolean exclusive,
                                   boolean autoDelete,
                                   Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeclareOk>> resultHandler)

      Declare a queue
      Parameters:
        `queue` -
        `durable` -
        `exclusive` -
        `autoDelete` -
        `resultHandler` -

    - #### queueDeclare

          public void queueDeclare(String queue,
                                   boolean durable,
                                   boolean exclusive,
                                   boolean autoDelete)

      Declare a queue
      Parameters:
        `queue` -
        `durable` -
        `exclusive` -
        `autoDelete` -

    - #### rxQueueDeclare

          public Single<com.rabbitmq.client.AMQP.Queue.DeclareOk> rxQueueDeclare(String queue,
                                                                                 boolean durable,
                                                                                 boolean exclusive,
                                                                                 boolean autoDelete)

      Declare a queue
      Parameters:
        `queue` -
        `durable` -
        `exclusive` -
        `autoDelete` -
      Returns:

    - #### queueDeclare

          public void queueDeclare(String queue,
                                   boolean durable,
                                   boolean exclusive,
                                   boolean autoDelete,
                                   JsonObject config,
                                   Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeclareOk>> resultHandler)

      Declare a queue with config options
      Parameters:
        `queue` -
        `durable` -
        `exclusive` -
        `autoDelete` -
        `config` -
        `resultHandler` -

    - #### queueDeclare

          public void queueDeclare(String queue,
                                   boolean durable,
                                   boolean exclusive,
                                   boolean autoDelete,
                                   JsonObject config)

      Declare a queue with config options
      Parameters:
        `queue` -
        `durable` -
        `exclusive` -
        `autoDelete` -
        `config` -

    - #### rxQueueDeclare

          public Single<com.rabbitmq.client.AMQP.Queue.DeclareOk> rxQueueDeclare(String queue,
                                                                                 boolean durable,
                                                                                 boolean exclusive,
                                                                                 boolean autoDelete,
                                                                                 JsonObject config)

      Declare a queue with config options
      Parameters:
        `queue` -
        `durable` -
        `exclusive` -
        `autoDelete` -
        `config` -
      Returns:

    - #### queueDelete

          public void queueDelete(String queue,
                                  Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeleteOk>> resultHandler)

      Delete a queue, without regard for whether it is in use or has messages on it
      Parameters:
        `queue` -
        `resultHandler` -

    - #### queueDelete

          public void queueDelete(String queue)

      Delete a queue, without regard for whether it is in use or has messages on it
      Parameters:
        `queue` -

    - #### rxQueueDelete

          public Single<com.rabbitmq.client.AMQP.Queue.DeleteOk> rxQueueDelete(String queue)

      Delete a queue, without regard for whether it is in use or has messages on it
      Parameters:
        `queue` -
      Returns:

    - #### queueDeleteIf

          public void queueDeleteIf(String queue,
                                    boolean ifUnused,
                                    boolean ifEmpty,
                                    Handler<AsyncResult<com.rabbitmq.client.AMQP.Queue.DeleteOk>> resultHandler)

      Delete a queue
      Parameters:
        `queue` -
        `ifUnused` -
        `ifEmpty` -
        `resultHandler` -

    - #### queueDeleteIf

          public void queueDeleteIf(String queue,
                                    boolean ifUnused,
                                    boolean ifEmpty)

      Delete a queue
      Parameters:
        `queue` -
        `ifUnused` -
        `ifEmpty` -

    - #### rxQueueDeleteIf

          public Single<com.rabbitmq.client.AMQP.Queue.DeleteOk> rxQueueDeleteIf(String queue,
                                                                                 boolean ifUnused,
                                                                                 boolean ifEmpty)

      Delete a queue
      Parameters:
        `queue` -
        `ifUnused` -
        `ifEmpty` -
      Returns:

    - #### newInstance

          public static RabbitMQClient newInstance(RabbitMQClient arg)

Copyright © 2023 Eclipse. All rights reserved.