[package]
name = "tonic"
version = "0.3.1"
authors = ["Lucio Franco <luciofranco14@gmail.com>"]
edition = "2018"
license = "MIT"
documentation = "https://docs.rs/tonic/0.3.1/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 = [
"hyper",
"tokio",
"tower",
"tower-balance",
"tower-load",
"tracing-futures",
]
tls = ["transport", "tokio-rustls"]
tls-roots = ["tls", "rustls-native-certs"]
prost = ["prost1", "prost-derive"]
[dependencies]
bytes = "0.5"
futures-core = { version = "0.3", default-features = false }
futures-util = { version = "0.3", default-features = false }
tracing = "0.1"
http = "0.2"
base64 = "0.12"
percent-encoding = "2.0"
tower-service = "0.3"
tokio-util = { version = "0.3", features = ["codec"] }
async-stream = "0.2"
http-body = "0.3"
pin-project = "0.4.17"
prost1 = { package = "prost", version = "0.6", optional = true }
prost-derive = { version = "0.6", optional = true }
async-trait = { version = "0.1.13", optional = true }
hyper = { version = "0.13.4", features = ["stream"], optional = true }
tokio = { version = "0.2.13", features = ["tcp"], optional = true }
tower = { version = "0.3", optional = true}
tower-make = { version = "0.3", features = ["connect"] }
tower-balance = { version = "0.3", optional = true }
tower-load = { version = "0.3", optional = true }
tracing-futures = { version = "0.2", optional = true }
tokio-rustls = { version = "0.14", optional = true }
rustls-native-certs = { version = "0.4", optional = true }
[dev-dependencies]
tokio = { version = "0.2", features = ["rt-core", "macros"] }
static_assertions = "1.0"
rand = "0.7"
bencher = "0.1.5"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[bench]]
name = "decode"
harness = false