pub struct UpToLimitDisablingStrategy<const DISABLING_LIMIT_FACTOR: usize = 3>;Expand description
Implementation of DisablingStrategy using factor_based_disable_limit which disables
validators from the active set up to a threshold. DISABLING_LIMIT_FACTOR is the factor of the
maximum disabled validators in the active set. E.g. setting this value to 3 means no more than
1/3 of the validators in the active set can be disabled in an era.
By default a factor of 3 is used which is the byzantine threshold.
Implementations§
Source§impl<const DISABLING_LIMIT_FACTOR: usize> UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
impl<const DISABLING_LIMIT_FACTOR: usize> UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
Sourcepub fn disable_limit(validators_len: usize) -> usize
pub fn disable_limit(validators_len: usize) -> usize
Disabling limit calculated from the total number of validators in the active set. When reached no more validators will be disabled.
Trait Implementations§
Source§impl<T: Config, const DISABLING_LIMIT_FACTOR: usize> DisablingStrategy<T> for UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
impl<T: Config, const DISABLING_LIMIT_FACTOR: usize> DisablingStrategy<T> for UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
Source§fn decision(
offender_stash: &T::ValidatorId,
_offender_slash_severity: OffenceSeverity,
currently_disabled: &Vec<(u32, OffenceSeverity)>,
) -> DisablingDecision
fn decision( offender_stash: &T::ValidatorId, _offender_slash_severity: OffenceSeverity, currently_disabled: &Vec<(u32, OffenceSeverity)>, ) -> DisablingDecision
Make a disabling decision. Returning a
DisablingDecisionAuto Trait Implementations§
impl<const DISABLING_LIMIT_FACTOR: usize> Freeze for UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
impl<const DISABLING_LIMIT_FACTOR: usize> RefUnwindSafe for UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
impl<const DISABLING_LIMIT_FACTOR: usize> Send for UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
impl<const DISABLING_LIMIT_FACTOR: usize> Sync for UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
impl<const DISABLING_LIMIT_FACTOR: usize> Unpin for UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
impl<const DISABLING_LIMIT_FACTOR: usize> UnwindSafe for UpToLimitDisablingStrategy<DISABLING_LIMIT_FACTOR>
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
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.