|
RMQ - RabbitMQ C++ Library
|
An interface providing a manipulatable RabbitMQ topology structure. More...
#include <rmqp_topology.h>

Public Member Functions | |
| virtual rmqt::QueueHandle | addQueue (const bsl::string &name=bsl::string(), rmqt::AutoDelete::Value=rmqt::AutoDelete::OFF, rmqt::Durable::Value=rmqt::Durable::ON, const rmqt::FieldTable &args=rmqt::FieldTable())=0 |
| Declare a queue. More... | |
| virtual rmqt::ExchangeHandle | addExchange (const bsl::string &name, const rmqt::ExchangeType &exchangeType=rmqt::ExchangeType::DIRECT, rmqt::AutoDelete::Value autoDelete=rmqt::AutoDelete::OFF, rmqt::Durable::Value durable=rmqt::Durable::ON, rmqt::Internal::Value internal=rmqt::Internal::NO, const rmqt::FieldTable &args=rmqt::FieldTable())=0 |
| Declare an exchange. More... | |
| virtual rmqt::ExchangeHandle | addPassiveExchange (const bsl::string &name)=0 |
| Declare a dependency on Exchange (without creating it) More... | |
| virtual rmqt::QueueHandle | addPassiveQueue (const bsl::string &name)=0 |
| Declare a dependency on Queue (without creating it) More... | |
| virtual void | bind (const rmqt::ExchangeHandle &exchangeName, const rmqt::QueueHandle &queue, const bsl::string &bindingKey, const rmqt::FieldTable &args=rmqt::FieldTable())=0 |
| Bind a queue and an exchange. More... | |
| virtual void | bind (const rmqt::ExchangeHandle &exchange1, const rmqt::ExchangeHandle &exchange2, const bsl::string &bindingKey, const rmqt::FieldTable &args=rmqt::FieldTable())=0 |
| Bind two exchanges. More... | |
| virtual const rmqt::Topology & | topology () const =0 |
| Get a readonly copy of stored topology. More... | |
| virtual const rmqt::ExchangeHandle | defaultExchange ()=0 |
| Retrieve a handle for the default exchange. More... | |
An interface providing a manipulatable RabbitMQ topology structure.
Represents the RabbitMQ topology, allowing declaring of Exchanges, Queues, and Bindings. This object is passed to rmqa::VHost when creating Producers and Consumers, which ensure this topology is available on the broker.
|
pure virtual |
Declare an exchange.
| name | Exchange name. Maximum allowed length is 127 characters. See https://www.rabbitmq.com/amqp-0-9-1-reference.html#exchange.declare.exchange for name rules. |
| exchangeType | The exchange type drives the meaning of the routingKey when publishing to an exchange. |
| autoDelete | When ON the exchange is deleted after all bindings are removed. |
| durable | When ON the exchange declaration will survive broker restarts |
| internal | When YES the exchange is declared as an internal. Internal exchange cannot be used directly by publishers. It can be used, when bound to other exchange. |
| args | Further Exchange properties are controlled by key-value properties defined in an rmqt::FieldTable. |
Implemented in BloombergLP::rmqa::Topology.
|
pure virtual |
Declare a dependency on Exchange (without creating it)
| name | Exchange name. |
Implemented in BloombergLP::rmqa::Topology.
|
pure virtual |
Declare a dependency on Queue (without creating it)
| name | Queue name. |
Implemented in BloombergLP::rmqa::Topology.
|
pure virtual |
Declare a queue.
| name | Queue Name. See https://www.rabbitmq.com/queues.html#names for name rules. |
| autoDelete | Not recommended When ON the queue is declared as autodelete. An autodelete queue is deleted when it's last consumer is cancelled. This could cause data loss if all consumers are disconnected in an outage. |
| durable | When ON the queue declaration will survive broker restarts. Persistent messages will also survive broker restart in the queue. Message persistence is controlled by the publisher. |
| args | Other queue properties (such as TTL) are controlled by key-value properties held in a rmqt::FieldTable. |
Implemented in BloombergLP::rmqa::Topology.
|
pure virtual |
Bind two exchanges.
Implemented in BloombergLP::rmqa::Topology.
|
pure virtual |
Bind a queue and an exchange.
Implemented in BloombergLP::rmqa::Topology.
|
pure virtual |
Retrieve a handle for the default exchange.
The default exchange is an exchange named '' (length 0). It is a DIRECT exchange with automatic bindings for all queues within the vhost
Implemented in BloombergLP::rmqa::Topology.
|
pure virtual |
Get a readonly copy of stored topology.
This is used internally by rmqamqp to send the topology to the broker
Implemented in BloombergLP::rmqa::Topology.