olio 1.2.0

Miscellaneous I/O utilities


crates.io Rustdoc Travis CI Build Appveyor CI Build deps status

Provides I/O-related utilities complimenting the Rust Standard Library std::io, std::fs, etc.

  • The fs module includes a PosRead trait, offering a uniform pread for positioned file reads; and a ReadSlice supporting multiple independent reader instances limited to a fixed start..end range.

  • The io module includes a GatheringReader, which presents a continuous Read interface over N non-contiguous byte buffers.

  • The mem module includes a MemHandle supporting prioritized concurrent memory access advice (e.g. madvise (2) on unix).

Minimum supported rust version

MSRV := 1.32.0

The crate will fail fast on any lower rustc (via a build.rs version check) and is also CI tested on this version.

With rustc 1.34.0+, uses (stable) AtomicU64 and u64 for olio::mem::MemAdvice and MemHandle internal state on all supported platforms.


This project is dual licensed under either of following:


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in olio by you, as defined by the Apache License, shall be dual licensed as above, without any additional terms or conditions.