# 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 = "2018"
rust-version = "1.49.0"
name = "tower"
version = "0.4.13"
authors = ["Tower Maintainers <team@tower-rs.com>"]
description = """
Tower is a library of modular and reusable components for building robust
clients and servers.
"""
homepage = "https://github.com/tower-rs/tower"
documentation = "https://docs.rs/tower/0.4.13"
readme = "README.md"
keywords = [
    "io",
    "async",
    "non-blocking",
    "futures",
    "service",
]
categories = [
    "asynchronous",
    "network-programming",
]
license = "MIT"
repository = "https://github.com/tower-rs/tower"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[package.metadata.playground]
features = ["full"]

[[example]]
name = "tower-balance"
path = "examples/tower-balance.rs"
required-features = ["full"]

[dependencies.futures-core]
version = "0.3"
optional = true

[dependencies.futures-util]
version = "0.3"
features = ["alloc"]
optional = true
default-features = false

[dependencies.hdrhistogram]
version = "7.0"
optional = true
default-features = false

[dependencies.indexmap]
version = "1.0.2"
optional = true

[dependencies.pin-project]
version = "1"
optional = true

[dependencies.pin-project-lite]
version = "0.2.7"
optional = true

[dependencies.rand]
version = "0.8"
features = ["small_rng"]
optional = true

[dependencies.slab]
version = "0.4"
optional = true

[dependencies.tokio]
version = "1.6"
features = ["sync"]
optional = true

[dependencies.tokio-stream]
version = "0.1.0"
optional = true

[dependencies.tokio-util]
version = "0.7.0"
optional = true
default-features = false

[dependencies.tower-layer]
version = "0.3.1"

[dependencies.tower-service]
version = "0.3.1"

[dependencies.tracing]
version = "0.1.2"
features = ["std"]
optional = true
default-features = false

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.hdrhistogram]
version = "7.0"
default-features = false

[dev-dependencies.http]
version = "0.2"

[dev-dependencies.lazy_static]
version = "1.4.0"

[dev-dependencies.pin-project-lite]
version = "0.2.7"

[dev-dependencies.tokio]
version = "1.6.2"
features = [
    "macros",
    "sync",
    "test-util",
    "rt-multi-thread",
]

[dev-dependencies.tokio-stream]
version = "0.1"

[dev-dependencies.tokio-test]
version = "0.4"

[dev-dependencies.tower-test]
version = "0.4"

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
    "fmt",
    "ansi",
]
default-features = false

[features]
__common = [
    "futures-core",
    "pin-project-lite",
]
balance = [
    "discover",
    "load",
    "ready-cache",
    "make",
    "rand",
    "slab",
]
buffer = [
    "__common",
    "tokio/sync",
    "tokio/rt",
    "tokio-util",
    "tracing",
]
default = ["log"]
discover = ["__common"]
filter = [
    "__common",
    "futures-util",
]
full = [
    "balance",
    "buffer",
    "discover",
    "filter",
    "hedge",
    "limit",
    "load",
    "load-shed",
    "make",
    "ready-cache",
    "reconnect",
    "retry",
    "spawn-ready",
    "steer",
    "timeout",
    "util",
]
hedge = [
    "util",
    "filter",
    "futures-util",
    "hdrhistogram",
    "tokio/time",
    "tracing",
]
limit = [
    "__common",
    "tokio/time",
    "tokio/sync",
    "tokio-util",
    "tracing",
]
load = [
    "__common",
    "tokio/time",
    "tracing",
]
load-shed = ["__common"]
log = ["tracing/log"]
make = [
    "futures-util",
    "pin-project-lite",
    "tokio/io-std",
]
ready-cache = [
    "futures-core",
    "futures-util",
    "indexmap",
    "tokio/sync",
    "tracing",
    "pin-project-lite",
]
reconnect = [
    "make",
    "tokio/io-std",
    "tracing",
]
retry = [
    "__common",
    "tokio/time",
]
spawn-ready = [
    "__common",
    "futures-util",
    "tokio/sync",
    "tokio/rt",
    "util",
    "tracing",
]
steer = []
timeout = [
    "pin-project-lite",
    "tokio/time",
]
util = [
    "__common",
    "futures-util",
    "pin-project",
]
