Table of Contents

Enum OutgoingMailFilingStage

Namespace
MailFathom.Domain.Delivery.Filing
Assembly
MailFathom.Domain.dll

States how far one filing of an outgoing message has durably got.

public enum OutgoingMailFilingStage

Fields

Confirmed = 1

The server accepted the append, and named where it put the copy wherever it advertises UIDPLUS.

Issued = 0

The append has begun and the server's answer to it has not been read.

A row left here by a stopped process describes a folder that may or may not hold the copy. It is reported rather than repeated, because the only way to settle it without the server's own answer would be to search the folder for something that looks like the message, which is a guess about identity rather than a fact.

Withdrawn = 2

The copy has been taken back out of the folder, which only the outbox mirror ever is.

Remarks

An APPEND is the one command in a filing that must never be issued twice: a repeat is a second message in the owner's folder rather than a repeat of the first, and nothing the folder shows afterwards tells the two apart. So the row reaches Issued before the command goes out and Confirmed after the server has answered, and a row found at Issued is never appended again.

It is the same discipline the mutation record uses, for the same reason, and it is stored as its name so an ad-hoc audit query stays readable and a later reordering of this enum changes nothing.