Table of Contents

Constructor MailDraftPass

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

MailDraftPass(IMailDraftStore, IOutgoingEmailStore, MailDraftFiler, OptimisticConcurrencyRetryPolicy, TimeProvider, MailOutboxSettings)

Initializes the pass from the drafts it reads and the filer it acts through.

public MailDraftPass(IMailDraftStore drafts, IOutgoingEmailStore outgoingEmails, MailDraftFiler filer, OptimisticConcurrencyRetryPolicy commitPolicy, TimeProvider timeProvider, MailOutboxSettings settings)

Parameters

drafts IMailDraftStore

Holds the drafts whose copies this pass keeps in step.

outgoingEmails IOutgoingEmailStore

Says whether a promoted draft's message has actually been delivered yet.

filer MailDraftFiler

Appends, replaces, and withdraws one draft's copies.

commitPolicy OptimisticConcurrencyRetryPolicy

Commits the mark that gives a delivered draft up.

timeProvider TimeProvider

Stamps what the pass records.

settings MailOutboxSettings

Bounds how many drafts one pass settles.

Remarks

The bound is the same number the deliveries use, because both are one conversation with a server per item and what one pass leaves the next one takes. A second number would be a second thing to keep in step for no difference an operator could observe.

Exceptions

ArgumentNullException

Thrown when a collaborator is null.