Skip to main content

TransformBackend

Trait TransformBackend 

Source
pub trait TransformBackend: Send + Sync {
    // Required methods
    fn kind(&self) -> ImplKind;
    fn load(
        &self,
        manifest: &TransformManifest,
        root: &Path,
    ) -> Result<Box<dyn Compute>, ComputeError>;
}
Expand description

A pluggable backend for one ImplKind. Implemented by the wasm/container/expression/builtin backends. load does the expensive work once (compile the wasm module, parse the expression, resolve the builtin); the returned Compute is the hot per-batch path.

Required Methods§

Source

fn kind(&self) -> ImplKind

Which impl kind this backend serves.

Source

fn load( &self, manifest: &TransformManifest, root: &Path, ) -> Result<Box<dyn Compute>, ComputeError>

Load a transform from its (validated) manifest and directory root into a callable Compute.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§