Skip to content

A pool and permits for limiting the number of concurrent blocking operations

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

dekellum/blocking-permit

Repository files navigation

blocking-permit

Rustdoc Change Log crates.io CI Status

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 a Semaphore type.

  • A Cleaver for splitting Stream buffers into more manageable sizes.

  • A YieldStream for yielding between Stream 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:

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.

About

A pool and permits for limiting the number of concurrent blocking operations

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages