[package] name = "swap-buffer-queue" version = "0.2.1" edition = "2021" exclude = [".*"] description = "A buffering MPSC queue." homepage = "https://github.com/wyfo/swap-buffer-queue" readme = "README.md" keywords = [ "atomic", "lock-free", "no-std", "mpsc", "async", ] categories = [ "concurrency", "data-structures", "no-std", ] license = "MIT" repository = "https://github.com/wyfo/swap-buffer-queue" [features] default = ["std"] alloc = [] std = ["alloc"] stream = ["std", "dep:futures-core", "dep:futures-util"] write = [] [dependencies] crossbeam-utils = { version = "0.8", default-features = false } futures-core = { version = "0.3", default-features = false, optional = true } futures-util = { version = "0.3", default-features = false, optional = true } [dev-dependencies] tokio-test = "0.4" tokio = { version = "1", features = ["macros", "rt-multi-thread", "test-util", "time"] } [target.'cfg(loom)'.dev-dependencies] loom = { version = "0.7", features = ["futures"] } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(loom)'] } # see https://users.rust-lang.org/t/how-to-document-optional-features-in-api-docs/64577/3 [package.metadata.docs.rs] all-features = true rustdoc-args = [ "--cfg", "docsrs", ]