[package]
name = "blocking-permit"
version = "0.1.0"
edition = "2018"
authors = ["David Kellum <dek-oss@gravitext.com>"]
license = "MIT/Apache-2.0"
description = "Permits and a thread pool for blocking operations"
documentation = "https://docs.rs/blocking-permit"
repository = "https://github.com/dekellum/blocking-permit"
readme = "README.md"
keywords = ["async", "semaphore", "thread"]
categories = ["asynchronous"]
exclude = [".gitignore", ".travis.yml", "appveyor.yml"]
build = "build.rs"
[dependencies]
futures-core = { version=">=0.3.1, <0.4" }
futures-channel = { version=">=0.3.1, <0.4", optional=true }
log = { version=">=0.4.4, <0.5" }
crossbeam-channel = { version=">=0.4.0, <0.5" }
num_cpus = { version=">=1.11.1, <1.12" }
futures-intrusive = { version=">=0.2.2, <0.3", optional=true }
tokio = { version=">=0.2.6, <0.3", optional=true }
[dev-dependencies]
env_logger = { version=">=0.7.1, <0.8", default-features=false }
futures-executor = { version=">=0.3.1, <0.4" }
futures-util = { version=">=0.3.1, <0.4" }
lazy_static = { version=">=1.3.0, <1.5" }
rand = { version=">=0.7.0, <0.8" }
tempfile = { version=">=3.1.0, <3.2" }
[features]
default=["futures-channel"]
tokio-omnibus=["tokio-oneshot", "tokio-threaded", "tokio-semaphore"]
tokio-oneshot=["tokio", "tokio/sync"]
tokio-threaded=["tokio", "tokio/rt-core", "tokio/rt-threaded", "tokio/blocking"]
tokio-semaphore=["tokio", "tokio/sync"]
current-thread=[]
[profile.bench]
lto = "thin"
incremental = false
[package.metadata.docs.rs]
features = ["futures-intrusive"]