channels-io 0.3.0

Async agnostic/Sync IO & buffer management abstractions.
Documentation

channels-io

This crate contains generic IO traits that abstract over little implementation differences of different libraries. With this crate it is possible to write IO code that is agnostic over sync/async operation and, if using async, over the runtime that is used. Additionally, this crate implements a generic interface for buffers, a bit like bytes but with some subtle differences.

Features

Feature Description
alloc Enable implementations for alloc structures (Box, Vec, ...)
std Abstract over std::io::Read and std::io::Write
tokio Abstract over tokio::io::AsyncRead and tokio::io::AsyncWrite
futures Abstract over futures::AsyncRead and futures::AsyncWrite
core2 Abstract over core2::io::Read and core2::io::Write
smol Abstract over smol::io::AsyncRead and smol::io::AsyncWrite

Note: The API of this crate is not final and may change at any time without necessarily a major version bump. If you must depend on it pin down the full version of the crate to avoid future incompatibilities.