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 Object → ValueType → Enum → BucketAlignment
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
| Name | Value | Description |
|---|---|---|
| FixedSize | 0 | Legacy default. Boundaries are LastAggregatedBucketEnd, LastAggregatedBucketEnd + BucketSizeMs, ... — strictly arithmetic, no calendar awareness. BucketSizeMs fully determines the bucket width. |
| CalendarDay | 1 | Bucket boundaries snap to UTC calendar days (00:00:00 UTC). One row per (rtId, day). BucketSizeMs is informational only. |
| Iso8601Week | 2 | Bucket 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. |
| CalendarMonth | 3 | Bucket boundaries snap to UTC calendar months (first-of-month 00:00:00 UTC). Month lengths vary 28-31 days; BucketSizeMs is informational only. |
| CalendarYear | 4 | Bucket boundaries snap to UTC calendar years (Jan 1 00:00:00 UTC). One row per (rtId, year). BucketSizeMs is informational only. |