1[package] 2name = "tonic" 3# When releasing to crates.io: 4# - Remove path dependencies 5# - Update html_root_url. 6# - Update doc url 7# - Cargo.toml 8# - README.md 9# - Update CHANGELOG.md. 10# - Create "v0.11.x" git tag. 11authors = ["Lucio Franco <luciofranco14@gmail.com>"] 12categories = ["web-programming", "network-programming", "asynchronous"] 13description = """ 14A gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility. 15""" 16documentation = "https://docs.rs/tonic/0.11.0" 17edition = "2021" 18homepage = "https://github.com/hyperium/tonic" 19keywords = ["rpc", "grpc", "async", "futures", "protobuf"] 20license = "MIT" 21readme = "../README.md" 22repository = "https://github.com/hyperium/tonic" 23version = "0.11.0" 24 25[features] 26codegen = ["dep:async-trait"] 27gzip = ["dep:flate2"] 28zstd = ["dep:zstd"] 29default = ["transport", "codegen", "prost"] 30prost = ["dep:prost"] 31tls = ["dep:rustls-pki-types", "dep:rustls-pemfile", "transport", "dep:tokio-rustls", "tokio/rt", "tokio/macros"] 32tls-roots = ["tls-roots-common", "dep:rustls-native-certs"] 33tls-roots-common = ["tls"] 34tls-webpki-roots = ["tls-roots-common", "dep:webpki-roots"] 35transport = [ 36 "dep:async-stream", 37 "dep:axum", 38 "channel", 39 "dep:h2", 40 "dep:hyper", 41 "tokio/net", 42 "tokio/time", 43 "dep:tower", 44 "dep:hyper-timeout", 45] 46channel = [] 47 48# [[bench]] 49# name = "bench_main" 50# harness = false 51 52[dependencies] 53base64 = "0.21" 54bytes = "1.0" 55http = "0.2" 56tracing = "0.1" 57 58tokio = "1.0.1" 59http-body = "0.4.4" 60percent-encoding = "2.1" 61pin-project = "1.0.11" 62tower-layer = "0.3" 63tower-service = "0.3" 64 65# prost 66prost = {version = "0.12", default-features = false, features = ["std"], optional = true} 67 68# codegen 69async-trait = {version = "0.1.13", optional = true} 70 71# transport 72h2 = {version = "0.3.24", optional = true} 73hyper = {version = "0.14.26", features = ["full"], optional = true} 74hyper-timeout = {version = "0.4", optional = true} 75tokio-stream = "0.1" 76tower = {version = "0.4.7", default-features = false, features = ["balance", "buffer", "discover", "limit", "load", "make", "timeout", "util"], optional = true} 77axum = {version = "0.6.9", default_features = false, optional = true} 78 79# rustls 80async-stream = { version = "0.3", optional = true } 81rustls-pki-types = { version = "1.0", optional = true } 82rustls-pemfile = { version = "2.0", optional = true } 83rustls-native-certs = { version = "0.7", optional = true } 84tokio-rustls = { version = "0.25", optional = true } 85webpki-roots = { version = "0.26", optional = true } 86 87# compression 88flate2 = {version = "1.0", optional = true} 89zstd = { version = "0.12.3", optional = true } 90 91[dev-dependencies] 92bencher = "0.1.5" 93quickcheck = "1.0" 94quickcheck_macros = "1.0" 95rand = "0.8" 96static_assertions = "1.0" 97tokio = {version = "1.0", features = ["rt", "macros"]} 98tower = {version = "0.4.7", features = ["full"]} 99 100[package.metadata.docs.rs] 101all-features = true 102rustdoc-args = ["--cfg", "docsrs"] 103 104[[bench]] 105harness = false 106name = "decode" 107