[package] authors = ["Kyle Simpson "] categories = ["asynchronous", "caching", "concurrency"] description = "A thread-safe, shared (asynchronous), almost-lockless stream buffer." documentation = "https://docs.rs/streamcatcher" edition = "2018" homepage = "https://github.com/FelixMcFelix/streamcatcher" include = ["src/**/*.rs", "Cargo.toml"] keywords = ["async", "io", "bytes", "concurrent"] license = "MIT/Apache-2.0" name = "streamcatcher" readme = "README.md" repository = "https://github.com/FelixMcFelix/streamcatcher.git" version = "1.0.1" [features] default = [] async = ["async-trait", "futures-util/io"] async-std-compat = ["async", "async-std"] smol-compat = ["async", "smol"] tokio-compat = ["async", "tokio", "async-compat"] # Dependencies [dependencies] crossbeam-utils = { version = "0.8", default-features = false } [dependencies.async-compat] optional = true version = "0.2" [dependencies.async-std] default-features = false features = ["alloc"] optional = true version = "1" [dependencies.async-trait] optional = true version = "0.1" [dependencies.futures-util] default-features = false features = ["alloc"] version = "0.3" [dependencies.smol] optional = true version = "1" [dependencies.tokio] default-features = false features = ["rt"] optional = true version = "1" [target.'cfg(loom)'.dependencies] loom = { version = "0.5", features = ["checkpoint"] } # Testing. [dev-dependencies] async-std = { version = "1", features = ["attributes"] } criterion = "0.3" futures = "0.3" synchronoise = "1" smol = "1" tokio = { version = "1", features = ["rt", "macros"] } utils = { path = "utils" } [[test]] name = "async" path = "tests/async.rs" required-features = ["async-std-compat", "smol-compat", "tokio-compat"] [lib] bench = false [[bench]] name = "allocs" path = "benches/allocs.rs" harness = false [[bench]] name = "vary-threads" path = "benches/vary-threads.rs" harness = false # Misc. [package.metadata.docs.rs] all-features = true