8 stable releases
1.3.3 | Oct 28, 2021 |
---|---|
1.3.2 | Jan 28, 2021 |
1.2.1 | Aug 29, 2020 |
1.2.0 | Feb 4, 2020 |
0.1.0 | Dec 20, 2019 |
#985 in Asynchronous
32 downloads per month
Used in 2 crates
(via body-image-futio)
68KB
1.5K
SLoC
blocking-permit
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.
Minimum supported rust version
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.
License
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)
Contribution
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.
Dependencies
~0.6–2MB
~30K SLoC