vortex_ipc/lib.rs
1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4//! Vortex IPC messages and associated readers and writers.
5//!
6//! Vortex provides an IPC messaging format to exchange array data over a streaming
7//! interface. The format emits message headers in FlatBuffer format, along with their
8//! data buffers.
9//!
10//! This crate provides both in-memory message representations for holding IPC messages
11//! before/after serialization, and streaming readers and writers that sit on top
12//! of any type implementing `VortexRead` or `VortexWrite` respectively.
13
14pub mod iterator;
15pub mod messages;
16pub mod stream;
17
18#[cfg(test)]
19mod test {
20 use std::sync::LazyLock;
21
22 use vortex_array::aggregate_fn::session::AggregateFnSession;
23 use vortex_array::dtype::session::DTypeSession;
24 use vortex_array::optimizer::kernels::KernelSession;
25 use vortex_array::session::ArraySession;
26 use vortex_session::VortexSession;
27
28 pub(crate) static SESSION: LazyLock<VortexSession> = LazyLock::new(|| {
29 VortexSession::empty()
30 .with::<DTypeSession>()
31 .with::<ArraySession>()
32 .with::<KernelSession>()
33 .with::<AggregateFnSession>()
34 });
35}