Crate ndn_app

Crate ndn_app 

Source
Expand description

§ndn-app — NDN Application API

High-level Consumer and Producer abstractions for Named Data Networking, plus KeyChain for identity management and signing.

§Connection modes

External forwarder — connect to a running ndn-fwd via Unix socket:

let mut consumer = Consumer::connect("/run/nfd/nfd.sock").await?;
let data = consumer.fetch("/example/data").await?;

Embedded engine — run the forwarder in-process (ideal for mobile/Android):

// Create in-process face pairs
let (consumer_face, consumer_handle) = InProcFace::new(FaceId(1), 64);
let (producer_face, producer_handle) = InProcFace::new(FaceId(2), 64);

// Build engine with both faces
let (engine, shutdown) = EngineBuilder::new(EngineConfig::default())
    .face(consumer_face)
    .face(producer_face)
    .build()
    .await?;

// Route Interests for /app → producer face
let prefix: Name = "/app".parse()?;
engine.fib().add_nexthop(&prefix, FaceId(2), 0);

// Use Consumer/Producer via handles
let mut consumer = Consumer::from_handle(consumer_handle);
let mut producer = Producer::from_handle(producer_handle, prefix);

Re-exports§

pub use app_face::OutboundRequest;
pub use connection::NdnConnection;
pub use consumer::Consumer;
pub use consumer::DEFAULT_INTEREST_LIFETIME;
pub use consumer::DEFAULT_TIMEOUT;
pub use error::AppError;
pub use producer::Producer;
pub use queryable::Query;
pub use queryable::Queryable;
pub use responder::Responder;
pub use subscriber::Sample;
pub use subscriber::Subscriber;
pub use subscriber::SubscriberConfig;

Modules§

app_face
connection
consumer
error
prelude
Prelude for ergonomic imports.
producer
queryable
Queryable — register a prefix and respond to incoming queries (Interests).
responder
Responder — reply builder passed to producer handlers.
security
subscriber
High-level subscription API — Zenoh-inspired pub/sub over NDN sync.

Structs§

EngineBuilder
Re-export the engine builder for convenience. Constructs and wires a ForwarderEngine.
ForwarderEngine
Re-export the engine builder for convenience. Handle to a running forwarding engine.
KeyChain
A named NDN identity with an associated signing key and trust anchors.
ShutdownHandle
Re-export the engine builder for convenience. Handle to gracefully shut down the engine.