Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

  1. Extend tier — the trait surface: Strategy, Face, RoutingProtocol.
  2. Writing a strategy — the forwarding-decision seam.
  3. Implementing a face — a transport + link service.
  4. Interest and Data lifecycle — where your code runs in the pipeline.