fn pull(
client: &Client,
dir: &Path,
listed: &Listed,
state: &mut State,
state_path: &Path,
refetch: &BTreeSet<String>,
report: &mut Report,
until: Option<Instant>,
) -> Result<bool, SyncError>Expand description
Brings what changed there: by sync token, else by comparing ETags. The
state is kept after each batch, so a pull cut short loses one batch at
most; the sync token moves once everything came.
Brought until until at most (a turn among the account’s collections):
whether all came, else the next turn goes on from what was kept.