Trait lnp::router::Nomenclature

source ·
pub trait Nomenclaturewhere
    Self: Nomenclature,{
    type HopPayload: SphinxPayload;

    // Required methods
    fn default_extensions() -> Vec<Box<dyn RouterExtension<Self>>> ;
    fn update_from_peer(
        router: &mut Router<Self>,
        message: &Self::PeerMessage
    ) -> Result<(), <Self as Nomenclature>::Error>;
}
Expand description

Marker trait for creating routing extension nomenclatures, defining order in which extensions are called to construct the route.

Extension nomenclature is an enum with members convertible into u16 representation

Required Associated Types§

Required Methods§

source

fn default_extensions() -> Vec<Box<dyn RouterExtension<Self>>>

source

fn update_from_peer( router: &mut Router<Self>, message: &Self::PeerMessage ) -> Result<(), <Self as Nomenclature>::Error>

Updates router extension structure from peer message. Processed before each of the registered extensions gets Extension::update_from_peer

Implementors§