reifydb-sub-flow 0.6.0

Flow subsystem for stream processing and data flows
Documentation
// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (c) 2026 ReifyDB

//! Streaming flow runtime: continuously evaluates registered flow definitions over the change stream coming out of
//! the transaction layer, applies the operator graph the planner produced, and writes the resulting deltas back into
//! the catalog so downstream queries observe a derived view that updates in step with its inputs.
//!
//! The runtime hosts both built-in operators and FFI-loaded ones from extensions, threading them through a shared
//! deferred-work queue so backpressure from a slow consumer does not block fast ones. Connectors at the edges of
//! the graph translate between the engine's internal column shape and external sources/sinks.
//!
//! Invariant: a flow's output for a given input set is fully determined by its definition - replaying the same input
//! deltas through the same flow definition produces the same output deltas. Operators that introduce hidden state
//! (a clock, a random number, an external read that may differ between runs) break this guarantee and break replay.

#![cfg_attr(not(debug_assertions), deny(clippy::disallowed_methods))]
#![cfg_attr(debug_assertions, warn(clippy::disallowed_methods))]
#![cfg_attr(not(debug_assertions), deny(warnings))]
#![allow(clippy::tabs_in_doc_comments)]

pub mod builder;
pub(crate) mod catalog;
pub mod connector;
pub(crate) mod deferred;
pub mod engine;
#[cfg(reifydb_target = "native")]
pub mod ffi;
pub mod host;
pub mod operator;
pub mod subsystem;
#[cfg(reifydb_target = "native")]
pub mod testing;
pub mod transaction;

pub(crate) use operator::Operator;
pub(crate) mod transactional;