uazu / pipebuf

Efficient byte-stream pipe buffer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Efficient byte-stream pipe buffer

PipeBuf is a byte-stream buffer intended to be accessed by both the producer of data and the consumer of data. It acts as both the output buffer of the producer and the input buffer of the consumer. Neither should own it. It will be owned by the glue code managing the two components. It offers a more efficient but compatible alternative to Read and Write traits, and reduces copying because neither the producer nor the consumer needs to keep their own input/output buffers. It provides a way to efficiently connect together low-level protocol or data-processing components along with sources and sinks of data. It may be used to create low-level protocol handlers or processing chains for: futures, async/await, actors, embedded and/or bare-metal, in both blocking and non-blocking environments, std and no_std. See "Dependents" on crates.io for PipeBuf wrappers for other crates.

Documentation

See the crate documentation.

License

This project is licensed under either the Apache License version 2 or the MIT license, at your option. (See LICENSE-APACHE and LICENSE-MIT).

Contribution

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

About

Efficient byte-stream pipe buffer

License:Apache License 2.0


Languages

Language:Rust 96.6%Language:Shell 3.4%