Skip to main content

offline_protocol_reliability/
lib.rs

1//! Reliability layer for the Offline Protocol SDK.
2//!
3//! This crate provides ACK management, retry queuing with exponential backoff,
4//! message deduplication, and ACK optimization for large networks.
5//!
6//! All code in this crate is 100% safe Rust with no unsafe blocks.
7
8#![deny(unsafe_code)]
9#![warn(missing_docs)]
10
11pub mod ack_manager;
12pub mod ack_optimization;
13pub mod constants;
14pub mod deduplicator;
15pub mod error;
16pub mod relay_seen;
17pub mod retry_queue;
18
19pub use ack_manager::{AckConfig, AckEvictionInfo, AckManager};
20pub use ack_optimization::{AckOptimizationConfig, AckOptimizer, AggregatedAck, PiggybackAckData};
21pub use deduplicator::{
22    Deduplicator, DeduplicatorConfig, DeduplicatorMode, DeduplicatorStats, SeenId,
23};
24pub use error::{Error, Result};
25pub use relay_seen::{
26    RelaySeenCache, RelaySeenConfig, SeenOutcome, DEFAULT_RELAY_SEEN_CAPACITY,
27    DEFAULT_RELAY_SEEN_RETENTION_SECS,
28};
29pub use retry_queue::{RetryConfig, RetryQueue, RetryQueueStats};