Table of Contents

Enum StoredMailRederivationCarriage

Namespace
MailFathom.Application.Mail.Maintenance
Assembly
MailFathom.Application.dll

What is carrying the segment a re-derivation run is on, which is what decides the operator's next act.

public enum StoredMailRederivationCarriage

Fields

Carried = 0

The segment is waiting in the queue or is being worked, so the run advances on its own.

QueueAtCapacity = 1

The queue already held as much of this job type as it accepts, so nothing took the segment.

Backpressure rather than failure: the run is recorded, and asking again is what puts it in motion.

Stopped = 2

The run is outstanding and nothing is carrying its segment, so it will not advance until somebody acts.

A segment that dead-lettered or was dropped is what this ordinarily means, and mfctl jobs retry is what returns it. It also covers the narrow race in which the segment this request read was completed underneath it; the answer is then conservative rather than wrong, because asking again reads the segment the run moved on to.

Remarks

The three are separate because each asks for a different one. A run being carried is one to watch; a queue at its bound is one to ask for again once it has drained; a segment nothing is carrying is one to return through the queue's own commands. Collapsing them into "queued or not" would send an operator to the wrong one of those, and waiting on a run nothing will advance is the outcome that costs the most, because nothing about it looks wrong.