graphrefly-core 0.0.3

GraphReFly handle-protocol core dispatcher
Documentation
[package]
name        = "graphrefly-core"
description = "GraphReFly handle-protocol core dispatcher"
version.workspace      = true
edition.workspace      = true
rust-version.workspace = true
license.workspace      = true
repository.workspace   = true
homepage.workspace     = true
authors.workspace      = true

[dependencies]
parking_lot = { workspace = true }
ahash       = { workspace = true }
smallvec    = { workspace = true }
indexmap    = { workspace = true }
thiserror   = { workspace = true }
tracing     = { workspace = true }

[dev-dependencies]
proptest    = { workspace = true }
criterion   = { workspace = true }

# loom is a concurrency model checker that permutes thread interleavings.
# Used only when compiling with `--cfg loom`. Tests that depend on loom
# must gate themselves with `#[cfg(loom)]` because loom replaces stdlib
# atomics/sync primitives. Run via:
#   RUSTFLAGS="--cfg loom" cargo test --test loom_subscription
[target.'cfg(loom)'.dev-dependencies]
loom = { workspace = true }

[[bench]]
name    = "dispatcher"
harness = false

[[bench]]
name    = "per_subgraph_parallelism"
harness = false

[features]
default      = ["std"]
# `std` is the only supported configuration for now. Kept as a feature so
# `no_std` (alloc-only) remains a future option without breaking the API.
std          = []
# Concurrency permutation testing via loom. Enable in CI for the per-subgraph
# RLock + dispatch tests.
loom-checked = []

[lints.rust]
# Loom is enabled via `RUSTFLAGS="--cfg loom"`, not a Cargo feature.
# Tell cargo about the cfg so the default build doesn't emit the
# unexpected_cfgs warning for `#![cfg(loom)]` test gates.
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(loom)"] }