Table of Contents

Interface ITransientFailureClassifier

Namespace
MailFathom.Application.Resilience
Assembly
MailFathom.Application.dll

Decides whether a failed outbound operation is worth repeating.

public interface ITransientFailureClassifier

Remarks

The port exists so a use case can ask the question the retry pipeline asks itself, without depending on the resilience library that owns the pipeline. A supervisor deciding whether to keep an account in its rotation and a pipeline deciding whether to make another attempt must agree, and they only agree if one implementation answers both.

Authentication, permission, and malformed-request failures are terminal for every dependency class. Repeating them cannot succeed, and against a mail server it can lock the account.

Methods

IsTransientFailure(OutboundDependency, Exception)

Reports whether a failure is expected to clear on its own, so repeating the operation can succeed.