grpc 1.48.0 → 1.50.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (846) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +114 -150
  3. data/include/grpc/event_engine/endpoint_config.h +11 -5
  4. data/include/grpc/event_engine/event_engine.h +20 -17
  5. data/include/grpc/impl/codegen/atm_gcc_atomic.h +19 -28
  6. data/include/grpc/impl/codegen/atm_gcc_sync.h +0 -2
  7. data/include/grpc/impl/codegen/atm_windows.h +0 -2
  8. data/include/grpc/impl/codegen/grpc_types.h +9 -8
  9. data/include/grpc/impl/codegen/port_platform.h +0 -8
  10. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +6 -6
  11. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +2 -2
  12. data/src/core/ext/filters/client_channel/backup_poller.cc +4 -6
  13. data/src/core/ext/filters/client_channel/client_channel.cc +154 -218
  14. data/src/core/ext/filters/client_channel/client_channel.h +16 -9
  15. data/src/core/ext/filters/client_channel/client_channel_factory.cc +0 -29
  16. data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -10
  17. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +0 -16
  18. data/src/core/ext/filters/client_channel/config_selector.h +12 -4
  19. data/src/core/ext/filters/client_channel/connector.h +4 -5
  20. data/src/core/ext/filters/client_channel/http_proxy.cc +55 -74
  21. data/src/core/ext/filters/client_channel/http_proxy.h +15 -11
  22. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +20 -16
  23. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +11 -10
  24. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +0 -2
  25. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +181 -194
  26. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +12 -3
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +5 -1
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -0
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -2
  30. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +20 -11
  31. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
  32. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +250 -146
  33. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +41 -1
  34. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +35 -32
  35. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +195 -299
  36. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +237 -250
  37. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +12 -7
  38. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +431 -498
  39. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +31 -30
  40. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +27 -27
  41. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +108 -124
  42. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +68 -76
  43. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +131 -227
  44. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +126 -121
  45. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +325 -304
  46. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +4 -8
  47. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +431 -145
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +172 -101
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +20 -7
  50. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +18 -16
  51. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +7 -17
  52. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +11 -0
  53. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +51 -32
  54. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +87 -41
  55. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +16 -6
  56. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +5 -13
  57. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +167 -168
  58. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +40 -32
  59. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +7 -10
  60. data/src/core/ext/filters/client_channel/retry_filter.cc +25 -36
  61. data/src/core/ext/filters/client_channel/retry_service_config.cc +30 -19
  62. data/src/core/ext/filters/client_channel/retry_service_config.h +6 -9
  63. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +6 -7
  64. data/src/core/ext/filters/client_channel/subchannel.cc +86 -121
  65. data/src/core/ext/filters/client_channel/subchannel.h +20 -11
  66. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +1 -1
  67. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +6 -76
  68. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +16 -25
  69. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +4 -6
  70. data/src/core/ext/filters/deadline/deadline_filter.cc +6 -6
  71. data/src/core/ext/filters/deadline/deadline_filter.h +2 -3
  72. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +24 -19
  73. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +9 -1
  74. data/src/core/ext/filters/fault_injection/service_config_parser.cc +17 -12
  75. data/src/core/ext/filters/fault_injection/service_config_parser.h +4 -5
  76. data/src/core/ext/filters/http/client/http_client_filter.cc +3 -5
  77. data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
  78. data/src/core/ext/filters/http/client_authority_filter.cc +1 -2
  79. data/src/core/ext/filters/http/client_authority_filter.h +1 -1
  80. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +2 -4
  81. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -2
  82. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -5
  83. data/src/core/ext/filters/http/server/http_server_filter.h +1 -1
  84. data/src/core/ext/filters/message_size/message_size_filter.cc +13 -7
  85. data/src/core/ext/filters/message_size/message_size_filter.h +3 -6
  86. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +16 -12
  87. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -6
  88. data/src/core/ext/filters/server_config_selector/server_config_selector.h +5 -0
  89. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +3 -5
  90. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +40 -63
  91. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +86 -107
  92. data/src/core/ext/transport/chttp2/server/chttp2_server.h +4 -6
  93. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -1
  94. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +155 -295
  95. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -2
  96. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +287 -0
  97. data/src/core/ext/transport/chttp2/transport/decode_huff.h +1018 -0
  98. data/src/core/ext/transport/chttp2/transport/flow_control.cc +139 -42
  99. data/src/core/ext/transport/chttp2/transport/flow_control.h +12 -6
  100. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -2
  101. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +7 -1
  102. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +27 -28
  103. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -0
  104. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
  105. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +8 -2
  106. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +30 -38
  107. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -10
  108. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +11 -6
  109. data/src/core/ext/transport/chttp2/transport/internal.h +4 -1
  110. data/src/core/ext/transport/chttp2/transport/parsing.cc +44 -0
  111. data/src/core/ext/transport/chttp2/transport/writing.cc +3 -14
  112. data/src/core/ext/transport/inproc/inproc_transport.cc +41 -77
  113. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +5 -5
  114. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +30 -10
  115. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +4 -4
  116. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +24 -8
  117. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +8 -327
  118. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +83 -1723
  119. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +352 -0
  120. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1768 -0
  121. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +2 -2
  122. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +12 -4
  123. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +6 -4
  124. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +33 -4
  125. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +1 -1
  126. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +6 -2
  127. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +1 -1
  128. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +6 -2
  129. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +6 -2
  130. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +12 -4
  131. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +1 -1
  132. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +6 -2
  133. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
  134. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -3
  135. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +14 -14
  136. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +90 -30
  137. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +21 -19
  138. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +124 -34
  139. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +3 -3
  140. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +18 -6
  141. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +23 -22
  142. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +153 -48
  143. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +1 -1
  144. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +6 -2
  145. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +1 -1
  146. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +6 -2
  147. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +11 -11
  148. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +84 -28
  149. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +7 -7
  150. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +42 -14
  151. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +1 -1
  152. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +6 -2
  153. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -23
  154. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +156 -48
  155. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +7 -7
  156. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +42 -14
  157. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
  158. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +6 -2
  159. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +1 -1
  160. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +6 -2
  161. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +2 -2
  162. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +12 -4
  163. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +12 -12
  164. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +78 -26
  165. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +9 -9
  166. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +54 -18
  167. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +1 -1
  168. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +6 -2
  169. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +21 -20
  170. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +117 -44
  171. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
  172. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +6 -2
  173. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +2 -2
  174. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +12 -4
  175. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +6 -2
  176. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
  177. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +6 -2
  178. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +1 -1
  179. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +6 -2
  180. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +3 -3
  181. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +18 -6
  182. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +5 -5
  183. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +36 -12
  184. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +3 -3
  185. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +30 -10
  186. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +1 -1
  187. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +6 -2
  188. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +37 -13
  189. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +170 -15
  190. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +5 -5
  191. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +42 -14
  192. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +1 -1
  193. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +6 -2
  194. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +7 -4
  195. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +36 -4
  196. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +1 -1
  197. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +6 -2
  198. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +6 -6
  199. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +48 -16
  200. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +8 -8
  201. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +54 -18
  202. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +21 -9
  203. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +100 -14
  204. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -22
  205. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +36 -77
  206. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +121 -76
  207. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +647 -163
  208. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +3 -3
  209. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +18 -6
  210. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +34 -15
  211. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +161 -22
  212. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +1 -1
  213. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -2
  214. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +1 -1
  215. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +6 -2
  216. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +2 -2
  217. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +12 -4
  218. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +1 -1
  219. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +6 -2
  220. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +1 -1
  221. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +6 -2
  222. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +46 -0
  223. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +98 -0
  224. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +1 -1
  225. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +6 -2
  226. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +2 -2
  227. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +12 -4
  228. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -0
  229. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -0
  230. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +2 -2
  231. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +12 -4
  232. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +1 -1
  233. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +6 -2
  234. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +1 -1
  235. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +6 -2
  236. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +2 -2
  237. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +30 -10
  238. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +2 -2
  239. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +18 -6
  240. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +11 -4
  241. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +58 -4
  242. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +1 -1
  243. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +6 -2
  244. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +35 -27
  245. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +177 -52
  246. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +6 -2
  247. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +1 -1
  248. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +6 -2
  249. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +10 -8
  250. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +66 -14
  251. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +3 -3
  252. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +18 -6
  253. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +5 -5
  254. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +42 -14
  255. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +2 -2
  256. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +12 -4
  257. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  258. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +6 -2
  259. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +131 -16
  260. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +632 -12
  261. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +2 -2
  262. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +12 -4
  263. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +5 -5
  264. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +30 -10
  265. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +1 -1
  266. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +6 -2
  267. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +4 -4
  268. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +24 -8
  269. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +4 -4
  270. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +24 -8
  271. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +2 -2
  272. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +12 -4
  273. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +1 -1
  274. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +6 -2
  275. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
  276. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +6 -2
  277. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
  278. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +6 -2
  279. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +3 -3
  280. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +18 -6
  281. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +1 -1
  282. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +12 -4
  283. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +2 -2
  284. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +12 -4
  285. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
  286. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +18 -6
  287. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
  288. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +42 -14
  289. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +5 -5
  290. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +30 -10
  291. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +3 -3
  292. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +18 -6
  293. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +1 -1
  294. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +6 -2
  295. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +12 -4
  296. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +2 -2
  297. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -6
  298. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
  299. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
  300. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
  301. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +6 -2
  302. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +6 -2
  303. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
  304. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +11 -11
  305. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +66 -22
  306. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +9 -9
  307. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +72 -24
  308. data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
  309. data/src/core/ext/upb-generated/google/api/http.upb.h +18 -6
  310. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +1 -1
  311. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +6 -2
  312. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
  313. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -2
  314. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +44 -43
  315. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +177 -55
  316. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
  317. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +6 -2
  318. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  319. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +6 -2
  320. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +2 -2
  321. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +18 -6
  322. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
  323. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +6 -2
  324. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +6 -6
  325. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +54 -18
  326. data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
  327. data/src/core/ext/upb-generated/google/rpc/status.upb.h +6 -2
  328. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +2 -2
  329. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +24 -8
  330. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +6 -2
  331. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +7 -7
  332. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +60 -20
  333. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +1 -1
  334. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +12 -4
  335. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
  336. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +12 -4
  337. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +6 -6
  338. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +54 -18
  339. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +2 -2
  340. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +12 -4
  341. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +7 -7
  342. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +42 -14
  343. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
  344. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +23 -11
  345. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
  346. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -3
  347. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -3
  348. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
  349. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -3
  350. data/src/core/ext/upb-generated/validate/validate.upb.c +22 -22
  351. data/src/core/ext/upb-generated/validate/validate.upb.h +139 -47
  352. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +3 -3
  353. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +23 -11
  354. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +1 -1
  355. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +7 -3
  356. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +3 -3
  357. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +27 -11
  358. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +1 -1
  359. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +7 -3
  360. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
  361. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +6 -2
  362. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +2 -2
  363. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +12 -4
  364. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
  365. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +6 -2
  366. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +1 -1
  367. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +6 -2
  368. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
  369. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +6 -2
  370. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
  371. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +12 -4
  372. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
  373. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +6 -2
  374. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +6 -2
  375. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +1 -1
  376. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +6 -2
  377. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +6 -6
  378. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +54 -18
  379. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +2 -2
  380. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +12 -4
  381. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +1 -1
  382. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +12 -4
  383. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +1 -1
  384. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +6 -2
  385. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +67 -274
  386. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -85
  387. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +256 -0
  388. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +115 -0
  389. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +14 -11
  390. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +107 -107
  391. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +191 -187
  392. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +156 -154
  393. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +186 -183
  394. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +136 -134
  395. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +16 -16
  396. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +162 -139
  397. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  398. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +39 -31
  399. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +12 -8
  400. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
  401. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +72 -75
  402. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -5
  403. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +713 -670
  404. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
  405. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +150 -139
  406. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +5 -0
  407. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +47 -0
  408. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  409. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +16 -12
  410. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +46 -25
  411. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +477 -466
  412. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +21 -18
  413. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +153 -84
  414. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +35 -0
  415. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -113
  416. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -28
  417. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  418. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  419. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +92 -90
  420. data/src/core/ext/xds/certificate_provider_store.cc +63 -3
  421. data/src/core/ext/xds/certificate_provider_store.h +9 -1
  422. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +5 -5
  423. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +1 -1
  424. data/src/core/ext/xds/upb_utils.h +0 -21
  425. data/src/core/ext/xds/xds_api.cc +73 -102
  426. data/src/core/ext/xds/xds_api.h +26 -28
  427. data/src/core/ext/xds/xds_bootstrap.cc +5 -550
  428. data/src/core/ext/xds/xds_bootstrap.h +39 -91
  429. data/src/core/ext/xds/xds_bootstrap_grpc.cc +370 -0
  430. data/src/core/ext/xds/xds_bootstrap_grpc.h +169 -0
  431. data/src/core/ext/xds/xds_certificate_provider.h +9 -0
  432. data/src/core/ext/xds/xds_channel_stack_modifier.cc +6 -4
  433. data/src/core/ext/xds/xds_channel_stack_modifier.h +8 -0
  434. data/src/core/ext/xds/xds_client.cc +732 -1317
  435. data/src/core/ext/xds/xds_client.h +33 -59
  436. data/src/core/ext/xds/xds_client_grpc.cc +229 -0
  437. data/src/core/ext/xds/xds_client_grpc.h +79 -0
  438. data/src/core/ext/xds/xds_client_stats.cc +4 -4
  439. data/src/core/ext/xds/xds_cluster.cc +162 -165
  440. data/src/core/ext/xds/xds_cluster.h +8 -7
  441. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +12 -14
  442. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +1 -0
  443. data/src/core/ext/xds/xds_common_types.cc +140 -108
  444. data/src/core/ext/xds/xds_common_types.h +6 -7
  445. data/src/core/ext/xds/xds_endpoint.cc +87 -85
  446. data/src/core/ext/xds/xds_endpoint.h +4 -5
  447. data/src/core/ext/xds/xds_http_fault_filter.cc +4 -11
  448. data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
  449. data/src/core/ext/xds/xds_http_filters.h +3 -3
  450. data/src/core/ext/xds/xds_http_rbac_filter.cc +39 -58
  451. data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
  452. data/src/core/ext/xds/xds_lb_policy_registry.cc +21 -22
  453. data/src/core/ext/xds/xds_lb_policy_registry.h +4 -4
  454. data/src/core/ext/xds/xds_listener.cc +348 -313
  455. data/src/core/ext/xds/xds_listener.h +4 -5
  456. data/src/core/ext/xds/xds_resource_type.h +23 -9
  457. data/src/core/ext/xds/xds_route_config.cc +193 -191
  458. data/src/core/ext/xds/xds_route_config.h +31 -17
  459. data/src/core/ext/xds/xds_routing.cc +3 -6
  460. data/src/core/ext/xds/xds_routing.h +7 -9
  461. data/src/core/ext/xds/xds_server_config_fetcher.cc +81 -84
  462. data/src/core/ext/xds/xds_transport.h +86 -0
  463. data/src/core/ext/xds/xds_transport_grpc.cc +357 -0
  464. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  465. data/src/core/lib/address_utils/parse_address.cc +19 -17
  466. data/src/core/lib/address_utils/parse_address.h +8 -5
  467. data/src/core/lib/avl/avl.h +47 -25
  468. data/src/core/lib/backoff/backoff.cc +2 -4
  469. data/src/core/lib/channel/call_finalization.h +1 -3
  470. data/src/core/lib/channel/call_tracer.h +1 -1
  471. data/src/core/lib/channel/channel_args.cc +88 -19
  472. data/src/core/lib/channel/channel_args.h +218 -67
  473. data/src/core/lib/channel/channel_stack.cc +0 -1
  474. data/src/core/lib/channel/channel_stack_builder.cc +3 -3
  475. data/src/core/lib/channel/channel_stack_builder.h +2 -2
  476. data/src/core/lib/channel/channel_stack_builder_impl.cc +2 -4
  477. data/src/core/lib/channel/channel_trace.cc +3 -4
  478. data/src/core/lib/channel/channelz.cc +27 -37
  479. data/src/core/lib/channel/channelz.h +9 -0
  480. data/src/core/lib/channel/promise_based_filter.cc +18 -19
  481. data/src/core/lib/channel/promise_based_filter.h +0 -1
  482. data/src/core/lib/channel/status_util.cc +27 -0
  483. data/src/core/lib/channel/status_util.h +10 -0
  484. data/src/core/lib/config/core_configuration.cc +5 -1
  485. data/src/core/lib/config/core_configuration.h +81 -35
  486. data/src/core/lib/debug/stats.cc +39 -46
  487. data/src/core/lib/debug/stats.h +11 -13
  488. data/src/core/lib/debug/stats_data.cc +118 -614
  489. data/src/core/lib/debug/stats_data.h +67 -465
  490. data/src/core/lib/debug/trace.cc +0 -2
  491. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +12 -20
  492. data/src/core/lib/event_engine/channel_args_endpoint_config.h +13 -7
  493. data/src/core/lib/event_engine/{event_engine.cc → default_event_engine.cc} +9 -5
  494. data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine.h} +4 -8
  495. data/src/core/lib/event_engine/default_event_engine_factory.cc +20 -3
  496. data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
  497. data/src/core/lib/event_engine/executor/executor.h +38 -0
  498. data/src/core/lib/event_engine/executor/threaded_executor.cc +36 -0
  499. data/src/core/lib/event_engine/executor/threaded_executor.h +44 -0
  500. data/src/core/lib/event_engine/forkable.cc +101 -0
  501. data/src/core/lib/event_engine/forkable.h +61 -0
  502. data/src/core/lib/event_engine/poller.h +56 -0
  503. data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.cc → posix_engine/posix_engine.cc} +30 -47
  504. data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.h → posix_engine/posix_engine.h} +27 -28
  505. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.cc +4 -5
  506. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.h +8 -8
  507. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.cc +4 -4
  508. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.h +5 -5
  509. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.cc +87 -30
  510. data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.h +40 -9
  511. data/src/core/lib/event_engine/socket_notifier.h +55 -0
  512. data/src/core/lib/event_engine/thread_pool.cc +195 -0
  513. data/src/core/lib/event_engine/thread_pool.h +114 -0
  514. data/src/core/lib/event_engine/time_util.cc +30 -0
  515. data/src/core/lib/event_engine/time_util.h +32 -0
  516. data/src/core/lib/event_engine/utils.cc +44 -0
  517. data/src/core/lib/event_engine/utils.h +36 -0
  518. data/src/core/lib/event_engine/windows/iocp.cc +155 -0
  519. data/src/core/lib/event_engine/windows/iocp.h +69 -0
  520. data/src/core/lib/event_engine/windows/win_socket.cc +196 -0
  521. data/src/core/lib/event_engine/windows/win_socket.h +120 -0
  522. data/src/core/lib/event_engine/windows/windows_engine.cc +159 -0
  523. data/src/core/lib/event_engine/windows/windows_engine.h +120 -0
  524. data/src/core/lib/experiments/config.cc +146 -0
  525. data/src/core/lib/experiments/config.h +43 -0
  526. data/src/core/lib/experiments/experiments.cc +75 -0
  527. data/src/core/lib/experiments/experiments.h +56 -0
  528. data/src/core/lib/gpr/alloc.cc +1 -9
  529. data/src/core/lib/gpr/log_windows.cc +0 -1
  530. data/src/core/lib/gpr/string_util_windows.cc +3 -30
  531. data/src/core/lib/gpr/sync_abseil.cc +0 -14
  532. data/src/core/lib/gpr/sync_posix.cc +0 -14
  533. data/src/core/lib/gpr/time.cc +11 -9
  534. data/src/core/lib/gpr/time_posix.cc +0 -6
  535. data/src/core/lib/gpr/time_precise.h +1 -1
  536. data/src/core/lib/gpr/tmpfile_windows.cc +5 -7
  537. data/src/core/lib/gpr/useful.h +40 -0
  538. data/src/core/lib/gprpp/bitset.h +3 -13
  539. data/src/core/lib/gprpp/debug_location.h +39 -7
  540. data/src/core/lib/{gpr → gprpp}/env.h +25 -12
  541. data/src/core/lib/{gpr → gprpp}/env_linux.cc +20 -15
  542. data/src/core/lib/{gpr → gprpp}/env_posix.cc +11 -10
  543. data/src/core/lib/gprpp/env_windows.cc +56 -0
  544. data/src/core/lib/gprpp/fork.cc +14 -22
  545. data/src/core/lib/gprpp/fork.h +0 -8
  546. data/src/core/lib/gprpp/global_config_env.cc +7 -6
  547. data/src/core/lib/gprpp/manual_constructor.h +0 -1
  548. data/src/core/lib/gprpp/no_destruct.h +94 -0
  549. data/src/core/lib/gprpp/notification.h +67 -0
  550. data/src/core/lib/gprpp/packed_table.h +40 -0
  551. data/src/core/lib/gprpp/ref_counted_ptr.h +20 -34
  552. data/src/core/lib/gprpp/sorted_pack.h +98 -0
  553. data/src/core/lib/gprpp/status_helper.cc +1 -0
  554. data/src/core/lib/gprpp/status_helper.h +6 -0
  555. data/src/core/lib/gprpp/table.h +9 -2
  556. data/src/core/lib/gprpp/tchar.cc +49 -0
  557. data/src/core/lib/gprpp/tchar.h +33 -0
  558. data/src/core/lib/gprpp/time.cc +21 -0
  559. data/src/core/lib/gprpp/time.h +55 -0
  560. data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.cc +3 -5
  561. data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.h +5 -7
  562. data/src/core/lib/gprpp/validation_errors.cc +61 -0
  563. data/src/core/lib/gprpp/validation_errors.h +110 -0
  564. data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
  565. data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -27
  566. data/src/core/{ext/filters/client_channel → lib/handshaker}/proxy_mapper.h +16 -17
  567. data/src/core/lib/handshaker/proxy_mapper_registry.cc +71 -0
  568. data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
  569. data/src/core/lib/http/httpcli.cc +12 -24
  570. data/src/core/lib/http/httpcli_security_connector.cc +11 -11
  571. data/src/core/lib/iomgr/call_combiner.cc +0 -34
  572. data/src/core/lib/iomgr/closure.h +0 -10
  573. data/src/core/lib/iomgr/combiner.cc +0 -20
  574. data/src/core/lib/iomgr/endpoint_pair_posix.cc +14 -9
  575. data/src/core/lib/iomgr/endpoint_pair_windows.cc +2 -2
  576. data/src/core/lib/iomgr/error.cc +0 -773
  577. data/src/core/lib/iomgr/error.h +0 -145
  578. data/src/core/lib/iomgr/error_cfstream.cc +0 -5
  579. data/src/core/lib/iomgr/ev_epoll1_linux.cc +1 -38
  580. data/src/core/lib/iomgr/ev_poll_posix.cc +19 -26
  581. data/src/core/lib/iomgr/exec_ctx.cc +0 -22
  582. data/src/core/lib/iomgr/exec_ctx.h +7 -31
  583. data/src/core/lib/iomgr/executor.cc +0 -10
  584. data/src/core/lib/iomgr/executor.h +0 -3
  585. data/src/core/lib/iomgr/iocp_windows.cc +1 -2
  586. data/src/core/lib/iomgr/iomgr.cc +6 -8
  587. data/src/core/lib/iomgr/iomgr_fwd.h +1 -0
  588. data/src/core/lib/iomgr/lockfree_event.cc +0 -17
  589. data/src/core/lib/iomgr/pollset.h +1 -1
  590. data/src/core/lib/iomgr/pollset_set.h +0 -1
  591. data/src/core/lib/iomgr/port.h +3 -0
  592. data/src/core/lib/iomgr/resolve_address.h +30 -6
  593. data/src/core/lib/iomgr/resolve_address_impl.h +1 -0
  594. data/src/core/lib/iomgr/resolve_address_posix.cc +43 -8
  595. data/src/core/lib/iomgr/resolve_address_posix.h +19 -5
  596. data/src/core/lib/iomgr/resolve_address_windows.cc +45 -10
  597. data/src/core/lib/iomgr/resolve_address_windows.h +19 -5
  598. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +2 -1
  599. data/src/core/lib/iomgr/socket_utils_common_posix.cc +12 -34
  600. data/src/core/lib/iomgr/socket_utils_posix.cc +83 -1
  601. data/src/core/lib/iomgr/socket_utils_posix.h +98 -6
  602. data/src/core/lib/iomgr/socket_windows.h +0 -2
  603. data/src/core/lib/iomgr/tcp_client.cc +6 -7
  604. data/src/core/lib/iomgr/tcp_client.h +11 -11
  605. data/src/core/lib/iomgr/tcp_client_cfstream.cc +6 -6
  606. data/src/core/lib/iomgr/tcp_client_posix.cc +33 -29
  607. data/src/core/lib/iomgr/tcp_client_posix.h +12 -9
  608. data/src/core/lib/iomgr/tcp_client_windows.cc +6 -6
  609. data/src/core/lib/iomgr/tcp_posix.cc +249 -120
  610. data/src/core/lib/iomgr/tcp_posix.h +3 -1
  611. data/src/core/lib/iomgr/tcp_server.cc +5 -4
  612. data/src/core/lib/iomgr/tcp_server.h +9 -6
  613. data/src/core/lib/iomgr/tcp_server_posix.cc +17 -28
  614. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -2
  615. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +3 -3
  616. data/src/core/lib/iomgr/tcp_server_windows.cc +6 -7
  617. data/src/core/lib/iomgr/tcp_windows.cc +0 -1
  618. data/src/core/lib/iomgr/tcp_windows.h +0 -1
  619. data/src/core/lib/iomgr/timer_generic.cc +10 -12
  620. data/src/core/lib/iomgr/timer_manager.cc +1 -2
  621. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +0 -2
  622. data/src/core/lib/json/json.h +19 -22
  623. data/src/core/lib/json/json_args.h +34 -0
  624. data/src/core/lib/json/json_object_loader.cc +202 -0
  625. data/src/core/lib/json/json_object_loader.h +598 -0
  626. data/src/core/lib/json/json_reader.cc +86 -62
  627. data/src/core/lib/json/json_util.cc +9 -36
  628. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.cc +3 -44
  629. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +20 -29
  630. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  631. data/src/core/lib/load_balancing/lb_policy_registry.cc +141 -0
  632. data/src/core/lib/load_balancing/lb_policy_registry.h +82 -0
  633. data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +6 -6
  634. data/src/core/lib/promise/activity.h +57 -10
  635. data/src/core/lib/promise/arena_promise.h +84 -81
  636. data/src/core/lib/promise/context.h +1 -2
  637. data/src/core/lib/promise/detail/basic_seq.h +43 -23
  638. data/src/core/lib/promise/detail/promise_factory.h +0 -1
  639. data/src/core/lib/promise/map.h +0 -1
  640. data/src/core/lib/promise/seq.h +25 -4
  641. data/src/core/lib/promise/sleep.cc +50 -42
  642. data/src/core/lib/promise/sleep.h +32 -23
  643. data/src/core/lib/promise/try_seq.h +26 -6
  644. data/src/core/lib/resolver/resolver.cc +0 -47
  645. data/src/core/lib/resolver/resolver.h +15 -15
  646. data/src/core/lib/resolver/resolver_factory.h +2 -3
  647. data/src/core/lib/resolver/resolver_registry.cc +1 -1
  648. data/src/core/lib/resolver/resolver_registry.h +2 -3
  649. data/src/core/lib/resolver/server_address.cc +11 -15
  650. data/src/core/lib/resolver/server_address.h +4 -8
  651. data/src/core/lib/resource_quota/api.cc +10 -1
  652. data/src/core/lib/resource_quota/api.h +6 -0
  653. data/src/core/lib/resource_quota/arena.cc +19 -1
  654. data/src/core/lib/resource_quota/arena.h +24 -2
  655. data/src/core/lib/resource_quota/memory_quota.cc +143 -19
  656. data/src/core/lib/resource_quota/memory_quota.h +85 -17
  657. data/src/core/lib/resource_quota/periodic_update.cc +78 -0
  658. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  659. data/src/core/lib/security/authorization/evaluate_args.cc +10 -7
  660. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
  661. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
  662. data/src/core/lib/security/authorization/matchers.cc +13 -10
  663. data/src/core/lib/security/authorization/rbac_policy.cc +0 -1
  664. data/src/core/{ext/xds → lib/security/certificate_provider}/certificate_provider_factory.h +3 -3
  665. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +60 -0
  666. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +70 -0
  667. data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -3
  668. data/src/core/lib/security/credentials/alts/alts_credentials.h +3 -4
  669. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +1 -0
  670. data/src/core/lib/security/credentials/composite/composite_credentials.cc +3 -7
  671. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -4
  672. data/src/core/lib/security/credentials/credentials.h +16 -12
  673. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +33 -27
  674. data/src/core/lib/security/credentials/external/external_account_credentials.cc +34 -24
  675. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
  676. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -6
  677. data/src/core/lib/security/credentials/fake/fake_credentials.cc +3 -12
  678. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -4
  679. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +5 -8
  680. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +35 -32
  681. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -3
  682. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
  683. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +3 -3
  684. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +3 -4
  685. data/src/core/lib/security/credentials/jwt/json_token.cc +12 -3
  686. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -8
  687. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +14 -15
  688. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  689. data/src/core/lib/security/credentials/local/local_credentials.cc +3 -4
  690. data/src/core/lib/security/credentials/local/local_credentials.h +3 -4
  691. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +18 -20
  692. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -1
  693. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +13 -21
  694. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +3 -4
  695. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +4 -3
  696. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +10 -2
  697. data/src/core/lib/security/credentials/tls/tls_credentials.cc +13 -25
  698. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -4
  699. data/src/core/lib/security/credentials/tls/tls_utils.cc +3 -1
  700. data/src/core/lib/security/credentials/xds/xds_credentials.cc +13 -30
  701. data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
  702. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +10 -18
  703. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +26 -38
  704. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +2 -2
  705. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +5 -5
  706. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +6 -5
  707. data/src/core/lib/security/security_connector/local/local_security_connector.cc +13 -11
  708. data/src/core/lib/security/security_connector/local/local_security_connector.h +2 -2
  709. data/src/core/lib/security/security_connector/security_connector.h +5 -3
  710. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +5 -4
  711. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +5 -5
  712. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +5 -5
  713. data/src/core/lib/security/transport/auth_filters.h +1 -1
  714. data/src/core/lib/security/transport/client_auth_filter.cc +15 -5
  715. data/src/core/lib/security/transport/secure_endpoint.cc +0 -4
  716. data/src/core/lib/security/transport/security_handshaker.cc +32 -44
  717. data/src/core/lib/security/transport/security_handshaker.h +2 -1
  718. data/src/core/lib/service_config/service_config.h +11 -0
  719. data/src/core/lib/service_config/service_config_impl.cc +98 -97
  720. data/src/core/lib/service_config/service_config_impl.h +11 -13
  721. data/src/core/lib/service_config/service_config_parser.cc +26 -27
  722. data/src/core/lib/service_config/service_config_parser.h +10 -22
  723. data/src/core/lib/slice/percent_encoding.cc +4 -13
  724. data/src/core/lib/slice/slice.cc +10 -4
  725. data/src/core/lib/surface/call.cc +9 -13
  726. data/src/core/lib/surface/channel.cc +9 -8
  727. data/src/core/lib/surface/channel.h +1 -1
  728. data/src/core/lib/surface/completion_queue.cc +16 -30
  729. data/src/core/lib/surface/completion_queue.h +1 -4
  730. data/src/core/lib/surface/completion_queue_factory.cc +5 -0
  731. data/src/core/lib/surface/init.cc +17 -16
  732. data/src/core/lib/surface/init_internally.cc +24 -0
  733. data/src/core/lib/surface/init_internally.h +28 -0
  734. data/src/core/lib/surface/lame_client.cc +2 -3
  735. data/src/core/lib/surface/lame_client.h +1 -1
  736. data/src/core/lib/surface/server.cc +8 -19
  737. data/src/core/lib/surface/server.h +11 -13
  738. data/src/core/lib/surface/validate_metadata.cc +4 -14
  739. data/src/core/lib/surface/version.cc +2 -2
  740. data/src/core/lib/transport/bdp_estimator.cc +1 -3
  741. data/src/core/lib/transport/connectivity_state.cc +0 -1
  742. data/src/core/lib/transport/connectivity_state.h +1 -1
  743. data/src/core/lib/transport/error_utils.cc +0 -36
  744. data/src/core/lib/transport/handshaker.cc +7 -9
  745. data/src/core/lib/transport/handshaker.h +4 -5
  746. data/src/core/lib/transport/handshaker_factory.h +2 -3
  747. data/src/core/lib/transport/handshaker_registry.cc +2 -1
  748. data/src/core/lib/transport/handshaker_registry.h +2 -4
  749. data/src/core/lib/transport/http_connect_handshaker.cc +16 -16
  750. data/src/core/lib/transport/metadata_batch.cc +7 -3
  751. data/src/core/lib/transport/metadata_batch.h +61 -14
  752. data/src/core/lib/transport/parsed_metadata.h +4 -3
  753. data/src/core/lib/transport/status_conversion.cc +1 -3
  754. data/src/core/lib/transport/tcp_connect_handshaker.cc +20 -22
  755. data/src/core/lib/transport/transport.h +0 -8
  756. data/src/core/lib/transport/transport_impl.h +0 -1
  757. data/src/core/plugin_registry/grpc_plugin_registry.cc +23 -46
  758. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +13 -25
  759. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +40 -21
  760. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -1
  761. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +14 -7
  762. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +1 -1
  763. data/src/core/tsi/fake_transport_security.cc +53 -30
  764. data/src/core/tsi/local_transport_security.cc +9 -5
  765. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +10 -1
  766. data/src/core/tsi/ssl_transport_security.cc +47 -23
  767. data/src/core/tsi/transport_security.cc +18 -6
  768. data/src/core/tsi/transport_security.h +2 -1
  769. data/src/core/tsi/transport_security_interface.h +17 -5
  770. data/src/ruby/ext/grpc/extconf.rb +2 -0
  771. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  772. data/src/ruby/lib/grpc/version.rb +1 -1
  773. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  774. data/src/ruby/spec/channel_spec.rb +5 -0
  775. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  776. data/src/ruby/spec/user_agent_spec.rb +1 -1
  777. data/third_party/abseil-cpp/absl/functional/any_invocable.h +313 -0
  778. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +857 -0
  779. data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
  780. data/third_party/upb/upb/arena.c +277 -0
  781. data/third_party/upb/upb/arena.h +225 -0
  782. data/third_party/upb/upb/array.c +114 -0
  783. data/third_party/upb/upb/array.h +83 -0
  784. data/third_party/upb/upb/collections.h +36 -0
  785. data/third_party/upb/upb/decode.c +161 -65
  786. data/third_party/upb/upb/decode.h +1 -0
  787. data/third_party/upb/upb/decode_fast.c +1 -1
  788. data/third_party/upb/upb/def.c +10 -2
  789. data/third_party/upb/upb/def.h +8 -1
  790. data/third_party/upb/upb/def.hpp +7 -4
  791. data/third_party/upb/upb/encode.c +29 -20
  792. data/third_party/upb/upb/encode.h +16 -6
  793. data/third_party/upb/upb/extension_registry.c +93 -0
  794. data/third_party/upb/upb/extension_registry.h +84 -0
  795. data/third_party/upb/upb/{decode_internal.h → internal/decode.h} +5 -5
  796. data/third_party/upb/upb/internal/table.h +385 -0
  797. data/third_party/upb/upb/{upb_internal.h → internal/upb.h} +3 -3
  798. data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
  799. data/third_party/upb/upb/json_decode.c +1512 -0
  800. data/third_party/upb/upb/json_decode.h +47 -0
  801. data/third_party/upb/upb/json_encode.c +7 -3
  802. data/third_party/upb/upb/json_encode.h +6 -3
  803. data/third_party/upb/upb/map.c +108 -0
  804. data/third_party/upb/upb/map.h +117 -0
  805. data/third_party/upb/upb/message_value.h +66 -0
  806. data/third_party/upb/upb/mini_table.c +1147 -0
  807. data/third_party/upb/upb/mini_table.h +189 -0
  808. data/third_party/upb/upb/mini_table.hpp +112 -0
  809. data/third_party/upb/upb/msg.c +2 -62
  810. data/third_party/upb/upb/msg.h +2 -45
  811. data/third_party/upb/upb/msg_internal.h +28 -22
  812. data/third_party/upb/upb/port_def.inc +2 -1
  813. data/third_party/upb/upb/port_undef.inc +1 -0
  814. data/third_party/upb/upb/reflection.c +2 -159
  815. data/third_party/upb/upb/reflection.h +2 -112
  816. data/third_party/upb/upb/status.c +86 -0
  817. data/third_party/upb/upb/status.h +66 -0
  818. data/third_party/upb/upb/table.c +2 -2
  819. data/third_party/upb/upb/table_internal.h +3 -352
  820. data/third_party/upb/upb/text_encode.c +3 -2
  821. data/third_party/upb/upb/upb.c +4 -290
  822. data/third_party/upb/upb/upb.h +7 -196
  823. metadata +117 -51
  824. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -50
  825. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +0 -190
  826. data/src/core/ext/filters/client_channel/lb_policy_registry.h +0 -70
  827. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -90
  828. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -55
  829. data/src/core/ext/xds/certificate_provider_registry.cc +0 -103
  830. data/src/core/ext/xds/certificate_provider_registry.h +0 -59
  831. data/src/core/lib/event_engine/iomgr_engine/thread_pool.cc +0 -123
  832. data/src/core/lib/event_engine/iomgr_engine/thread_pool.h +0 -70
  833. data/src/core/lib/event_engine/promise.h +0 -69
  834. data/src/core/lib/gpr/env_windows.cc +0 -74
  835. data/src/core/lib/gpr/string_windows.h +0 -32
  836. data/src/core/lib/iomgr/error_internal.h +0 -66
  837. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
  838. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
  839. data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
  840. data/src/core/lib/iomgr/executor/threadpool.h +0 -150
  841. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  842. data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
  843. data/src/core/lib/profiling/basic_timers.cc +0 -295
  844. data/src/core/lib/profiling/stap_timers.cc +0 -50
  845. data/src/core/lib/profiling/timers.h +0 -94
  846. data/src/core/lib/promise/detail/switch.h +0 -1455
