Crate ndn_sim

Crate ndn_sim 

Source
Expand description

§ndn-sim — In-process NDN network simulation

Provides SimFace, SimLink, and a Simulation topology builder for constructing multi-node NDN networks entirely in-process. Unlike Mini-NDN (which orchestrates real processes via Mininet), simulations run in a single Tokio runtime with configurable link properties.

§Quick Start

use ndn_sim::{Simulation, LinkConfig, NodeId};
use ndn_engine::builder::EngineConfig;

let mut sim = Simulation::new();
let n1 = sim.add_node(EngineConfig::default());
let n2 = sim.add_node(EngineConfig::default());
sim.link(n1, n2, LinkConfig::lan());
sim.add_route(n1, "/prefix", n2);

let running = sim.start().await?;
// ... run experiment using running.engine(n1), running.engine(n2) ...
running.shutdown().await;

§Components

ModuleDescription
sim_faceSimFace — channel-backed face with delay/loss/bandwidth emulation
sim_linkSimLink — creates connected face pairs with link properties
topologySimulation — multi-node topology builder and runner
tracerSimTracer — structured event capture for analysis

Re-exports§

pub use sim_face::SimFace;
pub use sim_link::LinkConfig;
pub use topology::NodeId;
pub use topology::RunningSimulation;
pub use topology::Simulation;
pub use tracer::EventKind;
pub use tracer::SimEvent;
pub use tracer::SimTracer;

Modules§

sim_face
SimFace — a simulated face with configurable link properties.
sim_link
SimLink — a configurable simulated link between two faces.
topology
Simulation — multi-node topology builder for in-process NDN simulations.
tracer
SimTracer — structured event capture for simulation analysis.