Table of Contents

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 = 3

The mutation reached its terminal failed stage and will not be attempted again.

AlreadyPerformed = 1

The 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 = 2

A 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 = 0

This 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.