Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uazu/pipebuf

Efficient byte-stream pipe buffer
https://github.com/uazu/pipebuf

Last synced: about 1 month ago
JSON representation

Efficient byte-stream pipe buffer

Awesome Lists containing this project

README

        

# 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](http://docs.rs/pipebuf).

# License

This project is licensed under either the Apache License version 2 or
the MIT license, at your option. (See
[LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](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.