[package] authors = ["Lucio Franco "] edition = "2021" license = "MIT" name = "examples" [[bin]] name = "helloworld-server" path = "src/helloworld/server.rs" [[bin]] name = "helloworld-client" path = "src/helloworld/client.rs" [[bin]] name = "blocking-server" path = "src/blocking/server.rs" [[bin]] name = "blocking-client" path = "src/blocking/client.rs" [[bin]] name = "routeguide-server" path = "src/routeguide/server.rs" required-features = ["routeguide"] [[bin]] name = "routeguide-client" path = "src/routeguide/client.rs" required-features = ["routeguide"] [[bin]] name = "authentication-client" path = "src/authentication/client.rs" [[bin]] name = "authentication-server" path = "src/authentication/server.rs" [[bin]] name = "load-balance-client" path = "src/load_balance/client.rs" [[bin]] name = "load-balance-server" path = "src/load_balance/server.rs" [[bin]] name = "dynamic-load-balance-client" path = "src/dynamic_load_balance/client.rs" [[bin]] name = "dynamic-load-balance-server" path = "src/dynamic_load_balance/server.rs" [[bin]] name = "tls-client" path = "src/tls/client.rs" required-features = ["tls"] [[bin]] name = "tls-server" path = "src/tls/server.rs" required-features = ["tls"] [[bin]] name = "tls-rustls-client" path = "src/tls_rustls/client.rs" required-features = ["tls-rustls"] [[bin]] name = "tls-rustls-server" path = "src/tls_rustls/server.rs" required-features = ["tls-rustls"] [[bin]] name = "tls-client-auth-server" path = "src/tls_client_auth/server.rs" required-features = ["tls-client-auth"] [[bin]] name = "tls-client-auth-client" path = "src/tls_client_auth/client.rs" required-features = ["tls-client-auth"] [[bin]] name = "tower-server" path = "src/tower/server.rs" required-features = ["tower"] [[bin]] name = "tower-client" path = "src/tower/client.rs" required-features = ["tower"] [[bin]] name = "multiplex-server" path = "src/multiplex/server.rs" [[bin]] name = "multiplex-client" path = "src/multiplex/client.rs" [[bin]] name = "gcp-client" path = "src/gcp/client.rs" required-features = ["gcp"] [[bin]] name = "tracing-client" path = "src/tracing/client.rs" required-features = ["tracing"] [[bin]] name = "tracing-server" path = "src/tracing/server.rs" required-features = ["tracing"] [[bin]] name = "uds-client" path = "src/uds/client.rs" required-features = ["uds"] [[bin]] name = "uds-server" path = "src/uds/server.rs" required-features = ["uds"] [[bin]] name = "interceptor-client" path = "src/interceptor/client.rs" [[bin]] name = "interceptor-server" path = "src/interceptor/server.rs" [[bin]] name = "health-server" path = "src/health/server.rs" required-features = ["health"] [[bin]] name = "reflection-server" path = "src/reflection/server.rs" required-features = ["reflection"] [[bin]] name = "autoreload-server" path = "src/autoreload/server.rs" required-features = ["autoreload"] [[bin]] name = "compression-server" path = "src/compression/server.rs" required-features = ["compression"] [[bin]] name = "compression-client" path = "src/compression/client.rs" required-features = ["compression"] [[bin]] name = "mock" path = "src/mock/mock.rs" required-features = ["mock"] [[bin]] name = "grpc-web-server" path = "src/grpc-web/server.rs" required-features = ["grpc-web"] [[bin]] name = "grpc-web-client" path = "src/grpc-web/client.rs" required-features = ["grpc-web"] [[bin]] name = "streaming-client" path = "src/streaming/client.rs" required-features = ["streaming"] [[bin]] name = "streaming-server" path = "src/streaming/server.rs" required-features = ["streaming"] [[bin]] name = "json-codec-client" path = "src/json-codec/client.rs" required-features = ["json-codec"] [[bin]] name = "json-codec-server" path = "src/json-codec/server.rs" required-features = ["json-codec"] [[bin]] name = "richer-error-client" path = "src/richer-error/client.rs" required-features = ["types"] [[bin]] name = "richer-error-server" path = "src/richer-error/server.rs" required-features = ["types"] [[bin]] name = "richer-error-client-vec" path = "src/richer-error/client_vec.rs" required-features = ["types"] [[bin]] name = "richer-error-server-vec" path = "src/richer-error/server_vec.rs" required-features = ["types"] [[bin]] name = "dynamic-server" path = "src/dynamic/server.rs" [[bin]] name = "h2c-server" path = "src/h2c/server.rs" required-features = ["h2c"] [[bin]] name = "h2c-client" path = "src/h2c/client.rs" required-features = ["h2c"] [[bin]] name = "cancellation-server" path = "src/cancellation/server.rs" required-features = ["cancellation"] [[bin]] name = "cancellation-client" path = "src/cancellation/client.rs" [[bin]] name = "codec-buffers-server" path = "src/codec_buffers/server.rs" [[bin]] name = "codec-buffers-client" path = "src/codec_buffers/client.rs" [features] gcp = ["dep:prost-types", "tonic/tls-ring"] routeguide = ["dep:async-stream", "dep:tokio-stream", "dep:rand", "dep:serde", "dep:serde_json"] reflection = ["dep:tonic-reflection"] autoreload = ["dep:tokio-stream", "tokio-stream?/net", "dep:listenfd"] health = ["dep:tonic-health"] grpc-web = ["dep:tonic-web", "dep:bytes", "dep:http", "dep:hyper", "dep:hyper-util", "dep:tracing-subscriber", "dep:tower", "dep:tower-http", "tower-http?/cors"] tracing = ["dep:tracing", "dep:tracing-subscriber"] uds = ["dep:tokio-stream", "tokio-stream?/net", "dep:tower", "dep:hyper", "dep:hyper-util"] streaming = ["dep:tokio-stream", "dep:h2"] mock = ["dep:tokio-stream", "dep:tower", "dep:hyper-util"] tower = ["dep:tower", "dep:http"] json-codec = ["dep:serde", "dep:serde_json", "dep:bytes"] compression = ["tonic/gzip"] tls = ["tonic/tls-ring"] tls-rustls = ["dep:http", "dep:hyper", "dep:hyper-util", "dep:hyper-rustls", "dep:tower", "tower-http/util", "tower-http/add-extension", "dep:tokio-rustls"] tls-client-auth = ["tonic/tls-ring"] types = ["dep:tonic-types"] h2c = ["dep:hyper", "dep:tower", "dep:http", "dep:hyper-util"] cancellation = ["dep:tokio-util"] full = ["gcp", "routeguide", "reflection", "autoreload", "health", "grpc-web", "tracing", "uds", "streaming", "mock", "tower", "json-codec", "compression", "tls", "tls-rustls", "tls-client-auth", "types", "cancellation", "h2c"] default = ["full"] [dependencies] # Common dependencies tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] } prost = "0.13" tonic = { path = "../tonic" } # Optional dependencies tonic-web = { path = "../tonic-web", optional = true } tonic-health = { path = "../tonic-health", optional = true } tonic-reflection = { path = "../tonic-reflection", optional = true } tonic-types = { path = "../tonic-types", optional = true } async-stream = { version = "0.3", optional = true } tokio-stream = { version = "0.1", optional = true } tokio-util = { version = "0.7.8", optional = true } tower = { version = "0.5", optional = true } rand = { version = "0.9", optional = true } serde = { version = "1.0", features = ["derive"], optional = true } serde_json = { version = "1.0", optional = true } tracing = { version = "0.1.16", optional = true } tracing-subscriber = { version = "0.3", features = ["tracing-log", "fmt"], optional = true } prost-types = { version = "0.13", optional = true } http = { version = "1", optional = true } http-body = { version = "1", optional = true } hyper = { version = "1", optional = true } hyper-util = { version = "0.1.4", optional = true } listenfd = { version = "1.0", optional = true } bytes = { version = "1", optional = true } h2 = { version = "0.4", optional = true } tokio-rustls = { version = "0.26.1", optional = true, features = ["ring", "tls12"], default-features = false } hyper-rustls = { version = "0.27.0", features = ["http2", "ring", "tls12"], optional = true, default-features = false } tower-http = { version = "0.6", optional = true } [build-dependencies] tonic-build = { path = "../tonic-build", features = ["prost"] }