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§
impl Copy for Epoch
Source§impl EncodeSize for Epoch
impl EncodeSize for Epoch
Source§fn encode_size(&self) -> usize
fn encode_size(&self) -> usize
Returns the encoded size of this value (in bytes).
Source§fn encode_inline_size(&self) -> usize
fn encode_inline_size(&self) -> usize
Returns the encoded size excluding bytes passed to
BufsMut::push
during Write::write_bufs. Used to size the working buffer for inline
writes. Override alongside Write::write_bufs for types where large
Bytes fields go via push; failing to do so will over-allocate.impl Eq for Epoch
Source§impl Ord for Epoch
impl Ord for Epoch
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for Epoch
impl PartialOrd for Epoch
Source§impl Read for Epoch
impl Read for Epoch
impl StructuralPartialEq for Epoch
Source§impl Write for Epoch
impl Write for Epoch
Source§fn write_bufs(&self, buf: &mut impl BufsMut)
fn write_bufs(&self, buf: &mut impl BufsMut)
Writes to a
BufsMut, allowing existing Bytes chunks to be
appended via BufsMut::push instead of written inline. Must encode
to the same format as Write::write. Defaults to Write::write.Auto Trait Implementations§
impl Freeze for Epoch
impl RefUnwindSafe for Epoch
impl Send for Epoch
impl Sync for Epoch
impl Unpin for Epoch
impl UnsafeUnpin for Epoch
impl UnwindSafe for Epoch
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Codec for T
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T> Encode for Twhere
T: Write + EncodeSize,
impl<T> Encode for Twhere
T: Write + EncodeSize,
Source§impl<T> EncodeExt for Twhere
T: EncodeSize + Write,
impl<T> EncodeExt for Twhere
T: EncodeSize + Write,
Source§fn encode_with_pool_mut(&self, pool: &BufferPool) -> IoBufMut
fn encode_with_pool_mut(&self, pool: &BufferPool) -> IoBufMut
Source§fn encode_with_pool(&self, pool: &BufferPool) -> IoBufs
fn encode_with_pool(&self, pool: &BufferPool) -> IoBufs
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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>
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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 more