channels-io

Crates.iochannels-io
lib.rschannels-io
version0.3.0
sourcesrc
created_at2024-06-07 08:15:12.364395
updated_at2024-10-10 13:01:07.971266
descriptionAsync agnostic/Sync IO & buffer management abstractions.
homepagehttps://github.com/threadexio/channels-rs
repositoryhttps://github.com/threadexio/channels-rs
max_upload_size
id1264536
size106,528
1337 (threadexio)

documentation

https://docs.rs/channels-io

README

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.

Commit count: 494

cargo fmt