pub struct ScorerAccountingForInFlightHtlcs<'a, S, SP>where
S: Score<ScoreParams = SP>,{ /* private fields */ }
Expand description
Score
implementation that factors in in-flight HTLC liquidity.
Useful for custom Router
implementations to wrap their Score
on-the-fly when calling
find_route
.
Implementations§
§impl<'a, S, SP> ScorerAccountingForInFlightHtlcs<'a, S, SP>where
S: Score<ScoreParams = SP>,
impl<'a, S, SP> ScorerAccountingForInFlightHtlcs<'a, S, SP>where
S: Score<ScoreParams = SP>,
pub fn new(
scorer: &'a mut S,
inflight_htlcs: &'a InFlightHtlcs,
) -> ScorerAccountingForInFlightHtlcs<'a, S, SP>
pub fn new( scorer: &'a mut S, inflight_htlcs: &'a InFlightHtlcs, ) -> ScorerAccountingForInFlightHtlcs<'a, S, SP>
Initialize a new ScorerAccountingForInFlightHtlcs
.
Trait Implementations§
§impl<'a, S, SP> Score for ScorerAccountingForInFlightHtlcs<'a, S, SP>where
S: Score<ScoreParams = SP>,
impl<'a, S, SP> Score for ScorerAccountingForInFlightHtlcs<'a, S, SP>where
S: Score<ScoreParams = SP>,
§type ScoreParams = <S as Score>::ScoreParams
type ScoreParams = <S as Score>::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.
§fn channel_penalty_msat(
&self,
short_channel_id: u64,
source: &NodeId,
target: &NodeId,
usage: ChannelUsage,
score_params: &<ScorerAccountingForInFlightHtlcs<'a, S, SP> as Score>::ScoreParams,
) -> u64
fn channel_penalty_msat( &self, short_channel_id: u64, source: &NodeId, target: &NodeId, usage: ChannelUsage, score_params: &<ScorerAccountingForInFlightHtlcs<'a, S, SP> as Score>::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
. Read more§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.
Auto Trait Implementations§
impl<'a, S, SP> Freeze for ScorerAccountingForInFlightHtlcs<'a, S, SP>
impl<'a, S, SP> RefUnwindSafe for ScorerAccountingForInFlightHtlcs<'a, S, SP>where
S: RefUnwindSafe,
impl<'a, S, SP> Send for ScorerAccountingForInFlightHtlcs<'a, S, SP>where
S: Send,
impl<'a, S, SP> Sync for ScorerAccountingForInFlightHtlcs<'a, S, SP>where
S: Sync,
impl<'a, S, SP> Unpin for ScorerAccountingForInFlightHtlcs<'a, S, SP>
impl<'a, S, SP> !UnwindSafe for ScorerAccountingForInFlightHtlcs<'a, S, SP>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request