Constructor MailOutboxPassReport
- Namespace
- MailFathom.Application.Mail.Delivery.Outbox
- Assembly
- MailFathom.Application.dll
MailOutboxPassReport(IReadOnlyList<MailOutboxDeliveryResult>, IReadOnlyList<OutgoingMailFilingResult>, IReadOnlyList<MailDraftFilingResult>, int, bool, IReadOnlyList<OutboxStageCount>)
Reports what one pass over an account's outbox did, and what it left standing there.
public MailOutboxPassReport(IReadOnlyList<MailOutboxDeliveryResult> Results, IReadOnlyList<OutgoingMailFilingResult> FilingResults, IReadOnlyList<MailDraftFilingResult> DraftResults, int MarkedUnknownCount, bool BatchFilled, IReadOnlyList<OutboxStageCount> OutstandingByStage)
Parameters
ResultsIReadOnlyList<MailOutboxDeliveryResult>What each claimed send ended in.
FilingResultsIReadOnlyList<OutgoingMailFilingResult>What each attempt to put a copy of one of these messages into a folder did.
DraftResultsIReadOnlyList<MailDraftFilingResult>What each attempt to bring the drafts folder into step with a held draft did.
MarkedUnknownCountintHow many records this pass found stuck mid-transmission and stamped with the reason.
BatchFilledboolWhether the claim took as much as it was allowed, which means there is more waiting.
OutstandingByStageIReadOnlyList<OutboxStageCount>How much the pass left standing at each non-terminal stage, zeros included, and empty where it measured nothing at all.
Remarks
The results are per record and in the order they were claimed, so whoever publishes the pass reports one line and one measurement per send rather than a total that hides which one needs a person.
The depth beside them is what the pass left rather than what it did, and it is here because the pass is the one thing that runs on the outbox's own cadence: a level published from a collector's interval would be a database query on whatever schedule an exporter happened to be configured with. It covers the stages a send can still move from and no others, so it stays the backlog an operator alerts on rather than a count of everything ever sent.