Method ConvergeAsync
- Namespace
- MailFathom.Application.Mail.Mutations.Convergence
- Assembly
- MailFathom.Application.dll
ConvergeAsync(MailAccountId, CancellationToken)
Takes one bounded pass over everything the account has asked a mail server for and not seen finished.
public Task<MailboxConvergenceReport> ConvergeAsync(MailAccountId accountId, CancellationToken cancellationToken)
Parameters
accountIdMailAccountIdThe account whose mutations are converged.
cancellationTokenCancellationTokenCancels the pass; a mutation already under way is cancelled with it.
Returns
- Task<MailboxConvergenceReport>
What the pass did, and what the account still owes afterwards.
Remarks
One record's failure never ends the pass. A mail server that refuses one change is usually refusing every change, so the remaining records fail quickly beside it and the account's next run is what defers them; a change that is broken on its own must not stop the ones that are not, which is the whole of what "does not block unrelated work" means here.
Exceptions
- OperationCanceledException
Thrown when the caller cancels the pass.