Skip to main content

IArchiveCoverageProvider

Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData

Resolves an archive's measured ArchiveCoverage (AB#5157) for a single tenant, typically memoised so a family walk or a series resolution does not issue one storage round-trip per rung on every request.

public interface IArchiveCoverageProvider

Remarks:

Implementations are tenant-scoped: the tenant is bound when the provider is created, so callers address archives by rtId alone. A cached implementation must cache the "no coverage" answer as well (it is the normal state of a fresh archive) but must never cache an exception — a storage failure propagates to the caller and is retried on the next request. The cache TTL is host configurable; a query issued within the TTL right after a backfill still sees the pre-backfill coverage (accepted, documented in concept-multi-source-rollups.md §7).

Methods​

GetCoverageAsync(OctoObjectId, CancellationToken)​

Returns the measured coverage of the archive identified by archiveRtId, or null when the archive holds no data (no backing table, or no rows) — never a sentinel range. An unknown rtId is answered with null the same way.

Task<ArchiveCoverage> GetCoverageAsync(OctoObjectId archiveRtId, CancellationToken cancellationToken)

Parameters​

archiveRtId OctoObjectId
Runtime id of the archive to probe.

cancellationToken CancellationToken
Cancellation token.

Returns​

Task<ArchiveCoverage>