/*
 * Copyright (c) 2018-2019 The original author or authors
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *        The Eclipse Public License is available at
 *        http://www.eclipse.org/legal/epl-v10.html
 *
 *        The Apache License v2.0 is available at
 *        http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */
package io.vertx.amqp;

import io.vertx.codegen.annotations.CacheReturn;
import io.vertx.codegen.annotations.Nullable;
import io.vertx.codegen.annotations.VertxGen;
import io.vertx.core.AsyncResult;
import io.vertx.core.Future;
import io.vertx.core.Handler;
import io.vertx.core.streams.ReadStream;

Interface used to consume AMQP message as a stream of message. Back pressure is implemented using AMQP credits.
/** * Interface used to consume AMQP message as a stream of message. * Back pressure is implemented using AMQP credits. */
@VertxGen public interface AmqpReceiver extends ReadStream<AmqpMessage> { @Override AmqpReceiver exceptionHandler(Handler<Throwable> handler); @Override AmqpReceiver handler(@Nullable Handler<AmqpMessage> handler); @Override AmqpReceiver pause(); @Override AmqpReceiver resume(); @Override AmqpReceiver fetch(long amount); @Override AmqpReceiver endHandler(@Nullable Handler<Void> endHandler);
The listened address.
Returns:the address, not null
/** * The listened address. * * @return the address, not {@code null} */
@CacheReturn String address();
Closes the receiver.
Params:
  • handler – handler called when the receiver has been closed, can be null
/** * Closes the receiver. * * @param handler handler called when the receiver has been closed, can be {@code null} */
void close(Handler<AsyncResult<Void>> handler);
Like close(Handler<AsyncResult<Void>>) but returns a Future of the asynchronous result
/** * Like {@link #close(Handler)} but returns a {@code Future} of the asynchronous result */
Future<Void> close();
Gets the connection having created the receiver. Cannot be null
Returns:the connection having created the receiver.
/** * Gets the connection having created the receiver. Cannot be {@code null} * * @return the connection having created the receiver. */
AmqpConnection connection(); }