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-client-rustls" 68path = "src/tls/client_rustls.rs" 69required-features = ["tls"] 70 71[[bin]] 72name = "tls-server" 73path = "src/tls/server.rs" 74required-features = ["tls"] 75 76[[bin]] 77name = "tls-server-rustls" 78path = "src/tls/server_rustls.rs" 79required-features = ["tls"] 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[features] 237gcp = ["dep:prost-types", "tokio/fs", "tonic/tls"] 238routeguide = ["dep:async-stream", "dep:futures", "tokio-stream", "dep:rand", "dep:serde", "dep:serde_json"] 239reflection = ["dep:tonic-reflection"] 240autoreload = ["tokio-stream/net", "dep:listenfd"] 241health = ["dep:tonic-health"] 242grpc-web = ["dep:tonic-web", "dep:bytes", "dep:http", "hyper", "dep:tracing-subscriber"] 243tracing = ["dep:tracing", "dep:tracing-attributes", "dep:tracing-subscriber"] 244hyper-warp = ["dep:futures", "dep:tower", "hyper", "dep:http", "dep:http-body", "dep:warp"] 245hyper-warp-multiplex = ["hyper-warp"] 246uds = ["tokio-stream/net", "dep:tower", "hyper", "tokio/fs"] 247streaming = ["dep:futures", "tokio-stream", "dep:h2"] 248mock = ["dep:futures", "dep:tower"] 249tower = ["dep:futures", "hyper", "dep:tower", "dep:http"] 250json-codec = ["dep:serde", "dep:serde_json", "dep:bytes"] 251compression = ["tonic/gzip"] 252tls = ["hyper", "tokio/fs", "tonic/tls", "dep:hyper-rustls", "dep:tower", 253 "tower-http/add-extension", "dep:rustls-pemfile", "dep:tokio-rustls"] 254dynamic-load-balance = ["dep:tower"] 255timeout = ["tokio/time", "dep:tower"] 256tls-client-auth = ["tokio/fs", "tonic/tls"] 257 258full = ["gcp", "routeguide", "reflection", "autoreload", "health", "grpc-web", "tracing", "hyper-warp", "hyper-warp-multiplex", 259 "uds", "streaming", "mock", "tower", "json-codec", "compression", "tls", "dynamic-load-balance", "timeout","tls-client-auth"] 260default = ["full"] 261 262[dependencies] 263# Common dependencies 264tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] } 265prost = "0.11" 266tonic = { path = "../tonic" } 267# Optional dependencies 268tonic-web = { path = "../tonic-web", optional = true } 269tonic-health = { path = "../tonic-health", optional = true } 270tonic-reflection = { path = "../tonic-reflection", optional = true } 271async-stream = { version = "0.3", optional = true } 272futures = { version = "0.3", default-features = false, optional = true } 273tokio-stream = { version = "0.1", optional = true } 274tower = { version = "0.4", optional = true } 275rand = { version = "0.8", optional = true } 276serde = { version = "1.0", features = ["derive"], optional = true } 277serde_json = { version = "1.0", optional = true } 278tracing = { version = "0.1.16", optional = true } 279tracing-attributes = { version = "0.1", optional = true } 280tracing-subscriber = { version = "0.3", features = ["tracing-log", "fmt"], optional = true } 281prost-types = { version = "0.11", optional = true } 282http = { version = "0.2", optional = true } 283http-body = { version = "0.4.2", optional = true } 284hyper = { version = "0.14", optional = true } 285warp = { version = "0.3", optional = true } 286listenfd = { version = "1.0", optional = true } 287bytes = { version = "1", optional = true } 288h2 = { version = "0.3", optional = true } 289tokio-rustls = { version = "0.23", optional = true } 290hyper-rustls = { version = "0.23", features = ["http2"], optional = true } 291rustls-pemfile = { version = "1", optional = true } 292tower-http = { version = "0.3", optional = true } 293 294[build-dependencies] 295tonic-build = { path = "../tonic-build", features = ["prost"] } 296