vortex_io/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4//! Core traits and implementations for asynchronous IO.
5//!
6//! Vortex implements an IPC streaming format as well as a file format, both of which
7//! run on top of a variety of storage systems that can be accessed from multiple async
8//! runtimes.
9//!
10//! This crate provides core traits for positioned and streaming IO, and via feature
11//! flags implements the core traits for several common async runtimes and backing stores.
12
13pub use dispatcher::*;
14pub use io_buf::*;
15pub use limit::*;
16#[cfg(feature = "object_store")]
17pub use object_store::*;
18pub use read::*;
19#[cfg(feature = "tokio")]
20pub use tokio::*;
21pub use write::*;
22
23#[cfg(feature = "compio")]
24mod compio;
25mod dispatcher;
26mod io_buf;
27mod limit;
28#[cfg(feature = "object_store")]
29mod object_store;
30mod read;
31#[cfg(feature = "tokio")]
32mod tokio;
33mod write;
34
35/// Required alignment for all custom buffer allocations.
36pub const ALIGNMENT: usize = 64;