Table of Contents

Class OutgoingEmailClaimRequest

Namespace
MailFathom.Application.Mail.Delivery.Outbox
Assembly
MailFathom.Application.dll

States what one claim takes out of the outbox: whose sends, how many, and under what lease.

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

Remarks

A claim names one account, because failure is isolated per account: a provider that is unreachable stalls the sends of the mailbox it serves and no others, and a claim that spanned accounts would put them behind one another in a single pass.

One owner covers the whole batch, because the claim that stamped them is one statement. It identifies the pass rather than the process, which is what lets a write be refused once the lease has moved on.

Properties

AccountId

Gets the account whose queued sends this claim takes.

BatchSize

Gets the greatest number of records the claim takes.

LeaseDuration

Gets how long the claim holds each record it takes.

Owner

Gets the attempt the claimed records are stamped for.

Methods

Create(MailAccountId, int, TimeSpan)

States a claim to make.