Skip to main content

Module engine

Module engine 

Source
Expand description

Schema-agnostic windowing state-machine engines.

Each engine owns the per-(group,window) accumulator state, high-water late rejection, eviction, and diff routing (Insert -> add, Update -> remove(pre) + add(post), Remove -> remove(pre)). The caller (the “face”) owns extraction (row -> (group, coord, contribution)) and output construction; it hands the engine pre-bucketed events and receives WindowResults to translate into diffs.

Modules§

multi_rolling
rolling
rolling_incremental
tumbling
tumbling_carry

Structs§

GroupMeta
Per-group metadata: the highest window start seen, used to drop late events for already-closed windows.
MetaKey
State-cache key for a group’s GroupMeta, tagged so it lives in a distinct keyspace from the per-window accumulators.
WindowResult
A finalized window the engine produced; the face turns it into a diff.

Enums§

AccumulatorEvent
One contribution routed to a window accumulator.
EmitKind
How a finalized window value should be emitted downstream.
LatePolicy
How an engine treats an event whose window coordinate is below the per-group high-water mark (an event for an already-closed window).

Functions§

expiry_due_range
expiry_key
meta_key_for