Expand description
Common imports for building dataflow-rs engines and handlers.
use dataflow_rs::prelude::*; brings in the types you need for the 90%
case: engine construction, custom handler authoring, message
processing, error handling.
use dataflow_rs::prelude::*;
use serde_json::json;
let engine = Engine::builder()
// .register("my_handler", MyHandler)
.build()?;
let mut message = Message::builder()
.payload_json(&json!({"order": {"total": 1500}}))
.build();
engine.process_message(&mut message).await?;Types not re-exported here (because they’re only needed for less-common
flows): BoxedFunctionHandler, DynAsyncFunctionHandler,
CompiledCustomInput, the named *Config structs (MapConfig,
ValidationConfig, etc.), the trace surface (ExecutionTrace,
ExecutionStep, StepResult), and the rules-engine aliases
(Rule, Action, RulesEngine). Reach into the crate root for those.
Re-exports§
pub use crate::engine::error::DataflowError;pub use crate::engine::error::ErrorInfo;pub use crate::engine::error::Result;pub use crate::engine::functions::AsyncFunctionHandler;pub use crate::engine::message::AuditTrail;pub use crate::engine::message::Change;pub use crate::engine::message::Message;pub use crate::engine::message::MessageBuilder;pub use crate::engine::task_context::TaskContext;pub use crate::engine::task_outcome::TaskOutcome;pub use crate::engine::Engine;pub use crate::engine::EngineBuilder;pub use crate::engine::Task;pub use crate::engine::Workflow;pub use crate::engine::WorkflowStatus;