Table of Contents

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.