Table of Contents

Constructor MailboxMutationAuditTrail

Namespace
MailFathom.Infrastructure.Persistence.Mutations
Assembly
MailFathom.Infrastructure.dll

MailboxMutationAuditTrail(IMailboxMutationAuditEntryStore, OptimisticConcurrencyRetryPolicy, TimeProvider, MailboxMutationAuditTelemetry)

Initializes the trail from the store it appends to and the channels a refused append is reported on.

public MailboxMutationAuditTrail(IMailboxMutationAuditEntryStore store, OptimisticConcurrencyRetryPolicy commitPolicy, TimeProvider timeProvider, MailboxMutationAuditTelemetry telemetry)

Parameters

store IMailboxMutationAuditEntryStore

Keeps the entries.

commitPolicy OptimisticConcurrencyRetryPolicy

Commits the append in a transaction of its own, retrying an optimistic conflict.

timeProvider TimeProvider

Stamps the instant the mutation ended.

telemetry MailboxMutationAuditTelemetry

Reports an append that did not happen.

Exceptions

ArgumentNullException

Thrown when a required collaborator is null.