Table of Contents

Method FindReachedCeiling

Namespace
MailFathom.Domain.Delivery.Governance
Assembly
MailFathom.Domain.dll

FindReachedCeiling(OutgoingMailUsage, int)

Finds the ceiling one further message would carry a period past.

public OutgoingMailCeiling? FindReachedCeiling(OutgoingMailUsage usage, int recipientCount)

Parameters

usage OutgoingMailUsage

What the period has already been asked for.

recipientCount int

The people the message being asked for names.

Returns

OutgoingMailCeiling?

The ceiling reached, or null when the message is within every one of them.

Remarks

The message is weighed rather than admitted on anything at all being left, which is the opposite of how the embedding ceiling treats a batch — and deliberately so, because the two overshoot differently. A batch's cost is known only after the provider answers, so weighing it would stall a deployment whose ceiling is smaller than one batch forever; a send's cost is its recipient count, which is known here, so admitting a message that carries the period past its ceiling would be an overshoot nothing needed to accept.

The account's own ceilings are named before the deployment's, because the narrower bound is the one an operator acts on first and a message over both is over the account's whatever the deployment's says.

Exceptions

ArgumentOutOfRangeException

Thrown when recipientCount is not positive.