Skip to main content

diidi_travel_common_queue/
lib.rs

1//! Provider-agnostic queue abstraction for the DiiDi Travel monorepo.
2//!
3//! Architecture mirrors the cache crate:
4//! - [`Queue`] — object-safe trait implemented by every backend.
5//! - [`QueueProvider`] — factory for `Queue` instances backed by specific providers.
6//! - [`QueueFactory`] — resolves a [`QueueConfig`] with a provider registry.
7//! - [`QueueFeatures`] — capability hints for optional features (delay, batch, headers, ...).
8
9pub mod config;
10pub mod decorator;
11pub mod error;
12pub mod factory;
13pub mod feature;
14pub mod provider;
15pub mod queue;
16
17pub use config::QueueConfig;
18pub use decorator::{LoggingQueue, with_logging};
19pub use error::{QueueError, QueueResult};
20pub use factory::{QueueFactory, QueueFactoryBuilder};
21pub use feature::{QueueFeature, QueueFeatures};
22pub use provider::QueueProvider;
23pub use queue::{
24  ConsumeAction, DeadLetterTarget, NackAction, Queue, QueueDelivery, QueueMessage, QueueReceipt, consume_once,
25  default_batch,
26};