5 releases

0.3.2 Jul 1, 2024
0.3.1 Apr 14, 2024
0.3.0 Apr 9, 2024
0.2.1 Jul 19, 2023
0.2.0 Jun 7, 2023

#333 in Data structures

Download history 3/week @ 2024-07-27 5/week @ 2024-08-03 1/week @ 2024-08-10 1/week @ 2024-08-31 20/week @ 2024-09-14 99/week @ 2024-09-21 227/week @ 2024-09-28 269/week @ 2024-10-05 234/week @ 2024-10-12 143/week @ 2024-10-19 161/week @ 2024-10-26 177/week @ 2024-11-02 116/week @ 2024-11-09

625 downloads per month
Used in 3 crates

MIT/Apache

73KB
776 lines

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.

No runtime deps

Features