Table of Contents

Class IntegrityOptions

Namespace
Typhon.Engine
Assembly
Typhon.Engine.dll

Knobs for a scan. The defaults are the ones an operator should get by typing nothing.

public sealed class IntegrityOptions
Inheritance
IntegrityOptions
Inherited Members

Constructors

IntegrityOptions()

public IntegrityOptions()

Properties

Cancellation

Cancellation for a long Deep sweep. Cancelling produces a partial report, never an exception.

public CancellationToken Cancellation { get; init; }

Property Value

CancellationToken

Deep

Everything, including cross-structure checks. The depth the crash suite asserts at.

public static IntegrityOptions Deep { get; }

Property Value

IntegrityOptions

Depth

How much work to do.

public ScanDepth Depth { get; init; }

Property Value

ScanDepth

ExcludeChecks

Check codes or family prefixes to skip. Applied after IncludeChecks.

public IReadOnlyList<string> ExcludeChecks { get; init; }

Property Value

IReadOnlyList<string>

IncludeChecks

Check codes or family prefixes to run, e.g. ["CHK-IDX", "CHK-PHY-01"]. Empty means every check applicable to Depth. Anything excluded is named in ChecksSkipped.

public IReadOnlyList<string> IncludeChecks { get; init; }

Property Value

IReadOnlyList<string>

MaxFindings

Maximum findings to record before the scan starts aggregating rather than enumerating. Protects a report against a database where one systemic fault produces millions of individually-true findings.

public int MaxFindings { get; init; }

Property Value

int

MaxLossSample

Maximum entity ids carried inline in a Sample. The full set goes to the manifest.

public int MaxLossSample { get; init; }

Property Value

int

MemoryBudgetBytes

Soft ceiling on scanner working-set bytes for cross-structure set comparison. The Deep checks degrade to counting rather than enumerating when a comparison would exceed it, and say so in Caveats.

public long MemoryBudgetBytes { get; init; }

Property Value

long

Progress

Optional progress callback: (phase, done, total). Invoked from the scanning thread; keep it cheap.

public Action<string, long, long> Progress { get; init; }

Property Value

Action<string, long, long>

Quick

Page headers only. No checksum sweep, no cross-structure work.

public static IntegrityOptions Quick { get; }

Property Value

IntegrityOptions

Spine

Spine-only: what verify-on-open runs. Bounded by segment count, not database size.

public static IntegrityOptions Spine { get; }

Property Value

IntegrityOptions

Standard

Headers plus a checksum sweep over every allocated page. The default for typhon check.

public static IntegrityOptions Standard { get; }

Property Value

IntegrityOptions

Methods

IsCheckEnabled(string)

Whether a check code passes this option set's include/exclude filters.

public bool IsCheckEnabled(string code)

Parameters

code string

Full check code, e.g. "CHK-IDX-04".

Returns

bool