#buffer #pipe #channel

sluice

Efficient ring buffer for byte buffers, FIFO queues, and SPSC channels

7 releases

✓ Uses Rust 2018 edition

0.5.1 Dec 1, 2019
0.5.0 Nov 7, 2019
0.4.2 Sep 5, 2019
0.4.1 Jul 23, 2019
0.4.0-alpha.1 May 23, 2019

#57 in Concurrency

Download history 604/week @ 2019-08-18 1743/week @ 2019-08-25 1251/week @ 2019-09-01 1506/week @ 2019-09-08 1110/week @ 2019-09-15 1537/week @ 2019-09-22 1582/week @ 2019-09-29 908/week @ 2019-10-06 1191/week @ 2019-10-13 883/week @ 2019-10-20 1079/week @ 2019-10-27 1466/week @ 2019-11-03 2174/week @ 2019-11-10 2203/week @ 2019-11-17 3105/week @ 2019-11-24

6,669 downloads per month
Used in 13 crates (2 directly)

MIT license

15KB
215 lines

Sluice

Asynchronous byte buffers and pipes for concurrent I/O programming.

Crates.io Documentation License

Documentation

Check the documentation for up-to-date usage and examples.

Requirements

Currently Sluice requires a nightly Rust compiler as it uses stdlib futures, and uses async/await in tests and benchmarks.

License

This library is licensed under the MIT license. See the LICENSE file for details.


lib.rs:

Asynchronous byte buffers and pipes for concurrent I/O programming.

Pipes

The primary feature offered by Sluice are pipes, which are asynchronous in-memory byte buffers that allow separate tasks to read and write from the buffer in parallel.

See the pipe module for details.

Dependencies

~795KB
~15K SLoC