Interface IMailFolderResolutionStore
- Namespace
- MailFathom.Application.Folders
- Assembly
- MailFathom.Application.dll
Persists which remote folder each alias is currently bound to.
public interface IMailFolderResolutionStore
Remarks
A binding has to be durable before anything is synchronized under it, because the generation it carries is what separates the occurrences and the checkpoint of one binding from those of the next.
The port exists for that rule rather than for storage, and no persistence library publishes a contract for it: staging a binding is a comparison against the generation already held, so a competing run that resolved the same alias to a different remote folder is refused instead of merged.
Methods
- GetCurrentResolutionAsync(MailAccountId, MailFolderAlias, CancellationToken)
Gets the newest durable binding of an alias.
- SaveResolutionAsync(IPersistenceSession, MailAccountId, MailFolderResolution, CancellationToken)
Stages a binding so the generation exists before any occurrence is stored under it.