#[non_exhaustive]pub enum BackendChangesError<E> {
TooManyChanges {
limit: u64,
},
Other(E),
}Expand description
Error type returned by JmapBackend::get_changes and
JmapBackend::query_changes.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
TooManyChanges
The server cannot supply incremental changes for the given sinceState.
Two sub-cases share this variant:
-
limit > 0— maps totooManyChangesin the JMAP response, withlimitas the suggested maximum. The client may retry with a smaller window. -
limit: 0— maps tocannotCalculateChanges. This signals a full state reset: the client MUST discard ALL locally cached objects for the affected type, reset its local state token to the empty string, and perform a full resync (/getwithids: null). Partial recovery is not permitted — the server has no usable change log for this state window. (Source: RFC 8620 §5.6; authoritative behavior documented in jmapio/jmap-jsmail-model.js.)
Fields
Other(E)
An unexpected storage-layer error.
Trait Implementations§
Source§impl<E: Debug> Debug for BackendChangesError<E>
impl<E: Debug> Debug for BackendChangesError<E>
Source§impl<E: Display> Display for BackendChangesError<E>
impl<E: Display> Display for BackendChangesError<E>
Source§impl<E: Error + 'static> Error for BackendChangesError<E>
impl<E: Error + 'static> Error for BackendChangesError<E>
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()