pub struct PreparedCheckpointWitness {
pub attempt: CheckpointAttempt,
pub participant_id: u64,
pub deployment_id: String,
pub pipeline_identity: PipelineIdentity,
}Expand description
One process’s compact evidence that an exact checkpoint attempt reached Prepared.
This is deliberately not a commit signal. A recovery driver must resolve every witness through the immutable checkpoint-outcome authority before allowing the cluster to restart.
Fields§
§attempt: CheckpointAttemptOne nonzero canonical checkpoint ID, mirrored in both retained fields.
participant_id: u64Stable logical participant recorded by the prepared manifest.
deployment_id: StringCanonical non-nil deployment UUID recorded by the prepared manifest.
pipeline_identity: PipelineIdentityExact logical pipeline and state-ABI identity recorded by the prepared manifest.
Implementations§
Source§impl PreparedCheckpointWitness
impl PreparedCheckpointWitness
Sourcepub fn new(
attempt: CheckpointAttempt,
participant_id: u64,
deployment_id: String,
pipeline_identity: PipelineIdentity,
) -> Result<Self, String>
pub fn new( attempt: CheckpointAttempt, participant_id: u64, deployment_id: String, pipeline_identity: PipelineIdentity, ) -> Result<Self, String>
Construct and validate a compact prepared-checkpoint witness.
§Errors
Returns an error when any persisted identity is zero, non-canonical, or unsupported.
Sourcepub fn is_canonical(&self) -> bool
pub fn is_canonical(&self) -> bool
Whether all persisted identities have their canonical production shape.
Trait Implementations§
Source§impl Clone for PreparedCheckpointWitness
impl Clone for PreparedCheckpointWitness
Source§fn clone(&self) -> PreparedCheckpointWitness
fn clone(&self) -> PreparedCheckpointWitness
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 PreparedCheckpointWitness
impl Debug for PreparedCheckpointWitness
Source§impl<'de> Deserialize<'de> for PreparedCheckpointWitness
impl<'de> Deserialize<'de> for PreparedCheckpointWitness
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>,
impl Eq for PreparedCheckpointWitness
Source§impl Hash for PreparedCheckpointWitness
impl Hash for PreparedCheckpointWitness
impl StructuralPartialEq for PreparedCheckpointWitness
Auto Trait Implementations§
impl Freeze for PreparedCheckpointWitness
impl RefUnwindSafe for PreparedCheckpointWitness
impl Send for PreparedCheckpointWitness
impl Sync for PreparedCheckpointWitness
impl Unpin for PreparedCheckpointWitness
impl UnsafeUnpin for PreparedCheckpointWitness
impl UnwindSafe for PreparedCheckpointWitness
Blanket Implementations§
impl<T> Allocation for T
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].