tarpc 0.35.0

An RPC framework for Rust with a focus on ease of use.
Documentation
[badges.travis-ci]
repository = "google/tarpc"

[dependencies.anyhow]
version = "1.0"

[dependencies.fnv]
version = "1.0"

[dependencies.futures]
version = "0.3"

[dependencies.humantime]
version = "2.0"

[dependencies.opentelemetry]
default-features = false
version = "0.26.0"

[dependencies.opentelemetry-semantic-conventions]
version = "0.16.0"

[dependencies.pin-project]
version = "1.0"

[dependencies.rand]
version = "0.8"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"

[dependencies.static_assertions]
version = "1.1.0"

[dependencies.tarpc-plugins]
version = "0.14"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
features = ["time"]
version = "1"

[dependencies.tokio-serde]
optional = true
version = "0.9"

[dependencies.tokio-util]
features = ["time"]
version = "0.7.3"

[dependencies.tracing]
default-features = false
features = ["attributes", "log"]
version = "0.1"

[dependencies.tracing-opentelemetry]
default-features = false
version = "0.27.0"

[dev-dependencies.assert_matches]
version = "1.4"

[dev-dependencies.bincode]
version = "1.3"

[dev-dependencies.bytes]
features = ["serde"]
version = "1"

[dev-dependencies.console-subscriber]
version = "0.4"

[dev-dependencies.flate2]
version = "1.0"

[dev-dependencies.futures-test]
version = "0.3"

[dev-dependencies.opentelemetry]
default-features = false
version = "0.26.0"

[dev-dependencies.opentelemetry-otlp]
version = "0.26.0"

[dev-dependencies.opentelemetry_sdk]
features = ["rt-tokio"]
version = "0.26.0"

[dev-dependencies.pin-utils]
version = "0.1.0"

[dev-dependencies.rustls-pemfile]
version = "2.0"

[dev-dependencies.serde_bytes]
version = "0.11"

[dev-dependencies.tokio]
features = ["full", "test-util", "tracing"]
version = "1"

[dev-dependencies.tokio-rustls]
version = "0.26"

[dev-dependencies.tokio-serde]
features = ["json", "bincode"]
version = "0.9"

[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"

[dev-dependencies.trybuild]
version = "1.0"

[[example]]
name = "compression"
path = "examples/compression.rs"
required-features = ["serde-transport", "tcp"]

[[example]]
name = "custom_transport"
path = "examples/custom_transport.rs"
required-features = ["serde1", "tokio1", "serde-transport"]

[[example]]
name = "pubsub"
path = "examples/pubsub.rs"
required-features = ["full"]

[[example]]
name = "readme"
path = "examples/readme.rs"
required-features = ["full"]

[[example]]
name = "tls_over_tcp"
path = "examples/tls_over_tcp.rs"
required-features = ["full"]

[[example]]
name = "tracing"
path = "examples/tracing.rs"
required-features = ["full"]

[features]
default = []
full = ["serde1", "tokio1", "serde-transport", "serde-transport-json", "serde-transport-bincode", "tcp", "unix"]
serde-transport = ["serde1", "tokio1", "tokio-serde", "tokio-util/codec"]
serde-transport-bincode = ["serde-transport", "tokio-serde/bincode"]
serde-transport-json = ["serde-transport", "tokio-serde/json"]
serde1 = ["tarpc-plugins/serde1", "serde", "serde/derive", "serde/rc"]
tcp = ["tokio/net"]
tokio1 = ["tokio/rt"]
unix = ["tokio/net"]

[lib]
name = "tarpc"
path = "src/lib.rs"

[package]
authors = ["Adam Wright <adam.austin.wright@gmail.com>", "Tim Kuehn <timothy.j.kuehn@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["asynchronous", "network-programming"]
description = "An RPC framework for Rust with a focus on ease of use."
documentation = "https://docs.rs/tarpc"
edition = "2021"
homepage = "https://github.com/google/tarpc"
keywords = ["rpc", "network", "server", "api", "microservices"]
license = "MIT"
name = "tarpc"
readme = "README.md"
repository = "https://github.com/google/tarpc"
rust-version = "1.65.0"
version = "0.35.0"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[[test]]
name = "compile_fail"
path = "tests/compile_fail.rs"

[[test]]
name = "dataservice"
path = "tests/dataservice.rs"
required-features = ["serde-transport", "tcp"]

[[test]]
name = "proc_macro_hygene"
path = "tests/proc_macro_hygene.rs"

[[test]]
name = "service_functional"
path = "tests/service_functional.rs"
required-features = ["serde-transport"]