Extender
You want to change how the stack behaves — a new forwarding strategy, a new face over some bearer, a routing protocol — without forking the engine. The engine exposes these as traits you implement and register. This page points you at the seams.
Assumes Why NDN is different and the mechanics in One packet, six depths — strategies live at depth 4, faces at depth 5.
Your first win
Implement the
Strategy trait and register it on a prefix.
→ Writing a strategy.
The trait surface is the Extend tier.
Where to stop
You extend through traits, not by editing the engine. If a change needs a core engine edit, that is a signal to reconsider the seam — the extension points are designed so you should not have to.
Three seams
Strategy (how an Interest is forwarded), Face
(a link over a bearer), and RoutingProtocol (what fills the
FIB). Pick the one that matches your change; ignore the rest.
The path
- Extend tier — the trait surface:
Strategy,Face,RoutingProtocol. - Writing a strategy — the forwarding-decision seam.
- Implementing a face — a transport + link service.
- Interest and Data lifecycle — where your code runs in the pipeline.