pub enum ControlPlaneEntry {
MembershipChange(MembershipChange),
OwnershipTransition(OwnershipTransition),
LeaderConfiguration {
term: ControlPlaneTerm,
leader: ClusterVoterIdentity,
},
}Expand description
The complete, closed set of things that may be appended to the Cluster Supervisor control-plane log.
There is no user-data variant on purpose. The absence is the enforcement mechanism for the central decision (ADR 0052): durable user writes cannot be expressed as a control-plane entry, so they cannot be routed through, gated by, or made to wait on Supervisor consensus. Adding a user-payload variant here would be a decision reversal and must go through a new ADR, not a code change.
Variants§
MembershipChange(MembershipChange)
A member admitted to or removed from the cluster.
OwnershipTransition(OwnershipTransition)
A fenced, versioned shard/range ownership-catalog transition — the Supervisor leader’s normal write.
LeaderConfiguration
A record that term elected leader, keeping the elected-term history
durable alongside the entries that term produced.
Fields
term: ControlPlaneTermThe Supervisor term that elected the leader.
leader: ClusterVoterIdentityThe member elected leader for term.
Trait Implementations§
Source§impl Clone for ControlPlaneEntry
impl Clone for ControlPlaneEntry
Source§fn clone(&self) -> ControlPlaneEntry
fn clone(&self) -> ControlPlaneEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ControlPlaneEntry
impl Debug for ControlPlaneEntry
impl Eq for ControlPlaneEntry
Source§impl PartialEq for ControlPlaneEntry
impl PartialEq for ControlPlaneEntry
Source§fn eq(&self, other: &ControlPlaneEntry) -> bool
fn eq(&self, other: &ControlPlaneEntry) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ControlPlaneEntry
Auto Trait Implementations§
impl Freeze for ControlPlaneEntry
impl RefUnwindSafe for ControlPlaneEntry
impl Send for ControlPlaneEntry
impl Sync for ControlPlaneEntry
impl Unpin for ControlPlaneEntry
impl UnsafeUnpin for ControlPlaneEntry
impl UnwindSafe for ControlPlaneEntry
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
key and return true if they are equal.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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request