Expand description
Adapters bridging Extism plugin exports to the
uni_plugin capability traits.
For each crate::exports::RegistrationEntry kind, an adapter wraps
the live extism::Plugin in the trait object the executor expects
(ScalarPluginFn, AggregatePluginFn, …). The adapter handles:
- Marshalling
&[ColumnarValue]into an ArrowRecordBatch. - Encoding the batch as Arrow IPC stream bytes.
- Calling the plugin’s
invoke_<qname>export under the plugin mutex. - Decoding the returned IPC bytes back into a
RecordBatchand extracting the single output column as aColumnarValue.
Per proposal §5.6.1, Arrow IPC over linear memory keeps the columnar contract uniform across Extism and the Component Model. The executor cannot tell which ABI delivered a batch — only the adapter does.
Structs§
- Extism
Scalar Fn ScalarPluginFnadapter wrapping an Extism plugin pool.