Expand description
Arrow IPC bridge — RecordBatch ↔ wire-stream bytes.
Both the Extism loader (bytes-in/bytes-out via Plugin::call) and
the Component Model loader (alloc/copy/free through linear memory)
cross the host↔plugin boundary by shipping Arrow IPC stream bytes.
Standardizing on the wire format means the executor’s columnar
contract is identical regardless of which ABI delivered a batch.
Host call pattern:
- Serialize arguments / state via
encode_batch. - Pass the byte slice through the loader-specific call boundary.
- Read the returned bytes; deserialize via
decode_batch(ordecode_batchesfor procedureYIELDstreaming).
Constants§
- SECRET_
HANDLE_ EXTENSION - FU-2: Arrow extension name tagging a
secret-handlecolumn.
Functions§
- decode_
batch - Decode the single
RecordBatchfrom Arrow IPC stream bytes. - decode_
batches - Decode every
RecordBatchfrom Arrow IPC stream bytes. - encode_
batch - Encode a
RecordBatchas Arrow IPC stream bytes. - encode_
batches - Encode multiple
RecordBatches sharing a schema as one IPC stream.