libsync 0.3.0

A channels library
[package]
name = "libsync"
version = "0.3.0"
edition = "2024"
license = "MIT OR Apache-2.0"
description = "A channels library"
repository = "https://github.com/coruscateor/libsync"
homepage = "https://coruscateor.com/projects/libsync"
keywords = ["crossbeam_queue", "scc", "tokio", "async", "channel"]
categories = ["asynchronous"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
crossbeam = { version = "0.8.4", optional = true }

crossbeam-queue = { version = "0.3.12", optional = true }

tokio = { version = "1.49.0", features = ["sync", "time", "rt", "macros", "rt-multi-thread"], optional = true } #The rt, macros, rt-multi-thread and time features are needed for testing #"1.44.2"
#delegate = "0.*"
delegate = "0.13.5"
futures = "0.3.31"
#rand = { version = "0.8.*", features = ["std", "std_rng"] }

parking_lot = { version = "0.12.5", optional = true }

paste = "1.0.15"

accessorise = "0.2.0"

inc_dec = "0.1.0"

scc = { version = "3.6.2", optional = true }

#https://doc.rust-lang.org/cargo/reference/features.html#optional-dependencies

[features]
std = []
use_std_sync = []
use_parking_lot_sync = ["dep:parking_lot"]
use_parking_lot_fair_sync = ["dep:parking_lot"]
#count_waiting_senders_and_receivers = []
#crossbeam = ["dep:crossbeam"]
#tokio = ["dep:tokio"]

[package.metadata.docs.rs]
features = ["crossbeam", "crossbeam-queue", "tokio", "scc", "std", "use_parking_lot_sync"]
rustdoc-args = ["--cfg", "docsrs"]