Skip to main content

IRollupDependencyGraph

Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData

Resolves the rollup dependency graph for the recompute model (AB#4184): which rollup archives transitively depend on a given source archive. A raw / time-range archive may have N rollups hanging off it, and each rollup may itself be the source of further rollups (rollup-of-rollup), so a retroactive change on a base archive must propagate down a multi-level chain.

public interface IRollupDependencyGraph

Methods

GetTransitiveDependentsAsync(OctoObjectId)

Returns every rollup that transitively depends on — direct dependents and their chained descendants — in top-down order (a parent always appears before its children) so callers can propagate a recompute downstream without re-sorting. The source archive itself is not included. Cycles (which the model forbids via RollupCycleException) are tolerated defensively: each rollup is visited at most once.

Task<IReadOnlyList<RollupArchiveSnapshot>> GetTransitiveDependentsAsync(OctoObjectId sourceArchiveRtId)

Parameters

sourceArchiveRtId OctoObjectId

Returns

Task<IReadOnlyList<RollupArchiveSnapshot>>