Skip to main content

Module ipc

Module ipc 

Source
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:

  1. Serialize arguments / state via encode_batch.
  2. Pass the byte slice through the loader-specific call boundary.
  3. Read the returned bytes; deserialize via decode_batch (or decode_batches for procedure YIELD streaming).

Constants§

SECRET_HANDLE_EXTENSION
FU-2: Arrow extension name tagging a secret-handle column.

Functions§

decode_batch
Decode the single RecordBatch from Arrow IPC stream bytes.
decode_batches
Decode every RecordBatch from Arrow IPC stream bytes.
encode_batch
Encode a RecordBatch as Arrow IPC stream bytes.
encode_batches
Encode multiple RecordBatches sharing a schema as one IPC stream.