Zum Hauptinhalt springen

SeriesResolutionSignal

Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData

Outcome classification returned by the resolution-aware series resolver (SeriesResolutionPlanner / ISeriesResolutionService). The resolver never silently produces a wrong or degraded reduction — every non-SeriesResolutionSignal.Ok value is a truthful signal the caller can surface. See concept-resolution-aware-series-queries.md §4.2.

public enum SeriesResolutionSignal

Inheritance Object → ValueType → Enum → SeriesResolutionSignal
Implements IComparable, ISpanFormattable, IFormattable, IConvertible

Fields​

NameValueDescription
Ok0A suitable rung was found. Either a rollup whose stored function matches the requested aggregation was reduced to the requested point count, or the base archive already fits within the requested point count and is returned unreduced.
NoSuitableRollup1The series is reducible only through a rollup whose stored function matches the requested aggregation, but no such rollup exists (there are none, or only rollups with an incompatible function — e.g. only Avg rollups for a Sum energy series). The resolver refuses to reduce the raw archive itself (decision O2-followup) and returns the base archive unreduced. The caller should provision a matching rollup or query raw explicitly.
ResolutionLimited2A compatible rollup was found but even its finest rung is coarser than the requested resolution, so fewer than the requested points are returned (decision O4). The resolver does not fall through to a finer, costlier source. ActualPoints carries the delivered count.
UnknownBaseGrain3No compatible rollup exists and the base archive's native grain is not declared (advisory/absent Period on a raw or time-range archive), so the resolver cannot decide whether reduction is even needed. The base archive is returned; the caller queries it directly. Once the base grain is authoritative (AB#4289) this collapses into SeriesResolutionSignal.Ok / SeriesResolutionSignal.NoSuitableRollup.
EmptyLadder4No archive at all was resolvable for the request (empty family / unknown base).
CoverageLimited5The measured coverage filter changed the routing decision (AB#5157): the rung the resolver would otherwise have picked does not hold data for the requested start, so a coarser rung that does was chosen instead. Takes precedence over SeriesResolutionSignal.ResolutionLimited. ActualPoints carries the delivered count with the same meaning as for SeriesResolutionSignal.ResolutionLimited, the diagnostic names the excluded finer rung, and SeriesResolutionResult.FinerRungAvailableFrom carries that rung's available-from so a client can offer "finer data from …".