Table of Contents

Method ReadAsync

Namespace
MailFathom.Application.Synchronization.Checkpoints
Assembly
MailFathom.Application.dll

ReadAsync(MailboxScope, CancellationToken)

Reads one freshness entry per folder the scope covers.

Task<IReadOnlyList<MailboxFolderFreshness>> ReadAsync(MailboxScope scope, CancellationToken cancellationToken)

Parameters

scope MailboxScope

The accounts and folder aliases to report on.

cancellationToken CancellationToken

Propagates caller cancellation.

Returns

Task<IReadOnlyList<MailboxFolderFreshness>>

One entry per known folder in the scope, ordered ordinally by account and then by alias.

Remarks

A folder the scope names but no synchronization run has ever reached is reported with no timestamp rather than omitted, so a caller sees the folder it asked about. A folder that has never been discovered at all is unknown to local state and appears in no entry.

The scope's accounts are the accounts to report on, and a use case resolves them before it calls: a scope naming none reaches every account the store holds folders for, including ones the deployment has stopped serving. The result is bounded by the folders those accounts have, not by how many times a server has recreated them.

Exceptions

ArgumentNullException

Thrown when scope is null.