rabbitmq-server/deps/rabbitmq_amqp_client
David Ansari 35b5ab3cdc Determine queue topology without checking queue type
## What?
This commit determines the queue topology without checking the queue type.

 ## Why?
This way, checking leader and replicas works the same across all queue
types without the need to introduce other rabbit_queue_type behaviour as
suggested in other PRs.

 ## How?
pid is the leader, nodes in queue_type_states are the members/replicas.

This commit results in an unknown stream leader during queue
declaration. However the correct leader will be returned eventually when
calling GET on the stream.
2025-04-07 16:37:03 +02:00
..
include Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
src Bump timeout in RabbitMQ AMQP 1.0 Erlang client 2025-03-27 10:48:49 +01:00
test Determine queue topology without checking queue type 2025-04-07 16:37:03 +02:00
LICENSE Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
LICENSE-MPL-RabbitMQ Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
Makefile make: Fix regressions following make plugins cleanup 2024-09-10 15:42:28 +02:00
README.md Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
erlang.mk Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00
rabbitmq-components.mk Enable AMQP 1.0 clients to manage topologies 2024-03-28 11:36:56 +01:00

README.md

Erlang RabbitMQ AMQP 1.0 Client

The Erlang AMQP 1.0 client is a client that can communicate with any AMQP 1.0 broker. In contrast, this project (Erlang RabbitMQ AMQP 1.0 Client) can only communicate with RabbitMQ. This project wraps (i.e. depends on) the Erlang AMQP 1.0 client providing additionally the following RabbitMQ management operations:

  • declare queue
  • get queue
  • delete queue
  • purge queue
  • bind queue to exchange
  • unbind queue from exchange
  • declare exchange
  • delete exchange
  • bind exchange to exchange
  • unbind exchange from exchange

Except for get queue, these management operations are defined in the AMQP 0.9.1 protocol. To support these AMQP 0.9.1 / RabbitMQ specific operations over AMQP 1.0, this project implements a subset of the following (most recent) AMQP 1.0 extension specifications:

This project might support more (non AMQP 0.9.1) RabbitMQ operations via AMQP 1.0 in the future.

Topologies (exchanges, bindings, queues) in RabbitMQ can be created via