Table of Contents

Class ReconciliationWindowBudget

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

Divides one reconciliation window between mail nobody has asked the server about and mail somebody has.

public static class ReconciliationWindowBudget
Inheritance
ReconciliationWindowBudget
Inherited Members

Remarks

The division exists because the two groups compete and one of them is refilled by the run itself. A forward pass can store more new occurrences than one window holds — the default batch settings admit ten batches of a hundred against a window of five hundred — and every one of them arrives never-observed. Taking the window in observation order alone would therefore spend all of it on mail that has just arrived, for as long as mail keeps arriving, and a deletion or a flag change among the occurrences stored earlier would never be noticed again.

It lives here, apart from the query that applies it, because it is the rule rather than the retrieval: the split is arithmetic that has to hold for every window size, while reading each group is a database concern.

Methods

NeverObservedShareOf(int, int)

Decides how much of a window may go to occurrences nobody has asked the server about yet.