Table of Contents

Constructor MailboxQuestionReader

Namespace
MailFathom.Application.Retrieval.AskMail
Assembly
MailFathom.Application.dll

MailboxQuestionReader(MailAnsweringCapability, MailboxScopeResolver, IMailAnsweringSpendLedger, MailAnswerBounds, IMailAnsweringRunTelemetry, IMailAnsweringAuditTrail, TimeProvider, SensitiveContentEgressGuard)

Initializes the use case.

public MailboxQuestionReader(MailAnsweringCapability capability, MailboxScopeResolver scopeResolver, IMailAnsweringSpendLedger spendLedger, MailAnswerBounds answerBounds, IMailAnsweringRunTelemetry runTelemetry, IMailAnsweringAuditTrail auditTrail, TimeProvider timeProvider, SensitiveContentEgressGuard egressGuard)

Parameters

capability MailAnsweringCapability

Decides whether a question may run, and hands over what runs it.

scopeResolver MailboxScopeResolver

Decides which accounts and folders the answer may be drawn from.

spendLedger IMailAnsweringSpendLedger

Decides whether the current period still has an allowance for a question.

answerBounds MailAnswerBounds

How much of one run's outcome a single answer publishes.

runTelemetry IMailAnsweringRunTelemetry

Publishes the run beside the request it happened inside.

auditTrail IMailAnsweringAuditTrail

Keeps the durable record of what the run read, for the accounts that asked for one.

timeProvider TimeProvider

Stamps when the run began and when it ended.

egressGuard SensitiveContentEgressGuard

Scans what the answer is about to publish, where this deployment scans anything.

Exceptions

ArgumentNullException

Thrown when any argument is null.