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.