#[non_exhaustive]pub struct RecordingChanges {
pub added: BTreeMap<String, Vec<Recording>>,
pub updated: BTreeMap<String, Vec<Recording>>,
pub deleted: Vec<DeletedRecording>,
pub next_page: Option<CalendarChangesCursor>,
pub next_cursor: Option<CalendarChangesCursor>,
pub full_sync_required: bool,
}Expand description
Everything that happened to a calendar’s recordings since a cursor.
added and updated keep the wire’s grouping by recordable type key —
Calendar::Event, Calendar::Habit, Calendar::Habit::Completion,
Calendar::DayTitle, Calendar::DayBackground, Calendar::TimeTrack,
Calendar::Todo, Calendar::Countdown, Calendar::JournalEntry — the server owns that
vocabulary. deleted is one deduplicated list instead: the wire groups deletions by
type key too, but repeats the whole deleted collection under every key it groups, so the
map shape carries nothing beyond each record’s own type, which is authoritative.
next_page is set while this increment has more pages to read now. next_cursor is set
on the last page and is where the next read should resume; it is None when nothing
changed, in which case the cursor that produced this page still stands.
full_sync_required is set when the cursor is too far behind for an increment to carry
the difference — or speaks a version the feed no longer does — and the calendar has to be
read in full instead.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.added: BTreeMap<String, Vec<Recording>>The recordings that appeared, grouped by recordable type key.
updated: BTreeMap<String, Vec<Recording>>The recordings that changed, grouped by recordable type key.
deleted: Vec<DeletedRecording>The recordings that went, each once.
next_page: Option<CalendarChangesCursor>The next page of this increment, while it has one.
next_cursor: Option<CalendarChangesCursor>Where the next read resumes, once the increment is read to its end.
full_sync_required: boolWhether the cursor is too far behind and the calendar has to be read in full.
Trait Implementations§
Source§impl Clone for RecordingChanges
impl Clone for RecordingChanges
Source§fn clone(&self) -> RecordingChanges
fn clone(&self) -> RecordingChanges
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more