Skip to main content

offline_protocol_router/
lib.rs

1//! DORS routing and relay management for the Offline Protocol SDK.
2//!
3//! This crate implements the Dynamic Offline Relay Switch (DORS) system
4//! for intelligent transport selection and relay management.
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 constants;
12pub mod dors;
13pub mod error;
14pub mod relay;
15pub mod router;
16pub mod ttl;
17
18pub use dors::{
19    display_routing_score, DorsConfig, EscalationTriggerReason, TransportScore,
20    TransportScoreFactors, TransportSelector,
21};
22pub use error::{Error, Result};
23pub use relay::{
24    RelayConfig, RelayDemotionReason, RelayManager, RelayRole, RelayTransition,
25    CRITICAL_RELAY_BATTERY_LEVEL,
26};
27pub use router::{
28    ForwardingDecision, GossipConfig, GradientRoutingConfig, GradientRoutingTable, PathConfig,
29    PathSelector, RouteEntry,
30};
31pub use ttl::{AdaptiveTtlCalculator, AdaptiveTtlConfig, NetworkSizeEstimate};