# olio [![Rustdoc](https://docs.rs/olio/badge.svg)](https://docs.rs/olio) [![Change Log](https://img.shields.io/crates/v/olio.svg?maxAge=3600&label=change%20log&color=9cf)](https://github.com/dekellum/olio/blob/master/CHANGELOG.md) [![crates.io](https://img.shields.io/crates/v/olio.svg?maxAge=3600)](https://crates.io/crates/olio) [![CI Status](https://github.com/dekellum/olio/workflows/CI/badge.svg?branch=master)](https://github.com/dekellum/olio/actions?query=workflow%3ACI) 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.39.0 The crate will fail fast on any lower rustc (via a build.rs version check) and is also CI tested on this version. ## License This project is dual licensed under either of following: * The Apache License, version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) * The MIT License ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) ### Contribution 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.