ndn_strategy/
lib.rs

1//! # ndn-strategy — Forwarding strategy framework
2//!
3//! Defines the [`Strategy`] trait and the types strategies operate on.
4//!
5//! - [`StrategyContext`] gives strategies an immutable view of PIT, FIB, and
6//!   measurements state, with cross-layer extension slots via [`AnyMap`].
7//! - [`StrategyFilter`] enables composable pre/post processing around any
8//!   strategy (e.g. [`RssiFilter`] for link-quality gating).
9//! - Built-in strategies: [`BestRouteStrategy`] (lowest-cost nexthop) and
10//!   [`MulticastStrategy`] (forward to all nexthops).
11//! - Cross-layer DTOs ([`FaceLinkQuality`], [`LinkQualitySnapshot`]) allow
12//!   transport-layer metrics to flow into strategy decisions.
13
14#![allow(missing_docs)]
15
16pub mod best_route;
17pub mod context;
18pub mod cross_layer;
19pub mod filter;
20pub mod filters;
21pub mod measurements;
22pub mod multicast;
23pub mod strategy;
24
25pub use best_route::BestRouteStrategy;
26pub use context::{FibEntry, FibNexthop, StrategyContext};
27pub use cross_layer::{FaceLinkQuality, LinkQualitySnapshot};
28pub use filter::StrategyFilter;
29pub use filters::RssiFilter;
30pub use measurements::{MeasurementsEntry, MeasurementsTable};
31pub use multicast::MulticastStrategy;
32pub use strategy::Strategy;