@@ -1,1455 +0,0 @@
1
- /*
2
- * Copyright 2021 gRPC authors.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- /*
18
- * Automatically generated by tools/codegen/core/gen_switch.py
19
- */
20
-
21
- #ifndef GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H
22
- #define GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H
23
-
24
- #include <grpc/support/port_platform.h>
25
-
26
- #include <stdlib.h>
27
-
28
- namespace grpc_core {
29
-
30
- template <typename R, typename F0>
31
- R Switch(char idx, F0 f0) {
32
- switch (idx) {
33
- case 0:
34
- return f0();
35
- }
36
- abort();
37
- }
38
-
39
- template <typename R, typename F0, typename F1>
40
- R Switch(char idx, F0 f0, F1 f1) {
41
- switch (idx) {
42
- case 0:
43
- return f0();
44
- case 1:
45
- return f1();
46
- }
47
- abort();
48
- }
49
-
50
- template <typename R, typename F0, typename F1, typename F2>
51
- R Switch(char idx, F0 f0, F1 f1, F2 f2) {
52
- switch (idx) {
53
- case 0:
54
- return f0();
55
- case 1:
56
- return f1();
57
- case 2:
58
- return f2();
59
- }
60
- abort();
61
- }
62
-
63
- template <typename R, typename F0, typename F1, typename F2, typename F3>
64
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3) {
65
- switch (idx) {
66
- case 0:
67
- return f0();
68
- case 1:
69
- return f1();
70
- case 2:
71
- return f2();
72
- case 3:
73
- return f3();
74
- }
75
- abort();
76
- }
77
-
78
- template <typename R, typename F0, typename F1, typename F2, typename F3,
79
- typename F4>
80
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4) {
81
- switch (idx) {
82
- case 0:
83
- return f0();
84
- case 1:
85
- return f1();
86
- case 2:
87
- return f2();
88
- case 3:
89
- return f3();
90
- case 4:
91
- return f4();
92
- }
93
- abort();
94
- }
95
-
96
- template <typename R, typename F0, typename F1, typename F2, typename F3,
97
- typename F4, typename F5>
98
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5) {
99
- switch (idx) {
100
- case 0:
101
- return f0();
102
- case 1:
103
- return f1();
104
- case 2:
105
- return f2();
106
- case 3:
107
- return f3();
108
- case 4:
109
- return f4();
110
- case 5:
111
- return f5();
112
- }
113
- abort();
114
- }
115
-
116
- template <typename R, typename F0, typename F1, typename F2, typename F3,
117
- typename F4, typename F5, typename F6>
118
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6) {
119
- switch (idx) {
120
- case 0:
121
- return f0();
122
- case 1:
123
- return f1();
124
- case 2:
125
- return f2();
126
- case 3:
127
- return f3();
128
- case 4:
129
- return f4();
130
- case 5:
131
- return f5();
132
- case 6:
133
- return f6();
134
- }
135
- abort();
136
- }
137
-
138
- template <typename R, typename F0, typename F1, typename F2, typename F3,
139
- typename F4, typename F5, typename F6, typename F7>
140
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7) {
141
- switch (idx) {
142
- case 0:
143
- return f0();
144
- case 1:
145
- return f1();
146
- case 2:
147
- return f2();
148
- case 3:
149
- return f3();
150
- case 4:
151
- return f4();
152
- case 5:
153
- return f5();
154
- case 6:
155
- return f6();
156
- case 7:
157
- return f7();
158
- }
159
- abort();
160
- }
161
-
162
- template <typename R, typename F0, typename F1, typename F2, typename F3,
163
- typename F4, typename F5, typename F6, typename F7, typename F8>
164
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
165
- F8 f8) {
166
- switch (idx) {
167
- case 0:
168
- return f0();
169
- case 1:
170
- return f1();
171
- case 2:
172
- return f2();
173
- case 3:
174
- return f3();
175
- case 4:
176
- return f4();
177
- case 5:
178
- return f5();
179
- case 6:
180
- return f6();
181
- case 7:
182
- return f7();
183
- case 8:
184
- return f8();
185
- }
186
- abort();
187
- }
188
-
189
- template <typename R, typename F0, typename F1, typename F2, typename F3,
190
- typename F4, typename F5, typename F6, typename F7, typename F8,
191
- typename F9>
192
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
193
- F8 f8, F9 f9) {
194
- switch (idx) {
195
- case 0:
196
- return f0();
197
- case 1:
198
- return f1();
199
- case 2:
200
- return f2();
201
- case 3:
202
- return f3();
203
- case 4:
204
- return f4();
205
- case 5:
206
- return f5();
207
- case 6:
208
- return f6();
209
- case 7:
210
- return f7();
211
- case 8:
212
- return f8();
213
- case 9:
214
- return f9();
215
- }
216
- abort();
217
- }
218
-
219
- template <typename R, typename F0, typename F1, typename F2, typename F3,
220
- typename F4, typename F5, typename F6, typename F7, typename F8,
221
- typename F9, typename F10>
222
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
223
- F8 f8, F9 f9, F10 f10) {
224
- switch (idx) {
225
- case 0:
226
- return f0();
227
- case 1:
228
- return f1();
229
- case 2:
230
- return f2();
231
- case 3:
232
- return f3();
233
- case 4:
234
- return f4();
235
- case 5:
236
- return f5();
237
- case 6:
238
- return f6();
239
- case 7:
240
- return f7();
241
- case 8:
242
- return f8();
243
- case 9:
244
- return f9();
245
- case 10:
246
- return f10();
247
- }
248
- abort();
249
- }
250
-
251
- template <typename R, typename F0, typename F1, typename F2, typename F3,
252
- typename F4, typename F5, typename F6, typename F7, typename F8,
253
- typename F9, typename F10, typename F11>
254
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
255
- F8 f8, F9 f9, F10 f10, F11 f11) {
256
- switch (idx) {
257
- case 0:
258
- return f0();
259
- case 1:
260
- return f1();
261
- case 2:
262
- return f2();
263
- case 3:
264
- return f3();
265
- case 4:
266
- return f4();
267
- case 5:
268
- return f5();
269
- case 6:
270
- return f6();
271
- case 7:
272
- return f7();
273
- case 8:
274
- return f8();
275
- case 9:
276
- return f9();
277
- case 10:
278
- return f10();
279
- case 11:
280
- return f11();
281
- }
282
- abort();
283
- }
284
-
285
- template <typename R, typename F0, typename F1, typename F2, typename F3,
286
- typename F4, typename F5, typename F6, typename F7, typename F8,
287
- typename F9, typename F10, typename F11, typename F12>
288
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
289
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12) {
290
- switch (idx) {
291
- case 0:
292
- return f0();
293
- case 1:
294
- return f1();
295
- case 2:
296
- return f2();
297
- case 3:
298
- return f3();
299
- case 4:
300
- return f4();
301
- case 5:
302
- return f5();
303
- case 6:
304
- return f6();
305
- case 7:
306
- return f7();
307
- case 8:
308
- return f8();
309
- case 9:
310
- return f9();
311
- case 10:
312
- return f10();
313
- case 11:
314
- return f11();
315
- case 12:
316
- return f12();
317
- }
318
- abort();
319
- }
320
-
321
- template <typename R, typename F0, typename F1, typename F2, typename F3,
322
- typename F4, typename F5, typename F6, typename F7, typename F8,
323
- typename F9, typename F10, typename F11, typename F12, typename F13>
324
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
325
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13) {
326
- switch (idx) {
327
- case 0:
328
- return f0();
329
- case 1:
330
- return f1();
331
- case 2:
332
- return f2();
333
- case 3:
334
- return f3();
335
- case 4:
336
- return f4();
337
- case 5:
338
- return f5();
339
- case 6:
340
- return f6();
341
- case 7:
342
- return f7();
343
- case 8:
344
- return f8();
345
- case 9:
346
- return f9();
347
- case 10:
348
- return f10();
349
- case 11:
350
- return f11();
351
- case 12:
352
- return f12();
353
- case 13:
354
- return f13();
355
- }
356
- abort();
357
- }
358
-
359
- template <typename R, typename F0, typename F1, typename F2, typename F3,
360
- typename F4, typename F5, typename F6, typename F7, typename F8,
361
- typename F9, typename F10, typename F11, typename F12, typename F13,
362
- typename F14>
363
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
364
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14) {
365
- switch (idx) {
366
- case 0:
367
- return f0();
368
- case 1:
369
- return f1();
370
- case 2:
371
- return f2();
372
- case 3:
373
- return f3();
374
- case 4:
375
- return f4();
376
- case 5:
377
- return f5();
378
- case 6:
379
- return f6();
380
- case 7:
381
- return f7();
382
- case 8:
383
- return f8();
384
- case 9:
385
- return f9();
386
- case 10:
387
- return f10();
388
- case 11:
389
- return f11();
390
- case 12:
391
- return f12();
392
- case 13:
393
- return f13();
394
- case 14:
395
- return f14();
396
- }
397
- abort();
398
- }
399
-
400
- template <typename R, typename F0, typename F1, typename F2, typename F3,
401
- typename F4, typename F5, typename F6, typename F7, typename F8,
402
- typename F9, typename F10, typename F11, typename F12, typename F13,
403
- typename F14, typename F15>
404
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
405
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15) {
406
- switch (idx) {
407
- case 0:
408
- return f0();
409
- case 1:
410
- return f1();
411
- case 2:
412
- return f2();
413
- case 3:
414
- return f3();
415
- case 4:
416
- return f4();
417
- case 5:
418
- return f5();
419
- case 6:
420
- return f6();
421
- case 7:
422
- return f7();
423
- case 8:
424
- return f8();
425
- case 9:
426
- return f9();
427
- case 10:
428
- return f10();
429
- case 11:
430
- return f11();
431
- case 12:
432
- return f12();
433
- case 13:
434
- return f13();
435
- case 14:
436
- return f14();
437
- case 15:
438
- return f15();
439
- }
440
- abort();
441
- }
442
-
443
- template <typename R, typename F0, typename F1, typename F2, typename F3,
444
- typename F4, typename F5, typename F6, typename F7, typename F8,
445
- typename F9, typename F10, typename F11, typename F12, typename F13,
446
- typename F14, typename F15, typename F16>
447
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
448
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
449
- F16 f16) {
450
- switch (idx) {
451
- case 0:
452
- return f0();
453
- case 1:
454
- return f1();
455
- case 2:
456
- return f2();
457
- case 3:
458
- return f3();
459
- case 4:
460
- return f4();
461
- case 5:
462
- return f5();
463
- case 6:
464
- return f6();
465
- case 7:
466
- return f7();
467
- case 8:
468
- return f8();
469
- case 9:
470
- return f9();
471
- case 10:
472
- return f10();
473
- case 11:
474
- return f11();
475
- case 12:
476
- return f12();
477
- case 13:
478
- return f13();
479
- case 14:
480
- return f14();
481
- case 15:
482
- return f15();
483
- case 16:
484
- return f16();
485
- }
486
- abort();
487
- }
488
-
489
- template <typename R, typename F0, typename F1, typename F2, typename F3,
490
- typename F4, typename F5, typename F6, typename F7, typename F8,
491
- typename F9, typename F10, typename F11, typename F12, typename F13,
492
- typename F14, typename F15, typename F16, typename F17>
493
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
494
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
495
- F16 f16, F17 f17) {
496
- switch (idx) {
497
- case 0:
498
- return f0();
499
- case 1:
500
- return f1();
501
- case 2:
502
- return f2();
503
- case 3:
504
- return f3();
505
- case 4:
506
- return f4();
507
- case 5:
508
- return f5();
509
- case 6:
510
- return f6();
511
- case 7:
512
- return f7();
513
- case 8:
514
- return f8();
515
- case 9:
516
- return f9();
517
- case 10:
518
- return f10();
519
- case 11:
520
- return f11();
521
- case 12:
522
- return f12();
523
- case 13:
524
- return f13();
525
- case 14:
526
- return f14();
527
- case 15:
528
- return f15();
529
- case 16:
530
- return f16();
531
- case 17:
532
- return f17();
533
- }
534
- abort();
535
- }
536
-
537
- template <typename R, typename F0, typename F1, typename F2, typename F3,
538
- typename F4, typename F5, typename F6, typename F7, typename F8,
539
- typename F9, typename F10, typename F11, typename F12, typename F13,
540
- typename F14, typename F15, typename F16, typename F17, typename F18>
541
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
542
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
543
- F16 f16, F17 f17, F18 f18) {
544
- switch (idx) {
545
- case 0:
546
- return f0();
547
- case 1:
548
- return f1();
549
- case 2:
550
- return f2();
551
- case 3:
552
- return f3();
553
- case 4:
554
- return f4();
555
- case 5:
556
- return f5();
557
- case 6:
558
- return f6();
559
- case 7:
560
- return f7();
561
- case 8:
562
- return f8();
563
- case 9:
564
- return f9();
565
- case 10:
566
- return f10();
567
- case 11:
568
- return f11();
569
- case 12:
570
- return f12();
571
- case 13:
572
- return f13();
573
- case 14:
574
- return f14();
575
- case 15:
576
- return f15();
577
- case 16:
578
- return f16();
579
- case 17:
580
- return f17();
581
- case 18:
582
- return f18();
583
- }
584
- abort();
585
- }
586
-
587
- template <typename R, typename F0, typename F1, typename F2, typename F3,
588
- typename F4, typename F5, typename F6, typename F7, typename F8,
589
- typename F9, typename F10, typename F11, typename F12, typename F13,
590
- typename F14, typename F15, typename F16, typename F17, typename F18,
591
- typename F19>
592
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
593
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
594
- F16 f16, F17 f17, F18 f18, F19 f19) {
595
- switch (idx) {
596
- case 0:
597
- return f0();
598
- case 1:
599
- return f1();
600
- case 2:
601
- return f2();
602
- case 3:
603
- return f3();
604
- case 4:
605
- return f4();
606
- case 5:
607
- return f5();
608
- case 6:
609
- return f6();
610
- case 7:
611
- return f7();
612
- case 8:
613
- return f8();
614
- case 9:
615
- return f9();
616
- case 10:
617
- return f10();
618
- case 11:
619
- return f11();
620
- case 12:
621
- return f12();
622
- case 13:
623
- return f13();
624
- case 14:
625
- return f14();
626
- case 15:
627
- return f15();
628
- case 16:
629
- return f16();
630
- case 17:
631
- return f17();
632
- case 18:
633
- return f18();
634
- case 19:
635
- return f19();
636
- }
637
- abort();
638
- }
639
-
640
- template <typename R, typename F0, typename F1, typename F2, typename F3,
641
- typename F4, typename F5, typename F6, typename F7, typename F8,
642
- typename F9, typename F10, typename F11, typename F12, typename F13,
643
- typename F14, typename F15, typename F16, typename F17, typename F18,
644
- typename F19, typename F20>
645
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
646
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
647
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20) {
648
- switch (idx) {
649
- case 0:
650
- return f0();
651
- case 1:
652
- return f1();
653
- case 2:
654
- return f2();
655
- case 3:
656
- return f3();
657
- case 4:
658
- return f4();
659
- case 5:
660
- return f5();
661
- case 6:
662
- return f6();
663
- case 7:
664
- return f7();
665
- case 8:
666
- return f8();
667
- case 9:
668
- return f9();
669
- case 10:
670
- return f10();
671
- case 11:
672
- return f11();
673
- case 12:
674
- return f12();
675
- case 13:
676
- return f13();
677
- case 14:
678
- return f14();
679
- case 15:
680
- return f15();
681
- case 16:
682
- return f16();
683
- case 17:
684
- return f17();
685
- case 18:
686
- return f18();
687
- case 19:
688
- return f19();
689
- case 20:
690
- return f20();
691
- }
692
- abort();
693
- }
694
-
695
- template <typename R, typename F0, typename F1, typename F2, typename F3,
696
- typename F4, typename F5, typename F6, typename F7, typename F8,
697
- typename F9, typename F10, typename F11, typename F12, typename F13,
698
- typename F14, typename F15, typename F16, typename F17, typename F18,
699
- typename F19, typename F20, typename F21>
700
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
701
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
702
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21) {
703
- switch (idx) {
704
- case 0:
705
- return f0();
706
- case 1:
707
- return f1();
708
- case 2:
709
- return f2();
710
- case 3:
711
- return f3();
712
- case 4:
713
- return f4();
714
- case 5:
715
- return f5();
716
- case 6:
717
- return f6();
718
- case 7:
719
- return f7();
720
- case 8:
721
- return f8();
722
- case 9:
723
- return f9();
724
- case 10:
725
- return f10();
726
- case 11:
727
- return f11();
728
- case 12:
729
- return f12();
730
- case 13:
731
- return f13();
732
- case 14:
733
- return f14();
734
- case 15:
735
- return f15();
736
- case 16:
737
- return f16();
738
- case 17:
739
- return f17();
740
- case 18:
741
- return f18();
742
- case 19:
743
- return f19();
744
- case 20:
745
- return f20();
746
- case 21:
747
- return f21();
748
- }
749
- abort();
750
- }
751
-
752
- template <typename R, typename F0, typename F1, typename F2, typename F3,
753
- typename F4, typename F5, typename F6, typename F7, typename F8,
754
- typename F9, typename F10, typename F11, typename F12, typename F13,
755
- typename F14, typename F15, typename F16, typename F17, typename F18,
756
- typename F19, typename F20, typename F21, typename F22>
757
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
758
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
759
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22) {
760
- switch (idx) {
761
- case 0:
762
- return f0();
763
- case 1:
764
- return f1();
765
- case 2:
766
- return f2();
767
- case 3:
768
- return f3();
769
- case 4:
770
- return f4();
771
- case 5:
772
- return f5();
773
- case 6:
774
- return f6();
775
- case 7:
776
- return f7();
777
- case 8:
778
- return f8();
779
- case 9:
780
- return f9();
781
- case 10:
782
- return f10();
783
- case 11:
784
- return f11();
785
- case 12:
786
- return f12();
787
- case 13:
788
- return f13();
789
- case 14:
790
- return f14();
791
- case 15:
792
- return f15();
793
- case 16:
794
- return f16();
795
- case 17:
796
- return f17();
797
- case 18:
798
- return f18();
799
- case 19:
800
- return f19();
801
- case 20:
802
- return f20();
803
- case 21:
804
- return f21();
805
- case 22:
806
- return f22();
807
- }
808
- abort();
809
- }
810
-
811
- template <typename R, typename F0, typename F1, typename F2, typename F3,
812
- typename F4, typename F5, typename F6, typename F7, typename F8,
813
- typename F9, typename F10, typename F11, typename F12, typename F13,
814
- typename F14, typename F15, typename F16, typename F17, typename F18,
815
- typename F19, typename F20, typename F21, typename F22, typename F23>
816
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
817
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
818
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22,
819
- F23 f23) {
820
- switch (idx) {
821
- case 0:
822
- return f0();
823
- case 1:
824
- return f1();
825
- case 2:
826
- return f2();
827
- case 3:
828
- return f3();
829
- case 4:
830
- return f4();
831
- case 5:
832
- return f5();
833
- case 6:
834
- return f6();
835
- case 7:
836
- return f7();
837
- case 8:
838
- return f8();
839
- case 9:
840
- return f9();
841
- case 10:
842
- return f10();
843
- case 11:
844
- return f11();
845
- case 12:
846
- return f12();
847
- case 13:
848
- return f13();
849
- case 14:
850
- return f14();
851
- case 15:
852
- return f15();
853
- case 16:
854
- return f16();
855
- case 17:
856
- return f17();
857
- case 18:
858
- return f18();
859
- case 19:
860
- return f19();
861
- case 20:
862
- return f20();
863
- case 21:
864
- return f21();
865
- case 22:
866
- return f22();
867
- case 23:
868
- return f23();
869
- }
870
- abort();
871
- }
872
-
873
- template <typename R, typename F0, typename F1, typename F2, typename F3,
874
- typename F4, typename F5, typename F6, typename F7, typename F8,
875
- typename F9, typename F10, typename F11, typename F12, typename F13,
876
- typename F14, typename F15, typename F16, typename F17, typename F18,
877
- typename F19, typename F20, typename F21, typename F22, typename F23,
878
- typename F24>
879
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
880
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
881
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
882
- F24 f24) {
883
- switch (idx) {
884
- case 0:
885
- return f0();
886
- case 1:
887
- return f1();
888
- case 2:
889
- return f2();
890
- case 3:
891
- return f3();
892
- case 4:
893
- return f4();
894
- case 5:
895
- return f5();
896
- case 6:
897
- return f6();
898
- case 7:
899
- return f7();
900
- case 8:
901
- return f8();
902
- case 9:
903
- return f9();
904
- case 10:
905
- return f10();
906
- case 11:
907
- return f11();
908
- case 12:
909
- return f12();
910
- case 13:
911
- return f13();
912
- case 14:
913
- return f14();
914
- case 15:
915
- return f15();
916
- case 16:
917
- return f16();
918
- case 17:
919
- return f17();
920
- case 18:
921
- return f18();
922
- case 19:
923
- return f19();
924
- case 20:
925
- return f20();
926
- case 21:
927
- return f21();
928
- case 22:
929
- return f22();
930
- case 23:
931
- return f23();
932
- case 24:
933
- return f24();
934
- }
935
- abort();
936
- }
937
-
938
- template <typename R, typename F0, typename F1, typename F2, typename F3,
939
- typename F4, typename F5, typename F6, typename F7, typename F8,
940
- typename F9, typename F10, typename F11, typename F12, typename F13,
941
- typename F14, typename F15, typename F16, typename F17, typename F18,
942
- typename F19, typename F20, typename F21, typename F22, typename F23,
943
- typename F24, typename F25>
944
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
945
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
946
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
947
- F24 f24, F25 f25) {
948
- switch (idx) {
949
- case 0:
950
- return f0();
951
- case 1:
952
- return f1();
953
- case 2:
954
- return f2();
955
- case 3:
956
- return f3();
957
- case 4:
958
- return f4();
959
- case 5:
960
- return f5();
961
- case 6:
962
- return f6();
963
- case 7:
964
- return f7();
965
- case 8:
966
- return f8();
967
- case 9:
968
- return f9();
969
- case 10:
970
- return f10();
971
- case 11:
972
- return f11();
973
- case 12:
974
- return f12();
975
- case 13:
976
- return f13();
977
- case 14:
978
- return f14();
979
- case 15:
980
- return f15();
981
- case 16:
982
- return f16();
983
- case 17:
984
- return f17();
985
- case 18:
986
- return f18();
987
- case 19:
988
- return f19();
989
- case 20:
990
- return f20();
991
- case 21:
992
- return f21();
993
- case 22:
994
- return f22();
995
- case 23:
996
- return f23();
997
- case 24:
998
- return f24();
999
- case 25:
1000
- return f25();
1001
- }
1002
- abort();
1003
- }
1004
-
1005
- template <typename R, typename F0, typename F1, typename F2, typename F3,
1006
- typename F4, typename F5, typename F6, typename F7, typename F8,
1007
- typename F9, typename F10, typename F11, typename F12, typename F13,
1008
- typename F14, typename F15, typename F16, typename F17, typename F18,
1009
- typename F19, typename F20, typename F21, typename F22, typename F23,
1010
- typename F24, typename F25, typename F26>
1011
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1012
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1013
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1014
- F24 f24, F25 f25, F26 f26) {
1015
- switch (idx) {
1016
- case 0:
1017
- return f0();
1018
- case 1:
1019
- return f1();
1020
- case 2:
1021
- return f2();
1022
- case 3:
1023
- return f3();
1024
- case 4:
1025
- return f4();
1026
- case 5:
1027
- return f5();
1028
- case 6:
1029
- return f6();
1030
- case 7:
1031
- return f7();
1032
- case 8:
1033
- return f8();
1034
- case 9:
1035
- return f9();
1036
- case 10:
1037
- return f10();
1038
- case 11:
1039
- return f11();
1040
- case 12:
1041
- return f12();
1042
- case 13:
1043
- return f13();
1044
- case 14:
1045
- return f14();
1046
- case 15:
1047
- return f15();
1048
- case 16:
1049
- return f16();
1050
- case 17:
1051
- return f17();
1052
- case 18:
1053
- return f18();
1054
- case 19:
1055
- return f19();
1056
- case 20:
1057
- return f20();
1058
- case 21:
1059
- return f21();
1060
- case 22:
1061
- return f22();
1062
- case 23:
1063
- return f23();
1064
- case 24:
1065
- return f24();
1066
- case 25:
1067
- return f25();
1068
- case 26:
1069
- return f26();
1070
- }
1071
- abort();
1072
- }
1073
-
1074
- template <typename R, typename F0, typename F1, typename F2, typename F3,
1075
- typename F4, typename F5, typename F6, typename F7, typename F8,
1076
- typename F9, typename F10, typename F11, typename F12, typename F13,
1077
- typename F14, typename F15, typename F16, typename F17, typename F18,
1078
- typename F19, typename F20, typename F21, typename F22, typename F23,
1079
- typename F24, typename F25, typename F26, typename F27>
1080
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1081
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1082
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1083
- F24 f24, F25 f25, F26 f26, F27 f27) {
1084
- switch (idx) {
1085
- case 0:
1086
- return f0();
1087
- case 1:
1088
- return f1();
1089
- case 2:
1090
- return f2();
1091
- case 3:
1092
- return f3();
1093
- case 4:
1094
- return f4();
1095
- case 5:
1096
- return f5();
1097
- case 6:
1098
- return f6();
1099
- case 7:
1100
- return f7();
1101
- case 8:
1102
- return f8();
1103
- case 9:
1104
- return f9();
1105
- case 10:
1106
- return f10();
1107
- case 11:
1108
- return f11();
1109
- case 12:
1110
- return f12();
1111
- case 13:
1112
- return f13();
1113
- case 14:
1114
- return f14();
1115
- case 15:
1116
- return f15();
1117
- case 16:
1118
- return f16();
1119
- case 17:
1120
- return f17();
1121
- case 18:
1122
- return f18();
1123
- case 19:
1124
- return f19();
1125
- case 20:
1126
- return f20();
1127
- case 21:
1128
- return f21();
1129
- case 22:
1130
- return f22();
1131
- case 23:
1132
- return f23();
1133
- case 24:
1134
- return f24();
1135
- case 25:
1136
- return f25();
1137
- case 26:
1138
- return f26();
1139
- case 27:
1140
- return f27();
1141
- }
1142
- abort();
1143
- }
1144
-
1145
- template <typename R, typename F0, typename F1, typename F2, typename F3,
1146
- typename F4, typename F5, typename F6, typename F7, typename F8,
1147
- typename F9, typename F10, typename F11, typename F12, typename F13,
1148
- typename F14, typename F15, typename F16, typename F17, typename F18,
1149
- typename F19, typename F20, typename F21, typename F22, typename F23,
1150
- typename F24, typename F25, typename F26, typename F27, typename F28>
1151
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1152
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1153
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1154
- F24 f24, F25 f25, F26 f26, F27 f27, F28 f28) {
1155
- switch (idx) {
1156
- case 0:
1157
- return f0();
1158
- case 1:
1159
- return f1();
1160
- case 2:
1161
- return f2();
1162
- case 3:
1163
- return f3();
1164
- case 4:
1165
- return f4();
1166
- case 5:
1167
- return f5();
1168
- case 6:
1169
- return f6();
1170
- case 7:
1171
- return f7();
1172
- case 8:
1173
- return f8();
1174
- case 9:
1175
- return f9();
1176
- case 10:
1177
- return f10();
1178
- case 11:
1179
- return f11();
1180
- case 12:
1181
- return f12();
1182
- case 13:
1183
- return f13();
1184
- case 14:
1185
- return f14();
1186
- case 15:
1187
- return f15();
1188
- case 16:
1189
- return f16();
1190
- case 17:
1191
- return f17();
1192
- case 18:
1193
- return f18();
1194
- case 19:
1195
- return f19();
1196
- case 20:
1197
- return f20();
1198
- case 21:
1199
- return f21();
1200
- case 22:
1201
- return f22();
1202
- case 23:
1203
- return f23();
1204
- case 24:
1205
- return f24();
1206
- case 25:
1207
- return f25();
1208
- case 26:
1209
- return f26();
1210
- case 27:
1211
- return f27();
1212
- case 28:
1213
- return f28();
1214
- }
1215
- abort();
1216
- }
1217
-
1218
- template <typename R, typename F0, typename F1, typename F2, typename F3,
1219
- typename F4, typename F5, typename F6, typename F7, typename F8,
1220
- typename F9, typename F10, typename F11, typename F12, typename F13,
1221
- typename F14, typename F15, typename F16, typename F17, typename F18,
1222
- typename F19, typename F20, typename F21, typename F22, typename F23,
1223
- typename F24, typename F25, typename F26, typename F27, typename F28,
1224
- typename F29>
1225
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1226
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1227
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1228
- F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29) {
1229
- switch (idx) {
1230
- case 0:
1231
- return f0();
1232
- case 1:
1233
- return f1();
1234
- case 2:
1235
- return f2();
1236
- case 3:
1237
- return f3();
1238
- case 4:
1239
- return f4();
1240
- case 5:
1241
- return f5();
1242
- case 6:
1243
- return f6();
1244
- case 7:
1245
- return f7();
1246
- case 8:
1247
- return f8();
1248
- case 9:
1249
- return f9();
1250
- case 10:
1251
- return f10();
1252
- case 11:
1253
- return f11();
1254
- case 12:
1255
- return f12();
1256
- case 13:
1257
- return f13();
1258
- case 14:
1259
- return f14();
1260
- case 15:
1261
- return f15();
1262
- case 16:
1263
- return f16();
1264
- case 17:
1265
- return f17();
1266
- case 18:
1267
- return f18();
1268
- case 19:
1269
- return f19();
1270
- case 20:
1271
- return f20();
1272
- case 21:
1273
- return f21();
1274
- case 22:
1275
- return f22();
1276
- case 23:
1277
- return f23();
1278
- case 24:
1279
- return f24();
1280
- case 25:
1281
- return f25();
1282
- case 26:
1283
- return f26();
1284
- case 27:
1285
- return f27();
1286
- case 28:
1287
- return f28();
1288
- case 29:
1289
- return f29();
1290
- }
1291
- abort();
1292
- }
1293
-
1294
- template <typename R, typename F0, typename F1, typename F2, typename F3,
1295
- typename F4, typename F5, typename F6, typename F7, typename F8,
1296
- typename F9, typename F10, typename F11, typename F12, typename F13,
1297
- typename F14, typename F15, typename F16, typename F17, typename F18,
1298
- typename F19, typename F20, typename F21, typename F22, typename F23,
1299
- typename F24, typename F25, typename F26, typename F27, typename F28,
1300
- typename F29, typename F30>
1301
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1302
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1303
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1304
- F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29, F30 f30) {
1305
- switch (idx) {
1306
- case 0:
1307
- return f0();
1308
- case 1:
1309
- return f1();
1310
- case 2:
1311
- return f2();
1312
- case 3:
1313
- return f3();
1314
- case 4:
1315
- return f4();
1316
- case 5:
1317
- return f5();
1318
- case 6:
1319
- return f6();
1320
- case 7:
1321
- return f7();
1322
- case 8:
1323
- return f8();
1324
- case 9:
1325
- return f9();
1326
- case 10:
1327
- return f10();
1328
- case 11:
1329
- return f11();
1330
- case 12:
1331
- return f12();
1332
- case 13:
1333
- return f13();
1334
- case 14:
1335
- return f14();
1336
- case 15:
1337
- return f15();
1338
- case 16:
1339
- return f16();
1340
- case 17:
1341
- return f17();
1342
- case 18:
1343
- return f18();
1344
- case 19:
1345
- return f19();
1346
- case 20:
1347
- return f20();
1348
- case 21:
1349
- return f21();
1350
- case 22:
1351
- return f22();
1352
- case 23:
1353
- return f23();
1354
- case 24:
1355
- return f24();
1356
- case 25:
1357
- return f25();
1358
- case 26:
1359
- return f26();
1360
- case 27:
1361
- return f27();
1362
- case 28:
1363
- return f28();
1364
- case 29:
1365
- return f29();
1366
- case 30:
1367
- return f30();
1368
- }
1369
- abort();
1370
- }
1371
-
1372
- template <typename R, typename F0, typename F1, typename F2, typename F3,
1373
- typename F4, typename F5, typename F6, typename F7, typename F8,
1374
- typename F9, typename F10, typename F11, typename F12, typename F13,
1375
- typename F14, typename F15, typename F16, typename F17, typename F18,
1376
- typename F19, typename F20, typename F21, typename F22, typename F23,
1377
- typename F24, typename F25, typename F26, typename F27, typename F28,
1378
- typename F29, typename F30, typename F31>
1379
- R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1380
- F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1381
- F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1382
- F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29, F30 f30,
1383
- F31 f31) {
1384
- switch (idx) {
1385
- case 0:
1386
- return f0();
1387
- case 1:
1388
- return f1();
1389
- case 2:
1390
- return f2();
1391
- case 3:
1392
- return f3();
1393
- case 4:
1394
- return f4();
1395
- case 5:
1396
- return f5();
1397
- case 6:
1398
- return f6();
1399
- case 7:
1400
- return f7();
1401
- case 8:
1402
- return f8();
1403
- case 9:
1404
- return f9();
1405
- case 10:
1406
- return f10();
1407
- case 11:
1408
- return f11();
1409
- case 12:
1410
- return f12();
1411
- case 13:
1412
- return f13();
1413
- case 14:
1414
- return f14();
1415
- case 15:
1416
- return f15();
1417
- case 16:
1418
- return f16();
1419
- case 17:
1420
- return f17();
1421
- case 18:
1422
- return f18();
1423
- case 19:
1424
- return f19();
1425
- case 20:
1426
- return f20();
1427
- case 21:
1428
- return f21();
1429
- case 22:
1430
- return f22();
1431
- case 23:
1432
- return f23();
1433
- case 24:
1434
- return f24();
1435
- case 25:
1436
- return f25();
1437
- case 26:
1438
- return f26();
1439
- case 27:
1440
- return f27();
1441
- case 28:
1442
- return f28();
1443
- case 29:
1444
- return f29();
1445
- case 30:
1446
- return f30();
1447
- case 31:
1448
- return f31();
1449
- }
1450
- abort();
1451
- }
1452
-
1453
- } // namespace grpc_core
1454
-
1455
- #endif // GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H