[package]
name = "solana-turbine"
documentation = "https://docs.rs/solana-turbine"
version = { workspace = true }
authors = { workspace = true }
description = { workspace = true }
repository = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
edition = { workspace = true }

[features]
agave-unstable-api = []

[dependencies]
agave-feature-set = { workspace = true }
agave-votor = { workspace = true }
agave-xdp = { workspace = true }
bincode = { workspace = true }
bytes = { workspace = true }
crossbeam-channel = { workspace = true }
futures = { workspace = true }
itertools = { workspace = true }
lazy-lru = { workspace = true }
log = { workspace = true }
lru = { workspace = true }
quinn = { workspace = true }
rand = { workspace = true }
rand_chacha = { workspace = true }
rayon = { workspace = true }
rustls = { workspace = true }
solana-clock = { workspace = true }
solana-cluster-type = { workspace = true }
solana-entry = { workspace = true }
solana-gossip = { workspace = true }
solana-hash = { workspace = true }
solana-keypair = { workspace = true }
solana-ledger = { workspace = true, features = ["agave-unstable-api"] }
solana-measure = { workspace = true }
solana-metrics = { workspace = true }
solana-native-token = { workspace = true }
solana-net-utils = { workspace = true }
solana-nohash-hasher = { workspace = true }
solana-perf = { workspace = true }
solana-poh = { workspace = true }
solana-pubkey = { workspace = true }
solana-quic-client = { workspace = true }
solana-rayon-threadlimit = { workspace = true }
solana-rpc = { workspace = true }
solana-rpc-client-api = { workspace = true }
solana-runtime = { workspace = true }
solana-signature = { workspace = true }
solana-signer = { workspace = true }
solana-streamer = { workspace = true }
solana-system-transaction = { workspace = true }
solana-time-utils = { workspace = true }
solana-tls-utils = { workspace = true }
solana-transaction-error = { workspace = true }
static_assertions = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
wincode = { workspace = true }

[target.'cfg(target_os = "linux")'.dependencies]
caps = { workspace = true }

[dev-dependencies]
agave-logger = { workspace = true }
assert_matches = { workspace = true }
bencher = { workspace = true }
bs58 = { workspace = true }
solana-genesis-config = { workspace = true }
solana-ledger = { workspace = true, features = ["agave-unstable-api","dev-context-only-utils"] }
solana-runtime = { workspace = true, features = ["dev-context-only-utils"] }
solana-signature = { workspace = true, features = ["rand"] }
solana-transaction = { workspace = true }
solana-turbine = { path = ".", features = ["agave-unstable-api"] }
test-case = { workspace = true }

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

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