• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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