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.