Table of Contents

Interface IMailboxMutationPerformer

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

Performs one authored change to a remote mailbox, through the durable record that makes it repeatable.

public interface IMailboxMutationPerformer

Remarks

This is the only way anything asks for a mutation. Reaching IMailboxWriteSession directly would issue a command nothing wrote down first, and the record is not bookkeeping beside the change: it is what makes the change safe to ask for twice, what a retry resumes from, and what later tells a change MailFathom made apart from the same change made by hand.

Asking again with the same request is the ordinary case rather than a mistake. It performs the change once, and every call after that is answered from the record without a connection being opened.

Methods

PerformAsync(MailboxMutationRequest, MailFolderResolution, MailTransportSecurityPolicy, CancellationToken)

Writes the change down and carries it as far as it can get.