Struct ProbabilisticScoringDecayParameters
pub struct ProbabilisticScoringDecayParameters {
pub historical_no_updates_half_life: Duration,
pub liquidity_offset_half_life: Duration,
}
Expand description
Parameters for configuring ProbabilisticScorer
.
Used to configure decay parameters that are static throughout the lifetime of the scorer. these decay parameters affect the score of the channel penalty and are not changed on a per-route penalty cost call.
Fields§
§historical_no_updates_half_life: Duration
If we aren’t learning any new datapoints for a channel, the historical liquidity bounds
tracking can simply live on with increasingly stale data. Instead, when a channel has not
seen a liquidity estimate update for this amount of time, the historical datapoints are
decayed by half.
For an example of historical_no_updates_half_life being used see historical_estimated_channel_liquidity_probabilities
Note that after 16 or more half lives all historical data will be completely gone.
Default value: 14 days
liquidity_offset_half_life: Duration
Whenever this amount of time elapses since the last update to a channel’s liquidity bounds, the distance from the bounds to “zero” is cut in half. In other words, the lower-bound on the available liquidity is halved and the upper-bound moves half-way to the channel’s total capacity.
Because halving the liquidity bounds grows the uncertainty on the channel’s liquidity,
the penalty for an amount within the new bounds may change. See the ProbabilisticScorer
struct documentation for more info on the way the liquidity bounds are used.
For example, if the channel’s capacity is 1 million sats, and the current upper and lower liquidity bounds are 200,000 sats and 600,000 sats, after this amount of time the upper and lower liquidity bounds will be decayed to 100,000 and 800,000 sats.
Default value: 6 hours
§Note
When built with the no-std
feature, time will never elapse. Therefore, the channel
liquidity knowledge will never decay except when the bounds cross.
Trait Implementations§
§impl Clone for ProbabilisticScoringDecayParameters
impl Clone for ProbabilisticScoringDecayParameters
§fn clone(&self) -> ProbabilisticScoringDecayParameters
fn clone(&self) -> ProbabilisticScoringDecayParameters
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Default for ProbabilisticScoringDecayParameters
impl Default for ProbabilisticScoringDecayParameters
§fn default() -> ProbabilisticScoringDecayParameters
fn default() -> ProbabilisticScoringDecayParameters
impl Copy for ProbabilisticScoringDecayParameters
Auto Trait Implementations§
impl Freeze for ProbabilisticScoringDecayParameters
impl RefUnwindSafe for ProbabilisticScoringDecayParameters
impl Send for ProbabilisticScoringDecayParameters
impl Sync for ProbabilisticScoringDecayParameters
impl Unpin for ProbabilisticScoringDecayParameters
impl UnwindSafe for ProbabilisticScoringDecayParameters
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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>
T
in a tonic::Request