[package] name = "tokio-graceful-shutdown" authors = ["Finomnis "] version = "0.15.2" edition = "2021" rust-version = "1.70" license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/Finomnis/tokio-graceful-shutdown" description = "Utilities to perform a graceful shutdown on a Tokio based service." keywords = ["tokio", "shutdown"] categories = ["asynchronous"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html exclude = [ "/.gitignore", "/.github/", "/TODO.txt", "/UPCOMING_VERSION_CHANGES.txt", ] [features] # Enable task naming and task caller location. tracing = ["tokio/tracing"] [[example]] name = "tokio_console" required-features = ["tracing"] [dependencies] tracing = { version = "0.1.37", default-features = false } tokio = { version = "1.32.0", default-features = false, features = [ "signal", "rt", "macros", "time", ] } tokio-util = { version = "0.7.10", default-features = false } pin-project-lite = "0.2.13" thiserror = "2.0.3" miette = "7.0.0" async-trait = "0.1.73" atomic = "0.6.0" bytemuck = { version = "1.14.0", features = ["derive"] } [dev-dependencies] # Error propagation anyhow = "1.0.75" eyre = "0.6.12" miette = { version = "7.2.0", features = ["fancy"] } # Logging tracing-subscriber = "0.3.17" tracing-test = { version = "0.2.4", features = ["no-env-filter"] } # Tokio tokio = { version = "1.32.0", features = ["full"] } # Hyper example hyper = { version = "1.0.1", features = ["server", "http1"] } hyper-util = { version = "0.1.1", features = ["tokio"] } tokio-util = { version = "0.7.10", default-features = false, features = ["rt"] } bytes = "1.5.0" http-body-util = "0.1.0" futures-util = ">= 0.3.16" # Required to fix minimal-versions tower = ">= 0.4.1" # Required to fix minimal-versions # Warp example warp = "0.3.6" headers = ">= 0.3.5" # Required to fix minimal-versions serde_urlencoded = ">= 0.7.1" # Required to fix minimal-versions unicode-linebreak = ">= 0.1.5" # Required to fix minimal-versions gcc = ">= 0.3.4" # Required to fix minimal-versions # tokio-console console-subscriber = "0.2.0" # For testing unix signals [target.'cfg(unix)'.dev-dependencies] nix = { version = "0.29.0", default-features = false, features = ["signal"] } # Make leak sanitizer more reliable [profile.dev] opt-level = 1 # Define `tokio_unstable` config for linter [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] }