Skip to main content

Crate obzenflow_runtime

Crate obzenflow_runtime 

Source
Expand description

§ObzenFlow Runtime

Runtime owns stage execution, pipeline supervision, and replay. Application authors implement its handler contracts through obzenflow::stages and use obzenflow::effects and obzenflow::middleware for effects and observers.

This layer depends on Core, obzenflow-topology, and obzenflow-fsm. Outer layers supply journal backends, adapters, and hosting.

§Responsibilities

  • Handler contracts for sources, transforms, stateful stages, joins, and sinks.
  • Effect execution, typed outcomes, and delivery evidence.
  • Pipeline and stage state machines, lifecycle control, and resource settlement.
  • Journal publication, replay, and resume through Core’s storage contracts.
  • Backpressure, edge verification, and deterministic input ordering where required.
  • Execution measurements and snapshots for optional reporting.

Observers receive immutable views at defined execution boundaries. They are attachments to stages, not an additional stage family.

The supervision guide explains the shared run loops, state-machine ownership, and construction rules for framework contributors.

§Test support

The test-support feature exposes obzenflow_runtime::testing and enables tokio/test-util for deterministic integration tests, including paused-time tests. Keep it disabled in production configurations.

§License

Dual-licensed under MIT OR Apache-2.0. See LICENSE-MIT and LICENSE-APACHE.

Modules§

backpressure
Backpressure contracts
bootstrap
Runtime-owned bootstrap settings shared across infra, DSL, adapters, and runtime.
contracts
control_plane
Runtime-neutral control-plane ports and DTOs.
effects
Replay-safe user effects.
errors
Error types for runtime services
execution
Runtime execution strategy (FLOWIP-120r).
feed_plan
Runtime feed-plan metadata for logical edge selection.
id_conversions
Conversion helpers between core StageId and topology StageId
message_bus
Message Bus for Inter-FSM Communication
messaging
Event flow and routing components
metrics
Metrics aggregator implementation
pipeline
Pipeline construction, public controls and supervised lifecycle execution.
prelude
Convenience re-exports of the most commonly used runtime types.
replay
Execution of replay through the Core archive and journal contracts.
run_context
The explicit per-run build context (FLOWIP-010 §7 carrier).
runtime_config
Runtime configuration model and resolver (FLOWIP-010).
runtime_resource_limits
stages
Stage implementations organized by type
supervised_base
Base abstractions for the runtime services
typing
Authoring-time stage typing trait markers and assertion helpers.

Macros§

effect_set
Declare an effect capability set in type position (FLOWIP-120z):