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