Interface for application callback objects to receive notifications and messages from a queue by subscription. Most implementations will subclass {@link DefaultConsumer}.
The methods of this interface are invoked in a dispatch thread which is separate from the {@link Connection}'s thread. This allows {@link Consumer}s to call {@link Channel} or {@link Connection} methods without causing a deadlock.
The {@link Consumer}s on a particular {@link Channel} are invoked serially on one or moredispatch threads. {@link Consumer}s should avoid executing long-running code because this will delay dispatch of messages to other {@link Consumer}s on the same {@link Channel}.
@see Channel#basicConsume(String,boolean,String,boolean,boolean,java.util.Map,Consumer)
@see Channel#basicCancel