Table of Contents

Class ListEmailsResult

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

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

public sealed record ListEmailsResult : IEquatable<ListEmailsResult>
Inheritance
ListEmailsResult
Implements
Inherited Members

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.

Constructors

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

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

Properties

Emails

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

FolderFreshness

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

HasMore

Gets whether another page can be read after this one.

NextCursor

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