Trait ScoreLookUp
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
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
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.