ndn_engine/
lib.rs

1//! # ndn-engine — Forwarder engine and pipeline wiring
2//!
3//! Assembles the full NDN forwarding plane from pipeline stages, faces,
4//! and tables.
5//!
6//! - [`EngineBuilder`] / [`EngineConfig`] — configure faces, strategies,
7//!   and content-store backends before starting the engine.
8//! - [`ForwarderEngine`] — owns the FIB, PIT, CS, face table, and the
9//!   Tokio task set that drives packet processing.
10//! - [`ComposedStrategy`] / [`ContextEnricher`] — adapt and compose
11//!   strategy implementations with cross-layer enrichment.
12//! - [`ShutdownHandle`] — cooperative shutdown of all engine tasks.
13
14#![allow(missing_docs)]
15
16pub mod builder;
17pub mod compose;
18pub mod discovery_context;
19pub mod dispatcher;
20pub mod engine;
21pub mod enricher;
22pub mod expiry;
23pub mod fib;
24pub mod pipeline;
25pub mod rib;
26pub mod routing;
27pub mod stages;
28
29pub use builder::{EngineBuilder, EngineConfig};
30pub use compose::ComposedStrategy;
31pub use discovery_context::EngineDiscoveryContext;
32pub use engine::{FaceCounters, FaceState, ForwarderEngine, ShutdownHandle};
33pub use enricher::ContextEnricher;
34pub use fib::{Fib, FibEntry, FibNexthop};
35pub use rib::{Rib, RibRoute};
36pub use routing::{RoutingHandle, RoutingManager, RoutingProtocol};
37
38// Re-export pipeline types at crate root for ergonomic access
39pub use pipeline::{
40    Action, AnyMap, DecodedPacket, DropReason, ForwardingAction, NackReason, PacketContext,
41    PipelineStage,
42};