| [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.11.x" git tag. |
| authors = ["Lucio Franco <luciofranco14@gmail.com>"] |
| categories = ["web-programming", "network-programming", "asynchronous"] |
| description = """ |
| A gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility. |
| """ |
| documentation = "https://docs.rs/tonic/0.11.0" |
| edition = "2021" |
| homepage = "https://github.com/hyperium/tonic" |
| keywords = ["rpc", "grpc", "async", "futures", "protobuf"] |
| license = "MIT" |
| readme = "../README.md" |
| repository = "https://github.com/hyperium/tonic" |
| version = "0.11.0" |
| |
| [features] |
| codegen = ["dep:async-trait"] |
| gzip = ["dep:flate2"] |
| zstd = ["dep:zstd"] |
| default = ["transport", "codegen", "prost"] |
| prost = ["dep:prost"] |
| tls = ["dep:rustls-pki-types", "dep:rustls-pemfile", "transport", "dep:tokio-rustls", "tokio/rt", "tokio/macros"] |
| tls-roots = ["tls-roots-common", "dep:rustls-native-certs"] |
| tls-roots-common = ["tls"] |
| tls-webpki-roots = ["tls-roots-common", "dep:webpki-roots"] |
| transport = [ |
| "dep:async-stream", |
| "dep:axum", |
| "channel", |
| "dep:h2", |
| "dep:hyper", |
| "tokio/net", |
| "tokio/time", |
| "dep:tower", |
| "dep:hyper-timeout", |
| ] |
| channel = [] |
| |
| # [[bench]] |
| # name = "bench_main" |
| # harness = false |
| |
| [dependencies] |
| base64 = "0.21" |
| bytes = "1.0" |
| http = "0.2" |
| tracing = "0.1" |
| |
| tokio = "1.0.1" |
| http-body = "0.4.4" |
| percent-encoding = "2.1" |
| pin-project = "1.0.11" |
| tower-layer = "0.3" |
| tower-service = "0.3" |
| |
| # prost |
| prost = {version = "0.12", default-features = false, features = ["std"], optional = true} |
| |
| # codegen |
| async-trait = {version = "0.1.13", optional = true} |
| |
| # transport |
| h2 = {version = "0.3.24", optional = true} |
| hyper = {version = "0.14.26", features = ["full"], optional = true} |
| hyper-timeout = {version = "0.4", optional = true} |
| tokio-stream = "0.1" |
| tower = {version = "0.4.7", default-features = false, features = ["balance", "buffer", "discover", "limit", "load", "make", "timeout", "util"], optional = true} |
| axum = {version = "0.6.9", default_features = false, optional = true} |
| |
| # rustls |
| async-stream = { version = "0.3", optional = true } |
| rustls-pki-types = { version = "1.0", optional = true } |
| rustls-pemfile = { version = "2.0", optional = true } |
| rustls-native-certs = { version = "0.7", optional = true } |
| tokio-rustls = { version = "0.25", optional = true } |
| webpki-roots = { version = "0.26", optional = true } |
| |
| # compression |
| flate2 = {version = "1.0", optional = true} |
| zstd = { version = "0.12.3", optional = true } |
| |
| [dev-dependencies] |
| bencher = "0.1.5" |
| quickcheck = "1.0" |
| quickcheck_macros = "1.0" |
| rand = "0.8" |
| static_assertions = "1.0" |
| tokio = {version = "1.0", features = ["rt", "macros"]} |
| tower = {version = "0.4.7", features = ["full"]} |
| |
| [package.metadata.docs.rs] |
| all-features = true |
| rustdoc-args = ["--cfg", "docsrs"] |
| |
| [[bench]] |
| harness = false |
| name = "decode" |