# hare_mq v1.4.0 - Table of Contents Elixir messaging library using RabbitMQ, providing easy-to-use modules for message publishing, consuming, and retry handling ## Modules - [HareMq](HareMq.md): HareMq is an Elixir library for interacting with AMQP systems such as RabbitMQ. It provides supervised connection management, queue/exchange topology declaration, message publishing with optional deduplication, message consumption with automatic retry/dead-letter routing, stream queue support, and dynamic consumer scaling with an optional auto-scaler. - [HareMq.AutoScaler](HareMq.AutoScaler.md): A GenServer that automatically scales the number of consumers based on the number of messages in the RabbitMQ queue. - [HareMq.AutoScalerConfiguration](HareMq.AutoScalerConfiguration.md): Configuration module for HareMq AutoScaler. - [HareMq.CodeFlow](HareMq.CodeFlow.md) - [HareMq.Configuration](HareMq.Configuration.md): Runtime configuration struct and builder for HareMq queue consumers. - [HareMq.Connection](HareMq.Connection.md): GenServer that manages a single AMQP connection. - [HareMq.Consumer](HareMq.Consumer.md): Macro that injects a single-process RabbitMQ consumer GenServer. - [HareMq.Consumer.Behaviour](HareMq.Consumer.Behaviour.md) - [HareMq.DedupCache](HareMq.DedupCache.md): ETS-backed deduplication cache for RabbitMQ message processing. - [HareMq.DynamicConsumer](HareMq.DynamicConsumer.md): Macro that injects a horizontally-scalable RabbitMQ consumer pool. - [HareMq.DynamicConsumer.Behaviour](HareMq.DynamicConsumer.Behaviour.md) - [HareMq.DynamicSupervisor](HareMq.DynamicSupervisor.md): Per-module dynamic supervisor for `HareMq.DynamicConsumer` worker pools. - [HareMq.Exchange](HareMq.Exchange.md): Module providing functions for managing RabbitMQ exchanges. - [HareMq.GlobalNodeManager](HareMq.GlobalNodeManager.md) - [HareMq.Publisher](HareMq.Publisher.md): Macro that injects a full RabbitMQ publisher GenServer into the calling module. - [HareMq.Publisher.Behaviour](HareMq.Publisher.Behaviour.md) - [HareMq.Queue](HareMq.Queue.md): Functions for declaring and binding RabbitMQ queues. - [HareMq.RetryPublisher](HareMq.RetryPublisher.md): Module providing functions for republishing messages with retry handling. - [HareMq.Telemetry](HareMq.Telemetry.md): Telemetry events emitted by HareMq. - [HareMq.Worker.Consumer](HareMq.Worker.Consumer.md): Internal GenServer that manages a single AMQP channel and processes messages.