Table of Contents

Interface ISynchronizationCheckpointStore

Namespace
MailFathom.Application.Synchronization.Checkpoints
Assembly
MailFathom.Application.dll

Persists synchronization checkpoints for mailbox folders.

public interface ISynchronizationCheckpointStore

Remarks

The port carries behavior of its own rather than a row's storage: staging an advance is a compare against the progress the caller decided from, so a run that resumed from stale state is refused instead of overwriting a run that already moved the binding forward. No persistence library publishes that contract, and expressing it here is what lets the compare be asserted without a database.

Methods

DiscardCheckpointsAsync(IPersistenceSession, MailAccountId, MailFolderAlias?, CancellationToken)

Stages the removal of the durable progress of an account's bindings, or of one alias of it.

GetCheckpointAsync(MailAccountId, MailFolderResolutionId, CancellationToken)

Gets the last durable checkpoint for one alias binding.

SaveCheckpointAsync(IPersistenceSession, MailAccountId, MailFolderResolutionId, SynchronizationCheckpoint?, SynchronizationCheckpoint, CancellationToken)

Stages a checkpoint update only when the durable state still matches the state previously read.