core/connmgr/decay library

Classes

Decayer
Decayer is implemented by connection managers supporting decaying tags.
DecayingTag
Represents a decaying tag. The tag is a long-lived general object, used to operate on tag values for peers.
DecayingValue
A decaying tag is one whose value automatically decays over time.

Functions

bumpOverwrite() BumpFn
Replaces the current value of the tag with the incoming one.
bumpSumBounded(int min, int max) BumpFn
Keeps summing the incoming score, keeping it within a min, max range.
bumpSumUnbounded() BumpFn
Common bump functions Adds the incoming value to the peer's score.
decayExpireWhenInactive(Duration after) DecayFn
Expires a tag after a certain period of no bumps.
decayFixed(int minuend) DecayFn
Subtracts from by the provided minuend, and deletes the tag when first reaching 0 or negative.
decayLinear(double coef) DecayFn
Applies a fractional coefficient to the value of the current tag, rounding down. It erases the tag when the result is zero.
decayNone() DecayFn
Common decay functions Applies no decay.

Typedefs

BumpFn = int Function(DecayingValue value, int delta)
BumpFn applies a delta onto an existing score, and returns the new score.
DecayFn = (int, bool) Function(DecayingValue value)
DecayFn applies a decay to the peer's score. The implementation must call DecayFn at the interval supplied when registering the tag.