Table of Contents

Class AuthoredSendCeilings

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

How much mail one caller may ask this deployment for inside one period.

public sealed class AuthoredSendCeilings
Inheritance
AuthoredSendCeilings
Inherited Members

Remarks

OutgoingMailCeilings bounds the deployment and every account of it; this bounds one client. The two answer different faults and neither substitutes for the other: an installation whose whole allowance is a hundred messages a day has said nothing about one agent spending all hundred in the four minutes before anybody notices, and that is what a caller looping on a send does.

The window is the same fixed one anchored at the Unix epoch, and deliberately the same window the deployment's own ceilings are counted over: two bounds on one send that rolled over at different instants would refuse a caller for a reason it could not be told how to wait out.

A ceiling of zero is no ceiling, which is what an operator gets by writing nothing. That is a posture rather than an oversight — sending is off until an account is turned on, and the deployment's own ceilings still bound whatever a caller is admitted to ask for.

Properties

IsUnbounded

Gets whether these ceilings refuse nothing, which is what makes counting a caller's sends unnecessary.

MaxMessagesPerCaller

Gets the messages one caller may ask for in a period, or zero where the operator declared no ceiling.

MaxRecipientsPerCaller

Gets the people one caller may ask this deployment to write to in a period, or zero where the operator declared no ceiling.

Period

Gets the length of the window a caller's own counts are taken over.

Unbounded

Gets the ceilings of a deployment that bounded no caller, which refuse nothing.

Methods

Create(TimeSpan, long, long)

Builds the ceilings from what a deployment declared about one caller.

FindReachedCeiling(AuthoredSendUsage, int)

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

PeriodStartAt(DateTimeOffset)

Finds the start of the period an instant falls in, which is the moment a caller's counts are taken since.