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.