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