Constructor MailAccountRunState
- Assembly
- MailFathom.Application.dll
MailAccountRunState(MailAccountRunPhase, DateTimeOffset?, int, MailAccountRunReport?)
Where one account's synchronization stands in the process that is running it.
public MailAccountRunState(MailAccountRunPhase Phase, DateTimeOffset? NextRunDueAt, int ConsecutiveFailureCount, MailAccountRunReport? LastRun)
Parameters
PhaseMailAccountRunPhaseWhat the account's supervisor is doing.
NextRunDueAtDateTimeOffset?When the next run is due, or null while the account is not waiting for one.
ConsecutiveFailureCountintHow many of the account's runs failed in a row; zero once one succeeds.
LastRunMailAccountRunReportHow the account's most recent finished run ended, or null when none has finished in this process.
Remarks
The failure count is reported beside the phase because the two together are the whole of the backoff story: a delay that keeps growing while the count climbs is an account approaching a server that is refusing it, and a delay equal to the configured interval with a count of zero is an account that is simply between runs. Neither reading is available from either half alone.
It describes the running process rather than a durable record, and MailSynchronizationRunLedger holds why that is the right scope: a restart resets the backoff it describes, so a count carried across one would name a delay nothing is applying.