Interface for communicating with a RabbitMQ cluster. More...
#include <userver/urabbitmq/client.hpp>
Public Member Functions | |
~Client () | |
Client destructor. | |
void | DeclareExchange (const Exchange &exchange, Exchange::Type type, utils::Flags< Exchange::Flags > flags, engine::Deadline deadline) override |
Declare an exchange. | |
void | DeclareExchange (const Exchange &exchange, Exchange::Type type, engine::Deadline deadline) override |
overload of DeclareExchange | |
void | DeclareExchange (const Exchange &exchange, engine::Deadline deadline) override |
overload of DeclareExchange | |
void | DeclareQueue (const Queue &queue, utils::Flags< Queue::Flags > flags, engine::Deadline deadline) override |
Declare a queue. | |
void | DeclareQueue (const Queue &queue, engine::Deadline deadline) override |
overload of DeclareQueue | |
void | BindQueue (const Exchange &exchange, const Queue &queue, const std::string &routing_key, engine::Deadline deadline) override |
Bind a queue to an exchange. | |
void | RemoveExchange (const Exchange &exchange, engine::Deadline deadline) override |
Remove an exchange. | |
void | RemoveQueue (const Queue &queue, engine::Deadline deadline) override |
Remove a queue. | |
AdminChannel | GetAdminChannel (engine::Deadline deadline) |
Get an administrative interface for the broker. | |
void | Publish (const Exchange &exchange, const std::string &routing_key, const std::string &message, MessageType type, engine::Deadline deadline) override |
Publish a message to an exchange. | |
void | Publish (const Exchange &exchange, const std::string &routing_key, const std::string &message, engine::Deadline deadline) override |
overload of Publish | |
Channel | GetChannel (engine::Deadline deadline) |
Get a publisher interface for the broker. | |
void | PublishReliable (const Exchange &exchange, const std::string &routing_key, const std::string &message, MessageType type, engine::Deadline deadline) override |
Publish a message to an exchange and await confirmation from the broker. | |
void | PublishReliable (const Exchange &exchange, const std::string &routing_key, const std::string &message, engine::Deadline deadline) override |
overload of PublishReliable | |
ReliableChannel | GetReliableChannel (engine::Deadline deadline) |
Get a reliable publisher interface for the broker (publisher-confirms) | |
void | WriteStatistics (utils::statistics::Writer &writer) const |
Write cluster statistics. | |
Static Public Member Functions | |
static std::shared_ptr< Client > | Create (clients::dns::Resolver &resolver, const ClientSettings &settings) |
Protected Member Functions | |
Client (clients::dns::Resolver &resolver, const ClientSettings &settings) | |
Friends | |
class | ConsumerBase |
Interface for communicating with a RabbitMQ cluster.
Usually retrieved from components::RabbitMQ component.
Definition at line 28 of file client.hpp.
|
overridevirtual |
Bind a queue to an exchange.
exchange | the source exchange |
queue | the target queue |
routing_key | the routing key |
deadline | execution deadline |
Implements urabbitmq::IAdminInterface.
|
static |
Client factory function
resolver | asynchronous DNS resolver |
settings | client settings |
|
inlineoverridevirtual |
overload of DeclareExchange
Implements urabbitmq::IAdminInterface.
Definition at line 50 of file client.hpp.
|
inlineoverridevirtual |
overload of DeclareExchange
Implements urabbitmq::IAdminInterface.
Definition at line 45 of file client.hpp.
|
overridevirtual |
Declare an exchange.
exchange | name of the exchange |
type | exchange type |
flags | exchange flags |
deadline | execution deadline |
Implements urabbitmq::IAdminInterface.
|
inlineoverridevirtual |
overload of DeclareQueue
Implements urabbitmq::IAdminInterface.
Definition at line 58 of file client.hpp.
|
overridevirtual |
Declare a queue.
queue | name of the queue |
flags | queue flags |
deadline | execution deadline |
Implements urabbitmq::IAdminInterface.
AdminChannel urabbitmq::Client::GetAdminChannel | ( | engine::Deadline | deadline | ) |
Get an administrative interface for the broker.
deadline | deadline for connection acquisition from the pool |
Channel urabbitmq::Client::GetChannel | ( | engine::Deadline | deadline | ) |
Get a publisher interface for the broker.
deadline | deadline for connection acquisition from the pool |
ReliableChannel urabbitmq::Client::GetReliableChannel | ( | engine::Deadline | deadline | ) |
Get a reliable publisher interface for the broker (publisher-confirms)
deadline | deadline for connection acquisition from the pool |
|
inlineoverridevirtual |
overload of Publish
Implements urabbitmq::IChannelInterface.
Definition at line 80 of file client.hpp.
|
overridevirtual |
Publish a message to an exchange.
You have to supply the name of the exchange and a routing key. RabbitMQ will then try to send the message to one or more queues. By default unroutable messages are silently discarded
exchange | the exchange to publish to |
routing_key | the routing key |
message | the message to send |
deadline | execution deadline |
fire and forget
(no delivery guarantees), use PublishReliable
for delivery guarantees. Implements urabbitmq::IChannelInterface.
|
inlineoverridevirtual |
overload of PublishReliable
Implements urabbitmq::IReliableChannelInterface.
Definition at line 94 of file client.hpp.
|
overridevirtual |
Publish a message to an exchange and await confirmation from the broker.
You have to supply the name of the exchange and a routing key. RabbitMQ will then try to send the message to one or more queues. By default unroutable messages are silently discarded
exchange | the exchange to publish to |
routing_key | the routing key |
message | the message to send |
deadline | execution deadline |
Implements urabbitmq::IReliableChannelInterface.
|
overridevirtual |
Remove an exchange.
exchange | name of the exchange to remove |
deadline | execution deadline |
Implements urabbitmq::IAdminInterface.
|
overridevirtual |
Remove a queue.
queue | name of the queue to remove |
deadline | execution deadline |
Implements urabbitmq::IAdminInterface.
|
friend |
Definition at line 114 of file client.hpp.