Skip to main content

queue_runtime/
lib.rs

1//! # Queue Runtime
2//!
3//! Multi-provider queue runtime for reliable message processing with support for
4//! Azure Service Bus, AWS SQS, and in-memory implementations.
5//!
6//! This library provides:
7//! - Provider-agnostic queue operations
8//! - Session-based ordered message processing
9//! - Dead letter queue support
10//! - Retry policies with exponential backoff
11//! - Batch operations where supported
12//!
13//! ## Module Organization
14//!
15//! - [rror] - Error types for all queue operations
16//! - [message] - Message structures and receipt handles
17//! - [provider] - Provider types and configuration
18//! - [client] - Client traits and implementations
19//!
20//! See specs/interfaces/queue-client.md for complete specification.
21
22// Module declarations
23pub mod client;
24pub mod error;
25pub mod message;
26pub mod provider;
27pub mod providers;
28pub mod sessions;
29
30// Re-export commonly used types at crate root for convenience
31pub use client::{
32    QueueClient, QueueClientFactory, QueueProvider, SessionClient, SessionProvider,
33    StandardQueueClient,
34};
35pub use error::{ConfigurationError, QueueError, SerializationError, ValidationError};
36pub use message::{
37    Message, MessageId, QueueName, ReceiptHandle, ReceiveOptions, ReceivedMessage, SendOptions,
38    SessionId, Timestamp,
39};
40pub use provider::{
41    AwsSqsConfig, AzureServiceBusConfig, InMemoryConfig, ProviderConfig, ProviderType, QueueConfig,
42    SessionSupport,
43};
44pub use providers::{
45    AzureAuthMethod, AzureServiceBusProvider, AzureSessionProvider, InMemoryProvider,
46    InMemorySessionProvider,
47};
48pub use sessions::{
49    CompositeKeyStrategy, FallbackStrategy, NoOrderingStrategy, SessionAffinity,
50    SessionAffinityTracker, SessionInfo, SessionKeyExtractor, SessionKeyGenerator,
51    SessionLifecycleConfig, SessionLifecycleManager, SessionLock, SessionLockManager,
52    SingleFieldStrategy,
53};