Skip to main content

BucketAlignment

Namespace: Meshmakers.Octo.Runtime.Contracts.StreamData

Bucket-boundary alignment for a RollupArchive. Mirrors the BucketAlignment CK enum (System.StreamData 1.4.0). Lifecycle and orchestrator code reference this enum directly so they don't have to depend on the generated CK enum type.

public enum BucketAlignment

Inheritance ObjectValueTypeEnumBucketAlignment
Implements IComparable, ISpanFormattable, IFormattable, IConvertible

Remarks:

Pre-1.4.0 entities — and any entity that doesn't carry the attribute — resolve to BucketAlignment.FixedSize at read time, which reproduces the legacy LastAggregatedBucketEnd + BucketSizeMs arithmetic. The calendar / ISO-week variants derive boundaries from the wall clock instead, so monthly / weekly / yearly EDA rollups become expressible without forcing every cadence into a fixed TimeSpan. Concept-time- range §7.

Fields

NameValueDescription
FixedSize0Legacy default. Boundaries are LastAggregatedBucketEnd, LastAggregatedBucketEnd + BucketSizeMs, ... — strictly arithmetic, no calendar awareness. BucketSizeMs fully determines the bucket width.
CalendarDay1Bucket boundaries snap to UTC calendar days (00:00:00 UTC). One row per (rtId, day). BucketSizeMs is informational only.
Iso8601Week2Bucket boundaries snap to ISO-8601 weeks (Monday 00:00:00 UTC to next Monday 00:00:00 UTC). One row per (rtId, week). BucketSizeMs is informational only.
CalendarMonth3Bucket boundaries snap to UTC calendar months (first-of-month 00:00:00 UTC). Month lengths vary 28-31 days; BucketSizeMs is informational only.
CalendarYear4Bucket boundaries snap to UTC calendar years (Jan 1 00:00:00 UTC). One row per (rtId, year). BucketSizeMs is informational only.