Method HasMissedItsDueTime
- Namespace
- MailFathom.Domain.Delivery
- Assembly
- MailFathom.Domain.dll
HasMissedItsDueTime(DateTimeOffset, TimeSpan)
Reports whether the time this send was written to leave at has passed by further than a deployment allows.
public bool HasMissedItsDueTime(DateTimeOffset asOf, TimeSpan allowedLateness)
Parameters
asOfDateTimeOffsetThe instant the question is asked at.
allowedLatenessTimeSpanHow late a deployment is willing to deliver a message whose time has passed.
Returns
Remarks
A message is not a housekeeping pass, so a time that came round while nothing was running is not skipped: it was written to be delivered, and dropping it silently loses correspondence. But a message delivered a week after the morning it was meant for can be worse than one never sent — it answers a question nobody is still asking, and it tells its recipient the sender was not paying attention — so the deployment states how late is still timely and what falls outside that is left for a person to decide about.
A send that named no time is never late. Its author asked for it to go as soon as it could, and however long a retry backoff or an unreachable provider has held it, nothing about when it leaves was ever promised.