Table of Contents

Constructor StoredEmailAwaitingReconciliation

Namespace
MailFathom.Application.Synchronization.Reconciliation
Assembly
MailFathom.Application.dll

StoredEmailAwaitingReconciliation(StoredEmailId, ImapUid, RemoteSeenStateObservation?)

One locally stored occurrence a reconciliation window has selected to ask the server about.

public StoredEmailAwaitingReconciliation(StoredEmailId StoredEmailId, ImapUid Uid, RemoteSeenStateObservation? LastObservation)

Parameters

StoredEmailId StoredEmailId

The stable local identity the outcome is written against.

Uid ImapUid

The UID the server is asked about, within the folder and UIDVALIDITY the window was opened for.

LastObservation RemoteSeenStateObservation?

What the previous reading of this occurrence's remote flags recorded, or null when no run has read them yet.

Remarks

The three values are everything reconciliation needs and deliberately nothing more. No subject, address, or fragment of a message takes part in deciding whether an email still exists remotely or whether its flags have moved, so none of it is read to decide it.

LastObservation is what turns the flags the server reports into a change rather than a reading. Absence is a state of its own here: an occurrence nobody has observed has no previous value to differ from, so its first flag reading is the initial observation and never a change somebody made.