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

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.