#[non_exhaustive]pub enum RecoveryOutcome {
Exact,
Duplicated {
suppressed: u64,
},
Gap {
missing: u64,
},
}Expand description
The three ways a recovery can turn out.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Exact
The server resumed exactly where the client asked. Nothing was lost and nothing was duplicated: continuity is intact.
Duplicated
The server resumed earlier than asked, which it is allowed to do,
and re-sent notifications the client already had. This client discarded
them before you saw them, so continuity is still intact
[docs/spec/02-session-lifecycle.md §5.2].
Gap
The server resumed later than asked: the notifications in between are gone and will not arrive.
State derived from the affected subscriptions may be stale. The
protocol does not say this can happen and does not say what a client
should do about it, so this crate reports it rather than deciding for
you [docs/spec/02-session-lifecycle.md §5.4].
Trait Implementations§
Source§impl Clone for RecoveryOutcome
impl Clone for RecoveryOutcome
Source§fn clone(&self) -> RecoveryOutcome
fn clone(&self) -> RecoveryOutcome
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 moreimpl Copy for RecoveryOutcome
Source§impl Debug for RecoveryOutcome
impl Debug for RecoveryOutcome
impl Eq for RecoveryOutcome
Source§impl PartialEq for RecoveryOutcome
impl PartialEq for RecoveryOutcome
impl StructuralPartialEq for RecoveryOutcome
Auto Trait Implementations§
impl Freeze for RecoveryOutcome
impl RefUnwindSafe for RecoveryOutcome
impl Send for RecoveryOutcome
impl Sync for RecoveryOutcome
impl Unpin for RecoveryOutcome
impl UnsafeUnpin for RecoveryOutcome
impl UnwindSafe for RecoveryOutcome
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