Table of Contents

Constructor MailboxMutationConverger

Namespace
MailFathom.Application.Mail.Mutations.Convergence
Assembly
MailFathom.Application.dll

MailboxMutationConverger(IMailboxMutationRecordStore, IMailboxMutationPerformer, IMailTransportSecurityPolicyReader, OptimisticConcurrencyRetryPolicy, MailboxConvergenceOptions, TimeProvider)

Initializes the converger from the record store and the one path able to perform a change.

public MailboxMutationConverger(IMailboxMutationRecordStore store, IMailboxMutationPerformer performer, IMailTransportSecurityPolicyReader transportSecurityPolicyReader, OptimisticConcurrencyRetryPolicy commitPolicy, MailboxConvergenceOptions options, TimeProvider timeProvider)

Parameters

store IMailboxMutationRecordStore

Reads the outstanding records and, through the journal, is written back to.

performer IMailboxMutationPerformer

Resumes a mutation from the stage its record names.

transportSecurityPolicyReader IMailTransportSecurityPolicyReader

Supplies the connection and authentication policy every attempt obeys.

commitPolicy OptimisticConcurrencyRetryPolicy

Commits the record movements this class makes without the performer.

options MailboxConvergenceOptions

Bounds one pass and carries the unknown-outcome grace period.

timeProvider TimeProvider

Measures how long an unresolved outcome has been unresolved.

Exceptions

ArgumentNullException

Thrown when a required collaborator is null.

ArgumentOutOfRangeException

Thrown when the configured pass bound is below one or the grace period is negative.