Class MailboxMutationLifecycleCount
- Namespace
- MailFathom.Application.Mail.Mutations.Convergence
- Assembly
- MailFathom.Application.dll
States how many of one account's mutations of one kind stand in one lifecycle, and how long the oldest has.
public sealed record MailboxMutationLifecycleCount : IEquatable<MailboxMutationLifecycleCount>
- Inheritance
-
MailboxMutationLifecycleCount
- Implements
- Inherited Members
Remarks
The age is carried as the instant rather than as a duration, because whoever reports it knows what time it is now and this read does not. Measuring here would fix the age at whatever moment the query ran.
A completed mutation is not in this answer. It is counted where a completion already is — the mutation counter's success outcome — and asking a growing table how many changes have ever succeeded, once per account per run, would buy nothing the counter does not already say. What this exists for is the three lifecycles nothing else reports: a change waiting, a change in flight, and a change that has stopped.
Constructors
- MailboxMutationLifecycleCount(MailboxMutation, MailboxMutationLifecycle, int, DateTimeOffset)
States how many of one account's mutations of one kind stand in one lifecycle, and how long the oldest has.
Properties
- Count
How many records the group holds.
- Lifecycle
Where in its lifecycle every record in this group stands.
- Mutation
The change those records asked for.
- OldestRecordedAt
When the earliest of them was written down, which is what an age is measured from.