hopr_transport_path/lib.rs
1//! Graph-based path planning for the HOPR transport layer.
2//!
3//! This crate provides:
4//! - [`traits::PathSelector`]: Trait for selecting multi-hop paths through the network.
5//! - [`PathPlanner`]: Resolves `DestinationRouting` to `ResolvedTransportRouting`, delegating path discovery to any
6//! [`traits::PathSelector`] implementation and maintaining a `moka`-backed cache of fully-validated `ValidatedPath`
7//! objects keyed by `(source, destination, options)`.
8//! - [`PathPlannerConfig`]: Configuration for the planner's cache and background refresh.
9
10pub mod errors;
11pub mod planner;
12pub mod selector;
13pub mod traits;
14
15pub use errors::{PathPlannerError, Result};
16pub use planner::{PathPlanner, PathPlannerConfig};
17pub use selector::HoprGraphPathSelector;
18pub use traits::{BackgroundPathCacheRefreshable, PathSelector, PathWithCost};