ndn_engine/pipeline/mod.rs
1//! # `ndn_engine::pipeline` — Packet processing pipeline stages
2//!
3//! Defines the fixed-stage pipeline through which every NDN packet flows.
4//! Each stage receives a [`PacketContext`] by value and returns an [`Action`]
5//! that drives dispatch (`Continue`, `Send`, `Satisfy`, `Drop`, `Nack`).
6//!
7//! ## Key types
8//!
9//! - [`PipelineStage`] — trait implemented by each processing step
10//! - [`PacketContext`] — per-packet state passed by value through the pipeline
11//! - [`Action`] — enum controlling packet fate after each stage
12//! - [`DecodedPacket`] — lazily-decoded Interest or Data
13//! - `BoxedStage` — type-erased pipeline stage (`Box<dyn PipelineStage>`)
14
15#![allow(missing_docs)]
16
17pub mod action;
18pub mod context;
19pub mod stage;
20
21pub use action::{Action, DropReason, ForwardingAction, NackReason};
22pub use context::{DecodedPacket, PacketContext};
23pub use ndn_transport::AnyMap;
24pub use stage::PipelineStage;