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
draftsIMailDraftStoreHolds the drafts whose copies this pass keeps in step.
outgoingEmailsIOutgoingEmailStoreSays whether a promoted draft's message has actually been delivered yet.
filerMailDraftFilerAppends, replaces, and withdraws one draft's copies.
commitPolicyOptimisticConcurrencyRetryPolicyCommits the mark that gives a delivered draft up.
timeProviderTimeProviderStamps what the pass records.
settingsMailOutboxSettingsBounds 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.