libsync 0.4.0

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

# 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.52.3", features = ["sync", "time", "rt", "macros", "rt-multi-thread"], optional = true } #The rt, macros, rt-multi-thread and time features are needed for testing.

delegate = "0.13.5"

futures = "0.3.31"

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

pastey = "0.2.2"

accessorise = "0.2.0"

inc_dec = "0.1.0"

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

[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"]



#Publishing:

#cargo publish --dry-run --features "std tokio crossbeam crossbeam-queue scc use_parking_lot_sync"

#cargo publish --features "std tokio crossbeam crossbeam-queue scc use_parking_lot_sync"