pub enum ConsistencyLabel {
SeqConsistent,
PerKeySeqConsistent,
ConvergentMultiset,
ConvergentSet,
ConvergentLattice,
Inconsistent,
NoGuarantee,
}Expand description
Consistency label derived from Hydro’s type system.
These correspond to the labels produced by the external coord-analysis tool.
Variants§
SeqConsistent
TotalOrder + ExactlyOnce on a non-keyed stream.
PerKeySeqConsistent
TotalOrder + ExactlyOnce on a KeyedStream (per-key ordering, cross-key interleaving).
ConvergentMultiset
NoOrder + ExactlyOnce (elements converge as a multiset).
ConvergentSet
NoOrder + AtLeastOnce, or TotalOrder + AtLeastOnce (elements converge as a set).
ConvergentLattice
Singleton/KeyedSingleton (lattice convergence).
Inconsistent
Untrusted nondeterminism upstream of a sensitive operator.
NoGuarantee
No consistency guarantee from the type system.
Implementations§
Trait Implementations§
Source§impl Clone for ConsistencyLabel
impl Clone for ConsistencyLabel
Source§fn clone(&self) -> ConsistencyLabel
fn clone(&self) -> ConsistencyLabel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ConsistencyLabel
impl Debug for ConsistencyLabel
Source§impl Display for ConsistencyLabel
impl Display for ConsistencyLabel
impl Eq for ConsistencyLabel
Source§impl PartialEq for ConsistencyLabel
impl PartialEq for ConsistencyLabel
Source§fn eq(&self, other: &ConsistencyLabel) -> bool
fn eq(&self, other: &ConsistencyLabel) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ConsistencyLabel
Auto Trait Implementations§
impl Freeze for ConsistencyLabel
impl RefUnwindSafe for ConsistencyLabel
impl Send for ConsistencyLabel
impl Sync for ConsistencyLabel
impl Unpin for ConsistencyLabel
impl UnsafeUnpin for ConsistencyLabel
impl UnwindSafe for ConsistencyLabel
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,
§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
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> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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 moreCreates a shared type from an unshared type.