pub enum MailboxDiff {
Unchanged {
new_state: Vec<u8>,
},
Changed {
new_state: Option<Vec<u8>>,
},
}Expand description
Outcome of an incremental mailbox-diff call.
new_state is the opaque per-backend mailbox-set checkpoint to
persist for the next call; format is private to the backend impl
(JMAP stores the raw Mailbox/state bytes). Backends without an
account-global mailbox state token (IMAP, m2dir, maildir) return
Err(EmailClientStdError::UnsupportedOperation); callers fall back
to a normal mailbox listing in that case.
Variants§
Unchanged
Mailbox set is identical to the cached checkpoint. Caller may reuse its prior mailbox list and skip the listing round-trip.
Changed
Mailbox set may have changed, or no checkpoint was cached.
Caller must list mailboxes; new_state is None when the
backend could not cheaply capture a baseline without listing.
Trait Implementations§
Source§impl Clone for MailboxDiff
impl Clone for MailboxDiff
Source§fn clone(&self) -> MailboxDiff
fn clone(&self) -> MailboxDiff
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 moreAuto Trait Implementations§
impl Freeze for MailboxDiff
impl RefUnwindSafe for MailboxDiff
impl Send for MailboxDiff
impl Sync for MailboxDiff
impl Unpin for MailboxDiff
impl UnsafeUnpin for MailboxDiff
impl UnwindSafe for MailboxDiff
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<T> OrderedSeq<'_, T> for Twhere
T: Clone,
Source§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
Source§impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
Source§fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
Invokes
WrappingSpan::make_wrapped to wrap an AST node in a span.