pub enum LiveMutationOutcome {
Committed {
generation_id: GenerationId,
head: Head,
},
AlreadyCommitted {
generation_id: GenerationId,
head: Head,
},
Conflicted {
conflicts: Vec<RebaseConflict>,
truncated: bool,
},
RetryLimit {
actual: Head,
},
Fenced {
actual_epoch: Epoch,
},
IdempotencyConflict {
committed_fingerprint: Digest,
},
}Expand description
Terminal outcome of one direct-live mutation publication.
Variants§
Committed
This call durably published the candidate generation.
Fields
§
generation_id: GenerationIdPublished content-addressed generation.
AlreadyCommitted
The same operation identity and fingerprint was already durable.
Fields
§
generation_id: GenerationIdPreviously published content-addressed generation.
Conflicted
An exact observed or mutated region changed concurrently.
Fields
§
conflicts: Vec<RebaseConflict>Bounded region-specific conflicts.
RetryLimit
Safe retries were exhausted because the authority kept advancing.
Fenced
The checkout’s writer epoch is stale.
IdempotencyConflict
The operation identity was already bound to another fingerprint.
Trait Implementations§
Source§impl Clone for LiveMutationOutcome
impl Clone for LiveMutationOutcome
Source§impl Debug for LiveMutationOutcome
impl Debug for LiveMutationOutcome
impl Eq for LiveMutationOutcome
Source§impl PartialEq for LiveMutationOutcome
impl PartialEq for LiveMutationOutcome
impl StructuralPartialEq for LiveMutationOutcome
Auto Trait Implementations§
impl Freeze for LiveMutationOutcome
impl RefUnwindSafe for LiveMutationOutcome
impl Send for LiveMutationOutcome
impl Sync for LiveMutationOutcome
impl Unpin for LiveMutationOutcome
impl UnsafeUnpin for LiveMutationOutcome
impl UnwindSafe for LiveMutationOutcome
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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> 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