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 = 1The server accepted the append, and named where it put the copy wherever it advertises
UIDPLUS.Issued = 0The 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 = 2The 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.