pub enum BuiltinKind {
SelfContained,
RequiresHandler,
}Expand description
How a built-in function reaches an implementation.
This is the programmatic form of the distinction
docs/src/built-in-functions/integrations.md draws in prose: some built-ins
this crate executes itself, and for others it only supplies a config schema.
Deliberately not #[non_exhaustive]. A caller matching on this is
usually deciding whether to accept a workflow definition, and if a third
kind is ever added that decision needs revisiting — a compile error at every
match site is the correct signal, not a silent fall-through to a _ arm.
Variants§
SelfContained
Executed by this crate. Needs no registration; an engine can always run it.
RequiresHandler
Deserializes into a typed built-in variant — so Engine::new accepts it
without complaint — but dispatches to a handler registered under the same
name, and fails with crate::DataflowError::FunctionNotFound on the
first message if none is registered.
http_call, enrich and publish_kafka are these. A validator that
treats them like BuiltinKind::SelfContained will green-light a
workflow that builds cleanly and then fails every request.
Trait Implementations§
Source§impl Clone for BuiltinKind
impl Clone for BuiltinKind
Source§fn clone(&self) -> BuiltinKind
fn clone(&self) -> BuiltinKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more