# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "plumbrs"
version = "0.15.0"
authors = ["Nicola Bonelli <nicola@larthia.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance HTTP/1.1 and HTTP/2 benchmarking tool"
readme = "README.md"
keywords = [
    "cli",
    "utility",
    "benchmark",
    "http",
    "http2",
]
categories = [
    "command-line-utilities",
    "network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/awgn/plumbrs"

[features]
mcp = ["rmcp"]
monoio = [
    "dep:monoio",
    "dep:io-uring",
]
tokio_uring = ["dep:tokio-uring"]

[[bin]]
name = "plumbrs"
path = "src/main.rs"

[dependencies.anyhow]
version = "1.0.100"

[dependencies.atomic-time]
version = "0.1.5"

[dependencies.bytes]
version = "1.11.0"

[dependencies.clap]
version = "4.5.54"
features = ["derive"]

[dependencies.const_format]
version = "0.2.35"

[dependencies.crossterm]
version = "0.28"

[dependencies.ctor]
version = "0.6.3"

[dependencies.futures]
version = "0.3.31"

[dependencies.futures-util]
version = "0.3.31"

[dependencies.h2]
version = "0.4.13"

[dependencies.hdrhistogram]
version = "7.5.4"

[dependencies.http]
version = "1.4.0"

[dependencies.http-body-util]
version = "0.1.3"

[dependencies.http_wire]
version = "0.4.0"

[dependencies.httparse]
version = "1.10.1"

[dependencies.hyper]
version = "1.8.1"
features = ["full"]

[dependencies.hyper-util]
version = "0.1.19"
features = [
    "client",
    "client-legacy",
    "http1",
    "http2",
    "service",
    "tokio",
]

[dependencies.pretty_env_logger]
version = "0.5.0"

[dependencies.reqwest]
version = "0.12.28"
features = ["stream"]

[dependencies.rmcp]
version = "0.12.0"
optional = true

[dependencies.scopeguard]
version = "1.2.0"

[dependencies.tabled]
version = "0.18"

[dependencies.tokio]
version = "1.49.0"
features = ["full"]

[dependencies.tokio-util]
version = "0.7.18"
features = ["full"]

[dependencies.tower]
version = "0.5.3"
features = ["full"]

[target.'cfg(not(target_env = "msvc"))'.dependencies.tikv-jemallocator]
version = "0.6"

[target.'cfg(target_os = "linux")'.dependencies.io-uring]
version = "0.6.4"
optional = true

[target.'cfg(target_os = "linux")'.dependencies.monoio]
version = "0.2.4"
features = ["sync"]
optional = true

[target.'cfg(target_os = "linux")'.dependencies.tokio-uring]
version = "0.5.0"
optional = true

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tokio_unstable)"]

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
strip = true
