blocking-permit 0.1.0

Permits and a thread pool for blocking operations
Documentation
[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]
# Need some oneshot channel for dispatch_rx, default to futures
# Use default-features=false in combination with tokio-oneshot, if desired.
default=["futures-channel"]

# All available tokio integrations
tokio-omnibus=["tokio-oneshot", "tokio-threaded", "tokio-semaphore"]

# Instead of (default) futures-channel oneshot
tokio-oneshot=["tokio", "tokio/sync"]

# Tokio threaded runtime, including blocking support
tokio-threaded=["tokio", "tokio/rt-core", "tokio/rt-threaded", "tokio/blocking"]

# Instead of futures-intrusive semaphore. (Both are optional)
tokio-semaphore=["tokio", "tokio/sync"]

current-thread=[] # testing hack only

[profile.bench]
lto = "thin"
incremental = false

[package.metadata.docs.rs]
features = ["futures-intrusive"]