This crate provides:
-
A specialized, custom thread pool,
DispatchPool
, for offloading blocking or otherwise long running operations from a main or reactor threads. -
A
BlockingPermit
for limiting the number of concurrent blocking operations via aSemaphore
type. -
A
Cleaver
for splittingStream
buffers into more manageable sizes. -
A
YieldStream
for yielding betweenStream
items.
MSRV := 1.45.2
The crate will fail fast on any lower rustc (via a build.rs version check) and is also CI tested on this version.
This project is dual licensed under either of following:
-
The Apache License, version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
-
The MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in blocking-permit by you, as defined by the Apache License, shall be dual licensed as above, without any additional terms or conditions.