Table of Contents

Constructor ListEmailsResult

Namespace
MailFathom.Application.Emails.ListEmails
Assembly
MailFathom.Application.dll

ListEmailsResult(IReadOnlyList<EmailSummary>, string?, IReadOnlyList<MailboxFolderFreshness>)

One page of a mailbox listing, together with what continues it and how current it is.

public ListEmailsResult(IReadOnlyList<EmailSummary> Emails, string? NextCursor, IReadOnlyList<MailboxFolderFreshness> FolderFreshness)

Parameters

Emails IReadOnlyList<EmailSummary>

The page, in the timeline order the request asked for, holding no more than the effective page size.

NextCursor string

The cursor that reads the next page, or null when this page ended the walk.

FolderFreshness IReadOnlyList<MailboxFolderFreshness>

How current the local copy of each folder in the request's scope is.

Remarks

The absence of a cursor is the end of the result set rather than a hint: the reader establishes it by asking storage for one row beyond the page and finding none, so a caller that stops when the cursor is absent has seen every row exactly once. A present cursor never promises that the next page is non-empty — mail can be expunged between two requests — but continuing from it can never skip or repeat a row.

Freshness travels with every page because the listing is served from the local copy whether or not a mail server is reachable, which is what makes stale data explicit instead of indistinguishable from an empty mailbox.