Table of Contents

Class UnmirroredMailFolderEraser

Namespace
MailFathom.Application.Folders
Assembly
MailFathom.Application.dll

Takes away the local copy of a folder whose mapping has stopped mirroring it.

public sealed class UnmirroredMailFolderEraser
Inheritance
UnmirroredMailFolderEraser
Inherited Members

Remarks

Nothing runs this because a configuration value changed. Turning a folder's synchronization off keeps what the folder had already stored, because rows nobody may read are not stale in a way anybody observes and erasing them would charge an operator a whole remirror for a switch they may flip back the same week. Getting rid of the local copy is therefore an act somebody performs, and this is what such a command runs.

The removal is the deletion path an erasing disposition already uses rather than a second one — the row goes, and PostgreSQL takes its raw MIME, its search document, its passages, and their vectors with it. It is bounded per pass for the same reason reconciliation is: a mailbox's worth of rows is not one transaction, and a pass that ended early leaves the rest for the next one rather than half a folder in an unrepeatable state.

Constructors

UnmirroredMailFolderEraser(IStoredMailFolderMirrorStore, OptimisticConcurrencyRetryPolicy, MailboxSynchronizationOptions)

Initializes the eraser.

Methods

EraseAsync(MailAccountId, MailFolderAlias, CancellationToken)

Erases one bounded pass of what is stored for a folder nothing mirrors any more.