1[package] 2authors = ["Lucio Franco <[email protected]>"] 3edition = "2021" 4license = "MIT" 5name = "examples" 6publish = false 7version = "0.1.0" 8 9[[bin]] 10name = "helloworld-server" 11path = "src/helloworld/server.rs" 12 13[[bin]] 14name = "helloworld-client" 15path = "src/helloworld/client.rs" 16 17[[bin]] 18name = "blocking-server" 19path = "src/blocking/server.rs" 20 21[[bin]] 22name = "blocking-client" 23path = "src/blocking/client.rs" 24 25[[bin]] 26name = "routeguide-server" 27path = "src/routeguide/server.rs" 28required-features = ["routeguide"] 29 30[[bin]] 31name = "routeguide-client" 32path = "src/routeguide/client.rs" 33required-features = ["routeguide"] 34 35[[bin]] 36name = "authentication-client" 37path = "src/authentication/client.rs" 38 39[[bin]] 40name = "authentication-server" 41path = "src/authentication/server.rs" 42 43[[bin]] 44name = "load-balance-client" 45path = "src/load_balance/client.rs" 46 47[[bin]] 48name = "load-balance-server" 49path = "src/load_balance/server.rs" 50 51[[bin]] 52name = "dynamic-load-balance-client" 53path = "src/dynamic_load_balance/client.rs" 54required-features = ["dynamic-load-balance"] 55 56[[bin]] 57name = "dynamic-load-balance-server" 58path = "src/dynamic_load_balance/server.rs" 59required-features = ["dynamic-load-balance"] 60 61[[bin]] 62name = "tls-client" 63path = "src/tls/client.rs" 64required-features = ["tls"] 65 66[[bin]] 67name = "tls-server" 68path = "src/tls/server.rs" 69required-features = ["tls"] 70 71[[bin]] 72name = "tls-rustls-client" 73path = "src/tls_rustls/client.rs" 74required-features = ["tls-rustls"] 75 76[[bin]] 77name = "tls-rustls-server" 78path = "src/tls_rustls/server.rs" 79required-features = ["tls-rustls"] 80 81[[bin]] 82name = "tls-client-auth-server" 83path = "src/tls_client_auth/server.rs" 84required-features = ["tls-client-auth"] 85 86[[bin]] 87name = "tls-client-auth-client" 88path = "src/tls_client_auth/client.rs" 89required-features = ["tls-client-auth"] 90 91[[bin]] 92name = "tower-server" 93path = "src/tower/server.rs" 94required-features = ["tower"] 95 96[[bin]] 97name = "tower-client" 98path = "src/tower/client.rs" 99required-features = ["tower"] 100 101[[bin]] 102name = "timeout-server" 103path = "src/timeout/server.rs" 104required-features = ["timeout"] 105 106[[bin]] 107name = "timeout-client" 108path = "src/timeout/client.rs" 109required-features = ["timeout"] 110 111[[bin]] 112name = "multiplex-server" 113path = "src/multiplex/server.rs" 114 115[[bin]] 116name = "multiplex-client" 117path = "src/multiplex/client.rs" 118 119[[bin]] 120name = "gcp-client" 121path = "src/gcp/client.rs" 122required-features = ["gcp"] 123 124[[bin]] 125name = "tracing-client" 126path = "src/tracing/client.rs" 127required-features = ["tracing"] 128 129[[bin]] 130name = "tracing-server" 131path = "src/tracing/server.rs" 132required-features = ["tracing"] 133 134[[bin]] 135name = "uds-client" 136path = "src/uds/client.rs" 137required-features = ["uds"] 138 139[[bin]] 140name = "uds-server" 141path = "src/uds/server.rs" 142required-features = ["uds"] 143 144[[bin]] 145name = "interceptor-client" 146path = "src/interceptor/client.rs" 147 148[[bin]] 149name = "interceptor-server" 150path = "src/interceptor/server.rs" 151 152[[bin]] 153name = "hyper-warp-client" 154path = "src/hyper_warp/client.rs" 155required-features = ["hyper-warp"] 156 157[[bin]] 158name = "hyper-warp-server" 159path = "src/hyper_warp/server.rs" 160required-features = ["hyper-warp"] 161 162[[bin]] 163name = "health-server" 164path = "src/health/server.rs" 165required-features = ["health"] 166 167[[bin]] 168name = "reflection-server" 169path = "src/reflection/server.rs" 170required-features = ["reflection"] 171 172[[bin]] 173name = "autoreload-server" 174path = "src/autoreload/server.rs" 175required-features = ["autoreload"] 176 177[[bin]] 178name = "optional-server" 179path = "src/optional/server.rs" 180 181[[bin]] 182name = "hyper-warp-multiplex-client" 183path = "src/hyper_warp_multiplex/client.rs" 184required-features = ["hyper-warp-multiplex"] 185 186[[bin]] 187name = "hyper-warp-multiplex-server" 188path = "src/hyper_warp_multiplex/server.rs" 189required-features = ["hyper-warp-multiplex"] 190 191[[bin]] 192name = "compression-server" 193path = "src/compression/server.rs" 194required-features = ["compression"] 195 196[[bin]] 197name = "compression-client" 198path = "src/compression/client.rs" 199required-features = ["compression"] 200 201[[bin]] 202name = "mock" 203path = "src/mock/mock.rs" 204required-features = ["mock"] 205 206[[bin]] 207name = "grpc-web-server" 208path = "src/grpc-web/server.rs" 209required-features = ["grpc-web"] 210 211[[bin]] 212name = "grpc-web-client" 213path = "src/grpc-web/client.rs" 214required-features = ["grpc-web"] 215 216[[bin]] 217name = "streaming-client" 218path = "src/streaming/client.rs" 219required-features = ["streaming"] 220 221[[bin]] 222name = "streaming-server" 223path = "src/streaming/server.rs" 224required-features = ["streaming"] 225 226[[bin]] 227name = "json-codec-client" 228path = "src/json-codec/client.rs" 229required-features = ["json-codec"] 230 231[[bin]] 232name = "json-codec-server" 233path = "src/json-codec/server.rs" 234required-features = ["json-codec"] 235 236[[bin]] 237name = "richer-error-client" 238path = "src/richer-error/client.rs" 239required-features = ["types"] 240 241[[bin]] 242name = "richer-error-server" 243path = "src/richer-error/server.rs" 244required-features = ["types"] 245 246[[bin]] 247name = "richer-error-client-vec" 248path = "src/richer-error/client_vec.rs" 249required-features = ["types"] 250 251[[bin]] 252name = "richer-error-server-vec" 253path = "src/richer-error/server_vec.rs" 254required-features = ["types"] 255 256[[bin]] 257name = "dynamic-server" 258path = "src/dynamic/server.rs" 259 260[[bin]] 261name = "h2c-server" 262path = "src/h2c/server.rs" 263required-features = ["h2c"] 264 265[[bin]] 266name = "h2c-client" 267path = "src/h2c/client.rs" 268required-features = ["h2c"] 269 270[[bin]] 271name = "cancellation-server" 272path = "src/cancellation/server.rs" 273required-features = ["cancellation"] 274 275[[bin]] 276name = "cancellation-client" 277path = "src/cancellation/client.rs" 278 279[[bin]] 280name = "codec-buffers-server" 281path = "src/codec_buffers/server.rs" 282 283[[bin]] 284name = "codec-buffers-client" 285path = "src/codec_buffers/client.rs" 286 287 288[features] 289gcp = ["dep:prost-types", "tonic/tls"] 290routeguide = ["dep:async-stream", "tokio-stream", "dep:rand", "dep:serde", "dep:serde_json"] 291reflection = ["dep:tonic-reflection"] 292autoreload = ["tokio-stream/net", "dep:listenfd"] 293health = ["dep:tonic-health"] 294grpc-web = ["dep:tonic-web", "dep:bytes", "dep:http", "dep:hyper", "dep:tracing-subscriber", "dep:tower"] 295tracing = ["dep:tracing", "dep:tracing-subscriber"] 296hyper-warp = ["dep:either", "dep:tower", "dep:hyper", "dep:http", "dep:http-body", "dep:warp"] 297hyper-warp-multiplex = ["hyper-warp"] 298uds = ["tokio-stream/net", "dep:tower", "dep:hyper"] 299streaming = ["tokio-stream", "dep:h2"] 300mock = ["tokio-stream", "dep:tower"] 301tower = ["dep:hyper", "dep:tower", "dep:http"] 302json-codec = ["dep:serde", "dep:serde_json", "dep:bytes"] 303compression = ["tonic/gzip"] 304tls = ["tonic/tls"] 305tls-rustls = ["dep:hyper", "dep:hyper-rustls", "dep:tower", "tower-http/util", "tower-http/add-extension", "dep:rustls-pemfile", "dep:tokio-rustls"] 306dynamic-load-balance = ["dep:tower"] 307timeout = ["tokio/time", "dep:tower"] 308tls-client-auth = ["tonic/tls"] 309types = ["dep:tonic-types"] 310h2c = ["dep:hyper", "dep:tower", "dep:http"] 311cancellation = ["dep:tokio-util"] 312 313full = ["gcp", "routeguide", "reflection", "autoreload", "health", "grpc-web", "tracing", "hyper-warp", "hyper-warp-multiplex", "uds", "streaming", "mock", "tower", "json-codec", "compression", "tls", "tls-rustls", "dynamic-load-balance", "timeout", "tls-client-auth", "types", "cancellation", "h2c"] 314default = ["full"] 315 316[dependencies] 317# Common dependencies 318tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] } 319prost = "0.12" 320tonic = { path = "../tonic" } 321# Optional dependencies 322tonic-web = { path = "../tonic-web", optional = true } 323tonic-health = { path = "../tonic-health", optional = true } 324tonic-reflection = { path = "../tonic-reflection", optional = true } 325tonic-types = { path = "../tonic-types", optional = true } 326either = { version = "1.9", optional = true } 327async-stream = { version = "0.3", optional = true } 328tokio-stream = { version = "0.1", optional = true } 329tokio-util = { version = "0.7.8", optional = true } 330tower = { version = "0.4", optional = true } 331rand = { version = "0.8", optional = true } 332serde = { version = "1.0", features = ["derive"], optional = true } 333serde_json = { version = "1.0", optional = true } 334tracing = { version = "0.1.16", optional = true } 335tracing-subscriber = { version = "0.3", features = ["tracing-log", "fmt"], optional = true } 336prost-types = { version = "0.12", optional = true } 337http = { version = "0.2", optional = true } 338http-body = { version = "0.4.2", optional = true } 339hyper = { version = "0.14", optional = true } 340warp = { version = "0.3.4", default-features = false, optional = true } 341listenfd = { version = "1.0", optional = true } 342bytes = { version = "1", optional = true } 343h2 = { version = "0.3", optional = true } 344tokio-rustls = { version = "0.24.0", optional = true } 345hyper-rustls = { version = "0.24.0", features = ["http2"], optional = true } 346rustls-pemfile = { version = "1", optional = true } 347tower-http = { version = "0.4", optional = true } 348 349[build-dependencies] 350tonic-build = { path = "../tonic-build", features = ["prost"] } 351