Enum MailboxMutationStatus
- Namespace
- MailFathom.Application.Mail.Mutations
- Assembly
- MailFathom.Application.dll
States what asking for a mutation did, which is not always what it asked for.
public enum MailboxMutationStatus
Fields
Abandoned = 3The mutation reached its terminal failed stage and will not be attempted again.
AlreadyPerformed = 1The change had already been made for this request, and nothing was issued.
This is what the idempotency identity buys: asking again is answered from the record instead of from the mail server.
OutcomeUnknown = 2A command that must never be issued twice went out and its answer never came back, so nothing was issued.
The record stays where it is and stays visible. Resolving it needs the destination folder to be looked at, which is not something to guess at from here.
Performed = 0This call made the change.
Remarks
Three of the four are outcomes a caller acts on and continues from rather than failures, which is why they are a result rather than exceptions. A change already made, a change nothing will make, and a change whose outcome cannot be established are each an ordinary answer to asking twice.