Table of Contents

Struct EmailThreadId

Namespace
MailFathom.Domain.Emails
Assembly
MailFathom.Domain.dll

Identifies one conversation the stored mail of a single account was assembled into.

public readonly record struct EmailThreadId : IEquatable<EmailThreadId>
Implements
Inherited Members

Remarks

A local identity rather than a message identifier, for the reason StoredEmailId is one: a conversation is a relation this deployment established between rows it holds, and no header names it. Two accounts that both hold the same exchange therefore hold two threads, because a thread is owned by the account whose mail it assembles.

The identity outlives a merge. When a later message proves two assembled threads were always one, the surviving thread keeps its own identifier and the merged one keeps a row naming the survivor, so an identifier a tool published before the merge still resolves to the conversation it named.

Properties

Value

Gets the non-empty UUID value.

Methods

Create(Guid)

Creates a thread identifier from a non-empty UUID.

ToString()

Returns the fully qualified type name of this instance.