Struct mz_cluster_client::client::ClusterStartupEpoch
source · pub struct ClusterStartupEpoch {
envd: NonZeroI64,
replica: u64,
}
Expand description
A value generated by environmentd and passed to the clusterd processes
to help them disambiguate different CreateTimely
commands.
The semantics of this value are not important, except that they must be totally ordered, and any value (for a given replica) must be greater than any that were generated before (for that replica). This is the reason for having two components (one from the catalog storage that increases on every environmentd restart, another in-memory and local to the current incarnation of environmentd)
Fields§
§envd: NonZeroI64
The environment incarnation.
replica: u64
The replica incarnation.
Implementations§
source§impl ClusterStartupEpoch
impl ClusterStartupEpoch
sourcepub fn bump_replica(&mut self)
pub fn bump_replica(&mut self)
Increases the replica incarnation counter.
source§impl ClusterStartupEpoch
impl ClusterStartupEpoch
sourcepub fn new(envd: NonZeroI64, replica: u64) -> Self
pub fn new(envd: NonZeroI64, replica: u64) -> Self
Construct a new cluster startup epoch, from the environment epoch and replica incarnation.
sourcepub fn from_bytes(bytes: [u8; 16]) -> Self
pub fn from_bytes(bytes: [u8; 16]) -> Self
Inverse of to_bytes
sourcepub fn envd(&self) -> NonZeroI64
pub fn envd(&self) -> NonZeroI64
The environment epoch.
Trait Implementations§
source§impl Arbitrary for ClusterStartupEpoch
impl Arbitrary for ClusterStartupEpoch
§type Strategy = BoxedStrategy<ClusterStartupEpoch>
type Strategy = BoxedStrategy<ClusterStartupEpoch>
The type of
Strategy
used to generate values of type Self
.§type Parameters = ()
type Parameters = ()
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.source§fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
source§impl Clone for ClusterStartupEpoch
impl Clone for ClusterStartupEpoch
source§fn clone(&self) -> ClusterStartupEpoch
fn clone(&self) -> ClusterStartupEpoch
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ClusterStartupEpoch
impl Debug for ClusterStartupEpoch
source§impl<'de> Deserialize<'de> for ClusterStartupEpoch
impl<'de> Deserialize<'de> for ClusterStartupEpoch
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for ClusterStartupEpoch
impl Display for ClusterStartupEpoch
source§impl Ord for ClusterStartupEpoch
impl Ord for ClusterStartupEpoch
source§impl PartialEq for ClusterStartupEpoch
impl PartialEq for ClusterStartupEpoch
source§impl PartialOrd for ClusterStartupEpoch
impl PartialOrd for ClusterStartupEpoch
source§impl RustType<ProtoClusterStartupEpoch> for ClusterStartupEpoch
impl RustType<ProtoClusterStartupEpoch> for ClusterStartupEpoch
source§fn into_proto(&self) -> ProtoClusterStartupEpoch
fn into_proto(&self) -> ProtoClusterStartupEpoch
Convert a
Self
into a Proto
value.source§fn from_proto(
proto: ProtoClusterStartupEpoch,
) -> Result<Self, TryFromProtoError>
fn from_proto( proto: ProtoClusterStartupEpoch, ) -> Result<Self, TryFromProtoError>
source§fn into_proto_owned(self) -> Proto
fn into_proto_owned(self) -> Proto
A zero clone version of
Self::into_proto
that types can
optionally implement, otherwise, the default implementation
delegates to Self::into_proto
.source§impl Serialize for ClusterStartupEpoch
impl Serialize for ClusterStartupEpoch
impl Copy for ClusterStartupEpoch
impl Eq for ClusterStartupEpoch
impl StructuralPartialEq for ClusterStartupEpoch
Auto Trait Implementations§
impl Freeze for ClusterStartupEpoch
impl RefUnwindSafe for ClusterStartupEpoch
impl Send for ClusterStartupEpoch
impl Sync for ClusterStartupEpoch
impl Unpin for ClusterStartupEpoch
impl UnwindSafe for ClusterStartupEpoch
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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<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<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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.