Table of Contents

Class IngestionBudget

Namespace
Qavren.Edge.Ingestion
Assembly
Qavren.Edge.Ingestion.dll

A ceiling a run suspends against (spec 10.2). Every member is null by default, so a budget that sets nothing is Unlimited.

public sealed record IngestionBudget : IEquatable<IngestionBudget>
Inheritance
IngestionBudget
Implements
Inherited Members

Properties

Background

5 minutes of wall time, and nothing else. Fits inside a WorkManager Worker's 10-minute cap.

MaxChunks

Chunks added.

MaxDocuments

Documents processed, skips included.

MaxDuration

Wall time. Checked before each document and before each write window.

MaxTokens

Tokens embedded, metered against exactly the number IngestionRunResult.TokensEmbedded reports, so a budget and a report can never disagree about what a token is.

Quick

20 seconds of wall time, and nothing else. Fits inside an iOS BGAppRefreshTask slot. MaxDocuments, MaxChunks and MaxTokens stay null deliberately: a Quick that also capped documents would suspend on a count that has nothing to do with the twenty-second slot it exists to fit. Compose one instead — IngestionBudget.Quick with { MaxDocuments = 50 }.

Unlimited

No ceiling of any kind. The default when IngestionRunOptions.Budget is null.