//! `InferenceService` proto↔domain conversions.
//!
//! An inference verb returns `Vec<RecordBatch>`; the wire carries them as one
//! Arrow IPC stream in an `ArrowBatch` (the Flight-IPC pairing the trigger and
//! inference surfaces share). An empty result has no schema to encode, so it
//! round-trips as an empty `ArrowBatch`.
use RecordBatch;
use Status;
use crateencode_ipc_stream;
use crateArrowBatch;
/// Encode the engine's inference result rows into one `ArrowBatch`. Carries the
/// rows as a single self-describing IPC stream keyed on the first batch's
/// schema; an empty result (empty source) has no schema to encode, so it
/// becomes an empty `ArrowBatch`.