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

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[lib]
name = "solana_net_utils"

[features]
agave-unstable-api = []
dev-context-only-utils = ["dep:pcap-file", "dep:hxdmp"]
shuttle-test = ["dep:shuttle", "solana-svm-type-overrides/shuttle-test"]

[dependencies]
anyhow = { workspace = true }
bincode = { workspace = true }
bytes = { workspace = true }
cfg-if = { workspace = true }
dashmap = { workspace = true, features = ["raw-api"] }
hxdmp = { version = "0.2.1", optional = true }
itertools = { workspace = true }
log = { workspace = true }
nix = { workspace = true, features = ["socket"] }
pcap-file = { version = "2.0.0", optional = true }
rand = { workspace = true }
serde = { workspace = true }
shuttle = { workspace = true, optional = true }
socket2 = { workspace = true }
solana-serde = { workspace = true }
solana-svm-type-overrides = { workspace = true }
tokio = { workspace = true, features = ["full"] }
url = { workspace = true }

[dev-dependencies]
agave-logger = { workspace = true }
solana-net-utils = { path = ".", features = ["agave-unstable-api"] }

[lints]
workspace = true

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