1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Core traits and implementations for asynchronous IO.
//!
//! Vortex implements an IPC streaming format as well as a file format, both of which
//! run on top of a variety of storage systems that can be accessed from multiple async
//! runtimes.
//!
//! This crate provides core traits for positioned and streaming IO, and via feature
//! flags implements the core traits for several common async runtimes and backing stores.

pub use buf::*;
pub use dispatcher::*;
pub use io_buf::*;
pub use limit::*;
#[cfg(feature = "object_store")]
pub use object_store::*;
pub use read::*;
pub use read_ranges::*;
#[cfg(feature = "tokio")]
pub use tokio::*;
pub use write::*;

mod buf;
#[cfg(feature = "compio")]
mod compio;
mod dispatcher;
mod io_buf;
mod limit;
#[cfg(feature = "object_store")]
mod object_store;
pub mod offset;
mod read;
mod read_ranges;
#[cfg(feature = "tokio")]
mod tokio;
mod write;

/// Required alignment for all custom buffer allocations.
pub const ALIGNMENT: usize = 64;