Skip to main content

celers_kombu/
lib.rs

1//! Broker abstraction layer (Kombu-style)
2//!
3//! This crate provides the abstract interface for message brokers, inspired by
4//! Python's Kombu library. It defines the core traits that all broker implementations
5//! must follow.
6//!
7//! # Architecture
8//!
9//! - **Transport**: Low-level broker connection (Redis, AMQP, SQS, Database)
10//! - **Producer**: Message publishing interface
11//! - **Consumer**: Message consuming interface
12//! - **Queue**: Queue abstraction with routing
13//! - **BatchProducer**: Batch message publishing interface
14//! - **BatchConsumer**: Batch message consuming interface
15//! - **HealthCheck**: Health monitoring interface
16//! - **Metrics**: Metrics collection interface
17//! - **Admin**: Broker administration interface
18
19mod backpressure;
20mod circuit_breaker;
21mod connection;
22mod dlq;
23mod error;
24mod exchange;
25mod health;
26mod middleware;
27mod middleware_advanced;
28mod middleware_basic;
29mod middleware_extended;
30mod middleware_monitoring;
31mod mock;
32mod priority;
33mod queue_mode;
34mod quota;
35mod retry;
36mod scheduler;
37mod types;
38
39pub mod utils;
40
41// Re-export everything from submodules to preserve the public API
42pub use backpressure::*;
43pub use circuit_breaker::*;
44pub use connection::*;
45pub use dlq::*;
46pub use error::*;
47pub use exchange::*;
48pub use health::*;
49pub use middleware::*;
50pub use middleware_advanced::*;
51pub use middleware_basic::*;
52pub use middleware_extended::*;
53pub use middleware_monitoring::*;
54pub use mock::*;
55pub use priority::*;
56pub use queue_mode::*;
57pub use quota::*;
58pub use retry::*;
59pub use scheduler::*;
60pub use types::*;
61
62#[cfg(test)]
63mod tests;
64#[cfg(test)]
65mod tests_advanced;
66#[cfg(test)]
67mod tests_middleware;