Trait breez_sdk_liquid::lightning::routing::scoring::Score
pub trait Score {
type ScoreParams;
// Required methods
fn channel_penalty_msat(
&self,
short_channel_id: u64,
source: &NodeId,
target: &NodeId,
usage: ChannelUsage,
score_params: &Self::ScoreParams,
) -> u64;
fn payment_path_failed(&mut self, path: &Path, short_channel_id: u64);
fn payment_path_successful(&mut self, path: &Path);
fn probe_failed(&mut self, path: &Path, short_channel_id: u64);
fn probe_successful(&mut self, path: &Path);
}
Expand description
An interface used to score payment channels for path finding.
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.
fn payment_path_failed(&mut self, path: &Path, short_channel_id: u64)
fn payment_path_failed(&mut self, path: &Path, short_channel_id: u64)
Handles updating channel penalties after failing to route through a channel.
fn payment_path_successful(&mut self, path: &Path)
fn payment_path_successful(&mut self, path: &Path)
Handles updating channel penalties after successfully routing along a path.
fn probe_failed(&mut self, path: &Path, short_channel_id: u64)
fn probe_failed(&mut self, path: &Path, short_channel_id: u64)
Handles updating channel penalties after a probe over the given path failed.
fn probe_successful(&mut self, path: &Path)
fn probe_successful(&mut self, path: &Path)
Handles updating channel penalties after a probe over the given path succeeded.