Table of Contents

Class DeadLetteredJobQuery

Namespace
MailFathom.Application.Jobs.DeadLetters
Assembly
MailFathom.Application.dll

Asks one bounded, keyset-paginated page of the jobs nothing will attempt again.

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

Remarks

Both filters are optional, and neither is an account this time. A dead letter is a fact about the deployment rather than about somebody's mailbox — what it names is a job type and an idempotency key composed of MailFathom's own aliases — so the reading is deployment-wide by default, which is what makes "what has stopped" one question rather than one per configured account. Narrowing to an account is still offered, because a failure that reaches only one mailbox is the ordinary shape of a credential that expired.

A page is always bounded and always ordered newest first, so a caller that supplies nothing gets the most recently stopped DefaultPageSize jobs rather than every job that ever stopped.

Fields

DefaultPageSize

The page size a request that names none is served.

MaximumPageSize

The greatest page size one request may ask for.

Properties

AccountId

Gets the account the page is narrowed to, or null for every account and for work belonging to none.

Cursor

Gets the boundary a continued walk reads beyond, or null for the first page.

FilterFingerprint

Gets the fingerprint of the filters this query reads under, which its cursors are issued against.

JobType

Gets the kind of work the page is narrowed to, or null for every kind.

PageSize

Gets how many jobs the page holds at most.

Methods

Create(JobType?, MailAccountId?, int?, DeadLetteredJobCursor?)

Builds a validated query from what a caller asked for, or reports why the request names no page.