16#ifndef INCLUDED_RMQP_CONSUMER
17#define INCLUDED_RMQP_CONSUMER
19#include <rmqp_messageguard.h>
20#include <rmqp_topologyupdate.h>
21#include <rmqt_future.h>
22#include <rmqt_message.h>
23#include <rmqt_result.h>
24#include <rmqt_topology.h>
25#include <rmqt_topologyupdate.h>
27#include <bsl_functional.h>
29namespace BloombergLP {
Provide a RabbitMQ Async Consumer API.
Definition: rmqp_consumer.h:38
virtual rmqt::Future updateTopologyAsync(const rmqt::TopologyUpdate &topologyUpdate)=0
Updates topology.
bsl::function< void(rmqp::MessageGuard &)> ConsumerFunc
Callback function used to receive messages.
Definition: rmqp_consumer.h:48
virtual rmqt::Future drain()=0
Can only be called (successfully) once the Consumer has been cancelled, returns a future which resolv...
virtual rmqt::Future cancel()=0
Cancels the consumer, stops new messages flowing in.
Consumer()
Consumer is constructed from the Connection object.
Definition: rmqp_consumer.cpp:21
virtual rmqt::Result cancelAndDrain(const bsls::TimeInterval &timeout)=0
Tells the broker to stop delivering messages to this consumer.
An interface for MessageGuard class.
Definition: rmqp_messageguard.h:39
An async-style Future/Promise object.
Definition: rmqt_future.h:108
A result of an operation.
Definition: rmqt_result.h:37
Definition: rmqt_topologyupdate.h:33