pub struct StaticTracker<DataProvider> {
pub size: usize,
pub counter: usize,
/* private fields */
}Expand description
Keeps track of the SCALE encoded byte length of the snapshot’s voters or targets.
The tracker calculates the bytes used based on static rules, without requiring any actual encoding or extra allocations.
Fields§
§size: usize§counter: usizeImplementations§
Source§impl<DataProvider> StaticTracker<DataProvider>where
DataProvider: ElectionDataProvider,
impl<DataProvider> StaticTracker<DataProvider>where
DataProvider: ElectionDataProvider,
Sourcepub fn try_register_voter(
&mut self,
voter: &VoterOf<DataProvider>,
bounds: &DataProviderBounds,
) -> Result<(), ()>
pub fn try_register_voter( &mut self, voter: &VoterOf<DataProvider>, bounds: &DataProviderBounds, ) -> Result<(), ()>
Tries to register a new voter.
If the new voter exhausts the provided bounds, return an error. Otherwise, the internal state of the tracker is updated with the new registered voter.
Sourcepub fn try_register_target(
&mut self,
target: DataProvider::AccountId,
bounds: &DataProviderBounds,
) -> Result<(), ()>
pub fn try_register_target( &mut self, target: DataProvider::AccountId, bounds: &DataProviderBounds, ) -> Result<(), ()>
Tries to register a new target.
If the new target exhausts the provided bounds, return an error. Otherwise, the internal state of the tracker is updated with the new registered target.
Trait Implementations§
Source§impl<DataProvider: Clone> Clone for StaticTracker<DataProvider>
impl<DataProvider: Clone> Clone for StaticTracker<DataProvider>
Source§fn clone(&self) -> StaticTracker<DataProvider>
fn clone(&self) -> StaticTracker<DataProvider>
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<DataProvider: Debug> Debug for StaticTracker<DataProvider>
impl<DataProvider: Debug> Debug for StaticTracker<DataProvider>
Source§impl<DataProvider> Default for StaticTracker<DataProvider>
impl<DataProvider> Default for StaticTracker<DataProvider>
impl<DataProvider: Copy> Copy for StaticTracker<DataProvider>
Auto Trait Implementations§
impl<DataProvider> Freeze for StaticTracker<DataProvider>
impl<DataProvider> RefUnwindSafe for StaticTracker<DataProvider>where
DataProvider: RefUnwindSafe,
impl<DataProvider> Send for StaticTracker<DataProvider>where
DataProvider: Send,
impl<DataProvider> Sync for StaticTracker<DataProvider>where
DataProvider: Sync,
impl<DataProvider> Unpin for StaticTracker<DataProvider>where
DataProvider: Unpin,
impl<DataProvider> UnwindSafe for StaticTracker<DataProvider>where
DataProvider: UnwindSafe,
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§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
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Defensively truncate a value and convert it into its bounded form.
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.