Files
tonic/tonic/Cargo.toml
T
2b60a00614 feat(transport): add connect timeout to Endpoint (#662)
Pulls in [hyper-timeout] which has a connector that can have a timeout
applied. I did consider vendoring hyper-timeout since its a fairly small
crate. I guess we can always do that later since its not exposed
publicly.

I would also like to add a test but I'm not sure about the best way of
testing this.

Fixes https://github.com/hyperium/tonic/issues/498

[hyper-timeout]: https://github.com/hjr3/hyper-timeout

Co-authored-by: Lucio Franco <[email protected]>
2021-07-01 10:23:22 -04:00

101 lines
2.7 KiB
TOML

[package]
name = "tonic"
# When releasing to crates.io:
# - Remove path dependencies
# - Update html_root_url.
# - Update doc url
# - Cargo.toml
# - README.md
# - Update CHANGELOG.md.
# - Create "v0.4.x" git tag.
version = "0.4.3"
authors = ["Lucio Franco <[email protected]>"]
edition = "2018"
license = "MIT"
documentation = "https://docs.rs/tonic/0.4.3/tonic/"
repository = "https://github.com/hyperium/tonic"
homepage = "https://github.com/hyperium/tonic"
description = """
A gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility.
"""
readme = "../README.md"
categories = ["web-programming", "network-programming", "asynchronous"]
keywords = ["rpc", "grpc", "async", "futures", "protobuf"]
[features]
default = ["transport", "codegen", "prost"]
codegen = ["async-trait"]
transport = [
"h2",
"hyper",
"tokio",
"tower",
"tracing-futures",
"tokio/macros",
"tokio/time",
"hyper-timeout",
]
tls = ["transport", "tokio-rustls"]
tls-roots-common = ["tls"]
tls-roots = ["tls-roots-common", "rustls-native-certs"]
tls-webpki-roots = ["tls-roots-common", "webpki-roots"]
prost = ["prost1", "prost-derive"]
# [[bench]]
# name = "bench_main"
# harness = false
[dependencies]
bytes = "1.0"
futures-core = { version = "0.3", default-features = false }
futures-util = { version = "0.3", default-features = false }
tracing = "0.1"
http = "0.2"
base64 = "0.13"
percent-encoding = "2.1"
tower-service = "0.3"
tower-layer = "0.3"
tokio-util = { version = "0.6", features = ["codec"] }
async-stream = "0.3"
http-body = "0.4.2"
pin-project = "1.0"
# prost
prost1 = { package = "prost", version = "0.7", optional = true }
prost-derive = { version = "0.7", optional = true }
# codegen
async-trait = { version = "0.1.13", optional = true }
# transport
h2 = { version = "0.3", optional = true }
hyper = { version = "0.14.2", features = ["full"], optional = true }
tokio = { version = "1.0.1", features = ["net"], optional = true }
tokio-stream = "0.1"
tower = { version = "0.4.7", features = ["balance", "buffer", "discover", "limit", "load", "make", "timeout", "util"], optional = true }
tracing-futures = { version = "0.2", optional = true }
hyper-timeout = { version = "0.4", optional = true }
# rustls
tokio-rustls = { version = "0.22", optional = true }
rustls-native-certs = { version = "0.5", optional = true }
webpki-roots = { version = "0.21.1", optional = true }
[dev-dependencies]
tokio = { version = "1.0", features = ["rt", "macros"] }
static_assertions = "1.0"
rand = "0.8"
bencher = "0.1.5"
quickcheck = "1.0"
quickcheck_macros = "1.0"
tower = { version = "0.4.7", features = ["full"] }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[bench]]
name = "decode"
harness = false