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
usageOutgoingMailUsageWhat the period has already been asked for.
recipientCountintThe 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
recipientCountis not positive.