Crate ndn_store

Crate ndn_store 

Source
Expand description

§ndn-store – Forwarding tables and content storage

Implements the core forwarding-plane data structures: FIB, PIT, Content Store, and strategy table. All tables are designed for concurrent access (using DashMap or sharding) on the packet-processing hot path.

§Key types

  • NameTrie – generic name-prefix trie used by FIB and strategy table.
  • Fib / FibEntry – Forwarding Information Base (longest-prefix match).
  • Pit / PitEntry – Pending Interest Table with in/out records.
  • ContentStore trait – pluggable cache interface.
  • LruCs – single-threaded LRU content store.
  • ShardedCs – sharded wrapper for concurrent CS access.
  • [FjallCs] – persistent on-disk content store (requires fjall feature).
  • NullCs – no-op store for testing or cache-less operation.
  • ObservableCs – decorator that emits CsEvents on insert/evict.
  • StrategyTable – prefix-to-strategy mapping.
  • CsAdmissionPolicy – trait controlling which Data packets are cached.

§Feature flags

  • fjall – enables [FjallCs], the persistent content store backend.

Re-exports§

pub use content_store::AdmitAllPolicy;
pub use content_store::ContentStore;
pub use content_store::CsAdmissionPolicy;
pub use content_store::CsCapacity;
pub use content_store::CsEntry;
pub use content_store::CsMeta;
pub use content_store::CsStats;
pub use content_store::DefaultAdmissionPolicy;
pub use content_store::ErasedContentStore;
pub use content_store::InsertResult;
pub use content_store::NullCs;
pub use fib::Fib;
pub use fib::FibEntry;
pub use fib::FibNexthop;
pub use lru_cs::LruCs;
pub use observable_cs::CsEvent;
pub use observable_cs::CsObserver;
pub use observable_cs::ObservableCs;
pub use pit::InRecord;
pub use pit::NameHashes;
pub use pit::OutRecord;
pub use pit::Pit;
pub use pit::PitEntry;
pub use pit::PitToken;
pub use sharded_cs::ShardedCs;
pub use strategy_table::StrategyTable;
pub use trie::NameTrie;

Modules§

content_store
fib
lru_cs
observable_cs
Observable content store wrapper with event hooks and atomic counters.
pit
sharded_cs
strategy_table
trie