pub enum Violation {
LostUpdate {
key: String,
missing: Vec<u64>,
},
DuplicateUpdate {
key: String,
duplicated: Vec<u64>,
},
NoConflictsObserved,
UniqueWriteLost {
key: String,
},
WritersDidNotComplete {
completed: usize,
total: usize,
},
NoProgress,
}Expand description
A violated invariant. An empty check result means the soak passed.
Variants§
LostUpdate
Committed op-ids missing from the contended key’s final set — a lost update.
DuplicateUpdate
An op-id appears more than once in a contended key’s final set.
NoConflictsObserved
No conflicts were observed anywhere — the race invariant was not exercised.
UniqueWriteLost
An acked unique-key write is missing or has the wrong value after chaos.
WritersDidNotComplete
Not every writer task completed within the deadline (liveness).
NoProgress
The run committed nothing at all (liveness).
Trait Implementations§
impl Eq for Violation
impl StructuralPartialEq for Violation
Auto Trait Implementations§
impl Freeze for Violation
impl RefUnwindSafe for Violation
impl Send for Violation
impl Sync for Violation
impl Unpin for Violation
impl UnsafeUnpin for Violation
impl UnwindSafe for Violation
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§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.§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key and return true if they are equal.§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> 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