[package] name = "wmark" version.workspace = true edition.workspace = true repository.workspace = true homepage.workspace = true license.workspace = true description = "Helpful structs to implement optimistic SSI (Serializable Snapshot Isolation) level transactions for database" [features] default = ["std"] std = ["parking_lot", "wg", "crossbeam-channel", "async-channel?/default", "futures-channel?/default", "thiserror", "crossbeam-utils/default", "scopeguard/use_std"] core = ["crossbeam-queue/alloc", "hashbrown/allocator-api2", "event-listener"] future = ["async-channel", "futures-util", "futures-channel", "event-listener/default"] smol = ["agnostic-lite/smol", "future"] async-std = ["agnostic-lite/async-std", "future"] tokio = ["agnostic-lite/tokio", "futures-util"] wasm = ["agnostic-lite/wasm", "futures-util"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] agnostic-lite = { version = "0.3", optional = true } atomic_refcell = "0.1" smallvec-wrapper.workspace = true crossbeam-utils = { workspace = true, default-features = false } scopeguard.workspace = true thiserror = { version = "1", optional = true } crossbeam-queue = { version = "0.3", optional = true, default-features = false } hashbrown = { version = "0.14", optional = true, default-features = false } crossbeam-channel = { version = "0.5", optional = true } parking_lot = { version = "0.12", optional = true } wg = { version = "0.9", optional = true } async-channel = { version = "2", optional = true, default-features = false } event-listener = { version = "5", optional = true, default-features = false } futures-util = { version = "0.3", optional = true, default-features = false, features = ["async-await-macro"] } futures-channel = { version = "0.3", optional = true, default-features = false, features = ["alloc"] } tracing = { version = "0.1", optional = true, default-features = false } [dev-dependencies] tokio = { version = "1", features = ["full"] }