pub trait ScoreLookUp {
    type ScoreParams;

    // Required method
    fn channel_penalty_msat(
        &self,
        short_channel_id: u64,
        source: &NodeId,
        target: &NodeId,
        usage: ChannelUsage,
        score_params: &Self::ScoreParams,
    ) -> u64;
}
Expand description

An interface used to score payment channels for path finding.

ScoreLookUp is used to determine the penalty for a given channel.

Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.

Required Associated Types§

type ScoreParams

A configurable type which should contain various passed-in parameters for configuring the scorer, on a per-routefinding-call basis through to the scorer methods, which are used to determine the parameters for the suitability of channels for use.

Required Methods§

fn channel_penalty_msat( &self, short_channel_id: u64, source: &NodeId, target: &NodeId, usage: ChannelUsage, score_params: &Self::ScoreParams, ) -> u64

Returns the fee in msats willing to be paid to avoid routing send_amt_msat through the given channel in the direction from source to target.

The channel’s capacity (less any other MPP parts that are also being considered for use in the same payment) is given by capacity_msat. It may be determined from various sources such as a chain data, network gossip, or invoice hints. For invoice hints, a capacity near u64::max_value is given to indicate sufficient capacity for the invoice’s full amount. Thus, implementations should be overflow-safe.

Implementors§

§

impl ScoreLookUp for FixedPenaltyScorer

§

impl<'a, S> ScoreLookUp for ScorerAccountingForInFlightHtlcs<'a, S>
where S: Deref, <S as Deref>::Target: ScoreLookUp,

§

impl<G, L, T> ScoreLookUp for ProbabilisticScorerUsingTime<G, L, T>
where G: Deref<Target = NetworkGraph<L>>, L: Deref, T: Time, <L as Deref>::Target: Logger,

§

impl<S, T> ScoreLookUp for T
where S: ScoreLookUp, T: Deref<Target = S>,