[package] name = "tarpc" version = "0.35.0" rust-version = "1.65.0" authors = [ "Adam Wright ", "Tim Kuehn ", ] edition = "2021" license = "MIT" documentation = "https://docs.rs/tarpc" homepage = "https://github.com/google/tarpc" repository = "https://github.com/google/tarpc" keywords = ["rpc", "network", "server", "api", "microservices"] categories = ["asynchronous", "network-programming"] readme = "README.md" description = "An RPC framework for Rust with a focus on ease of use." [features] default = [] serde1 = ["tarpc-plugins/serde1", "serde", "serde/derive", "serde/rc"] tokio1 = ["tokio/rt"] serde-transport = ["serde1", "tokio1", "tokio-serde", "tokio-util/codec"] serde-transport-json = ["serde-transport", "tokio-serde/json"] serde-transport-bincode = ["serde-transport", "tokio-serde/bincode"] tcp = ["tokio/net"] unix = ["tokio/net"] full = [ "serde1", "tokio1", "serde-transport", "serde-transport-json", "serde-transport-bincode", "tcp", "unix", ] [badges] travis-ci = { repository = "google/tarpc" } [dependencies] anyhow = "1.0" fnv = "1.0" futures = "0.3" humantime = "2.0" pin-project = "1.0" rand = "0.8" serde = { optional = true, version = "1.0", features = ["derive"] } static_assertions = "1.1.0" tarpc-plugins = { path = "../plugins", version = "0.14" } thiserror = "1.0" tokio = { version = "1", features = ["time"] } tokio-util = { version = "0.7.3", features = ["time"] } tokio-serde = { optional = true, version = "0.9" } tracing = { version = "0.1", default-features = false, features = [ "attributes", "log", ] } tracing-opentelemetry = { version = "0.27.0", default-features = false } opentelemetry = { version = "0.26.0", default-features = false } opentelemetry-semantic-conventions = "0.16.0" [dev-dependencies] assert_matches = "1.4" bincode = "1.3" bytes = { version = "1", features = ["serde"] } flate2 = "1.0" futures-test = "0.3" opentelemetry = { version = "0.26.0", default-features = false } opentelemetry-otlp = "0.26.0" opentelemetry_sdk = { version = "0.26.0", features = ["rt-tokio"] } pin-utils = "0.1.0" serde_bytes = "0.11" tracing-subscriber = { version = "0.3", features = ["env-filter"] } tokio = { version = "1", features = ["full", "test-util", "tracing"] } console-subscriber = "0.4" tokio-serde = { version = "0.9", features = ["json", "bincode"] } trybuild = "1.0" tokio-rustls = "0.26" rustls-pemfile = "2.0" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [[example]] name = "compression" required-features = ["serde-transport", "tcp"] [[example]] name = "tracing" required-features = ["full"] [[example]] name = "readme" required-features = ["full"] [[example]] name = "pubsub" required-features = ["full"] [[example]] name = "custom_transport" required-features = ["serde1", "tokio1", "serde-transport"] [[example]] name = "tls_over_tcp" required-features = ["full"] [[test]] name = "service_functional" required-features = ["serde-transport"] [[test]] name = "dataservice" required-features = ["serde-transport", "tcp"]