Class MailSynchronizationStatusReader
- 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.