Skip to main content

Crate streamling_plugin

Crate streamling_plugin 

Source

Re-exports§

pub use crate::api::CheckpointEpoch;
pub use crate::api::PluginError;
pub use crate::api::PluginStateBackend;
pub use crate::api::PreprocessorPlugin;
pub use crate::api::SideOutputPlugin;
pub use crate::api::SinkPlugin;
pub use crate::api::SourcePlugin;
pub use crate::api::TransformPlugin;
pub use crate::ffi::SafeArrowSchema;
pub use crate::ffi::PluginChannel;
pub use crate::ffi::PluginChannels;
pub use crate::ffi::PluginCheckpointEpoch;
pub use crate::ffi::PluginLogging;
pub use crate::ffi::PluginMsg;
pub use crate::ffi::PluginOptions;
pub use crate::ffi::SafeArrowColumn;
pub use crate::ffi::SafeUdfArg;

Modules§

api
This module defines the API that can be used for implementing plugins. NOTE: this API is NOT FFI-safe and is intended for use in the plugin AFTER the FFI layer. See plugin_interface::ffi for the FFI-safe types and traits.
async
ffi
This module defines the FFI interface for the plugin system, including types and traits.

Macros§

init_plugin
init_plugin_with_async_runtime
register_plugin_preprocessor
register_plugin_side_output
Registers a type implementing SideOutputPlugin as a plugin side output.
register_plugin_sink
register_plugin_source
register_plugin_transform
register_plugin_udf
Registers a type implementing ScalarUDFImpl as a plugin UDF.
register_plugin_udf_fn
Registers a factory function that returns a ScalarUDF as a plugin UDF.
set_plugin_input_buffer
set_plugin_output_buffer

Structs§

PluginChannelCaps
PluginLabel
A single identity label for a plugin instance. Plugins use this to declare what they are — typically derived from their options at create time (e.g. a Kafka plugin declaring its topic, an Ethereum plugin declaring its chain slug). The metrics subsystem is the first consumer: labels are attached to every metric the plugin’s source/transform/sink emits. Other subsystems that need plugin identity (future admin UIs, log-line decoration, tracing) can read the same field without a new FFI surface.
PluginModule
PluginModuleRef
This is the pointer to the prefix of PluginModule.
PluginModule_Prefix
This is the prefix fields of PluginModule, accessible through PluginModuleRef, with .0.prefix().
PluginResult
PluginRuntimeConfiguration
PluginSideOutputDescriptor
Descriptor for a side output provided by a plugin. Side outputs use direct FFI invocation (no channels) and are auto-registered on all sources. One instance is created per source — the macro manages a HashMap<source_name, instance>.
PluginStateBackendConfig
PluginUdfDescriptor
Descriptor for a single UDF provided by a plugin.
PreprocessorPluginDispatcher
SinkPluginDispatcher
SourcePluginDispatcher
StateKey
Type for the keys used in the state backend. For simplicity, it’s assumed that all state backends will use the same key format (strings). If it were to change, a new generic type could be added, similar to the V type parameter.
TransformPluginDispatcher

Enums§

PluginInitializationError

Traits§

IntoSinkPluginResult
Conversion trait that lets register_plugin_sink! accept constructors returning either Self (infallible) or Result<Self, PluginInitializationError> (fallible). Existing plugins that return Self continue to work unchanged.
IntoSourcePluginResult
Conversion trait that lets register_plugin_source! accept constructors returning either Self (infallible) or Result<Self, PluginInitializationError> (fallible). Existing plugins that return Self continue to work unchanged.
IntoTransformPluginResult
Conversion trait that lets register_plugin_transform! accept constructors returning either Self (infallible) or Result<Self, PluginInitializationError> (fallible). Existing plugins that return Self continue to work unchanged.
StateOperatorBackend

Functions§

build_plugin_udf_descriptor
Builds a PluginUdfDescriptor from a ScalarUDFImpl instance and its extern "C" invoke function pointer.
invoke_plugin_udf
Invokes a ScalarUDFImpl with FFI-marshaled arguments and returns the FFI-marshaled result.
preprocessor_generator
sink_generator
source_generator
transform_generator