Table of Contents

Class MailAccountRunState

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

Where one account's synchronization stands in the process that is running it.

public sealed record MailAccountRunState : IEquatable<MailAccountRunState>
Inheritance
MailAccountRunState
Implements
Inherited Members

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.

Constructors

MailAccountRunState(MailAccountRunPhase, DateTimeOffset?, int, MailAccountRunReport?)

Where one account's synchronization stands in the process that is running it.

Properties

ConsecutiveFailureCount

How many of the account's runs failed in a row; zero once one succeeds.

LastRun

How the account's most recent finished run ended, or null when none has finished in this process.

NextRunDueAt

When the next run is due, or null while the account is not waiting for one.

NotStarted

Gets the state of an account whose supervisor has not run it yet.

Phase

What the account's supervisor is doing.