//! Logical messages carried on a shuffle stream.
//!
//! The wire encoding is gRPC/protobuf (`proto/shuffle.proto`, `ShuffleFrame`);
//! the `<->` conversion lives in [`super::transport`]. A `VnodeData`'s batch is
//! Arrow IPC-encoded with a per-stage streaming encoder (see
//! [`crate::serialization::BatchStreamEncoder`]): the schema rides only the first
//! frame of each stage and later frames are schema-less continuations. This
//! assumes a stage's schema is stable for the life of a connection.
use RecordBatch;
use crateCheckpointBarrier;
/// Maximum Arrow IPC payload accepted for a single `VnodeData` frame: 64 MiB.
pub const MAX_PAYLOAD_BYTES: usize = 64 * 1024 * 1024;
/// Logical message carried on a shuffle connection.