pub struct Epoch(/* private fields */);Expand description
Represents a distinct segment of a contiguous sequence of views.
An epoch increments when the validator set changes, providing a reconfiguration boundary. All consensus operations within an epoch use the same validator set.
Implementations§
Source§impl Epoch
impl Epoch
Sourcepub const fn next(self) -> Self
pub const fn next(self) -> Self
Returns the next epoch.
§Panics
Panics if the epoch would overflow u64::MAX. In practice, this is extremely unlikely to occur during normal operation.
Sourcepub fn previous(self) -> Option<Self>
pub fn previous(self) -> Option<Self>
Returns the previous epoch, or None if this is epoch zero.
Unlike Epoch::next(), this returns an Option since reaching epoch zero
is common, whereas overflowing u64::MAX is not expected in normal
operation.
Sourcepub const fn saturating_add(self, delta: EpochDelta) -> Self
pub const fn saturating_add(self, delta: EpochDelta) -> Self
Adds a delta to this epoch, saturating at u64::MAX.
Sourcepub fn checked_sub(self, delta: EpochDelta) -> Option<Self>
pub fn checked_sub(self, delta: EpochDelta) -> Option<Self>
Subtracts a delta from this epoch, returning None if it would underflow.
Sourcepub const fn saturating_sub(self, delta: EpochDelta) -> Self
pub const fn saturating_sub(self, delta: EpochDelta) -> Self
Subtracts a delta from this epoch, saturating at zero.
Trait Implementations§
Source§impl EncodeSize for Epoch
impl EncodeSize for Epoch
Source§fn encode_size(&self) -> usize
fn encode_size(&self) -> usize
Source§impl Ord for Epoch
impl Ord for Epoch
Source§impl PartialOrd for Epoch
impl PartialOrd for Epoch
Source§impl Read for Epoch
impl Read for Epoch
impl Copy for Epoch
impl Eq for Epoch
impl StructuralPartialEq for Epoch
Auto Trait Implementations§
impl Freeze for Epoch
impl RefUnwindSafe for Epoch
impl Send for Epoch
impl Sync for Epoch
impl Unpin for Epoch
impl UnwindSafe for Epoch
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
§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)
clone_to_uninit)Source§impl<T> Encode for Twhere
T: Write + EncodeSize,
impl<T> Encode for Twhere
T: Write + EncodeSize,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
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>
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<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.