Table of Contents

Class MailSynchronizationStatusReader

Namespace
MailFathom.Application.Synchronization.Administration
Assembly
MailFathom.Application.dll

Answers, in one read, what this deployment's mail synchronization is doing.

public sealed class MailSynchronizationStatusReader
Inheritance
MailSynchronizationStatusReader
Inherited Members

Remarks

Composed here rather than by whatever surface asks, because the composition is the answer. Configuration says which accounts and folders exist, the ledger says what the running process is doing with them, and the durable checkpoints say how far each folder has actually come — and the reading an operator needs is the one none of the three gives alone: a folder whose last run keeps ending while its progress does not move is stuck, and a folder whose progress has not moved because there is nothing left to fetch is not.

The folder list comes from configuration rather than from the store, so a folder no run has ever reached appears as exactly that instead of being absent. That is the case an operator is most likely to be asking about: an alias that names no advertised folder has stored nothing, and a status surface that answered by omitting it would say nothing about the folder they configured.

Constructors

MailSynchronizationStatusReader(IMailAccountCatalog, IMailFolderParticipationReader, MailSynchronizationRunLedger, IMailFolderSynchronizationProgressReader, AccessAuthorization)

Initializes a reader over the four sources one status answer is composed from.

Methods

ReadAsync(CancellationToken)

Reads what synchronization is doing across every configured account.