olio 1.4.0

Miscellaneous I/O utilities
Documentation
# 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.