async MPMC channel that reduces overhead by reading and writing many values at once.
Sometimes large volumes of small values are farmed out to workers through a channel. Consider directory traversal: each readdir() call produces a batch of directory entries. Batching can help the consumption side too. Consider querying SQLite with received values -- larger batches reduce the amortized cost of acquiring SQLite's lock and bulk queries can be issued.
One can imagine natural, currently unimplemented, extensions to this crate:
- Channels with priority
- impls for
futures::sink::Sink
andfutures::stream::Stream
Ask if they would be helpful.