pub enum PresenceOutcome<K> {
Announced {
participant: K,
version: PresenceVersion,
generation: TimerGeneration,
},
Refreshed {
participant: K,
version: PresenceVersion,
generation: TimerGeneration,
},
Unchanged {
participant: K,
version: PresenceVersion,
generation: TimerGeneration,
},
Expired {
participant: K,
version: PresenceVersion,
generation: TimerGeneration,
},
Rejected(PresenceError<K>),
}Expand description
Factual presence transition result.
Variants§
Announced
A previously unknown participant became present.
Fields
§
participant: KParticipant.
§
version: PresenceVersionCommitted evidence version.
§
generation: TimerGenerationCommitted timer generation.
Refreshed
A known participant committed newer evidence.
Fields
§
participant: KParticipant.
§
version: PresenceVersionCommitted evidence version.
§
generation: TimerGenerationFresh timer generation.
Unchanged
Identical evidence was accepted idempotently without rescheduling.
Fields
§
participant: KParticipant.
§
version: PresenceVersionExisting evidence version.
§
generation: TimerGenerationExisting timer generation.
Expired
Matching timer evidence committed expiry.
Fields
§
participant: KParticipant.
§
version: PresenceVersionEvidence version of the expired incarnation.
§
generation: TimerGenerationExpired generation.
Rejected(PresenceError<K>)
Evidence was rejected without mutation.
Trait Implementations§
Source§impl<K: Clone> Clone for PresenceOutcome<K>
impl<K: Clone> Clone for PresenceOutcome<K>
Source§fn clone(&self) -> PresenceOutcome<K>
fn clone(&self) -> PresenceOutcome<K>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<K: Debug> Debug for PresenceOutcome<K>
impl<K: Debug> Debug for PresenceOutcome<K>
Source§impl<K: PartialEq> PartialEq for PresenceOutcome<K>
impl<K: PartialEq> PartialEq for PresenceOutcome<K>
impl<K: Eq> Eq for PresenceOutcome<K>
impl<K> StructuralPartialEq for PresenceOutcome<K>
Auto Trait Implementations§
impl<K> Freeze for PresenceOutcome<K>where
K: Freeze,
impl<K> RefUnwindSafe for PresenceOutcome<K>where
K: RefUnwindSafe,
impl<K> Send for PresenceOutcome<K>where
K: Send,
impl<K> Sync for PresenceOutcome<K>where
K: Sync,
impl<K> Unpin for PresenceOutcome<K>where
K: Unpin,
impl<K> UnsafeUnpin for PresenceOutcome<K>where
K: UnsafeUnpin,
impl<K> UnwindSafe for PresenceOutcome<K>where
K: 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