pub enum SequencerOutcome<T> {
Accepted {
released: usize,
buffered: usize,
},
Stale {
sequence: Sequence,
value: T,
expected: Sequence,
},
Duplicate {
value: T,
sequence: Sequence,
},
Exhausted {
sequence: Sequence,
value: T,
},
}Expand description
Factual result of offering one sequenced value.
Variants§
Accepted
The value was accepted and this many contiguous values were delivered.
Fields
Stale
The position precedes the current expected position.
Fields
§
value: TRejected value, returned without cloning or loss.
Duplicate
A value already occupies this future position.
Fields
§
value: TRejected value, returned without replacing the accepted value.
Exhausted
The sequence domain has no representable successor.
Trait Implementations§
Source§impl<T: Debug> Debug for SequencerOutcome<T>
impl<T: Debug> Debug for SequencerOutcome<T>
Source§impl<T: PartialEq> PartialEq for SequencerOutcome<T>
impl<T: PartialEq> PartialEq for SequencerOutcome<T>
impl<T: Eq> Eq for SequencerOutcome<T>
impl<T> StructuralPartialEq for SequencerOutcome<T>
Auto Trait Implementations§
impl<T> Freeze for SequencerOutcome<T>where
T: Freeze,
impl<T> RefUnwindSafe for SequencerOutcome<T>where
T: RefUnwindSafe,
impl<T> Send for SequencerOutcome<T>where
T: Send,
impl<T> Sync for SequencerOutcome<T>where
T: Sync,
impl<T> Unpin for SequencerOutcome<T>where
T: Unpin,
impl<T> UnsafeUnpin for SequencerOutcome<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for SequencerOutcome<T>where
T: UnwindSafe,
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