Framework.Sequencer.Emitter (Framework v0.5.0)

View Source

Emitter provides streaming range-scan delivery with jitter/backoff.

Implements the normative behavior from sequencer-emitter-spec.md.

Summary

Functions

Apply jitter/backoff per sequencer-emitter-spec binding defaults.

Fetch a single batch of events for streaming.

Stream events from cursor with jitter/backoff.

Functions

apply_jitter(opts \\ [])

Apply jitter/backoff per sequencer-emitter-spec binding defaults.

Defaults (binding): base=10ms, max=500ms, jitter=±50% Cannot be disabled; only tunable within [5ms..1s] Configurable bounds implementation with enforcement

fetch_batch(cursor, limit)

Fetch a single batch of events for streaming.

Uses the canonical range-scan query per sequencer-emitter-spec.md.

stream_from(cursor, opts \\ [])

Stream events from cursor with jitter/backoff.

Returns a lazy stream that yields events in sequence order. Implements binding jitter/backoff defaults per sequencer-emitter-spec.md.

Options

  • :batch_size - number of events fetched per query (default 100)
  • :halt_on_empty? - when true, halt the stream after an empty batch; when false (default) keep polling with jitter for long-lived streams
  • :base_ms, :max_ms, :variance - jitter configuration overrides