Class SpamScanResult
- Namespace
- MailFathom.Application.Spam.Scanning
- Assembly
- MailFathom.Application.dll
What a scanner answered about one message, bounded in every direction.
public sealed record SpamScanResult : IEquatable<SpamScanResult>
- Inheritance
-
SpamScanResult
- Implements
- Inherited Members
Remarks
Nothing scanner-specific reaches this type: no socket, no protocol reply, no vocabulary of a particular corpus. What crosses the port is a score against a threshold, the names of the rules that fired, and the identity of the corpus they came from — which is what a provenance record needs and the smallest thing a second implementation would have to be able to produce.
A rule name is the scanner's own identifier and carries nothing from the message, so unlike a signal's observation it is safe to report in telemetry.
Fields
- MaximumFiredRules
The greatest number of fired rule names one answer carries.
Properties
- Assessment
Gets the score and the threshold, present exactly when the outcome is Scored.
- CorpusRevision
Gets the corpus the rules came from, present exactly when the outcome is Scored.
- FiredRules
Gets the names of the rules that fired, empty when none did or when nothing was scanned.
- Outcome
Gets how the scan ended.
Methods
- ContentTooLarge()
Records that the message was too large for the scanner to be sent it.
- Scored(SpamAssessment, IReadOnlyList<string>, string)
Records what a scanner answered.
- Unavailable()
Records that the scanner did not answer usably.