grpc 1.54.2 → 1.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2782) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1384 -955
  3. data/include/grpc/event_engine/event_engine.h +88 -55
  4. data/include/grpc/event_engine/internal/memory_allocator_impl.h +6 -0
  5. data/include/grpc/event_engine/internal/slice_cast.h +12 -0
  6. data/include/grpc/event_engine/memory_allocator.h +5 -3
  7. data/include/grpc/event_engine/slice.h +5 -0
  8. data/include/grpc/grpc_audit_logging.h +96 -0
  9. data/include/grpc/grpc_crl_provider.h +94 -0
  10. data/include/grpc/grpc_security.h +57 -1
  11. data/include/grpc/impl/call.h +29 -0
  12. data/include/grpc/impl/channel_arg_names.h +400 -0
  13. data/include/grpc/impl/grpc_types.h +1 -348
  14. data/include/grpc/impl/slice_type.h +1 -1
  15. data/include/grpc/module.modulemap +5 -0
  16. data/include/grpc/support/json.h +218 -0
  17. data/include/grpc/support/port_platform.h +103 -24
  18. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +61 -16
  19. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +20 -6
  20. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +49 -46
  21. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +18 -10
  22. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +326 -0
  23. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +143 -0
  24. data/src/core/ext/filters/client_channel/backend_metric.cc +5 -2
  25. data/src/core/ext/filters/client_channel/channel_connectivity.cc +4 -4
  26. data/src/core/ext/filters/client_channel/client_channel.cc +610 -200
  27. data/src/core/ext/filters/client_channel/client_channel.h +80 -29
  28. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +20 -19
  29. data/src/core/ext/filters/client_channel/client_channel_internal.h +24 -59
  30. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +21 -8
  31. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +2 -2
  32. data/src/core/ext/filters/client_channel/config_selector.h +9 -36
  33. data/src/core/ext/filters/client_channel/connector.h +2 -3
  34. data/src/core/ext/filters/client_channel/dynamic_filters.cc +0 -1
  35. data/src/core/ext/filters/client_channel/dynamic_filters.h +5 -3
  36. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +1 -1
  37. data/src/core/ext/filters/client_channel/http_proxy_mapper.cc +305 -0
  38. data/src/core/ext/filters/client_channel/http_proxy_mapper.h +53 -0
  39. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +60 -52
  40. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +27 -12
  41. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +3 -0
  42. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +32 -40
  43. data/src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc +187 -0
  44. data/src/core/ext/filters/client_channel/lb_policy/endpoint_list.h +220 -0
  45. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +0 -2
  46. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +253 -237
  47. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +20 -19
  48. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +4 -4
  49. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +5 -4
  50. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -2
  51. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +520 -0
  52. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +52 -0
  53. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +204 -0
  54. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +15 -13
  55. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +2 -0
  56. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +270 -191
  57. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -2
  58. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +901 -203
  59. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h +36 -0
  60. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +22 -48
  61. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +495 -490
  62. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +16 -1
  63. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +115 -151
  64. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +421 -40
  65. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +37 -35
  66. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +76 -6
  67. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +919 -110
  68. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +31 -63
  69. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +535 -546
  70. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +8 -0
  71. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +256 -194
  72. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +32 -76
  73. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +810 -316
  74. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +2 -6
  75. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +34 -103
  76. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +5 -6
  77. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +31 -133
  78. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  79. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +102 -11
  80. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +105 -175
  81. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +81 -66
  82. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +11 -7
  83. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  84. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +66 -0
  85. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h +27 -0
  86. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +588 -0
  87. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  88. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  89. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  90. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +5 -17
  91. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  92. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +76 -189
  93. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +46 -27
  94. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +32 -30
  95. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +17 -13
  96. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -0
  97. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +31 -19
  98. data/src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.cc +1031 -0
  99. data/src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.h +277 -0
  100. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +517 -513
  101. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver_attributes.h +62 -0
  102. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver_trace.cc +25 -0
  103. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver_trace.h +30 -0
  104. data/src/core/ext/filters/client_channel/retry_filter.cc +40 -2531
  105. data/src/core/ext/filters/client_channel/retry_filter.h +92 -1
  106. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc +2051 -0
  107. data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h +442 -0
  108. data/src/core/ext/filters/client_channel/retry_service_config.cc +10 -9
  109. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +64 -102
  110. data/src/core/ext/filters/client_channel/subchannel.cc +54 -202
  111. data/src/core/ext/filters/client_channel/subchannel.h +23 -48
  112. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +3 -0
  113. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +0 -1
  114. data/src/core/ext/filters/deadline/deadline_filter.cc +21 -24
  115. data/src/core/ext/filters/deadline/deadline_filter.h +0 -4
  116. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +18 -13
  117. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +13 -4
  118. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
  119. data/src/core/ext/filters/http/client/http_client_filter.cc +30 -39
  120. data/src/core/ext/filters/http/client/http_client_filter.h +10 -5
  121. data/src/core/ext/filters/http/client_authority_filter.cc +23 -25
  122. data/src/core/ext/filters/http/client_authority_filter.h +12 -4
  123. data/src/core/ext/filters/http/http_filters_plugin.cc +58 -38
  124. data/src/core/ext/filters/http/message_compress/compression_filter.cc +59 -87
  125. data/src/core/ext/filters/http/message_compress/compression_filter.h +54 -12
  126. data/src/core/ext/filters/http/message_compress/legacy_compression_filter.cc +325 -0
  127. data/src/core/ext/filters/http/message_compress/legacy_compression_filter.h +139 -0
  128. data/src/core/ext/filters/http/server/http_server_filter.cc +55 -53
  129. data/src/core/ext/filters/http/server/http_server_filter.h +11 -4
  130. data/src/core/ext/filters/message_size/message_size_filter.cc +79 -108
  131. data/src/core/ext/filters/message_size/message_size_filter.h +35 -23
  132. data/src/core/ext/filters/rbac/rbac_filter.cc +46 -113
  133. data/src/core/ext/filters/rbac/rbac_filter.h +18 -29
  134. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +162 -72
  135. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +32 -21
  136. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +180 -109
  137. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +54 -11
  138. data/src/core/ext/gcp/metadata_query.cc +0 -1
  139. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
  140. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +5 -7
  141. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +36 -36
  142. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +1177 -1063
  143. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +68 -4
  144. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +80 -0
  145. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +6569 -174
  146. data/src/core/ext/transport/chttp2/transport/decode_huff.h +2278 -441
  147. data/src/core/ext/transport/chttp2/transport/flow_control.cc +87 -168
  148. data/src/core/ext/transport/chttp2/transport/flow_control.h +85 -12
  149. data/src/core/ext/transport/chttp2/transport/frame.cc +506 -0
  150. data/src/core/ext/transport/chttp2/transport/frame.h +193 -22
  151. data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -3
  152. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
  153. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +0 -2
  154. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -1
  155. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +23 -26
  156. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -4
  157. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +10 -3
  158. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
  159. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +34 -82
  160. data/src/core/ext/transport/chttp2/transport/frame_settings.h +5 -8
  161. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +1 -3
  162. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -1
  163. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +16 -22
  164. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -3
  165. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +3 -4
  166. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +184 -0
  167. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +351 -0
  168. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +640 -547
  169. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +160 -12
  170. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +48 -33
  171. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +19 -5
  172. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +122 -32
  173. data/src/core/ext/transport/chttp2/transport/http2_settings.h +142 -37
  174. data/src/core/ext/transport/chttp2/transport/internal.h +228 -181
  175. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +43 -0
  176. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +44 -0
  177. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +67 -0
  178. data/src/core/ext/transport/chttp2/transport/parsing.cc +168 -60
  179. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +90 -0
  180. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +59 -0
  181. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +108 -0
  182. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +115 -0
  183. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +120 -0
  184. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +88 -0
  185. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +1 -1
  186. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +60 -0
  187. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +66 -0
  188. data/src/core/ext/transport/chttp2/transport/writing.cc +238 -179
  189. data/src/core/ext/transport/inproc/inproc_transport.cc +163 -1229
  190. data/src/core/ext/transport/inproc/inproc_transport.h +0 -4
  191. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +1303 -0
  192. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +30 -0
  193. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +725 -0
  194. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +149 -0
  195. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +34 -0
  196. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +827 -0
  197. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +180 -0
  198. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +33 -0
  199. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +733 -0
  200. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +157 -0
  201. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +34 -0
  202. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +2772 -0
  203. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +532 -0
  204. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +48 -0
  205. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +248 -0
  206. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +66 -0
  207. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +31 -0
  208. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +280 -0
  209. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +74 -0
  210. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +31 -0
  211. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +162 -0
  212. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +56 -0
  213. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +30 -0
  214. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +122 -0
  215. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +49 -0
  216. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +30 -0
  217. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +117 -0
  218. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +49 -0
  219. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +30 -0
  220. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +928 -0
  221. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +150 -0
  222. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +31 -0
  223. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +117 -0
  224. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +54 -0
  225. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +30 -0
  226. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +122 -0
  227. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +58 -0
  228. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +33 -0
  229. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +109 -0
  230. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +55 -0
  231. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +31 -0
  232. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +1753 -0
  233. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +375 -0
  234. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +45 -0
  235. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +3420 -0
  236. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +612 -0
  237. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +49 -0
  238. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +526 -0
  239. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +125 -0
  240. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +32 -0
  241. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +3890 -0
  242. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +729 -0
  243. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +53 -0
  244. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +117 -0
  245. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +54 -0
  246. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +30 -0
  247. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +659 -0
  248. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +123 -0
  249. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +30 -0
  250. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +1830 -0
  251. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +395 -0
  252. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +44 -0
  253. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +1041 -0
  254. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +224 -0
  255. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +37 -0
  256. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +129 -0
  257. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +55 -0
  258. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +30 -0
  259. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +2420 -0
  260. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +577 -0
  261. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +53 -0
  262. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +1130 -0
  263. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +225 -0
  264. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +36 -0
  265. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +110 -0
  266. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +51 -0
  267. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +30 -0
  268. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +116 -0
  269. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +53 -0
  270. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +30 -0
  271. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +250 -0
  272. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +68 -0
  273. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +31 -0
  274. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +1688 -0
  275. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +378 -0
  276. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +43 -0
  277. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +1938 -0
  278. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +315 -0
  279. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +38 -0
  280. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +144 -0
  281. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +55 -0
  282. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +30 -0
  283. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +2245 -0
  284. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +481 -0
  285. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +45 -0
  286. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +238 -0
  287. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +70 -0
  288. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +31 -0
  289. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +232 -0
  290. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +72 -0
  291. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +31 -0
  292. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +287 -0
  293. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +76 -0
  294. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +31 -0
  295. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +255 -0
  296. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +66 -0
  297. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +30 -0
  298. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +129 -0
  299. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +54 -0
  300. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +30 -0
  301. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +489 -0
  302. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +138 -0
  303. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +33 -0
  304. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +993 -0
  305. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +229 -0
  306. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +36 -0
  307. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +911 -0
  308. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +179 -0
  309. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +34 -0
  310. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +101 -0
  311. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +50 -0
  312. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +30 -0
  313. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +1613 -0
  314. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +268 -0
  315. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +39 -0
  316. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +1447 -0
  317. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +260 -0
  318. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +36 -0
  319. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +327 -0
  320. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +86 -0
  321. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +30 -0
  322. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +197 -0
  323. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +77 -0
  324. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +31 -0
  325. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +183 -0
  326. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +64 -0
  327. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +30 -0
  328. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +974 -0
  329. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +219 -0
  330. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +37 -0
  331. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +1183 -0
  332. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +250 -0
  333. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +39 -0
  334. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +1704 -0
  335. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +348 -0
  336. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +40 -0
  337. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +857 -0
  338. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +133 -0
  339. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +32 -0
  340. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +9666 -0
  341. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +1667 -0
  342. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +87 -0
  343. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +341 -0
  344. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +97 -0
  345. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +32 -0
  346. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +1515 -0
  347. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +325 -0
  348. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +41 -0
  349. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +119 -0
  350. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +51 -0
  351. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +30 -0
  352. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +118 -0
  353. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +55 -0
  354. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +30 -0
  355. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +190 -0
  356. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +73 -0
  357. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +31 -0
  358. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +202 -0
  359. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +62 -0
  360. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +30 -0
  361. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +409 -0
  362. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +81 -0
  363. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +30 -0
  364. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +115 -0
  365. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +52 -0
  366. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +30 -0
  367. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +102 -0
  368. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +51 -0
  369. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +30 -0
  370. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +254 -0
  371. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +85 -0
  372. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +31 -0
  373. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +49 -0
  374. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +33 -0
  375. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +39 -0
  376. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +256 -0
  377. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +87 -0
  378. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +31 -0
  379. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +201 -0
  380. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +65 -0
  381. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +30 -0
  382. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +2691 -0
  383. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +555 -0
  384. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +45 -0
  385. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +134 -0
  386. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +46 -0
  387. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +30 -0
  388. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +428 -0
  389. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +116 -0
  390. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +34 -0
  391. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +656 -0
  392. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +141 -0
  393. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +32 -0
  394. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +266 -0
  395. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +87 -0
  396. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +31 -0
  397. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +462 -0
  398. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +101 -0
  399. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +31 -0
  400. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +194 -0
  401. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +72 -0
  402. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +31 -0
  403. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +3943 -0
  404. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +679 -0
  405. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +50 -0
  406. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +101 -0
  407. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +50 -0
  408. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +30 -0
  409. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +239 -0
  410. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +67 -0
  411. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +30 -0
  412. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +488 -0
  413. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +135 -0
  414. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +34 -0
  415. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +86 -0
  416. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +44 -0
  417. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +30 -0
  418. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +250 -0
  419. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +68 -0
  420. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +30 -0
  421. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +101 -0
  422. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +50 -0
  423. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +30 -0
  424. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +39 -0
  425. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +28 -0
  426. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +34 -0
  427. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +1469 -0
  428. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +262 -0
  429. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +36 -0
  430. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +361 -0
  431. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +108 -0
  432. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +32 -0
  433. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +1467 -0
  434. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +267 -0
  435. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +36 -0
  436. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +217 -0
  437. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +72 -0
  438. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +31 -0
  439. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +712 -0
  440. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +151 -0
  441. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +33 -0
  442. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +73 -0
  443. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +38 -0
  444. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +30 -0
  445. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +2141 -0
  446. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +402 -0
  447. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +43 -0
  448. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +324 -0
  449. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +84 -0
  450. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +31 -0
  451. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +925 -0
  452. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +183 -0
  453. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +34 -0
  454. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +131 -0
  455. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +54 -0
  456. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +30 -0
  457. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +312 -0
  458. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +86 -0
  459. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +33 -0
  460. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +124 -0
  461. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +53 -0
  462. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +30 -0
  463. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +299 -0
  464. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +105 -0
  465. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +34 -0
  466. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +260 -0
  467. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +76 -0
  468. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +31 -0
  469. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +166 -0
  470. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +55 -0
  471. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +30 -0
  472. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +130 -0
  473. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +54 -0
  474. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +30 -0
  475. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +110 -0
  476. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +51 -0
  477. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +30 -0
  478. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +271 -0
  479. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +96 -0
  480. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +32 -0
  481. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +109 -0
  482. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +43 -0
  483. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +31 -0
  484. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +306 -0
  485. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +81 -0
  486. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +31 -0
  487. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +230 -0
  488. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +70 -0
  489. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +31 -0
  490. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +347 -0
  491. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +92 -0
  492. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +32 -0
  493. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +525 -0
  494. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +127 -0
  495. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +36 -0
  496. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +506 -0
  497. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +139 -0
  498. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +34 -0
  499. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +227 -0
  500. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +76 -0
  501. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +32 -0
  502. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +38 -0
  503. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +26 -0
  504. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +29 -0
  505. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +148 -0
  506. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +46 -0
  507. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +30 -0
  508. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +162 -0
  509. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +64 -0
  510. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +31 -0
  511. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +238 -0
  512. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +84 -0
  513. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +32 -0
  514. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +232 -0
  515. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +75 -0
  516. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +31 -0
  517. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +42 -0
  518. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +26 -0
  519. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +29 -0
  520. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +117 -0
  521. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +49 -0
  522. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +30 -0
  523. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +146 -0
  524. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +57 -0
  525. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +30 -0
  526. data/src/core/ext/upb-gen/google/api/annotations.upb.h +56 -0
  527. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +38 -0
  528. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +30 -0
  529. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +1743 -0
  530. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +369 -0
  531. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +42 -0
  532. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +1829 -0
  533. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +399 -0
  534. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +43 -0
  535. data/src/core/ext/upb-gen/google/api/http.upb.h +496 -0
  536. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +111 -0
  537. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +32 -0
  538. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +165 -0
  539. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +52 -0
  540. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +30 -0
  541. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +99 -0
  542. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +46 -0
  543. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +30 -0
  544. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +6397 -0
  545. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +1357 -0
  546. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +78 -0
  547. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +99 -0
  548. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +46 -0
  549. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +30 -0
  550. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +69 -0
  551. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +35 -0
  552. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +30 -0
  553. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +422 -0
  554. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +115 -0
  555. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +33 -0
  556. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +99 -0
  557. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +46 -0
  558. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +30 -0
  559. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +508 -0
  560. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +163 -0
  561. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +38 -0
  562. data/src/core/ext/upb-gen/google/rpc/status.upb.h +165 -0
  563. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +52 -0
  564. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +30 -0
  565. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +385 -0
  566. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +106 -0
  567. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +33 -0
  568. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +237 -0
  569. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +79 -0
  570. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +31 -0
  571. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +1658 -0
  572. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +342 -0
  573. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +41 -0
  574. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +197 -0
  575. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +69 -0
  576. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +31 -0
  577. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +144 -0
  578. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +58 -0
  579. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +31 -0
  580. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +877 -0
  581. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +221 -0
  582. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +38 -0
  583. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +297 -0
  584. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +92 -0
  585. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +32 -0
  586. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +1333 -0
  587. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +243 -0
  588. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +38 -0
  589. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +322 -0
  590. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +118 -0
  591. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +37 -0
  592. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +125 -0
  593. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +59 -0
  594. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +31 -0
  595. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +55 -0
  596. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +37 -0
  597. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +30 -0
  598. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +131 -0
  599. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +58 -0
  600. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +31 -0
  601. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +109 -0
  602. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +55 -0
  603. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +31 -0
  604. data/src/core/ext/upb-gen/validate/validate.upb.h +6507 -0
  605. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +943 -0
  606. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +57 -0
  607. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +322 -0
  608. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +118 -0
  609. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +37 -0
  610. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +125 -0
  611. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +59 -0
  612. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +31 -0
  613. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +55 -0
  614. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +37 -0
  615. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +30 -0
  616. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +336 -0
  617. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +117 -0
  618. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +36 -0
  619. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +109 -0
  620. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +55 -0
  621. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +31 -0
  622. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +87 -0
  623. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +45 -0
  624. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +30 -0
  625. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +116 -0
  626. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +53 -0
  627. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +30 -0
  628. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +234 -0
  629. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +78 -0
  630. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +31 -0
  631. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +134 -0
  632. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +62 -0
  633. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +31 -0
  634. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +115 -0
  635. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +52 -0
  636. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +30 -0
  637. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +144 -0
  638. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +55 -0
  639. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +30 -0
  640. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +331 -0
  641. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +84 -0
  642. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +31 -0
  643. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +146 -0
  644. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +59 -0
  645. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +30 -0
  646. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +350 -0
  647. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +126 -0
  648. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +33 -0
  649. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +161 -0
  650. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +52 -0
  651. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +30 -0
  652. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +101 -0
  653. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +50 -0
  654. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +30 -0
  655. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +263 -0
  656. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +72 -0
  657. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +31 -0
  658. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +71 -0
  659. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +36 -0
  660. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +30 -0
  661. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +282 -0
  662. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +75 -0
  663. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +31 -0
  664. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +1107 -0
  665. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +265 -0
  666. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +39 -0
  667. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +726 -0
  668. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +157 -0
  669. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +35 -0
  670. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +159 -0
  671. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +58 -0
  672. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +31 -0
  673. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +304 -0
  674. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +79 -0
  675. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +31 -0
  676. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +233 -0
  677. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +79 -0
  678. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +31 -0
  679. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +235 -0
  680. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +82 -0
  681. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +32 -0
  682. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +114 -0
  683. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +51 -0
  684. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +30 -0
  685. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +83 -0
  686. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +55 -0
  687. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +127 -0
  688. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +50 -0
  689. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +101 -0
  690. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +55 -0
  691. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +276 -0
  692. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +125 -0
  693. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +42 -0
  694. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +40 -0
  695. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +55 -0
  696. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +40 -0
  697. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +48 -0
  698. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +35 -0
  699. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +45 -0
  700. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +35 -0
  701. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +45 -0
  702. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +35 -0
  703. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +141 -0
  704. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +40 -0
  705. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +50 -0
  706. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +35 -0
  707. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +47 -0
  708. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +30 -0
  709. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +37 -0
  710. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +35 -0
  711. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +233 -0
  712. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +110 -0
  713. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +422 -0
  714. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +130 -0
  715. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +97 -0
  716. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +45 -0
  717. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +566 -0
  718. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +150 -0
  719. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +50 -0
  720. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +35 -0
  721. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +137 -0
  722. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +35 -0
  723. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +205 -0
  724. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +105 -0
  725. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +131 -0
  726. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +70 -0
  727. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +53 -0
  728. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +35 -0
  729. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +270 -0
  730. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +150 -0
  731. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +167 -0
  732. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +65 -0
  733. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +52 -0
  734. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +35 -0
  735. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +46 -0
  736. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +35 -0
  737. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +52 -0
  738. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +40 -0
  739. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +236 -0
  740. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +100 -0
  741. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +244 -0
  742. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +75 -0
  743. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +52 -0
  744. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +35 -0
  745. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +310 -0
  746. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +110 -0
  747. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +56 -0
  748. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +40 -0
  749. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +54 -0
  750. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +40 -0
  751. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +60 -0
  752. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +40 -0
  753. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +69 -0
  754. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +35 -0
  755. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +48 -0
  756. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
  757. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +98 -0
  758. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +50 -0
  759. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +139 -0
  760. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +65 -0
  761. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +135 -0
  762. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +55 -0
  763. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +47 -0
  764. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +35 -0
  765. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +231 -0
  766. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +80 -0
  767. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +189 -0
  768. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +65 -0
  769. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +100 -0
  770. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
  771. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +70 -0
  772. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +40 -0
  773. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +75 -0
  774. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +35 -0
  775. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +124 -0
  776. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
  777. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +141 -0
  778. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +80 -0
  779. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +222 -0
  780. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +85 -0
  781. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +122 -0
  782. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +45 -0
  783. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +979 -0
  784. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +320 -0
  785. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +76 -0
  786. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +45 -0
  787. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +198 -0
  788. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +90 -0
  789. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +55 -0
  790. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +35 -0
  791. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +56 -0
  792. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +35 -0
  793. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +56 -0
  794. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +40 -0
  795. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +71 -0
  796. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +35 -0
  797. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c +98 -0
  798. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +35 -0
  799. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +44 -0
  800. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  801. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +51 -0
  802. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +35 -0
  803. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +70 -0
  804. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +40 -0
  805. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +60 -0
  806. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +30 -0
  807. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +74 -0
  808. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +40 -0
  809. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +78 -0
  810. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +35 -0
  811. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +401 -0
  812. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +110 -0
  813. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +49 -0
  814. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
  815. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +91 -0
  816. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
  817. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +122 -0
  818. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
  819. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +79 -0
  820. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
  821. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +104 -0
  822. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +40 -0
  823. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +59 -0
  824. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  825. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +601 -0
  826. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +135 -0
  827. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +49 -0
  828. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  829. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +47 -0
  830. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +30 -0
  831. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +214 -0
  832. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +65 -0
  833. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +90 -0
  834. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +45 -0
  835. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +257 -0
  836. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +65 -0
  837. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +57 -0
  838. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +40 -0
  839. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +133 -0
  840. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +50 -0
  841. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +57 -0
  842. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +35 -0
  843. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +199 -0
  844. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +100 -0
  845. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +75 -0
  846. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +40 -0
  847. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +154 -0
  848. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +55 -0
  849. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +45 -0
  850. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +35 -0
  851. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +55 -0
  852. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
  853. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +47 -0
  854. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +35 -0
  855. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +54 -0
  856. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +55 -0
  857. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +60 -0
  858. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +40 -0
  859. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +53 -0
  860. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +35 -0
  861. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +51 -0
  862. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +35 -0
  863. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +50 -0
  864. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +35 -0
  865. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +70 -0
  866. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +45 -0
  867. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +39 -0
  868. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +40 -0
  869. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +64 -0
  870. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +40 -0
  871. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +57 -0
  872. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
  873. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +74 -0
  874. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +45 -0
  875. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +77 -0
  876. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +65 -0
  877. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +84 -0
  878. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +55 -0
  879. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +52 -0
  880. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +45 -0
  881. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +35 -0
  882. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +30 -0
  883. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +93 -0
  884. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +35 -0
  885. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +53 -0
  886. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +40 -0
  887. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +47 -0
  888. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +45 -0
  889. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +68 -0
  890. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  891. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +38 -0
  892. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +30 -0
  893. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +43 -0
  894. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +35 -0
  895. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +56 -0
  896. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +35 -0
  897. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +39 -0
  898. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +30 -0
  899. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +153 -0
  900. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
  901. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +152 -0
  902. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
  903. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +51 -0
  904. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +45 -0
  905. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +38 -0
  906. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +35 -0
  907. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +33 -0
  908. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +35 -0
  909. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +488 -0
  910. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +190 -0
  911. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +34 -0
  912. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +35 -0
  913. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +31 -0
  914. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +35 -0
  915. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +53 -0
  916. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +50 -0
  917. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +34 -0
  918. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +35 -0
  919. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +44 -0
  920. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +75 -0
  921. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +36 -0
  922. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +35 -0
  923. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c +66 -0
  924. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +50 -0
  925. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +98 -0
  926. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  927. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +61 -0
  928. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +45 -0
  929. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +46 -0
  930. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +35 -0
  931. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +33 -0
  932. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +30 -0
  933. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +45 -0
  934. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +35 -0
  935. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +38 -0
  936. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +35 -0
  937. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +282 -0
  938. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +145 -0
  939. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +62 -0
  940. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +45 -0
  941. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +46 -0
  942. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +35 -0
  943. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +34 -0
  944. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +30 -0
  945. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +63 -0
  946. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +50 -0
  947. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +39 -0
  948. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +35 -0
  949. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +37 -0
  950. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +35 -0
  951. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +44 -0
  952. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +35 -0
  953. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +55 -0
  954. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +40 -0
  955. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +38 -0
  956. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +40 -0
  957. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +40 -0
  958. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +35 -0
  959. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +44 -0
  960. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +35 -0
  961. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +60 -0
  962. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +40 -0
  963. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +45 -0
  964. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +35 -0
  965. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +42 -0
  966. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  967. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +50 -0
  968. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  969. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +35 -0
  970. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  971. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +54 -0
  972. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  973. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +125 -0
  974. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +80 -0
  975. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +70 -0
  976. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +60 -0
  977. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +39 -0
  978. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +40 -0
  979. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +51 -0
  980. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +40 -0
  981. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +59 -0
  982. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +40 -0
  983. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +35 -0
  984. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +45 -0
  985. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +36 -0
  986. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +35 -0
  987. data/src/core/ext/xds/certificate_provider_store.cc +10 -14
  988. data/src/core/ext/xds/certificate_provider_store.h +1 -6
  989. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +30 -43
  990. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +14 -9
  991. data/src/core/ext/xds/upb_utils.h +1 -1
  992. data/src/core/ext/xds/xds_api.cc +69 -34
  993. data/src/core/ext/xds/xds_api.h +7 -6
  994. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  995. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  996. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  997. data/src/core/ext/xds/xds_bootstrap.h +3 -0
  998. data/src/core/ext/xds/xds_bootstrap_grpc.cc +65 -51
  999. data/src/core/ext/xds/xds_bootstrap_grpc.h +10 -13
  1000. data/src/core/ext/xds/xds_certificate_provider.cc +88 -287
  1001. data/src/core/ext/xds/xds_certificate_provider.h +44 -111
  1002. data/src/core/ext/xds/xds_channel_stack_modifier.cc +17 -28
  1003. data/src/core/ext/xds/xds_channel_stack_modifier.h +3 -5
  1004. data/src/core/ext/xds/xds_client.cc +447 -421
  1005. data/src/core/ext/xds/xds_client.h +33 -24
  1006. data/src/core/ext/xds/xds_client_grpc.cc +15 -7
  1007. data/src/core/ext/xds/xds_client_grpc.h +16 -2
  1008. data/src/core/ext/xds/xds_client_stats.h +11 -2
  1009. data/src/core/ext/xds/xds_cluster.cc +203 -119
  1010. data/src/core/ext/xds/xds_cluster.h +12 -7
  1011. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +22 -14
  1012. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
  1013. data/src/core/ext/xds/xds_common_types.cc +21 -15
  1014. data/src/core/ext/xds/xds_endpoint.cc +111 -72
  1015. data/src/core/ext/xds/xds_endpoint.h +8 -5
  1016. data/src/core/ext/xds/xds_health_status.cc +13 -18
  1017. data/src/core/ext/xds/xds_health_status.h +10 -28
  1018. data/src/core/ext/xds/xds_http_fault_filter.cc +16 -14
  1019. data/src/core/ext/xds/xds_http_fault_filter.h +1 -1
  1020. data/src/core/ext/xds/xds_http_filters.cc +1 -5
  1021. data/src/core/ext/xds/xds_http_filters.h +3 -2
  1022. data/src/core/ext/xds/xds_http_rbac_filter.cc +154 -72
  1023. data/src/core/ext/xds/xds_http_rbac_filter.h +1 -1
  1024. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +16 -16
  1025. data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -1
  1026. data/src/core/ext/xds/xds_lb_policy_registry.cc +60 -36
  1027. data/src/core/ext/xds/xds_listener.cc +38 -27
  1028. data/src/core/ext/xds/xds_listener.h +14 -4
  1029. data/src/core/ext/xds/xds_resource_type.h +3 -9
  1030. data/src/core/ext/xds/xds_resource_type_impl.h +11 -11
  1031. data/src/core/ext/xds/xds_route_config.cc +95 -41
  1032. data/src/core/ext/xds/xds_route_config.h +3 -2
  1033. data/src/core/ext/xds/xds_server_config_fetcher.cc +110 -81
  1034. data/src/core/ext/xds/xds_transport.h +3 -0
  1035. data/src/core/ext/xds/xds_transport_grpc.cc +61 -52
  1036. data/src/core/ext/xds/xds_transport_grpc.h +4 -0
  1037. data/src/core/lib/address_utils/parse_address.cc +63 -1
  1038. data/src/core/lib/address_utils/parse_address.h +8 -0
  1039. data/src/core/lib/address_utils/sockaddr_utils.cc +46 -2
  1040. data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
  1041. data/src/core/lib/avl/avl.h +16 -173
  1042. data/src/core/lib/backoff/random_early_detection.cc +4 -2
  1043. data/src/core/lib/backoff/random_early_detection.h +7 -4
  1044. data/src/core/lib/channel/call_tracer.cc +315 -1
  1045. data/src/core/lib/channel/call_tracer.h +63 -4
  1046. data/src/core/lib/channel/channel_args.cc +131 -48
  1047. data/src/core/lib/channel/channel_args.h +125 -16
  1048. data/src/core/lib/channel/channel_args_preconditioning.cc +0 -1
  1049. data/src/core/lib/channel/channel_stack.cc +36 -1
  1050. data/src/core/lib/channel/channel_stack.h +10 -10
  1051. data/src/core/lib/channel/channel_stack_builder.h +4 -15
  1052. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -19
  1053. data/src/core/lib/channel/channel_stack_trace.cc +19 -0
  1054. data/src/core/lib/channel/channel_stack_trace.h +24 -0
  1055. data/src/core/lib/channel/channel_trace.cc +17 -13
  1056. data/src/core/lib/channel/channelz.cc +163 -135
  1057. data/src/core/lib/channel/channelz.h +42 -35
  1058. data/src/core/lib/channel/channelz_registry.cc +24 -20
  1059. data/src/core/lib/channel/channelz_registry.h +4 -2
  1060. data/src/core/lib/channel/connected_channel.cc +229 -102
  1061. data/src/core/lib/channel/context.h +3 -0
  1062. data/src/core/lib/channel/promise_based_filter.cc +21 -19
  1063. data/src/core/lib/channel/promise_based_filter.h +1046 -3
  1064. data/src/core/lib/channel/server_call_tracer_filter.cc +43 -42
  1065. data/src/core/lib/channel/status_util.cc +0 -1
  1066. data/src/core/lib/channel/tcp_tracer.h +140 -0
  1067. data/src/core/lib/compression/compression_internal.cc +8 -8
  1068. data/src/core/lib/config/config_vars.cc +19 -18
  1069. data/src/core/lib/config/config_vars.h +5 -5
  1070. data/src/core/lib/config/config_vars_non_generated.cc +0 -2
  1071. data/src/core/lib/config/core_configuration.cc +2 -2
  1072. data/src/core/lib/config/core_configuration.h +5 -4
  1073. data/src/core/lib/config/load_config.cc +13 -0
  1074. data/src/core/lib/config/load_config.h +6 -0
  1075. data/src/core/lib/debug/event_log.h +1 -1
  1076. data/src/core/lib/debug/stats_data.cc +202 -35
  1077. data/src/core/lib/debug/stats_data.h +103 -1
  1078. data/src/core/lib/debug/trace.cc +31 -56
  1079. data/src/core/lib/debug/trace.h +14 -4
  1080. data/src/core/lib/event_engine/ares_resolver.cc +747 -0
  1081. data/src/core/lib/event_engine/ares_resolver.h +151 -0
  1082. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +221 -0
  1083. data/src/core/lib/event_engine/cf_engine/cf_engine.h +89 -0
  1084. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +357 -0
  1085. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +149 -0
  1086. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +82 -0
  1087. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +249 -0
  1088. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +120 -0
  1089. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +2 -0
  1090. data/src/core/lib/event_engine/default_event_engine.cc +13 -1
  1091. data/src/core/lib/event_engine/default_event_engine_factory.cc +14 -2
  1092. data/src/core/lib/event_engine/event_engine.cc +0 -14
  1093. data/src/core/lib/event_engine/forkable.cc +65 -65
  1094. data/src/core/lib/event_engine/forkable.h +46 -25
  1095. data/src/core/lib/event_engine/grpc_polled_fd.h +92 -0
  1096. data/src/core/lib/event_engine/handle_containers.h +0 -4
  1097. data/src/core/lib/event_engine/nameser.h +102 -0
  1098. data/src/core/lib/event_engine/poller.h +2 -2
  1099. data/src/core/lib/event_engine/posix.h +4 -0
  1100. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +11 -15
  1101. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +2 -3
  1102. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +39 -24
  1103. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +12 -10
  1104. data/src/core/lib/event_engine/posix_engine/event_poller.h +3 -1
  1105. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +23 -4
  1106. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +3 -1
  1107. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +205 -0
  1108. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +0 -2
  1109. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +7 -18
  1110. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +132 -0
  1111. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +61 -0
  1112. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +29 -16
  1113. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +12 -2
  1114. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +150 -68
  1115. data/src/core/lib/event_engine/posix_engine/posix_engine.h +37 -30
  1116. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +70 -31
  1117. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +12 -8
  1118. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +15 -5
  1119. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +59 -8
  1120. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +16 -0
  1121. data/src/core/lib/event_engine/posix_engine/timer.h +10 -37
  1122. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +17 -27
  1123. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -4
  1124. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -0
  1125. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +0 -1
  1126. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +0 -1
  1127. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +55 -0
  1128. data/src/core/lib/event_engine/shim.cc +13 -3
  1129. data/src/core/lib/event_engine/slice_buffer.cc +0 -1
  1130. data/src/core/lib/event_engine/tcp_socket_utils.cc +67 -8
  1131. data/src/core/lib/event_engine/tcp_socket_utils.h +3 -0
  1132. data/src/core/lib/event_engine/thread_pool/thread_count.cc +58 -0
  1133. data/src/core/lib/event_engine/thread_pool/thread_count.h +176 -0
  1134. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  1135. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +49 -0
  1136. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +527 -0
  1137. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +223 -0
  1138. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +157 -0
  1139. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +104 -0
  1140. data/src/core/lib/event_engine/trace.cc +1 -0
  1141. data/src/core/lib/event_engine/trace.h +6 -0
  1142. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +823 -0
  1143. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +75 -0
  1144. data/src/core/lib/event_engine/windows/iocp.cc +4 -3
  1145. data/src/core/lib/event_engine/windows/iocp.h +3 -3
  1146. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +114 -0
  1147. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.h +51 -0
  1148. data/src/core/lib/event_engine/windows/win_socket.cc +24 -17
  1149. data/src/core/lib/event_engine/windows/win_socket.h +23 -11
  1150. data/src/core/lib/event_engine/windows/windows_endpoint.cc +77 -77
  1151. data/src/core/lib/event_engine/windows/windows_endpoint.h +17 -13
  1152. data/src/core/lib/event_engine/windows/windows_engine.cc +102 -54
  1153. data/src/core/lib/event_engine/windows/windows_engine.h +30 -20
  1154. data/src/core/lib/event_engine/windows/windows_listener.cc +5 -6
  1155. data/src/core/lib/event_engine/windows/windows_listener.h +3 -2
  1156. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +65 -0
  1157. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +74 -0
  1158. data/src/core/lib/event_engine/work_queue/work_queue.h +66 -0
  1159. data/src/core/lib/experiments/config.cc +134 -30
  1160. data/src/core/lib/experiments/config.h +36 -5
  1161. data/src/core/lib/experiments/experiments.cc +733 -31
  1162. data/src/core/lib/experiments/experiments.h +336 -38
  1163. data/src/core/lib/gpr/alloc.cc +1 -0
  1164. data/src/core/lib/gpr/log_internal.h +55 -0
  1165. data/src/core/lib/gpr/posix/time.cc +5 -0
  1166. data/src/core/lib/gprpp/crash.cc +10 -0
  1167. data/src/core/lib/gprpp/crash.h +3 -0
  1168. data/src/core/lib/gprpp/debug_location.h +13 -0
  1169. data/src/core/lib/gprpp/directory_reader.h +48 -0
  1170. data/src/core/lib/gprpp/dual_ref_counted.h +45 -16
  1171. data/src/core/lib/gprpp/fork.cc +8 -9
  1172. data/src/core/lib/gprpp/fork.h +7 -6
  1173. data/src/core/lib/gprpp/host_port.cc +0 -2
  1174. data/src/core/lib/gprpp/if_list.h +4530 -0
  1175. data/src/core/lib/gprpp/manual_constructor.h +1 -2
  1176. data/src/core/lib/gprpp/match.h +1 -1
  1177. data/src/core/lib/gprpp/no_destruct.h +1 -1
  1178. data/src/core/lib/gprpp/orphanable.h +30 -3
  1179. data/src/core/lib/gprpp/per_cpu.cc +35 -0
  1180. data/src/core/lib/gprpp/per_cpu.h +61 -9
  1181. data/src/core/lib/gprpp/posix/directory_reader.cc +82 -0
  1182. data/src/core/lib/gprpp/posix/stat.cc +0 -1
  1183. data/src/core/lib/gprpp/ref_counted.h +72 -29
  1184. data/src/core/lib/gprpp/ref_counted_ptr.h +133 -27
  1185. data/src/core/lib/gprpp/ref_counted_string.cc +44 -0
  1186. data/src/core/lib/gprpp/ref_counted_string.h +161 -0
  1187. data/src/core/lib/gprpp/sorted_pack.h +3 -12
  1188. data/src/core/lib/gprpp/status_helper.cc +2 -4
  1189. data/src/core/lib/gprpp/status_helper.h +16 -15
  1190. data/src/core/lib/gprpp/strerror.cc +0 -2
  1191. data/src/core/lib/gprpp/time.cc +1 -1
  1192. data/src/core/lib/gprpp/time.h +13 -1
  1193. data/src/core/lib/gprpp/type_list.h +32 -0
  1194. data/src/core/lib/gprpp/validation_errors.cc +8 -4
  1195. data/src/core/lib/gprpp/validation_errors.h +16 -9
  1196. data/src/core/lib/gprpp/windows/directory_reader.cc +80 -0
  1197. data/src/core/lib/gprpp/work_serializer.cc +323 -12
  1198. data/src/core/lib/gprpp/work_serializer.h +30 -9
  1199. data/src/core/lib/gprpp/xxhash_inline.h +29 -0
  1200. data/src/core/lib/http/format_request.cc +0 -1
  1201. data/src/core/lib/http/httpcli.cc +0 -2
  1202. data/src/core/lib/http/httpcli.h +6 -9
  1203. data/src/core/lib/http/httpcli_security_connector.cc +1 -0
  1204. data/src/core/lib/iomgr/buffer_list.cc +2 -0
  1205. data/src/core/lib/iomgr/buffer_list.h +0 -1
  1206. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  1207. data/src/core/lib/iomgr/combiner.cc +24 -18
  1208. data/src/core/lib/iomgr/combiner.h +8 -3
  1209. data/src/core/lib/iomgr/endpoint_cfstream.cc +10 -8
  1210. data/src/core/lib/iomgr/error.cc +32 -2
  1211. data/src/core/lib/iomgr/error.h +9 -10
  1212. data/src/core/lib/iomgr/ev_apple.cc +12 -12
  1213. data/src/core/lib/iomgr/ev_epoll1_linux.cc +15 -10
  1214. data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
  1215. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +57 -27
  1216. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +16 -0
  1217. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +3 -2
  1218. data/src/core/lib/iomgr/exec_ctx.cc +12 -0
  1219. data/src/core/lib/iomgr/exec_ctx.h +66 -19
  1220. data/src/core/lib/iomgr/iocp_windows.cc +24 -3
  1221. data/src/core/lib/iomgr/iocp_windows.h +11 -0
  1222. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -1
  1223. data/src/core/lib/iomgr/polling_entity.cc +10 -0
  1224. data/src/core/lib/iomgr/polling_entity.h +2 -0
  1225. data/src/core/lib/iomgr/pollset.h +4 -5
  1226. data/src/core/lib/iomgr/port.h +24 -0
  1227. data/src/core/lib/iomgr/resolve_address.cc +13 -1
  1228. data/src/core/lib/iomgr/resolve_address.h +17 -3
  1229. data/src/core/lib/iomgr/sockaddr_posix.h +7 -0
  1230. data/src/core/lib/iomgr/socket_utils_common_posix.cc +46 -2
  1231. data/src/core/lib/iomgr/socket_utils_posix.cc +5 -0
  1232. data/src/core/lib/iomgr/socket_utils_posix.h +9 -0
  1233. data/src/core/lib/iomgr/socket_windows.cc +61 -7
  1234. data/src/core/lib/iomgr/socket_windows.h +9 -2
  1235. data/src/core/lib/iomgr/tcp_client_cfstream.cc +14 -3
  1236. data/src/core/lib/iomgr/tcp_client_posix.cc +12 -4
  1237. data/src/core/lib/iomgr/tcp_posix.cc +48 -22
  1238. data/src/core/lib/iomgr/tcp_server_posix.cc +184 -120
  1239. data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -1
  1240. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +26 -2
  1241. data/src/core/lib/iomgr/tcp_server_windows.cc +1 -1
  1242. data/src/core/lib/iomgr/tcp_windows.cc +1 -3
  1243. data/src/core/lib/iomgr/timer_generic.cc +17 -16
  1244. data/src/core/lib/iomgr/timer_manager.cc +7 -1
  1245. data/src/core/lib/iomgr/timer_manager.h +2 -0
  1246. data/src/core/lib/iomgr/vsock.cc +59 -0
  1247. data/src/core/lib/iomgr/vsock.h +38 -0
  1248. data/src/core/lib/iomgr/wakeup_fd_posix.h +3 -6
  1249. data/src/core/lib/json/json.h +2 -218
  1250. data/src/core/lib/json/json_object_loader.cc +24 -25
  1251. data/src/core/lib/json/json_object_loader.h +30 -19
  1252. data/src/core/lib/json/json_reader.cc +69 -43
  1253. data/src/core/lib/json/json_reader.h +34 -0
  1254. data/src/core/lib/json/json_util.cc +10 -15
  1255. data/src/core/lib/json/json_util.h +5 -4
  1256. data/src/core/lib/json/json_writer.cc +24 -25
  1257. data/src/core/lib/json/json_writer.h +33 -0
  1258. data/src/core/lib/load_balancing/delegating_helper.h +116 -0
  1259. data/src/core/lib/load_balancing/lb_policy.h +51 -14
  1260. data/src/core/lib/load_balancing/lb_policy_registry.cc +9 -9
  1261. data/src/core/lib/load_balancing/subchannel_interface.h +6 -0
  1262. data/src/core/lib/matchers/matchers.cc +3 -5
  1263. data/src/core/lib/matchers/matchers.h +2 -1
  1264. data/src/core/lib/promise/activity.cc +20 -1
  1265. data/src/core/lib/promise/activity.h +12 -1
  1266. data/src/core/lib/promise/all_ok.h +80 -0
  1267. data/src/core/lib/promise/arena_promise.h +5 -1
  1268. data/src/core/lib/promise/cancel_callback.h +0 -2
  1269. data/src/core/lib/promise/context.h +0 -1
  1270. data/src/core/lib/promise/detail/basic_seq.h +1 -372
  1271. data/src/core/lib/promise/detail/join_state.h +2077 -0
  1272. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  1273. data/src/core/lib/promise/detail/promise_like.h +8 -1
  1274. data/src/core/lib/promise/detail/seq_state.h +5801 -0
  1275. data/src/core/lib/promise/detail/status.h +42 -5
  1276. data/src/core/lib/promise/for_each.h +13 -3
  1277. data/src/core/lib/promise/if.h +4 -1
  1278. data/src/core/lib/promise/interceptor_list.h +0 -1
  1279. data/src/core/lib/promise/latch.h +7 -5
  1280. data/src/core/lib/promise/loop.h +9 -6
  1281. data/src/core/lib/promise/map.h +0 -1
  1282. data/src/core/lib/promise/party.cc +64 -46
  1283. data/src/core/lib/promise/party.h +153 -9
  1284. data/src/core/lib/promise/pipe.h +44 -29
  1285. data/src/core/lib/promise/poll.h +43 -19
  1286. data/src/core/lib/promise/prioritized_race.h +94 -0
  1287. data/src/core/lib/promise/promise.h +4 -1
  1288. data/src/core/lib/promise/race.h +0 -1
  1289. data/src/core/lib/promise/seq.h +124 -8
  1290. data/src/core/lib/promise/sleep.cc +2 -1
  1291. data/src/core/lib/promise/sleep.h +5 -10
  1292. data/src/core/lib/promise/status_flag.h +196 -0
  1293. data/src/core/lib/promise/try_join.h +71 -21
  1294. data/src/core/lib/promise/try_seq.h +161 -7
  1295. data/src/core/lib/resolver/endpoint_addresses.cc +147 -0
  1296. data/src/core/lib/resolver/endpoint_addresses.h +164 -0
  1297. data/src/core/lib/resolver/resolver.h +4 -3
  1298. data/src/core/lib/resolver/resolver_factory.h +3 -2
  1299. data/src/core/lib/resolver/resolver_registry.cc +0 -2
  1300. data/src/core/lib/resolver/server_address.h +5 -115
  1301. data/src/core/lib/resource_quota/api.cc +1 -0
  1302. data/src/core/lib/resource_quota/arena.cc +2 -0
  1303. data/src/core/lib/resource_quota/arena.h +44 -10
  1304. data/src/core/lib/resource_quota/memory_quota.cc +135 -28
  1305. data/src/core/lib/resource_quota/memory_quota.h +14 -15
  1306. data/src/core/lib/resource_quota/resource_quota.h +1 -0
  1307. data/src/core/lib/security/authorization/audit_logging.cc +97 -0
  1308. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  1309. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  1310. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -2
  1311. data/src/core/lib/security/authorization/grpc_authorization_engine.h +18 -1
  1312. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +15 -12
  1313. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +14 -5
  1314. data/src/core/lib/security/authorization/matchers.cc +0 -1
  1315. data/src/core/lib/security/authorization/rbac_policy.cc +36 -6
  1316. data/src/core/lib/security/authorization/rbac_policy.h +19 -2
  1317. data/src/core/lib/security/authorization/stdout_logger.cc +74 -0
  1318. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  1319. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +8 -4
  1320. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
  1321. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +14 -8
  1322. data/src/core/lib/security/credentials/alts/alts_credentials.cc +0 -2
  1323. data/src/core/lib/security/credentials/channel_creds_registry.h +51 -27
  1324. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +169 -9
  1325. data/src/core/lib/security/credentials/composite/composite_credentials.cc +2 -2
  1326. data/src/core/lib/security/credentials/composite/composite_credentials.h +4 -2
  1327. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +58 -50
  1328. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +4 -0
  1329. data/src/core/lib/security/credentials/external/aws_request_signer.cc +8 -2
  1330. data/src/core/lib/security/credentials/external/external_account_credentials.cc +132 -87
  1331. data/src/core/lib/security/credentials/external/external_account_credentials.h +10 -0
  1332. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +27 -21
  1333. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -0
  1334. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +34 -30
  1335. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +4 -0
  1336. data/src/core/lib/security/credentials/fake/fake_credentials.cc +30 -38
  1337. data/src/core/lib/security/credentials/fake/fake_credentials.h +28 -0
  1338. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +5 -2
  1339. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
  1340. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +0 -2
  1341. data/src/core/lib/security/credentials/jwt/json_token.cc +36 -16
  1342. data/src/core/lib/security/credentials/jwt/json_token.h +4 -0
  1343. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +10 -5
  1344. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +0 -1
  1345. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +83 -40
  1346. data/src/core/lib/security/credentials/local/local_credentials.cc +0 -2
  1347. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +18 -16
  1348. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +0 -1
  1349. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -2
  1350. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +116 -10
  1351. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +14 -0
  1352. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -2
  1353. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +86 -0
  1354. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +0 -55
  1355. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -3
  1356. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +2 -0
  1357. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +41 -0
  1358. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +28 -1
  1359. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +255 -0
  1360. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +129 -0
  1361. data/src/core/lib/security/credentials/tls/tls_credentials.cc +27 -2
  1362. data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -1
  1363. data/src/core/lib/security/credentials/tls/tls_utils.cc +2 -0
  1364. data/src/core/lib/security/credentials/xds/xds_credentials.cc +22 -29
  1365. data/src/core/lib/security/credentials/xds/xds_credentials.h +2 -4
  1366. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +2 -5
  1367. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -1
  1368. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +7 -59
  1369. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -1
  1370. data/src/core/lib/security/security_connector/ssl_utils.cc +11 -3
  1371. data/src/core/lib/security/security_connector/ssl_utils.h +5 -1
  1372. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +8 -19
  1373. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +2 -2
  1374. data/src/core/lib/security/transport/auth_filters.h +71 -4
  1375. data/src/core/lib/security/transport/client_auth_filter.cc +9 -9
  1376. data/src/core/lib/security/transport/legacy_server_auth_filter.cc +244 -0
  1377. data/src/core/lib/security/transport/secure_endpoint.cc +3 -6
  1378. data/src/core/lib/security/transport/security_handshaker.cc +2 -3
  1379. data/src/core/lib/security/transport/server_auth_filter.cc +70 -92
  1380. data/src/core/lib/security/util/json_util.cc +6 -5
  1381. data/src/core/lib/service_config/service_config_call_data.h +54 -20
  1382. data/src/core/lib/service_config/service_config_impl.cc +13 -6
  1383. data/src/core/lib/slice/slice.h +29 -0
  1384. data/src/core/lib/slice/slice_buffer.cc +15 -0
  1385. data/src/core/lib/slice/slice_buffer.h +19 -4
  1386. data/src/core/lib/slice/slice_refcount.h +1 -1
  1387. data/src/core/lib/surface/builtins.cc +6 -25
  1388. data/src/core/lib/surface/call.cc +935 -270
  1389. data/src/core/lib/surface/call.h +31 -18
  1390. data/src/core/lib/surface/call_log_batch.cc +0 -2
  1391. data/src/core/lib/surface/call_trace.cc +42 -2
  1392. data/src/core/lib/surface/channel.cc +12 -10
  1393. data/src/core/lib/surface/channel.h +2 -8
  1394. data/src/core/lib/surface/channel_init.cc +367 -14
  1395. data/src/core/lib/surface/channel_init.h +177 -28
  1396. data/src/core/lib/surface/completion_queue.cc +12 -4
  1397. data/src/core/lib/surface/event_string.cc +0 -1
  1398. data/src/core/lib/surface/init.cc +21 -47
  1399. data/src/core/lib/surface/lame_client.cc +8 -1
  1400. data/src/core/lib/surface/server.cc +555 -308
  1401. data/src/core/lib/surface/server.h +68 -44
  1402. data/src/core/lib/surface/validate_metadata.cc +37 -22
  1403. data/src/core/lib/surface/validate_metadata.h +13 -3
  1404. data/src/core/lib/surface/version.cc +2 -2
  1405. data/src/core/lib/surface/wait_for_cq_end_op.h +94 -0
  1406. data/src/core/lib/transport/batch_builder.cc +20 -19
  1407. data/src/core/lib/transport/batch_builder.h +48 -38
  1408. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  1409. data/src/core/lib/transport/bdp_estimator.h +2 -2
  1410. data/src/core/lib/transport/call_final_info.cc +38 -0
  1411. data/src/core/lib/transport/call_final_info.h +54 -0
  1412. data/src/core/lib/transport/connectivity_state.cc +3 -4
  1413. data/src/core/lib/transport/connectivity_state.h +4 -0
  1414. data/src/core/lib/transport/error_utils.cc +0 -2
  1415. data/src/core/lib/transport/handshaker.cc +0 -2
  1416. data/src/core/lib/transport/metadata_batch.cc +12 -7
  1417. data/src/core/lib/transport/metadata_batch.h +124 -109
  1418. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  1419. data/src/core/lib/transport/parsed_metadata.h +32 -20
  1420. data/src/core/lib/transport/simple_slice_based_metadata.h +54 -0
  1421. data/src/core/lib/transport/tcp_connect_handshaker.cc +0 -1
  1422. data/src/core/lib/transport/timeout_encoding.h +2 -2
  1423. data/src/core/lib/transport/transport.cc +80 -67
  1424. data/src/core/lib/transport/transport.h +507 -91
  1425. data/src/core/lib/transport/transport_fwd.h +3 -1
  1426. data/src/core/lib/transport/transport_op_string.cc +0 -2
  1427. data/src/core/lib/uri/uri_parser.cc +0 -1
  1428. data/src/core/plugin_registry/grpc_plugin_registry.cc +7 -6
  1429. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -3
  1430. data/src/core/tsi/alts/crypt/aes_gcm.cc +142 -89
  1431. data/src/core/tsi/alts/crypt/gsec.h +387 -319
  1432. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +11 -7
  1433. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  1434. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +5 -7
  1435. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -1
  1436. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +4 -6
  1437. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +12 -13
  1438. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +26 -25
  1439. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +9 -1
  1440. data/src/core/tsi/ssl_transport_security.cc +233 -69
  1441. data/src/core/tsi/ssl_transport_security.h +36 -2
  1442. data/src/ruby/bin/math_pb.rb +24 -18
  1443. data/src/ruby/ext/grpc/extconf.rb +80 -18
  1444. data/src/ruby/ext/grpc/rb_call.c +62 -39
  1445. data/src/ruby/ext/grpc/rb_call_credentials.c +0 -1
  1446. data/src/ruby/ext/grpc/rb_channel.c +109 -84
  1447. data/src/ruby/ext/grpc/rb_channel.h +1 -0
  1448. data/src/ruby/ext/grpc/rb_channel_args.c +21 -3
  1449. data/src/ruby/ext/grpc/rb_channel_args.h +4 -0
  1450. data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
  1451. data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
  1452. data/src/ruby/ext/grpc/rb_event_thread.c +22 -6
  1453. data/src/ruby/ext/grpc/rb_event_thread.h +1 -0
  1454. data/src/ruby/ext/grpc/rb_grpc.c +192 -31
  1455. data/src/ruby/ext/grpc/rb_grpc.h +8 -4
  1456. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +10 -0
  1457. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +15 -0
  1458. data/src/ruby/ext/grpc/rb_server.c +62 -45
  1459. data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
  1460. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
  1461. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
  1462. data/src/ruby/lib/grpc/generic/active_call.rb +9 -14
  1463. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1464. data/src/ruby/lib/grpc/version.rb +1 -1
  1465. data/src/ruby/pb/grpc/health/v1/health_pb.rb +24 -13
  1466. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +24 -3
  1467. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +33 -111
  1468. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +25 -2
  1469. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +22 -0
  1470. data/src/ruby/pb/test/client.rb +16 -0
  1471. data/src/ruby/spec/generic/rpc_server_spec.rb +3 -3
  1472. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -2
  1473. data/third_party/abseil-cpp/absl/base/attributes.h +58 -5
  1474. data/third_party/abseil-cpp/absl/base/call_once.h +1 -1
  1475. data/third_party/abseil-cpp/absl/base/casts.h +8 -8
  1476. data/third_party/abseil-cpp/absl/base/config.h +89 -106
  1477. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +26 -1
  1478. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +2 -2
  1479. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +50 -39
  1480. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +2 -1
  1481. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +17 -18
  1482. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +32 -3
  1483. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +24 -4
  1484. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +31 -73
  1485. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +9 -8
  1486. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +11 -11
  1487. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +23 -32
  1488. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +2 -3
  1489. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1490. data/third_party/abseil-cpp/absl/base/policy_checks.h +3 -3
  1491. data/third_party/abseil-cpp/absl/base/prefetch.h +198 -0
  1492. data/third_party/abseil-cpp/absl/container/fixed_array.h +54 -29
  1493. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +5 -1
  1494. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +6 -2
  1495. data/third_party/abseil-cpp/absl/container/inlined_vector.h +167 -79
  1496. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -1
  1497. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +3 -21
  1498. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +1 -1
  1499. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +46 -0
  1500. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -0
  1501. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +85 -26
  1502. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -18
  1503. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +70 -29
  1504. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +437 -236
  1505. data/third_party/abseil-cpp/absl/crc/crc32c.h +8 -1
  1506. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +14 -8
  1507. data/third_party/abseil-cpp/absl/crc/internal/crc.cc +4 -35
  1508. data/third_party/abseil-cpp/absl/crc/internal/crc.h +2 -10
  1509. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +1 -1
  1510. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +1 -1
  1511. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +4 -4
  1512. data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +8 -10
  1513. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +17 -19
  1514. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +8 -8
  1515. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +2 -1
  1516. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +59 -23
  1517. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +1 -1
  1518. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +1 -1
  1519. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +1 -1
  1520. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +43 -19
  1521. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -0
  1522. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +1 -1
  1523. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc +1 -1
  1524. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +2 -2
  1525. data/third_party/abseil-cpp/absl/flags/internal/flag.h +16 -15
  1526. data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +1 -1
  1527. data/third_party/abseil-cpp/absl/flags/marshalling.cc +43 -2
  1528. data/third_party/abseil-cpp/absl/flags/marshalling.h +5 -0
  1529. data/third_party/abseil-cpp/absl/functional/any_invocable.h +9 -1
  1530. data/third_party/abseil-cpp/absl/functional/bind_front.h +1 -1
  1531. data/third_party/abseil-cpp/absl/functional/function_ref.h +3 -3
  1532. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +37 -24
  1533. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +19 -9
  1534. data/third_party/abseil-cpp/absl/hash/hash.h +7 -4
  1535. data/third_party/abseil-cpp/absl/hash/internal/hash.h +38 -15
  1536. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +6 -0
  1537. data/third_party/abseil-cpp/absl/meta/type_traits.h +48 -373
  1538. data/third_party/abseil-cpp/absl/numeric/bits.h +4 -4
  1539. data/third_party/abseil-cpp/absl/numeric/int128.cc +20 -8
  1540. data/third_party/abseil-cpp/absl/numeric/int128.h +36 -39
  1541. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +0 -3
  1542. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +47 -30
  1543. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +185 -0
  1544. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +4 -3
  1545. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +1 -1
  1546. data/third_party/abseil-cpp/absl/random/internal/platform.h +1 -1
  1547. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +4 -0
  1548. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +1 -1
  1549. data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +1 -1
  1550. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +1 -1
  1551. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +4 -0
  1552. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +12 -24
  1553. data/third_party/abseil-cpp/absl/status/status.cc +11 -7
  1554. data/third_party/abseil-cpp/absl/status/status.h +11 -2
  1555. data/third_party/abseil-cpp/absl/status/statusor.h +22 -8
  1556. data/third_party/abseil-cpp/absl/strings/ascii.cc +54 -6
  1557. data/third_party/abseil-cpp/absl/strings/charconv.cc +21 -4
  1558. data/third_party/abseil-cpp/absl/strings/charconv.h +2 -2
  1559. data/third_party/abseil-cpp/absl/strings/cord.cc +1 -2
  1560. data/third_party/abseil-cpp/absl/strings/cord.h +32 -5
  1561. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +23 -1
  1562. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +18 -0
  1563. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +2 -5
  1564. data/third_party/abseil-cpp/absl/strings/escaping.cc +10 -32
  1565. data/third_party/abseil-cpp/absl/strings/escaping.h +1 -1
  1566. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +2 -4
  1567. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +3 -3
  1568. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +0 -1
  1569. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +15 -13
  1570. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +13 -4
  1571. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +8 -0
  1572. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +5 -3
  1573. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +4 -7
  1574. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +8 -0
  1575. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +2 -2
  1576. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +46 -20
  1577. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +1 -34
  1578. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +2 -1
  1579. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +23 -0
  1580. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +1 -0
  1581. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +2 -77
  1582. data/third_party/abseil-cpp/absl/strings/internal/memutil.h +4 -112
  1583. data/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h +1 -1
  1584. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +10 -31
  1585. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -8
  1586. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +5 -20
  1587. data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +1 -0
  1588. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +1 -1
  1589. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +9 -9
  1590. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +56 -6
  1591. data/third_party/abseil-cpp/absl/strings/match.cc +87 -0
  1592. data/third_party/abseil-cpp/absl/strings/match.h +19 -0
  1593. data/third_party/abseil-cpp/absl/strings/numbers.cc +154 -122
  1594. data/third_party/abseil-cpp/absl/strings/numbers.h +1 -6
  1595. data/third_party/abseil-cpp/absl/strings/str_cat.cc +7 -50
  1596. data/third_party/abseil-cpp/absl/strings/str_cat.h +83 -15
  1597. data/third_party/abseil-cpp/absl/strings/str_format.h +6 -3
  1598. data/third_party/abseil-cpp/absl/strings/str_split.cc +9 -6
  1599. data/third_party/abseil-cpp/absl/strings/string_view.cc +26 -4
  1600. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -0
  1601. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +63 -43
  1602. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +111 -0
  1603. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
  1604. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +11 -7
  1605. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +225 -0
  1606. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +122 -114
  1607. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +12 -8
  1608. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +10 -1
  1609. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +167 -0
  1610. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
  1611. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +122 -0
  1612. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
  1613. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +91 -0
  1614. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
  1615. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +19 -113
  1616. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +42 -0
  1617. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
  1618. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +151 -0
  1619. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h +70 -0
  1620. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +407 -411
  1621. data/third_party/abseil-cpp/absl/synchronization/mutex.h +152 -118
  1622. data/third_party/abseil-cpp/absl/time/clock.cc +6 -7
  1623. data/third_party/abseil-cpp/absl/time/duration.cc +24 -26
  1624. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -0
  1625. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1626. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +3 -3
  1627. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +8 -6
  1628. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +6 -3
  1629. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +4 -2
  1630. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +4 -0
  1631. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +322 -295
  1632. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +8 -17
  1633. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +51 -33
  1634. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +7 -2
  1635. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +128 -2
  1636. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +1 -1
  1637. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +5 -1
  1638. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +34 -34
  1639. data/third_party/abseil-cpp/absl/time/time.cc +9 -2
  1640. data/third_party/abseil-cpp/absl/time/time.h +115 -15
  1641. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -52
  1642. data/third_party/abseil-cpp/absl/types/internal/span.h +2 -2
  1643. data/third_party/abseil-cpp/absl/types/internal/variant.h +2 -2
  1644. data/third_party/abseil-cpp/absl/types/optional.h +15 -13
  1645. data/third_party/abseil-cpp/absl/types/span.h +1 -2
  1646. data/third_party/boringssl-with-bazel/err_data.c +554 -553
  1647. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +7 -3
  1648. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +9 -8
  1649. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +7 -7
  1650. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +6 -6
  1651. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +34 -1
  1652. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +11 -4
  1653. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +3 -3
  1654. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +10 -6
  1655. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +7 -4
  1656. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +9 -7
  1657. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +40 -55
  1658. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +7 -7
  1659. data/third_party/boringssl-with-bazel/src/crypto/bio/errno.c +92 -0
  1660. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +14 -54
  1661. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +23 -22
  1662. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +16 -6
  1663. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +4 -2
  1664. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +4 -4
  1665. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +11 -2
  1666. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +31 -22
  1667. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +1 -1
  1668. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +19 -1
  1669. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +8 -1
  1670. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +29 -26
  1671. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +8 -0
  1672. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  1673. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +31 -192
  1674. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +3 -7
  1675. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +8 -0
  1676. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +3 -2
  1677. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c +0 -1
  1678. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c +0 -2
  1679. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +61 -0
  1680. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c +93 -0
  1681. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c +1 -1
  1682. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +0 -1
  1683. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +0 -2
  1684. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +55 -50
  1685. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +18 -0
  1686. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +2834 -7442
  1687. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +26 -8
  1688. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +4 -0
  1689. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +5 -0
  1690. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +4 -0
  1691. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +20 -0
  1692. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +110 -72
  1693. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +4 -3
  1694. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +42 -34
  1695. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +17 -11
  1696. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  1697. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +23 -21
  1698. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +35 -12
  1699. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +2 -4
  1700. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +3 -7
  1701. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +1 -1
  1702. data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +3 -3
  1703. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +7 -6
  1704. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +34 -72
  1705. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +2 -1
  1706. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +12 -5
  1707. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +5 -6
  1708. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +12 -6
  1709. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +17 -18
  1710. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +51 -15
  1711. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +7 -7
  1712. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +5 -6
  1713. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +37 -8
  1714. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +41 -19
  1715. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +9 -0
  1716. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  1717. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +204 -428
  1718. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +4 -4
  1719. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +31 -64
  1720. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +17 -13
  1721. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +105 -143
  1722. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +19 -19
  1723. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +16 -18
  1724. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +27 -30
  1725. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +23 -26
  1726. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  1727. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +24 -24
  1728. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +21 -37
  1729. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +31 -31
  1730. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +16 -16
  1731. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +1 -1
  1732. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +11 -5
  1733. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +112 -0
  1734. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +2 -10
  1735. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +1 -4
  1736. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +115 -133
  1737. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  1738. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +57 -47
  1739. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +1 -8
  1740. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  1741. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +40 -26
  1742. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +21 -7
  1743. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +38 -19
  1744. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +2 -41
  1745. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +76 -16
  1746. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +5 -288
  1747. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +143 -83
  1748. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +126 -233
  1749. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +113 -24
  1750. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +4 -7
  1751. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  1752. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +33 -0
  1753. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +169 -6
  1754. data/third_party/boringssl-with-bazel/src/crypto/internal.h +216 -87
  1755. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +32 -2
  1756. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +11 -12
  1757. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +834 -0
  1758. data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -8
  1759. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +25 -46
  1760. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +6 -13
  1761. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -14
  1762. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -3
  1763. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +3 -3
  1764. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +7 -7
  1765. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +8 -5
  1766. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  1767. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +7 -6
  1768. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +6 -12
  1769. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +52 -0
  1770. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +34 -0
  1771. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +38 -0
  1772. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +41 -19
  1773. data/third_party/boringssl-with-bazel/src/crypto/refcount.c +59 -0
  1774. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +77 -0
  1775. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  1776. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +152 -72
  1777. data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -8
  1778. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +6 -35
  1779. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +5 -26
  1780. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +62 -0
  1781. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +240 -72
  1782. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +35 -0
  1783. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +588 -130
  1784. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +27 -18
  1785. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +1 -1
  1786. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +10 -20
  1787. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +0 -3
  1788. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +3 -2
  1789. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +17 -39
  1790. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +18 -14
  1791. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +39 -48
  1792. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +1 -141
  1793. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +1 -3
  1794. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +19 -25
  1795. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +72 -23
  1796. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +8 -4
  1797. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +8 -12
  1798. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +22 -24
  1799. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -72
  1800. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +22 -29
  1801. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +1 -1
  1802. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +9 -7
  1803. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -1
  1804. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +7 -7
  1805. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +2 -2
  1806. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +1 -1
  1807. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +2 -3
  1808. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +33 -46
  1809. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +1 -0
  1810. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +3 -5
  1811. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +20 -52
  1812. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -26
  1813. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +11 -9
  1814. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +17 -10
  1815. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +5 -3
  1816. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +5 -7
  1817. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +4 -119
  1818. data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +207 -0
  1819. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +11 -4
  1820. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +37 -112
  1821. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +19 -13
  1822. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  1823. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +0 -2
  1824. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +6 -0
  1825. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +5 -1
  1826. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -1
  1827. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +0 -21
  1828. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +28 -11
  1829. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +19 -6
  1830. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +14 -10
  1831. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +34 -2
  1832. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  1833. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +2 -11
  1834. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  1835. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -3
  1836. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -14
  1837. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +91 -62
  1838. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +26 -19
  1839. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +275 -96
  1840. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +242 -223
  1841. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +201 -0
  1842. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -25
  1843. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +4 -0
  1844. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +8 -0
  1845. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +760 -614
  1846. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +45 -12
  1847. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +11 -6
  1848. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +10 -68
  1849. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +20 -20
  1850. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +33 -18
  1851. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
  1852. data/third_party/boringssl-with-bazel/src/ssl/internal.h +86 -46
  1853. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +37 -18
  1854. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +8 -4
  1855. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +209 -209
  1856. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +6 -6
  1857. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +76 -118
  1858. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +209 -33
  1859. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +17 -4
  1860. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +19 -21
  1861. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  1862. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +2 -1
  1863. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -3
  1864. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +5 -21
  1865. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -2
  1866. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +691 -0
  1867. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  1868. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  1869. data/third_party/cares/cares/include/ares.h +23 -1
  1870. data/third_party/cares/cares/include/ares_nameser.h +484 -0
  1871. data/third_party/cares/cares/include/ares_rules.h +2 -2
  1872. data/third_party/cares/cares/include/ares_version.h +3 -3
  1873. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  1874. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  1875. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  1876. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  1877. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  1878. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  1879. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  1880. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  1881. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  1882. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  1883. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  1884. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  1885. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  1886. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  1887. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  1888. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  1889. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  1890. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  1891. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  1892. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  1893. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  1894. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  1895. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  1896. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  1897. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  1898. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  1899. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  1900. data/third_party/upb/upb/base/descriptor_constants.h +84 -0
  1901. data/third_party/upb/upb/base/internal/log2.h +38 -0
  1902. data/third_party/upb/upb/base/status.c +61 -0
  1903. data/third_party/upb/upb/base/status.h +46 -0
  1904. data/third_party/upb/upb/base/status.hpp +50 -0
  1905. data/third_party/upb/upb/base/string_view.h +58 -0
  1906. data/third_party/upb/upb/generated_code_support.h +33 -0
  1907. data/third_party/upb/upb/hash/common.c +836 -0
  1908. data/third_party/upb/upb/hash/common.h +174 -0
  1909. data/third_party/upb/upb/hash/int_table.h +82 -0
  1910. data/third_party/upb/upb/hash/str_table.h +142 -0
  1911. data/third_party/upb/upb/json/decode.c +1480 -0
  1912. data/third_party/upb/upb/json/decode.h +55 -0
  1913. data/third_party/upb/upb/json/encode.c +807 -0
  1914. data/third_party/upb/upb/json/encode.h +73 -0
  1915. data/third_party/upb/upb/lex/atoi.c +48 -0
  1916. data/third_party/upb/upb/lex/atoi.h +35 -0
  1917. data/third_party/upb/upb/lex/round_trip.c +47 -0
  1918. data/third_party/upb/upb/lex/round_trip.h +35 -0
  1919. data/third_party/upb/upb/lex/strtod.c +77 -0
  1920. data/third_party/upb/upb/lex/strtod.h +26 -0
  1921. data/third_party/upb/upb/lex/unicode.c +37 -0
  1922. data/third_party/upb/upb/lex/unicode.h +59 -0
  1923. data/third_party/upb/upb/mem/alloc.c +27 -0
  1924. data/third_party/upb/upb/mem/alloc.h +78 -0
  1925. data/third_party/upb/upb/mem/arena.c +368 -0
  1926. data/third_party/upb/upb/mem/arena.h +132 -0
  1927. data/third_party/upb/upb/mem/arena.hpp +54 -0
  1928. data/third_party/upb/upb/mem/internal/arena.h +94 -0
  1929. data/third_party/upb/upb/message/accessors.c +71 -0
  1930. data/third_party/upb/upb/message/accessors.h +380 -0
  1931. data/third_party/upb/upb/message/array.c +154 -0
  1932. data/third_party/upb/upb/message/array.h +98 -0
  1933. data/third_party/upb/upb/message/internal/accessors.h +367 -0
  1934. data/third_party/upb/upb/message/internal/array.h +138 -0
  1935. data/third_party/upb/upb/message/internal/extension.h +63 -0
  1936. data/third_party/upb/upb/message/internal/map.h +173 -0
  1937. data/third_party/upb/upb/message/internal/map_entry.h +66 -0
  1938. data/third_party/upb/upb/message/internal/map_sorter.h +112 -0
  1939. data/third_party/upb/upb/message/internal/message.h +106 -0
  1940. data/third_party/upb/upb/message/internal/types.h +23 -0
  1941. data/third_party/upb/upb/message/map.c +145 -0
  1942. data/third_party/upb/upb/message/map.h +147 -0
  1943. data/third_party/upb/upb/message/map_gencode_util.h +81 -0
  1944. data/third_party/upb/upb/message/map_sorter.c +170 -0
  1945. data/third_party/upb/upb/message/message.c +154 -0
  1946. data/third_party/upb/upb/message/message.h +52 -0
  1947. data/third_party/upb/upb/message/tagged_ptr.h +69 -0
  1948. data/third_party/upb/upb/message/types.h +15 -0
  1949. data/third_party/upb/upb/message/value.h +46 -0
  1950. data/third_party/upb/upb/mini_descriptor/build_enum.c +130 -0
  1951. data/third_party/upb/upb/mini_descriptor/build_enum.h +42 -0
  1952. data/third_party/upb/upb/mini_descriptor/decode.c +870 -0
  1953. data/third_party/upb/upb/mini_descriptor/decode.h +120 -0
  1954. data/third_party/upb/upb/mini_descriptor/internal/base92.c +26 -0
  1955. data/third_party/upb/upb/mini_descriptor/internal/base92.h +63 -0
  1956. data/third_party/upb/upb/mini_descriptor/internal/decoder.h +53 -0
  1957. data/third_party/upb/upb/mini_descriptor/internal/encode.c +323 -0
  1958. data/third_party/upb/upb/mini_descriptor/internal/encode.h +92 -0
  1959. data/third_party/upb/upb/mini_descriptor/internal/encode.hpp +118 -0
  1960. data/third_party/upb/upb/mini_descriptor/internal/modifiers.h +32 -0
  1961. data/third_party/upb/upb/mini_descriptor/internal/wire_constants.h +72 -0
  1962. data/third_party/upb/upb/mini_descriptor/link.c +122 -0
  1963. data/third_party/upb/upb/mini_descriptor/link.h +84 -0
  1964. data/third_party/upb/upb/mini_table/enum.h +38 -0
  1965. data/third_party/upb/upb/mini_table/extension.h +15 -0
  1966. data/third_party/upb/upb/mini_table/extension_registry.c +76 -0
  1967. data/third_party/upb/upb/mini_table/extension_registry.h +85 -0
  1968. data/third_party/upb/upb/mini_table/field.h +98 -0
  1969. data/third_party/upb/upb/mini_table/file.h +15 -0
  1970. data/third_party/upb/upb/mini_table/internal/enum.h +58 -0
  1971. data/third_party/upb/upb/mini_table/internal/extension.h +27 -0
  1972. data/third_party/upb/upb/mini_table/internal/field.h +114 -0
  1973. data/third_party/upb/upb/mini_table/internal/file.h +29 -0
  1974. data/third_party/upb/upb/mini_table/internal/message.c +19 -0
  1975. data/third_party/upb/upb/mini_table/internal/message.h +88 -0
  1976. data/third_party/upb/upb/mini_table/internal/sub.h +18 -0
  1977. data/third_party/upb/upb/mini_table/message.c +77 -0
  1978. data/third_party/upb/upb/mini_table/message.h +85 -0
  1979. data/third_party/upb/upb/mini_table/sub.h +15 -0
  1980. data/third_party/upb/upb/port/atomic.h +83 -0
  1981. data/third_party/upb/upb/port/def.inc +328 -0
  1982. data/third_party/upb/upb/port/undef.inc +55 -0
  1983. data/third_party/upb/upb/port/vsnprintf_compat.h +30 -0
  1984. data/third_party/upb/upb/reflection/common.h +51 -0
  1985. data/third_party/upb/upb/reflection/def.h +24 -0
  1986. data/third_party/upb/upb/reflection/def.hpp +605 -0
  1987. data/third_party/upb/upb/reflection/def_pool.c +443 -0
  1988. data/third_party/upb/upb/reflection/def_pool.h +87 -0
  1989. data/third_party/upb/upb/reflection/def_type.c +30 -0
  1990. data/third_party/upb/upb/reflection/def_type.h +60 -0
  1991. data/third_party/upb/upb/reflection/desc_state.c +33 -0
  1992. data/third_party/upb/upb/reflection/enum_def.c +292 -0
  1993. data/third_party/upb/upb/reflection/enum_def.h +60 -0
  1994. data/third_party/upb/upb/reflection/enum_reserved_range.c +63 -0
  1995. data/third_party/upb/upb/reflection/enum_reserved_range.h +31 -0
  1996. data/third_party/upb/upb/reflection/enum_value_def.c +125 -0
  1997. data/third_party/upb/upb/reflection/enum_value_def.h +37 -0
  1998. data/third_party/upb/upb/reflection/extension_range.c +74 -0
  1999. data/third_party/upb/upb/reflection/extension_range.h +35 -0
  2000. data/third_party/upb/upb/reflection/field_def.c +948 -0
  2001. data/third_party/upb/upb/reflection/field_def.h +74 -0
  2002. data/third_party/upb/upb/reflection/file_def.c +345 -0
  2003. data/third_party/upb/upb/reflection/file_def.h +57 -0
  2004. data/third_party/upb/upb/reflection/internal/def_builder.c +339 -0
  2005. data/third_party/upb/upb/reflection/internal/def_builder.h +137 -0
  2006. data/third_party/upb/upb/reflection/internal/def_pool.h +57 -0
  2007. data/third_party/upb/upb/reflection/internal/desc_state.h +44 -0
  2008. data/third_party/upb/upb/reflection/internal/enum_def.h +36 -0
  2009. data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +35 -0
  2010. data/third_party/upb/upb/reflection/internal/enum_value_def.h +37 -0
  2011. data/third_party/upb/upb/reflection/internal/extension_range.h +34 -0
  2012. data/third_party/upb/upb/reflection/internal/field_def.h +56 -0
  2013. data/third_party/upb/upb/reflection/internal/file_def.h +37 -0
  2014. data/third_party/upb/upb/reflection/internal/message_def.h +43 -0
  2015. data/third_party/upb/upb/reflection/internal/message_reserved_range.h +35 -0
  2016. data/third_party/upb/upb/reflection/internal/method_def.h +33 -0
  2017. data/third_party/upb/upb/reflection/internal/oneof_def.h +37 -0
  2018. data/third_party/upb/upb/reflection/internal/service_def.h +33 -0
  2019. data/third_party/upb/upb/reflection/internal/strdup2.c +33 -0
  2020. data/third_party/upb/upb/reflection/internal/strdup2.h +32 -0
  2021. data/third_party/upb/upb/reflection/message.c +213 -0
  2022. data/third_party/upb/upb/reflection/message.h +89 -0
  2023. data/third_party/upb/upb/reflection/message.hpp +19 -0
  2024. data/third_party/upb/upb/reflection/message_def.c +736 -0
  2025. data/third_party/upb/upb/reflection/message_def.h +156 -0
  2026. data/third_party/upb/upb/reflection/message_reserved_range.c +61 -0
  2027. data/third_party/upb/upb/reflection/message_reserved_range.h +31 -0
  2028. data/third_party/upb/upb/reflection/method_def.c +105 -0
  2029. data/third_party/upb/upb/reflection/method_def.h +39 -0
  2030. data/third_party/upb/upb/reflection/oneof_def.c +208 -0
  2031. data/third_party/upb/upb/reflection/oneof_def.h +47 -0
  2032. data/third_party/upb/upb/reflection/service_def.c +109 -0
  2033. data/third_party/upb/upb/reflection/service_def.h +40 -0
  2034. data/third_party/upb/upb/text/encode.c +457 -0
  2035. data/third_party/upb/upb/text/encode.h +49 -0
  2036. data/third_party/upb/upb/wire/decode.c +1381 -0
  2037. data/third_party/upb/upb/wire/decode.h +132 -0
  2038. data/third_party/upb/upb/wire/decode_fast.c +996 -0
  2039. data/third_party/upb/upb/wire/decode_fast.h +147 -0
  2040. data/third_party/upb/upb/wire/encode.c +638 -0
  2041. data/third_party/upb/upb/wire/encode.h +76 -0
  2042. data/third_party/upb/upb/wire/eps_copy_input_stream.c +19 -0
  2043. data/third_party/upb/upb/wire/eps_copy_input_stream.h +405 -0
  2044. data/third_party/upb/upb/wire/internal/constants.h +27 -0
  2045. data/third_party/upb/upb/wire/internal/decode.h +143 -0
  2046. data/third_party/upb/upb/wire/internal/swap.h +45 -0
  2047. data/third_party/upb/upb/wire/reader.c +47 -0
  2048. data/third_party/upb/upb/wire/reader.h +207 -0
  2049. data/third_party/upb/upb/wire/types.h +21 -0
  2050. data/third_party/utf8_range/range2-neon.c +157 -0
  2051. data/third_party/utf8_range/utf8_range.h +21 -0
  2052. data/third_party/zlib/adler32.c +5 -27
  2053. data/third_party/zlib/compress.c +5 -16
  2054. data/third_party/zlib/crc32.c +86 -162
  2055. data/third_party/zlib/deflate.c +233 -336
  2056. data/third_party/zlib/deflate.h +8 -8
  2057. data/third_party/zlib/gzguts.h +11 -12
  2058. data/third_party/zlib/infback.c +7 -23
  2059. data/third_party/zlib/inffast.c +1 -4
  2060. data/third_party/zlib/inffast.h +1 -1
  2061. data/third_party/zlib/inflate.c +30 -99
  2062. data/third_party/zlib/inftrees.c +6 -11
  2063. data/third_party/zlib/inftrees.h +3 -3
  2064. data/third_party/zlib/trees.c +224 -302
  2065. data/third_party/zlib/uncompr.c +4 -12
  2066. data/third_party/zlib/zconf.h +6 -2
  2067. data/third_party/zlib/zlib.h +191 -188
  2068. data/third_party/zlib/zutil.c +16 -44
  2069. data/third_party/zlib/zutil.h +10 -10
  2070. metadata +1118 -729
  2071. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -175
  2072. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  2073. data/src/core/ext/filters/client_channel/http_proxy.cc +0 -200
  2074. data/src/core/ext/filters/client_channel/http_proxy.h +0 -52
  2075. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +0 -42
  2076. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +0 -64
  2077. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +0 -1229
  2078. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +0 -30
  2079. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  2080. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  2081. data/src/core/ext/transport/chttp2/transport/stream_map.cc +0 -177
  2082. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -68
  2083. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +0 -117
  2084. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +0 -502
  2085. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +0 -122
  2086. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +0 -578
  2087. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +0 -125
  2088. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +0 -516
  2089. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +0 -388
  2090. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +0 -1953
  2091. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +0 -56
  2092. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +0 -159
  2093. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +0 -64
  2094. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +0 -189
  2095. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +0 -46
  2096. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +0 -128
  2097. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +0 -43
  2098. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +0 -106
  2099. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +0 -43
  2100. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +0 -101
  2101. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +0 -106
  2102. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +0 -613
  2103. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +0 -48
  2104. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +0 -107
  2105. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +0 -60
  2106. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +0 -81
  2107. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +0 -53
  2108. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +0 -103
  2109. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +0 -270
  2110. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +0 -1300
  2111. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +0 -419
  2112. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +0 -2317
  2113. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +0 -95
  2114. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +0 -394
  2115. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +0 -535
  2116. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +0 -3040
  2117. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +0 -48
  2118. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +0 -107
  2119. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +0 -89
  2120. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +0 -549
  2121. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +0 -299
  2122. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +0 -1437
  2123. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +0 -168
  2124. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +0 -801
  2125. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +0 -49
  2126. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +0 -120
  2127. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +0 -421
  2128. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +0 -1891
  2129. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +0 -163
  2130. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +0 -806
  2131. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +0 -47
  2132. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +0 -104
  2133. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +0 -47
  2134. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +0 -107
  2135. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +0 -58
  2136. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +0 -159
  2137. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +0 -269
  2138. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +0 -1329
  2139. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +0 -223
  2140. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +0 -1287
  2141. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +0 -49
  2142. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +0 -126
  2143. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +0 -326
  2144. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +0 -1796
  2145. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +0 -58
  2146. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +0 -179
  2147. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +0 -60
  2148. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +0 -177
  2149. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +0 -62
  2150. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +0 -209
  2151. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +0 -56
  2152. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +0 -182
  2153. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +0 -48
  2154. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +0 -122
  2155. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +0 -106
  2156. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +0 -360
  2157. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +0 -150
  2158. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +0 -678
  2159. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +0 -129
  2160. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +0 -588
  2161. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +0 -46
  2162. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +0 -98
  2163. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +0 -212
  2164. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +0 -1185
  2165. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +0 -186
  2166. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +0 -969
  2167. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +0 -68
  2168. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +0 -282
  2169. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +0 -59
  2170. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +0 -186
  2171. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +0 -53
  2172. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +0 -140
  2173. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +0 -165
  2174. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +0 -748
  2175. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +0 -174
  2176. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +0 -757
  2177. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +0 -242
  2178. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +0 -1217
  2179. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +0 -105
  2180. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +0 -452
  2181. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +0 -1139
  2182. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +0 -6695
  2183. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +0 -79
  2184. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +0 -267
  2185. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +0 -241
  2186. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +0 -1191
  2187. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +0 -45
  2188. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +0 -101
  2189. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +0 -49
  2190. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +0 -107
  2191. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +0 -63
  2192. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +0 -175
  2193. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +0 -52
  2194. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +0 -138
  2195. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +0 -63
  2196. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +0 -254
  2197. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +0 -46
  2198. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +0 -107
  2199. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +0 -47
  2200. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +0 -98
  2201. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +0 -69
  2202. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +0 -221
  2203. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +0 -33
  2204. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +0 -43
  2205. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +0 -71
  2206. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +0 -226
  2207. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +0 -55
  2208. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +0 -159
  2209. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +0 -42
  2210. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +0 -89
  2211. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +0 -96
  2212. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +0 -395
  2213. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +0 -94
  2214. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +0 -445
  2215. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +0 -71
  2216. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +0 -237
  2217. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +0 -58
  2218. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +0 -195
  2219. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +0 -62
  2220. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +0 -179
  2221. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +0 -478
  2222. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +0 -2805
  2223. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +0 -46
  2224. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +0 -98
  2225. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +0 -56
  2226. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +0 -212
  2227. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +0 -111
  2228. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +0 -444
  2229. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +0 -58
  2230. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +0 -216
  2231. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +0 -46
  2232. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +0 -98
  2233. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +0 -28
  2234. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +0 -38
  2235. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +0 -177
  2236. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +0 -932
  2237. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +0 -88
  2238. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +0 -320
  2239. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +0 -193
  2240. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +0 -1085
  2241. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +0 -62
  2242. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +0 -168
  2243. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +0 -38
  2244. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +0 -74
  2245. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +0 -282
  2246. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +0 -1399
  2247. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +0 -68
  2248. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +0 -218
  2249. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +0 -138
  2250. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +0 -651
  2251. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +0 -48
  2252. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +0 -116
  2253. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +0 -76
  2254. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +0 -265
  2255. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +0 -47
  2256. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +0 -113
  2257. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +0 -85
  2258. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +0 -279
  2259. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +0 -62
  2260. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +0 -196
  2261. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +0 -49
  2262. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +0 -121
  2263. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +0 -48
  2264. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +0 -117
  2265. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +0 -47
  2266. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +0 -104
  2267. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +0 -80
  2268. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +0 -246
  2269. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +0 -43
  2270. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +0 -114
  2271. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +0 -67
  2272. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +0 -226
  2273. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +0 -60
  2274. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +0 -178
  2275. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +0 -78
  2276. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +0 -306
  2277. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +0 -107
  2278. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +0 -457
  2279. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +0 -107
  2280. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +0 -439
  2281. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +0 -66
  2282. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +0 -213
  2283. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +0 -26
  2284. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +0 -39
  2285. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +0 -42
  2286. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +0 -143
  2287. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +0 -54
  2288. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +0 -147
  2289. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +0 -66
  2290. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +0 -208
  2291. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +0 -63
  2292. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +0 -202
  2293. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +0 -26
  2294. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +0 -43
  2295. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +0 -43
  2296. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +0 -101
  2297. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +0 -51
  2298. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +0 -131
  2299. data/src/core/ext/upb-generated/google/api/annotations.upb.c +0 -40
  2300. data/src/core/ext/upb-generated/google/api/annotations.upb.h +0 -53
  2301. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +0 -271
  2302. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +0 -1280
  2303. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +0 -283
  2304. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +0 -1386
  2305. data/src/core/ext/upb-generated/google/api/http.upb.c +0 -81
  2306. data/src/core/ext/upb-generated/google/api/http.upb.h +0 -343
  2307. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +0 -46
  2308. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +0 -115
  2309. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +0 -40
  2310. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +0 -92
  2311. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +0 -578
  2312. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +0 -3217
  2313. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +0 -40
  2314. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +0 -92
  2315. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +0 -35
  2316. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +0 -74
  2317. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +0 -95
  2318. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +0 -329
  2319. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +0 -40
  2320. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +0 -92
  2321. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +0 -127
  2322. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +0 -475
  2323. data/src/core/ext/upb-generated/google/rpc/status.upb.c +0 -46
  2324. data/src/core/ext/upb-generated/google/rpc/status.upb.h +0 -115
  2325. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +0 -84
  2326. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +0 -335
  2327. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +0 -63
  2328. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +0 -188
  2329. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +0 -240
  2330. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +0 -1173
  2331. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +0 -57
  2332. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +0 -182
  2333. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +0 -50
  2334. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +0 -139
  2335. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +0 -161
  2336. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +0 -705
  2337. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +0 -70
  2338. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +0 -216
  2339. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +0 -175
  2340. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +0 -792
  2341. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +0 -110
  2342. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +0 -290
  2343. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +0 -55
  2344. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +0 -112
  2345. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +0 -38
  2346. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +0 -46
  2347. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +0 -54
  2348. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +0 -119
  2349. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +0 -53
  2350. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +0 -103
  2351. data/src/core/ext/upb-generated/validate/validate.upb.c +0 -560
  2352. data/src/core/ext/upb-generated/validate/validate.upb.h +0 -4105
  2353. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +0 -110
  2354. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +0 -290
  2355. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +0 -55
  2356. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +0 -112
  2357. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +0 -38
  2358. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +0 -46
  2359. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +0 -105
  2360. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +0 -306
  2361. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +0 -53
  2362. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +0 -103
  2363. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +0 -41
  2364. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +0 -83
  2365. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +0 -47
  2366. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +0 -107
  2367. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +0 -66
  2368. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +0 -208
  2369. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +0 -56
  2370. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +0 -119
  2371. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +0 -46
  2372. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +0 -107
  2373. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +0 -49
  2374. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +0 -131
  2375. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +0 -68
  2376. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +0 -248
  2377. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +0 -49
  2378. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +0 -125
  2379. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +0 -89
  2380. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +0 -254
  2381. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +0 -46
  2382. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +0 -113
  2383. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +0 -46
  2384. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +0 -98
  2385. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +0 -62
  2386. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +0 -174
  2387. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +0 -36
  2388. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +0 -74
  2389. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +0 -65
  2390. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +0 -191
  2391. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +0 -207
  2392. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +0 -914
  2393. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +0 -127
  2394. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +0 -474
  2395. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +0 -52
  2396. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +0 -151
  2397. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +0 -65
  2398. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +0 -226
  2399. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +0 -67
  2400. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +0 -214
  2401. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +0 -64
  2402. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +0 -208
  2403. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +0 -45
  2404. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +0 -107
  2405. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +0 -84
  2406. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +0 -55
  2407. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +0 -128
  2408. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +0 -50
  2409. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +0 -102
  2410. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -55
  2411. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +0 -277
  2412. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +0 -125
  2413. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +0 -43
  2414. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +0 -40
  2415. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +0 -56
  2416. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +0 -40
  2417. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +0 -49
  2418. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +0 -35
  2419. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +0 -46
  2420. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +0 -35
  2421. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +0 -46
  2422. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +0 -35
  2423. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +0 -142
  2424. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +0 -40
  2425. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +0 -51
  2426. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +0 -35
  2427. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +0 -48
  2428. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +0 -30
  2429. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +0 -38
  2430. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +0 -35
  2431. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +0 -222
  2432. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +0 -105
  2433. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +0 -409
  2434. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +0 -120
  2435. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +0 -98
  2436. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +0 -45
  2437. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +0 -567
  2438. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +0 -150
  2439. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +0 -51
  2440. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +0 -35
  2441. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +0 -138
  2442. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +0 -35
  2443. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +0 -206
  2444. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +0 -105
  2445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +0 -132
  2446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +0 -70
  2447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +0 -54
  2448. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +0 -35
  2449. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +0 -271
  2450. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +0 -150
  2451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +0 -168
  2452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +0 -65
  2453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +0 -53
  2454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +0 -35
  2455. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +0 -47
  2456. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +0 -35
  2457. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +0 -53
  2458. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +0 -40
  2459. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +0 -235
  2460. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +0 -100
  2461. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +0 -234
  2462. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +0 -75
  2463. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +0 -53
  2464. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +0 -35
  2465. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +0 -305
  2466. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +0 -110
  2467. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +0 -57
  2468. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +0 -40
  2469. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +0 -55
  2470. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +0 -40
  2471. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +0 -61
  2472. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +0 -40
  2473. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +0 -70
  2474. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +0 -35
  2475. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +0 -49
  2476. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +0 -35
  2477. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +0 -99
  2478. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +0 -50
  2479. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +0 -133
  2480. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +0 -60
  2481. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +0 -136
  2482. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +0 -55
  2483. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +0 -48
  2484. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +0 -35
  2485. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +0 -227
  2486. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +0 -80
  2487. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +0 -190
  2488. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +0 -65
  2489. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +0 -101
  2490. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +0 -35
  2491. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +0 -71
  2492. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +0 -40
  2493. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +0 -69
  2494. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +0 -35
  2495. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +0 -125
  2496. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +0 -70
  2497. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +0 -134
  2498. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +0 -75
  2499. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +0 -217
  2500. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +0 -80
  2501. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +0 -123
  2502. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -45
  2503. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +0 -972
  2504. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +0 -315
  2505. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +0 -77
  2506. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +0 -45
  2507. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +0 -199
  2508. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +0 -90
  2509. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +0 -56
  2510. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +0 -35
  2511. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +0 -57
  2512. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +0 -35
  2513. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +0 -57
  2514. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +0 -40
  2515. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +0 -72
  2516. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +0 -35
  2517. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +0 -99
  2518. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +0 -35
  2519. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +0 -45
  2520. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +0 -35
  2521. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +0 -52
  2522. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +0 -35
  2523. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +0 -71
  2524. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +0 -40
  2525. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +0 -61
  2526. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +0 -30
  2527. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +0 -75
  2528. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +0 -40
  2529. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +0 -79
  2530. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +0 -35
  2531. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +0 -50
  2532. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +0 -35
  2533. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +0 -92
  2534. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +0 -55
  2535. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +0 -117
  2536. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +0 -45
  2537. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +0 -80
  2538. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +0 -40
  2539. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +0 -89
  2540. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +0 -35
  2541. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +0 -60
  2542. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +0 -40
  2543. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +0 -577
  2544. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +0 -130
  2545. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +0 -50
  2546. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +0 -35
  2547. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +0 -48
  2548. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +0 -30
  2549. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +0 -213
  2550. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +0 -65
  2551. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +0 -91
  2552. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +0 -45
  2553. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +0 -258
  2554. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +0 -65
  2555. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +0 -58
  2556. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +0 -40
  2557. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +0 -58
  2558. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +0 -35
  2559. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +0 -200
  2560. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +0 -100
  2561. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +0 -76
  2562. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +0 -40
  2563. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +0 -153
  2564. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +0 -55
  2565. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +0 -46
  2566. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +0 -35
  2567. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +0 -56
  2568. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +0 -50
  2569. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +0 -48
  2570. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +0 -35
  2571. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +0 -55
  2572. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +0 -55
  2573. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +0 -61
  2574. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +0 -40
  2575. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +0 -54
  2576. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +0 -35
  2577. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +0 -52
  2578. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +0 -35
  2579. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +0 -51
  2580. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +0 -35
  2581. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +0 -71
  2582. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +0 -45
  2583. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +0 -40
  2584. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +0 -40
  2585. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +0 -65
  2586. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +0 -40
  2587. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +0 -58
  2588. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +0 -40
  2589. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +0 -75
  2590. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +0 -45
  2591. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +0 -78
  2592. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +0 -65
  2593. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +0 -85
  2594. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +0 -55
  2595. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +0 -53
  2596. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +0 -45
  2597. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +0 -36
  2598. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +0 -30
  2599. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +0 -94
  2600. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +0 -35
  2601. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +0 -54
  2602. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +0 -40
  2603. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +0 -48
  2604. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +0 -45
  2605. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +0 -69
  2606. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +0 -40
  2607. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +0 -39
  2608. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +0 -30
  2609. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +0 -44
  2610. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +0 -35
  2611. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +0 -57
  2612. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +0 -35
  2613. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +0 -40
  2614. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +0 -30
  2615. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +0 -154
  2616. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +0 -95
  2617. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +0 -153
  2618. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +0 -100
  2619. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +0 -52
  2620. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +0 -45
  2621. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +0 -39
  2622. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +0 -35
  2623. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +0 -34
  2624. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +0 -35
  2625. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +0 -331
  2626. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +0 -165
  2627. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +0 -35
  2628. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +0 -35
  2629. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +0 -32
  2630. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +0 -35
  2631. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +0 -54
  2632. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +0 -50
  2633. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +0 -35
  2634. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +0 -35
  2635. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +0 -45
  2636. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +0 -75
  2637. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +0 -37
  2638. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +0 -35
  2639. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +0 -67
  2640. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +0 -50
  2641. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +0 -99
  2642. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +0 -75
  2643. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +0 -62
  2644. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +0 -45
  2645. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +0 -47
  2646. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +0 -35
  2647. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +0 -34
  2648. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +0 -30
  2649. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +0 -46
  2650. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +0 -35
  2651. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +0 -39
  2652. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +0 -35
  2653. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +0 -283
  2654. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +0 -145
  2655. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +0 -63
  2656. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +0 -45
  2657. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +0 -47
  2658. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +0 -35
  2659. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +0 -35
  2660. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +0 -30
  2661. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +0 -64
  2662. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +0 -50
  2663. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +0 -40
  2664. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +0 -35
  2665. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +0 -38
  2666. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +0 -35
  2667. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +0 -45
  2668. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +0 -35
  2669. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +0 -56
  2670. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +0 -40
  2671. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +0 -39
  2672. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +0 -40
  2673. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +0 -41
  2674. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +0 -35
  2675. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +0 -45
  2676. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +0 -35
  2677. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +0 -61
  2678. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +0 -40
  2679. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +0 -46
  2680. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +0 -35
  2681. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +0 -43
  2682. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +0 -35
  2683. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +0 -51
  2684. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +0 -40
  2685. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +0 -36
  2686. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +0 -35
  2687. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +0 -55
  2688. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +0 -40
  2689. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +0 -126
  2690. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +0 -80
  2691. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +0 -71
  2692. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +0 -60
  2693. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +0 -40
  2694. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +0 -40
  2695. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +0 -52
  2696. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +0 -40
  2697. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +0 -60
  2698. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +0 -40
  2699. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +0 -36
  2700. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +0 -45
  2701. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +0 -37
  2702. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +0 -35
  2703. data/src/core/lib/event_engine/executor/executor.h +0 -38
  2704. data/src/core/lib/event_engine/memory_allocator.cc +0 -74
  2705. data/src/core/lib/event_engine/thread_pool.cc +0 -253
  2706. data/src/core/lib/event_engine/thread_pool.h +0 -141
  2707. data/src/core/lib/promise/detail/basic_join.h +0 -197
  2708. data/src/core/lib/promise/detail/switch.h +0 -1455
  2709. data/src/core/lib/resolver/server_address.cc +0 -182
  2710. data/src/core/lib/transport/pid_controller.cc +0 -51
  2711. data/src/core/lib/transport/pid_controller.h +0 -116
  2712. data/src/core/lib/transport/transport_impl.h +0 -102
  2713. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -403
  2714. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c +0 -62
  2715. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm.c +0 -38
  2716. data/third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c +0 -112
  2717. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +0 -34
  2718. data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -65
  2719. data/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c +0 -52
  2720. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
  2721. data/third_party/cares/cares/src/lib/ares_nameser.h +0 -482
  2722. data/third_party/re2/util/benchmark.h +0 -156
  2723. data/third_party/re2/util/flags.h +0 -26
  2724. data/third_party/re2/util/malloc_counter.h +0 -19
  2725. data/third_party/re2/util/pcre.cc +0 -1025
  2726. data/third_party/re2/util/pcre.h +0 -681
  2727. data/third_party/re2/util/test.h +0 -50
  2728. data/third_party/upb/third_party/utf8_range/range2-neon.c +0 -157
  2729. data/third_party/upb/third_party/utf8_range/utf8_range.h +0 -9
  2730. data/third_party/upb/upb/arena.c +0 -277
  2731. data/third_party/upb/upb/arena.h +0 -225
  2732. data/third_party/upb/upb/array.c +0 -114
  2733. data/third_party/upb/upb/array.h +0 -83
  2734. data/third_party/upb/upb/collections.h +0 -36
  2735. data/third_party/upb/upb/decode.c +0 -1221
  2736. data/third_party/upb/upb/decode.h +0 -95
  2737. data/third_party/upb/upb/decode_fast.c +0 -1055
  2738. data/third_party/upb/upb/decode_fast.h +0 -153
  2739. data/third_party/upb/upb/def.c +0 -3269
  2740. data/third_party/upb/upb/def.h +0 -416
  2741. data/third_party/upb/upb/def.hpp +0 -441
  2742. data/third_party/upb/upb/encode.c +0 -613
  2743. data/third_party/upb/upb/encode.h +0 -81
  2744. data/third_party/upb/upb/extension_registry.c +0 -93
  2745. data/third_party/upb/upb/extension_registry.h +0 -84
  2746. data/third_party/upb/upb/internal/decode.h +0 -211
  2747. data/third_party/upb/upb/internal/table.h +0 -385
  2748. data/third_party/upb/upb/internal/upb.h +0 -68
  2749. data/third_party/upb/upb/internal/vsnprintf_compat.h +0 -52
  2750. data/third_party/upb/upb/json_decode.c +0 -1512
  2751. data/third_party/upb/upb/json_decode.h +0 -47
  2752. data/third_party/upb/upb/json_encode.c +0 -780
  2753. data/third_party/upb/upb/json_encode.h +0 -65
  2754. data/third_party/upb/upb/map.c +0 -108
  2755. data/third_party/upb/upb/map.h +0 -117
  2756. data/third_party/upb/upb/message_value.h +0 -66
  2757. data/third_party/upb/upb/mini_table.c +0 -1147
  2758. data/third_party/upb/upb/mini_table.h +0 -189
  2759. data/third_party/upb/upb/mini_table.hpp +0 -112
  2760. data/third_party/upb/upb/msg.c +0 -368
  2761. data/third_party/upb/upb/msg.h +0 -71
  2762. data/third_party/upb/upb/msg_internal.h +0 -837
  2763. data/third_party/upb/upb/port_def.inc +0 -262
  2764. data/third_party/upb/upb/port_undef.inc +0 -63
  2765. data/third_party/upb/upb/reflection.c +0 -323
  2766. data/third_party/upb/upb/reflection.h +0 -110
  2767. data/third_party/upb/upb/reflection.hpp +0 -37
  2768. data/third_party/upb/upb/status.c +0 -86
  2769. data/third_party/upb/upb/status.h +0 -66
  2770. data/third_party/upb/upb/table.c +0 -926
  2771. data/third_party/upb/upb/table_internal.h +0 -36
  2772. data/third_party/upb/upb/text_encode.c +0 -473
  2773. data/third_party/upb/upb/text_encode.h +0 -64
  2774. data/third_party/upb/upb/upb.c +0 -76
  2775. data/third_party/upb/upb/upb.h +0 -184
  2776. data/third_party/upb/upb/upb.hpp +0 -115
  2777. data/third_party/zlib/gzclose.c +0 -25
  2778. data/third_party/zlib/gzlib.c +0 -639
  2779. data/third_party/zlib/gzread.c +0 -650
  2780. data/third_party/zlib/gzwrite.c +0 -677
  2781. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  2782. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -27,7 +27,6 @@
27
27
 
28
28
  #include <algorithm>
29
29
  #include <atomic>
30
- #include <initializer_list>
31
30
  #include <memory>
32
31
  #include <new>
33
32
  #include <string>
@@ -36,7 +35,6 @@
36
35
  #include <vector>
37
36
 
38
37
  #include "absl/base/thread_annotations.h"
39
- #include "absl/meta/type_traits.h"
40
38
  #include "absl/status/status.h"
41
39
  #include "absl/strings/str_cat.h"
42
40
  #include "absl/strings/str_format.h"
@@ -47,6 +45,7 @@
47
45
  #include <grpc/compression.h>
48
46
  #include <grpc/event_engine/event_engine.h>
49
47
  #include <grpc/grpc.h>
48
+ #include <grpc/impl/call.h>
50
49
  #include <grpc/impl/propagation_bits.h>
51
50
  #include <grpc/slice.h>
52
51
  #include <grpc/slice_buffer.h>
@@ -55,11 +54,9 @@
55
54
  #include <grpc/support/atm.h>
56
55
  #include <grpc/support/log.h>
57
56
  #include <grpc/support/string_util.h>
58
- #include <grpc/support/time.h>
59
57
 
60
58
  #include "src/core/lib/channel/call_finalization.h"
61
59
  #include "src/core/lib/channel/call_tracer.h"
62
- #include "src/core/lib/channel/channel_args.h"
63
60
  #include "src/core/lib/channel/channel_stack.h"
64
61
  #include "src/core/lib/channel/channelz.h"
65
62
  #include "src/core/lib/channel/context.h"
@@ -83,9 +80,9 @@
83
80
  #include "src/core/lib/iomgr/exec_ctx.h"
84
81
  #include "src/core/lib/iomgr/polling_entity.h"
85
82
  #include "src/core/lib/promise/activity.h"
83
+ #include "src/core/lib/promise/all_ok.h"
86
84
  #include "src/core/lib/promise/arena_promise.h"
87
85
  #include "src/core/lib/promise/context.h"
88
- #include "src/core/lib/promise/detail/basic_seq.h"
89
86
  #include "src/core/lib/promise/latch.h"
90
87
  #include "src/core/lib/promise/map.h"
91
88
  #include "src/core/lib/promise/party.h"
@@ -93,6 +90,7 @@
93
90
  #include "src/core/lib/promise/poll.h"
94
91
  #include "src/core/lib/promise/race.h"
95
92
  #include "src/core/lib/promise/seq.h"
93
+ #include "src/core/lib/promise/status_flag.h"
96
94
  #include "src/core/lib/resource_quota/arena.h"
97
95
  #include "src/core/lib/slice/slice_buffer.h"
98
96
  #include "src/core/lib/slice/slice_internal.h"
@@ -102,6 +100,7 @@
102
100
  #include "src/core/lib/surface/completion_queue.h"
103
101
  #include "src/core/lib/surface/server.h"
104
102
  #include "src/core/lib/surface/validate_metadata.h"
103
+ #include "src/core/lib/surface/wait_for_cq_end_op.h"
105
104
  #include "src/core/lib/transport/batch_builder.h"
106
105
  #include "src/core/lib/transport/error_utils.h"
107
106
  #include "src/core/lib/transport/metadata_batch.h"
@@ -153,6 +152,10 @@ class Call : public CppImplOf<Call, grpc_call> {
153
152
  // for that functionality be invented)
154
153
  virtual grpc_call_stack* call_stack() = 0;
155
154
 
155
+ // Return the EventEngine used for this call's async execution.
156
+ virtual grpc_event_engine::experimental::EventEngine* event_engine()
157
+ const = 0;
158
+
156
159
  protected:
157
160
  // The maximum number of concurrent batches possible.
158
161
  // Based upon the maximum number of individually queueable ops in the batch
@@ -195,7 +198,7 @@ class Call : public CppImplOf<Call, grpc_call> {
195
198
 
196
199
  ParentCall* GetOrCreateParentCall();
197
200
  ParentCall* parent_call();
198
- Channel* channel() {
201
+ Channel* channel() const {
199
202
  GPR_DEBUG_ASSERT(channel_ != nullptr);
200
203
  return channel_.get();
201
204
  }
@@ -242,6 +245,8 @@ class Call : public CppImplOf<Call, grpc_call> {
242
245
  void HandleCompressionAlgorithmNotAccepted(
243
246
  grpc_compression_algorithm compression_algorithm) GPR_ATTRIBUTE_NOINLINE;
244
247
 
248
+ gpr_cycle_counter start_time() const { return start_time_; }
249
+
245
250
  private:
246
251
  RefCountedPtr<Channel> channel_;
247
252
  Arena* const arena_;
@@ -263,6 +268,7 @@ class Call : public CppImplOf<Call, grpc_call> {
263
268
  // of the recv_initial_metadata op. The mutex should be mostly uncontended.
264
269
  mutable Mutex peer_mu_;
265
270
  Slice peer_string_;
271
+ gpr_cycle_counter start_time_ = gpr_get_cycle_counter();
266
272
  };
267
273
 
268
274
  Call::ParentCall* Call::GetOrCreateParentCall() {
@@ -442,6 +448,8 @@ void Call::PrepareOutgoingInitialMetadata(const grpc_op& op,
442
448
  }
443
449
  // Ignore any te metadata key value pairs specified.
444
450
  md.Remove(TeMetadata());
451
+ // Should never come from applications
452
+ md.Remove(GrpcLbClientStatsMetadata());
445
453
  }
446
454
 
447
455
  void Call::ProcessIncomingInitialMetadata(grpc_metadata_batch& md) {
@@ -529,6 +537,10 @@ class FilterStackCall final : public Call {
529
537
  GPR_ROUND_UP_TO_ALIGNMENT_SIZE(sizeof(*this)));
530
538
  }
531
539
 
540
+ grpc_event_engine::experimental::EventEngine* event_engine() const override {
541
+ return channel()->event_engine();
542
+ }
543
+
532
544
  grpc_call_element* call_elem(size_t idx) {
533
545
  return grpc_call_stack_element(call_stack(), idx);
534
546
  }
@@ -706,7 +718,6 @@ class FilterStackCall final : public Call {
706
718
  CallCombiner call_combiner_;
707
719
  grpc_completion_queue* cq_;
708
720
  grpc_polling_entity pollent_;
709
- gpr_cycle_counter start_time_ = gpr_get_cycle_counter();
710
721
 
711
722
  /// has grpc_call_unref been called
712
723
  bool destroy_called_ = false;
@@ -833,6 +844,9 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
833
844
  call->send_initial_metadata_.Set(HttpAuthorityMetadata(),
834
845
  std::move(*args->authority));
835
846
  }
847
+ call->send_initial_metadata_.Set(
848
+ GrpcRegisteredMethod(), reinterpret_cast<void*>(static_cast<uintptr_t>(
849
+ args->registered_method)));
836
850
  } else {
837
851
  global_stats().IncrementServerCallsCreated();
838
852
  call->final_op_.server.cancelled = nullptr;
@@ -841,11 +855,11 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
841
855
  // collecting from when the call is created at the transport. The idea is
842
856
  // that the transport would create the call tracer and pass it in as part of
843
857
  // the metadata.
844
- auto* server_call_tracer_factory = ServerCallTracerFactory::Get(
845
- args->server != nullptr ? args->server->channel_args() : ChannelArgs());
846
- if (server_call_tracer_factory != nullptr) {
858
+ if (args->server != nullptr &&
859
+ args->server->server_call_tracer_factory() != nullptr) {
847
860
  auto* server_call_tracer =
848
- server_call_tracer_factory->CreateNewServerCallTracer(arena);
861
+ args->server->server_call_tracer_factory()->CreateNewServerCallTracer(
862
+ arena, args->server->channel_args());
849
863
  if (server_call_tracer != nullptr) {
850
864
  // Note that we are setting both
851
865
  // GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE and
@@ -868,7 +882,7 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
868
882
  grpc_call_element_args call_args = {
869
883
  call->call_stack(), args->server_transport_data,
870
884
  call->context_, path,
871
- call->start_time_, call->send_deadline(),
885
+ call->start_time(), call->send_deadline(),
872
886
  call->arena(), &call->call_combiner_};
873
887
  add_init_error(&error, grpc_call_stack_init(channel_stack, 1, DestroyCall,
874
888
  call, &call_args));
@@ -950,7 +964,7 @@ void FilterStackCall::DestroyCall(void* call, grpc_error_handle /*error*/) {
950
964
  &(c->final_info_.error_string));
951
965
  c->status_error_.set(absl::OkStatus());
952
966
  c->final_info_.stats.latency =
953
- gpr_cycle_counter_sub(gpr_get_cycle_counter(), c->start_time_);
967
+ gpr_cycle_counter_sub(gpr_get_cycle_counter(), c->start_time());
954
968
  grpc_call_stack_destroy(c->call_stack(), &c->final_info_,
955
969
  GRPC_CLOSURE_INIT(&c->release_call_, ReleaseCall, c,
956
970
  grpc_schedule_on_exec_ctx));
@@ -1045,8 +1059,8 @@ void FilterStackCall::CancelWithError(grpc_error_handle error) {
1045
1059
 
1046
1060
  void FilterStackCall::SetFinalStatus(grpc_error_handle error) {
1047
1061
  if (GRPC_TRACE_FLAG_ENABLED(grpc_call_error_trace)) {
1048
- gpr_log(GPR_DEBUG, "set_final_status %s", is_client() ? "CLI" : "SVR");
1049
- gpr_log(GPR_DEBUG, "%s", StatusToString(error).c_str());
1062
+ gpr_log(GPR_DEBUG, "set_final_status %s %s", is_client() ? "CLI" : "SVR",
1063
+ StatusToString(error).c_str());
1050
1064
  }
1051
1065
  if (is_client()) {
1052
1066
  std::string status_details;
@@ -1117,7 +1131,10 @@ bool FilterStackCall::PrepareApplicationMetadata(size_t count,
1117
1131
  namespace {
1118
1132
  class PublishToAppEncoder {
1119
1133
  public:
1120
- explicit PublishToAppEncoder(grpc_metadata_array* dest) : dest_(dest) {}
1134
+ explicit PublishToAppEncoder(grpc_metadata_array* dest,
1135
+ const grpc_metadata_batch* encoding,
1136
+ bool is_client)
1137
+ : dest_(dest), encoding_(encoding), is_client_(is_client) {}
1121
1138
 
1122
1139
  void Encode(const Slice& key, const Slice& value) {
1123
1140
  Append(key.c_slice(), value.c_slice());
@@ -1160,12 +1177,20 @@ class PublishToAppEncoder {
1160
1177
  }
1161
1178
 
1162
1179
  void Append(grpc_slice key, grpc_slice value) {
1180
+ if (dest_->count == dest_->capacity) {
1181
+ Crash(absl::StrCat(
1182
+ "Too many metadata entries: capacity=", dest_->capacity, " on ",
1183
+ is_client_ ? "client" : "server", " encoding ", encoding_->count(),
1184
+ " elements: ", encoding_->DebugString().c_str()));
1185
+ }
1163
1186
  auto* mdusr = &dest_->metadata[dest_->count++];
1164
1187
  mdusr->key = key;
1165
1188
  mdusr->value = value;
1166
1189
  }
1167
1190
 
1168
1191
  grpc_metadata_array* const dest_;
1192
+ const grpc_metadata_batch* const encoding_;
1193
+ const bool is_client_;
1169
1194
  };
1170
1195
  } // namespace
1171
1196
 
@@ -1182,7 +1207,7 @@ void FilterStackCall::PublishAppMetadata(grpc_metadata_batch* b,
1182
1207
  dest->metadata = static_cast<grpc_metadata*>(
1183
1208
  gpr_realloc(dest->metadata, sizeof(grpc_metadata) * dest->capacity));
1184
1209
  }
1185
- PublishToAppEncoder encoder(dest);
1210
+ PublishToAppEncoder encoder(dest, b, is_client());
1186
1211
  b->Encode(&encoder);
1187
1212
  }
1188
1213
 
@@ -1292,9 +1317,22 @@ FilterStackCall::BatchControl* FilterStackCall::ReuseOrAllocateBatchControl(
1292
1317
  void FilterStackCall::BatchControl::PostCompletion() {
1293
1318
  FilterStackCall* call = call_;
1294
1319
  grpc_error_handle error = batch_error_.get();
1320
+
1321
+ if (IsCallStatusOverrideOnCancellationEnabled()) {
1322
+ // On the client side, if final call status is already known (i.e if this op
1323
+ // includes recv_trailing_metadata) and if the call status is known to be
1324
+ // OK, then disregard the batch error to ensure call->receiving_buffer_ is
1325
+ // not cleared.
1326
+ if (op_.recv_trailing_metadata && call->is_client() &&
1327
+ call->status_error_.ok()) {
1328
+ error = absl::OkStatus();
1329
+ }
1330
+ }
1331
+
1295
1332
  if (grpc_call_trace.enabled()) {
1296
- gpr_log(GPR_DEBUG, "tag:%p batch_error=%s", completion_data_.notify_tag.tag,
1297
- error.ToString().c_str());
1333
+ gpr_log(GPR_DEBUG, "tag:%p batch_error=%s op:%s",
1334
+ completion_data_.notify_tag.tag, error.ToString().c_str(),
1335
+ grpc_transport_stream_op_batch_string(&op_, false).c_str());
1298
1336
  }
1299
1337
 
1300
1338
  if (op_.send_initial_metadata) {
@@ -1312,16 +1350,17 @@ void FilterStackCall::BatchControl::PostCompletion() {
1312
1350
  if (op_.send_trailing_metadata) {
1313
1351
  call->send_trailing_metadata_.Clear();
1314
1352
  }
1353
+
1354
+ if (!error.ok() && op_.recv_message && *call->receiving_buffer_ != nullptr) {
1355
+ grpc_byte_buffer_destroy(*call->receiving_buffer_);
1356
+ *call->receiving_buffer_ = nullptr;
1357
+ }
1315
1358
  if (op_.recv_trailing_metadata) {
1316
1359
  // propagate cancellation to any interested children
1317
1360
  gpr_atm_rel_store(&call->received_final_op_atm_, 1);
1318
1361
  call->PropagateCancellationToChildren();
1319
1362
  error = absl::OkStatus();
1320
1363
  }
1321
- if (!error.ok() && op_.recv_message && *call->receiving_buffer_ != nullptr) {
1322
- grpc_byte_buffer_destroy(*call->receiving_buffer_);
1323
- *call->receiving_buffer_ = nullptr;
1324
- }
1325
1364
  batch_error_.set(absl::OkStatus());
1326
1365
 
1327
1366
  if (completion_data_.notify_tag.is_closure) {
@@ -1925,6 +1964,9 @@ void FilterStackCall::ContextSet(grpc_context_index elem, void* value,
1925
1964
 
1926
1965
  namespace {
1927
1966
  bool ValidateMetadata(size_t count, grpc_metadata* metadata) {
1967
+ if (count > INT_MAX) {
1968
+ return false;
1969
+ }
1928
1970
  for (size_t i = 0; i < count; i++) {
1929
1971
  grpc_metadata* md = &metadata[i];
1930
1972
  if (!GRPC_LOG_IF_ERROR("validate_metadata",
@@ -1948,24 +1990,58 @@ bool ValidateMetadata(size_t count, grpc_metadata* metadata) {
1948
1990
  // PromiseBasedCall
1949
1991
  // Will be folded into Call once the promise conversion is done
1950
1992
 
1951
- class PromiseBasedCall : public Call,
1952
- public Party,
1953
- public grpc_event_engine::experimental::EventEngine::
1954
- Closure /* for deadlines */ {
1993
+ class BasicPromiseBasedCall : public Call,
1994
+ public Party,
1995
+ public grpc_event_engine::experimental::
1996
+ EventEngine::Closure /* for deadlines */ {
1955
1997
  public:
1956
- PromiseBasedCall(Arena* arena, uint32_t initial_external_refs,
1957
- const grpc_call_create_args& args);
1998
+ using Call::arena;
1958
1999
 
1959
- void ContextSet(grpc_context_index elem, void* value,
1960
- void (*destroy)(void* value)) override;
1961
- void* ContextGet(grpc_context_index elem) const override;
1962
- void SetCompletionQueue(grpc_completion_queue* cq) override;
1963
- bool Completed() final { return finished_.IsSet(); }
2000
+ BasicPromiseBasedCall(Arena* arena, uint32_t initial_external_refs,
2001
+ const grpc_call_create_args& args)
2002
+ : Call(arena, args.server_transport_data == nullptr, args.send_deadline,
2003
+ args.channel->Ref()),
2004
+ Party(arena, initial_external_refs != 0 ? 1 : 0),
2005
+ external_refs_(initial_external_refs),
2006
+ cq_(args.cq) {
2007
+ if (args.cq != nullptr) {
2008
+ GRPC_CQ_INTERNAL_REF(args.cq, "bind");
2009
+ }
2010
+ }
2011
+
2012
+ ~BasicPromiseBasedCall() override {
2013
+ if (cq_) GRPC_CQ_INTERNAL_UNREF(cq_, "bind");
2014
+ for (int i = 0; i < GRPC_CONTEXT_COUNT; i++) {
2015
+ if (context_[i].destroy) {
2016
+ context_[i].destroy(context_[i].value);
2017
+ }
2018
+ }
2019
+ }
2020
+
2021
+ // Implementation of EventEngine::Closure, called when deadline expires
2022
+ void Run() final;
2023
+
2024
+ virtual void OrphanCall() = 0;
2025
+
2026
+ virtual ServerCallContext* server_call_context() { return nullptr; }
2027
+ void SetCompletionQueue(grpc_completion_queue* cq) final {
2028
+ cq_ = cq;
2029
+ GRPC_CQ_INTERNAL_REF(cq, "bind");
2030
+ }
1964
2031
 
1965
2032
  // Implementation of call refcounting: move this to DualRefCounted once we
1966
2033
  // don't need to maintain FilterStackCall compatibility
1967
- void ExternalRef() final { InternalRef("external"); }
1968
- void ExternalUnref() final { InternalUnref("external"); }
2034
+ void ExternalRef() final {
2035
+ if (external_refs_.fetch_add(1, std::memory_order_relaxed) == 0) {
2036
+ InternalRef("external");
2037
+ }
2038
+ }
2039
+ void ExternalUnref() final {
2040
+ if (external_refs_.fetch_sub(1, std::memory_order_acq_rel) == 1) {
2041
+ OrphanCall();
2042
+ InternalUnref("external");
2043
+ }
2044
+ }
1969
2045
  void InternalRef(const char* reason) final {
1970
2046
  if (grpc_call_refcount_trace.enabled()) {
1971
2047
  gpr_log(GPR_DEBUG, "INTERNAL_REF:%p:%s", this, reason);
@@ -1989,40 +2065,169 @@ class PromiseBasedCall : public Call,
1989
2065
  [](Empty) {});
1990
2066
  }
1991
2067
 
1992
- // This should return nullptr for the promise stack (and alternative means
1993
- // for that functionality be invented)
1994
- grpc_call_stack* call_stack() override { return nullptr; }
2068
+ void ContextSet(grpc_context_index elem, void* value,
2069
+ void (*destroy)(void*)) final {
2070
+ if (context_[elem].destroy != nullptr) {
2071
+ context_[elem].destroy(context_[elem].value);
2072
+ }
2073
+ context_[elem].value = value;
2074
+ context_[elem].destroy = destroy;
2075
+ }
2076
+
2077
+ void* ContextGet(grpc_context_index elem) const final {
2078
+ return context_[elem].value;
2079
+ }
1995
2080
 
1996
2081
  void UpdateDeadline(Timestamp deadline) ABSL_LOCKS_EXCLUDED(deadline_mu_);
1997
2082
  void ResetDeadline() ABSL_LOCKS_EXCLUDED(deadline_mu_);
2083
+ Timestamp deadline() {
2084
+ MutexLock lock(&deadline_mu_);
2085
+ return deadline_;
2086
+ }
1998
2087
 
1999
- // Implementation of EventEngine::Closure, called when deadline expires
2000
- void Run() override;
2088
+ // Accept the stats from the context (call once we have proof the transport is
2089
+ // done with them).
2090
+ void AcceptTransportStatsFromContext() {
2091
+ final_stats_ = *call_context_.call_stats();
2092
+ }
2001
2093
 
2002
- virtual ServerCallContext* server_call_context() { return nullptr; }
2094
+ // This should return nullptr for the promise stack (and alternative means
2095
+ // for that functionality be invented)
2096
+ grpc_call_stack* call_stack() final { return nullptr; }
2003
2097
 
2004
- using Call::arena;
2098
+ virtual RefCountedPtr<CallSpineInterface> MakeCallSpine(CallArgs) {
2099
+ Crash("Not implemented");
2100
+ }
2005
2101
 
2006
2102
  protected:
2007
2103
  class ScopedContext
2008
2104
  : public ScopedActivity,
2009
- public BatchBuilder,
2010
- public promise_detail::Context<BatchBuilder>,
2011
2105
  public promise_detail::Context<Arena>,
2012
2106
  public promise_detail::Context<grpc_call_context_element>,
2013
2107
  public promise_detail::Context<CallContext>,
2014
2108
  public promise_detail::Context<CallFinalization> {
2015
2109
  public:
2016
- explicit ScopedContext(PromiseBasedCall* call)
2110
+ explicit ScopedContext(BasicPromiseBasedCall* call)
2017
2111
  : ScopedActivity(call),
2018
- BatchBuilder(&call->batch_payload_),
2019
- promise_detail::Context<BatchBuilder>(this),
2020
2112
  promise_detail::Context<Arena>(call->arena()),
2021
2113
  promise_detail::Context<grpc_call_context_element>(call->context_),
2022
2114
  promise_detail::Context<CallContext>(&call->call_context_),
2023
2115
  promise_detail::Context<CallFinalization>(&call->finalization_) {}
2024
2116
  };
2025
2117
 
2118
+ grpc_call_context_element* context() { return context_; }
2119
+
2120
+ grpc_completion_queue* cq() { return cq_; }
2121
+
2122
+ // At the end of the call run any finalization actions.
2123
+ void SetFinalizationStatus(grpc_status_code status, Slice status_details) {
2124
+ final_message_ = std::move(status_details);
2125
+ final_status_ = status;
2126
+ }
2127
+
2128
+ grpc_event_engine::experimental::EventEngine* event_engine() const override {
2129
+ return channel()->event_engine();
2130
+ }
2131
+
2132
+ private:
2133
+ void PartyOver() final {
2134
+ {
2135
+ ScopedContext ctx(this);
2136
+ std::string message;
2137
+ grpc_call_final_info final_info;
2138
+ final_info.stats = final_stats_;
2139
+ final_info.final_status = final_status_;
2140
+ // TODO(ctiller): change type here so we don't need to copy this string.
2141
+ final_info.error_string = nullptr;
2142
+ if (!final_message_.empty()) {
2143
+ message = std::string(final_message_.begin(), final_message_.end());
2144
+ final_info.error_string = message.c_str();
2145
+ }
2146
+ final_info.stats.latency =
2147
+ gpr_cycle_counter_sub(gpr_get_cycle_counter(), start_time());
2148
+ finalization_.Run(&final_info);
2149
+ CancelRemainingParticipants();
2150
+ arena()->DestroyManagedNewObjects();
2151
+ }
2152
+ DeleteThis();
2153
+ }
2154
+
2155
+ // Double refcounted for now: party owns the internal refcount, we track the
2156
+ // external refcount. Figure out a better scheme post-promise conversion.
2157
+ std::atomic<size_t> external_refs_;
2158
+ CallFinalization finalization_;
2159
+ CallContext call_context_{this};
2160
+ // Contexts for various subsystems (security, tracing, ...).
2161
+ grpc_call_context_element context_[GRPC_CONTEXT_COUNT] = {};
2162
+ grpc_call_stats final_stats_{};
2163
+ // Current deadline.
2164
+ Mutex deadline_mu_;
2165
+ Timestamp deadline_ ABSL_GUARDED_BY(deadline_mu_) = Timestamp::InfFuture();
2166
+ grpc_event_engine::experimental::EventEngine::TaskHandle ABSL_GUARDED_BY(
2167
+ deadline_mu_) deadline_task_;
2168
+ Slice final_message_;
2169
+ grpc_status_code final_status_ = GRPC_STATUS_UNKNOWN;
2170
+ grpc_completion_queue* cq_;
2171
+ };
2172
+
2173
+ void BasicPromiseBasedCall::UpdateDeadline(Timestamp deadline) {
2174
+ MutexLock lock(&deadline_mu_);
2175
+ if (grpc_call_trace.enabled()) {
2176
+ gpr_log(GPR_DEBUG, "%s[call] UpdateDeadline from=%s to=%s",
2177
+ DebugTag().c_str(), deadline_.ToString().c_str(),
2178
+ deadline.ToString().c_str());
2179
+ }
2180
+ if (deadline >= deadline_) return;
2181
+ auto* const event_engine = channel()->event_engine();
2182
+ if (deadline_ != Timestamp::InfFuture()) {
2183
+ if (!event_engine->Cancel(deadline_task_)) return;
2184
+ } else {
2185
+ InternalRef("deadline");
2186
+ }
2187
+ deadline_ = deadline;
2188
+ deadline_task_ = event_engine->RunAfter(deadline - Timestamp::Now(), this);
2189
+ }
2190
+
2191
+ void BasicPromiseBasedCall::ResetDeadline() {
2192
+ MutexLock lock(&deadline_mu_);
2193
+ if (deadline_ == Timestamp::InfFuture()) return;
2194
+ auto* const event_engine = channel()->event_engine();
2195
+ if (!event_engine->Cancel(deadline_task_)) return;
2196
+ deadline_ = Timestamp::InfFuture();
2197
+ InternalUnref("deadline");
2198
+ }
2199
+
2200
+ void BasicPromiseBasedCall::Run() {
2201
+ ApplicationCallbackExecCtx callback_exec_ctx;
2202
+ ExecCtx exec_ctx;
2203
+ CancelWithError(absl::DeadlineExceededError("Deadline exceeded"));
2204
+ InternalUnref("deadline");
2205
+ }
2206
+
2207
+ class PromiseBasedCall : public BasicPromiseBasedCall {
2208
+ public:
2209
+ PromiseBasedCall(Arena* arena, uint32_t initial_external_refs,
2210
+ const grpc_call_create_args& args);
2211
+
2212
+ bool Completed() final { return finished_.IsSet(); }
2213
+
2214
+ bool failed_before_recv_message() const final {
2215
+ return failed_before_recv_message_.load(std::memory_order_relaxed);
2216
+ }
2217
+
2218
+ using Call::arena;
2219
+
2220
+ protected:
2221
+ class ScopedContext : public BasicPromiseBasedCall::ScopedContext,
2222
+ public BatchBuilder,
2223
+ public promise_detail::Context<BatchBuilder> {
2224
+ public:
2225
+ explicit ScopedContext(PromiseBasedCall* call)
2226
+ : BasicPromiseBasedCall::ScopedContext(call),
2227
+ BatchBuilder(&call->batch_payload_),
2228
+ promise_detail::Context<BatchBuilder>(this) {}
2229
+ };
2230
+
2026
2231
  class Completion {
2027
2232
  public:
2028
2233
  Completion() : index_(kNullIndex) {}
@@ -2049,15 +2254,6 @@ class PromiseBasedCall : public Call,
2049
2254
  uint8_t index_;
2050
2255
  };
2051
2256
 
2052
- ~PromiseBasedCall() override {
2053
- if (cq_) GRPC_CQ_INTERNAL_UNREF(cq_, "bind");
2054
- for (int i = 0; i < GRPC_CONTEXT_COUNT; i++) {
2055
- if (context_[i].destroy) {
2056
- context_[i].destroy(context_[i].value);
2057
- }
2058
- }
2059
- }
2060
-
2061
2257
  // Enumerates why a Completion is still pending
2062
2258
  enum class PendingOp {
2063
2259
  // We're in the midst of starting a batch of operations
@@ -2124,29 +2320,6 @@ class PromiseBasedCall : public Call,
2124
2320
  // Mark the completion as infallible. Overrides FailCompletion to report
2125
2321
  // success always.
2126
2322
  void ForceCompletionSuccess(const Completion& completion);
2127
- // Accept the stats from the context (call once we have proof the transport is
2128
- // done with them).
2129
- // Right now this means that promise based calls do not record correct stats
2130
- // with census if they are cancelled.
2131
- // TODO(ctiller): this should be remedied before promise based calls are
2132
- // dexperimentalized.
2133
- void AcceptTransportStatsFromContext() {
2134
- final_stats_ = *call_context_.call_stats();
2135
- }
2136
-
2137
- grpc_completion_queue* cq() { return cq_; }
2138
-
2139
- void CToMetadata(grpc_metadata* metadata, size_t count,
2140
- grpc_metadata_batch* batch);
2141
-
2142
- // At the end of the call run any finalization actions.
2143
- void RunFinalization(grpc_status_code status, const char* status_details) {
2144
- grpc_call_final_info final_info;
2145
- final_info.stats = final_stats_;
2146
- final_info.final_status = status;
2147
- final_info.error_string = status_details;
2148
- finalization_.Run(&final_info);
2149
- }
2150
2323
 
2151
2324
  std::string PresentAndCompletionText(const char* caption, bool has,
2152
2325
  const Completion& completion) const {
@@ -2172,7 +2345,7 @@ class PromiseBasedCall : public Call,
2172
2345
  void StartRecvMessage(const grpc_op& op, const Completion& completion,
2173
2346
  FirstPromise first,
2174
2347
  PipeReceiver<MessageHandle>* receiver,
2175
- Party::BulkSpawner& spawner);
2348
+ bool cancel_on_error, Party::BulkSpawner& spawner);
2176
2349
  void StartSendMessage(const grpc_op& op, const Completion& completion,
2177
2350
  PipeSender<MessageHandle>* sender,
2178
2351
  Party::BulkSpawner& spawner);
@@ -2214,6 +2387,10 @@ class PromiseBasedCall : public Call,
2214
2387
  }
2215
2388
  }
2216
2389
 
2390
+ void set_failed_before_recv_message() {
2391
+ failed_before_recv_message_.store(true, std::memory_order_relaxed);
2392
+ }
2393
+
2217
2394
  private:
2218
2395
  union CompletionInfo {
2219
2396
  static constexpr uint32_t kOpFailed = 0x8000'0000u;
@@ -2293,37 +2470,17 @@ class PromiseBasedCall : public Call,
2293
2470
  grpc_cq_completion completion;
2294
2471
  };
2295
2472
 
2296
- void PartyOver() override {
2297
- {
2298
- ScopedContext ctx(this);
2299
- CancelRemainingParticipants();
2300
- arena()->DestroyManagedNewObjects();
2301
- }
2302
- DeleteThis();
2303
- }
2304
-
2305
- CallContext call_context_{this};
2306
-
2307
- // Contexts for various subsystems (security, tracing, ...).
2308
- grpc_call_context_element context_[GRPC_CONTEXT_COUNT] = {};
2309
- grpc_completion_queue* cq_;
2310
2473
  CompletionInfo completion_info_[6];
2311
- grpc_call_stats final_stats_{};
2312
- CallFinalization finalization_;
2313
- // Current deadline.
2314
- Mutex deadline_mu_;
2315
- Timestamp deadline_ ABSL_GUARDED_BY(deadline_mu_) = Timestamp::InfFuture();
2316
- grpc_event_engine::experimental::EventEngine::TaskHandle ABSL_GUARDED_BY(
2317
- deadline_mu_) deadline_task_;
2318
2474
  ExternallyObservableLatch<void> finished_;
2319
2475
  // Non-zero with an outstanding GRPC_OP_SEND_INITIAL_METADATA or
2320
2476
  // GRPC_OP_SEND_MESSAGE (one count each), and 0 once those payloads have been
2321
2477
  // pushed onto the outgoing pipe.
2322
2478
  std::atomic<uint8_t> sends_queued_{0};
2479
+ std::atomic<bool> failed_before_recv_message_{false};
2323
2480
  // Waiter for when sends_queued_ becomes 0.
2324
2481
  IntraActivityWaiter waiting_for_queued_sends_;
2325
2482
  grpc_byte_buffer** recv_message_ = nullptr;
2326
- grpc_transport_stream_op_batch_payload batch_payload_{context_};
2483
+ grpc_transport_stream_op_batch_payload batch_payload_{context()};
2327
2484
  };
2328
2485
 
2329
2486
  template <typename T>
@@ -2331,8 +2488,10 @@ grpc_error_handle MakePromiseBasedCall(grpc_call_create_args* args,
2331
2488
  grpc_call** out_call) {
2332
2489
  Channel* channel = args->channel.get();
2333
2490
 
2334
- auto alloc = Arena::CreateWithAlloc(channel->CallSizeEstimate(), sizeof(T),
2335
- channel->allocator());
2491
+ const auto initial_size = channel->CallSizeEstimate();
2492
+ global_stats().IncrementCallInitialSize(initial_size);
2493
+ auto alloc =
2494
+ Arena::CreateWithAlloc(initial_size, sizeof(T), channel->allocator());
2336
2495
  PromiseBasedCall* call = new (alloc.second) T(alloc.first, args);
2337
2496
  *out_call = call->c_ptr();
2338
2497
  GPR_DEBUG_ASSERT(Call::FromC(*out_call) == call);
@@ -2341,26 +2500,10 @@ grpc_error_handle MakePromiseBasedCall(grpc_call_create_args* args,
2341
2500
 
2342
2501
  PromiseBasedCall::PromiseBasedCall(Arena* arena, uint32_t initial_external_refs,
2343
2502
  const grpc_call_create_args& args)
2344
- : Call(arena, args.server_transport_data == nullptr, args.send_deadline,
2345
- args.channel->Ref()),
2346
- Party(arena, initial_external_refs),
2347
- cq_(args.cq) {
2348
- if (args.cq != nullptr) {
2349
- GPR_ASSERT(args.pollset_set_alternative == nullptr &&
2350
- "Only one of 'cq' and 'pollset_set_alternative' should be "
2351
- "non-nullptr.");
2352
- GRPC_CQ_INTERNAL_REF(args.cq, "bind");
2353
- call_context_.pollent_ =
2354
- grpc_polling_entity_create_from_pollset(grpc_cq_pollset(args.cq));
2355
- }
2356
- if (args.pollset_set_alternative != nullptr) {
2357
- call_context_.pollent_ = grpc_polling_entity_create_from_pollset_set(
2358
- args.pollset_set_alternative);
2359
- }
2360
- }
2503
+ : BasicPromiseBasedCall(arena, initial_external_refs, args) {}
2361
2504
 
2362
- void PromiseBasedCall::CToMetadata(grpc_metadata* metadata, size_t count,
2363
- grpc_metadata_batch* b) {
2505
+ static void CToMetadata(grpc_metadata* metadata, size_t count,
2506
+ grpc_metadata_batch* b) {
2364
2507
  for (size_t i = 0; i < count; i++) {
2365
2508
  grpc_metadata* md = &metadata[i];
2366
2509
  auto key = StringViewFromSlice(md->key);
@@ -2377,19 +2520,6 @@ void PromiseBasedCall::CToMetadata(grpc_metadata* metadata, size_t count,
2377
2520
  }
2378
2521
  }
2379
2522
 
2380
- void PromiseBasedCall::ContextSet(grpc_context_index elem, void* value,
2381
- void (*destroy)(void*)) {
2382
- if (context_[elem].destroy != nullptr) {
2383
- context_[elem].destroy(context_[elem].value);
2384
- }
2385
- context_[elem].value = value;
2386
- context_[elem].destroy = destroy;
2387
- }
2388
-
2389
- void* PromiseBasedCall::ContextGet(grpc_context_index elem) const {
2390
- return context_[elem].value;
2391
- }
2392
-
2393
2523
  PromiseBasedCall::Completion PromiseBasedCall::StartCompletion(
2394
2524
  void* tag, bool is_closure, const grpc_op* ops) {
2395
2525
  Completion c(BatchSlotForOp(ops[0].op));
@@ -2459,51 +2589,14 @@ void PromiseBasedCall::FinishOpOnCompletion(Completion* completion,
2459
2589
  ExecCtx::Run(DEBUG_LOCATION, static_cast<grpc_closure*>(pending.tag),
2460
2590
  error);
2461
2591
  } else {
2592
+ InternalRef("cq_end_op");
2462
2593
  grpc_cq_end_op(
2463
- cq(), pending.tag, error, [](void*, grpc_cq_completion*) {}, nullptr,
2464
- &completion_info_[i].completion);
2465
- }
2466
- }
2467
-
2468
- void PromiseBasedCall::SetCompletionQueue(grpc_completion_queue* cq) {
2469
- cq_ = cq;
2470
- GRPC_CQ_INTERNAL_REF(cq, "bind");
2471
- call_context_.pollent_ =
2472
- grpc_polling_entity_create_from_pollset(grpc_cq_pollset(cq));
2473
- }
2474
-
2475
- void PromiseBasedCall::UpdateDeadline(Timestamp deadline) {
2476
- MutexLock lock(&deadline_mu_);
2477
- if (grpc_call_trace.enabled()) {
2478
- gpr_log(GPR_DEBUG, "%s[call] UpdateDeadline from=%s to=%s",
2479
- DebugTag().c_str(), deadline_.ToString().c_str(),
2480
- deadline.ToString().c_str());
2481
- }
2482
- if (deadline >= deadline_) return;
2483
- auto* const event_engine = channel()->event_engine();
2484
- if (deadline_ != Timestamp::InfFuture()) {
2485
- if (!event_engine->Cancel(deadline_task_)) return;
2486
- } else {
2487
- InternalRef("deadline");
2594
+ cq(), pending.tag, error,
2595
+ [](void* p, grpc_cq_completion*) {
2596
+ static_cast<PromiseBasedCall*>(p)->InternalUnref("cq_end_op");
2597
+ },
2598
+ this, &completion_info_[i].completion);
2488
2599
  }
2489
- deadline_ = deadline;
2490
- deadline_task_ = event_engine->RunAfter(deadline - Timestamp::Now(), this);
2491
- }
2492
-
2493
- void PromiseBasedCall::ResetDeadline() {
2494
- MutexLock lock(&deadline_mu_);
2495
- if (deadline_ == Timestamp::InfFuture()) return;
2496
- auto* const event_engine = channel()->event_engine();
2497
- if (!event_engine->Cancel(deadline_task_)) return;
2498
- deadline_ = Timestamp::InfFuture();
2499
- InternalUnref("deadline");
2500
- }
2501
-
2502
- void PromiseBasedCall::Run() {
2503
- ApplicationCallbackExecCtx callback_exec_ctx;
2504
- ExecCtx exec_ctx;
2505
- CancelWithError(absl::DeadlineExceededError("Deadline exceeded"));
2506
- InternalUnref("deadline");
2507
2600
  }
2508
2601
 
2509
2602
  void PromiseBasedCall::StartSendMessage(const grpc_op& op,
@@ -2537,7 +2630,8 @@ template <typename FirstPromiseFactory>
2537
2630
  void PromiseBasedCall::StartRecvMessage(
2538
2631
  const grpc_op& op, const Completion& completion,
2539
2632
  FirstPromiseFactory first_promise_factory,
2540
- PipeReceiver<MessageHandle>* receiver, Party::BulkSpawner& spawner) {
2633
+ PipeReceiver<MessageHandle>* receiver, bool cancel_on_error,
2634
+ Party::BulkSpawner& spawner) {
2541
2635
  if (grpc_call_trace.enabled()) {
2542
2636
  gpr_log(GPR_INFO, "%s[call] Start RecvMessage: %s", DebugTag().c_str(),
2543
2637
  CompletionString(completion).c_str());
@@ -2548,7 +2642,7 @@ void PromiseBasedCall::StartRecvMessage(
2548
2642
  [first_promise_factory = std::move(first_promise_factory), receiver]() {
2549
2643
  return Seq(first_promise_factory(), receiver->Next());
2550
2644
  },
2551
- [this,
2645
+ [this, cancel_on_error,
2552
2646
  completion = AddOpToCompletion(completion, PendingOp::kReceiveMessage)](
2553
2647
  NextResult<MessageHandle> result) mutable {
2554
2648
  if (result.has_value()) {
@@ -2577,7 +2671,9 @@ void PromiseBasedCall::StartRecvMessage(
2577
2671
  "finishes: received end-of-stream with error",
2578
2672
  DebugTag().c_str());
2579
2673
  }
2674
+ set_failed_before_recv_message();
2580
2675
  FailCompletion(completion);
2676
+ if (cancel_on_error) CancelWithError(absl::CancelledError());
2581
2677
  *recv_message_ = nullptr;
2582
2678
  } else {
2583
2679
  if (grpc_call_trace.enabled()) {
@@ -2609,15 +2705,25 @@ void CallContext::UpdateDeadline(Timestamp deadline) {
2609
2705
  call_->UpdateDeadline(deadline);
2610
2706
  }
2611
2707
 
2708
+ Timestamp CallContext::deadline() const { return call_->deadline(); }
2709
+
2612
2710
  ServerCallContext* CallContext::server_call_context() {
2613
2711
  return call_->server_call_context();
2614
2712
  }
2615
2713
 
2714
+ RefCountedPtr<CallSpineInterface> CallContext::MakeCallSpine(
2715
+ CallArgs call_args) {
2716
+ return call_->MakeCallSpine(std::move(call_args));
2717
+ }
2718
+
2719
+ grpc_call* CallContext::c_call() { return call_->c_ptr(); }
2720
+
2616
2721
  ///////////////////////////////////////////////////////////////////////////////
2617
2722
  // PublishMetadataArray
2618
2723
 
2619
2724
  namespace {
2620
- void PublishMetadataArray(grpc_metadata_batch* md, grpc_metadata_array* array) {
2725
+ void PublishMetadataArray(grpc_metadata_batch* md, grpc_metadata_array* array,
2726
+ bool is_client) {
2621
2727
  const auto md_count = md->count();
2622
2728
  if (md_count > array->capacity) {
2623
2729
  array->capacity =
@@ -2625,7 +2731,7 @@ void PublishMetadataArray(grpc_metadata_batch* md, grpc_metadata_array* array) {
2625
2731
  array->metadata = static_cast<grpc_metadata*>(
2626
2732
  gpr_realloc(array->metadata, sizeof(grpc_metadata) * array->capacity));
2627
2733
  }
2628
- PublishToAppEncoder encoder(array);
2734
+ PublishToAppEncoder encoder(array, md, is_client);
2629
2735
  md->Encode(&encoder);
2630
2736
  }
2631
2737
  } // namespace
@@ -2637,8 +2743,21 @@ void PublishMetadataArray(grpc_metadata_batch* md, grpc_metadata_array* array) {
2637
2743
  class ClientPromiseBasedCall final : public PromiseBasedCall {
2638
2744
  public:
2639
2745
  ClientPromiseBasedCall(Arena* arena, grpc_call_create_args* args)
2640
- : PromiseBasedCall(arena, 1, *args) {
2746
+ : PromiseBasedCall(arena, 1, *args),
2747
+ polling_entity_(
2748
+ args->cq != nullptr
2749
+ ? grpc_polling_entity_create_from_pollset(
2750
+ grpc_cq_pollset(args->cq))
2751
+ : (args->pollset_set_alternative != nullptr
2752
+ ? grpc_polling_entity_create_from_pollset_set(
2753
+ args->pollset_set_alternative)
2754
+ : grpc_polling_entity{})) {
2641
2755
  global_stats().IncrementClientCallsCreated();
2756
+ if (args->cq != nullptr) {
2757
+ GPR_ASSERT(args->pollset_set_alternative == nullptr &&
2758
+ "Only one of 'cq' and 'pollset_set_alternative' should be "
2759
+ "non-nullptr.");
2760
+ }
2642
2761
  ScopedContext context(this);
2643
2762
  send_initial_metadata_ =
2644
2763
  GetContext<Arena>()->MakePooled<ClientMetadata>(GetContext<Arena>());
@@ -2647,14 +2766,27 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
2647
2766
  send_initial_metadata_->Set(HttpAuthorityMetadata(),
2648
2767
  std::move(*args->authority));
2649
2768
  }
2769
+ send_initial_metadata_->Set(GrpcRegisteredMethod(),
2770
+ reinterpret_cast<void*>(static_cast<uintptr_t>(
2771
+ args->registered_method)));
2650
2772
  if (auto* channelz_channel = channel()->channelz_node()) {
2651
2773
  channelz_channel->RecordCallStarted();
2652
2774
  }
2653
2775
  if (args->send_deadline != Timestamp::InfFuture()) {
2654
2776
  UpdateDeadline(args->send_deadline);
2655
2777
  }
2778
+ Call* parent = Call::FromC(args->parent);
2779
+ if (parent != nullptr) {
2780
+ auto parent_status = InitParent(parent, args->propagation_mask);
2781
+ if (!parent_status.ok()) {
2782
+ CancelWithError(std::move(parent_status));
2783
+ }
2784
+ PublishToParent(parent);
2785
+ }
2656
2786
  }
2657
2787
 
2788
+ void OrphanCall() override { MaybeUnpublishFromParent(); }
2789
+
2658
2790
  ~ClientPromiseBasedCall() override {
2659
2791
  ScopedContext context(this);
2660
2792
  send_initial_metadata_.reset();
@@ -2667,13 +2799,18 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
2667
2799
  }
2668
2800
 
2669
2801
  void CancelWithError(absl::Status error) override {
2802
+ if (cancel_with_error_called_.exchange(true, std::memory_order_relaxed)) {
2803
+ return;
2804
+ }
2670
2805
  if (!started_.exchange(true, std::memory_order_relaxed)) {
2671
2806
  // Initial metadata not sent yet, so we can just fail the call.
2672
2807
  Spawn(
2673
2808
  "cancel_before_initial_metadata",
2674
2809
  [error = std::move(error), this]() {
2675
2810
  server_to_client_messages_.sender.Close();
2676
- Finish(ServerMetadataFromStatus(error));
2811
+ auto md = ServerMetadataFromStatus(error);
2812
+ md->Set(GrpcCallWasCancelled(), true);
2813
+ Finish(std::move(md));
2677
2814
  return Empty{};
2678
2815
  },
2679
2816
  [](Empty) {});
@@ -2682,7 +2819,9 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
2682
2819
  "cancel_with_error",
2683
2820
  [error = std::move(error), this]() {
2684
2821
  if (!cancel_error_.is_set()) {
2685
- cancel_error_.Set(ServerMetadataFromStatus(error));
2822
+ auto md = ServerMetadataFromStatus(error);
2823
+ md->Set(GrpcCallWasCancelled(), true);
2824
+ cancel_error_.Set(std::move(md));
2686
2825
  }
2687
2826
  return Empty{};
2688
2827
  },
@@ -2691,7 +2830,6 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
2691
2830
  }
2692
2831
  absl::string_view GetServerAuthority() const override { abort(); }
2693
2832
  bool is_trailers_only() const override { return is_trailers_only_; }
2694
- bool failed_before_recv_message() const override { return false; }
2695
2833
 
2696
2834
  grpc_call_error StartBatch(const grpc_op* ops, size_t nops, void* notify_tag,
2697
2835
  bool is_notify_tag_closure) override;
@@ -2700,6 +2838,81 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
2700
2838
  return absl::StrFormat("CLIENT_CALL[%p]: ", this);
2701
2839
  }
2702
2840
 
2841
+ RefCountedPtr<CallSpineInterface> MakeCallSpine(CallArgs call_args) final {
2842
+ class WrappingCallSpine final : public CallSpineInterface {
2843
+ public:
2844
+ WrappingCallSpine(ClientPromiseBasedCall* call,
2845
+ ClientMetadataHandle metadata)
2846
+ : call_(call) {
2847
+ call_->InternalRef("call-spine");
2848
+ SpawnInfallible("send_client_initial_metadata",
2849
+ [this, metadata = std::move(metadata)]() mutable {
2850
+ return Map(client_initial_metadata_.sender.Push(
2851
+ std::move(metadata)),
2852
+ [](bool) { return Empty{}; });
2853
+ });
2854
+ SpawnInfallible("monitor_cancellation", [this]() {
2855
+ return Seq(cancel_error_.Wait(),
2856
+ [this](ServerMetadataHandle trailing_metadata) {
2857
+ Crash("here");
2858
+ return Map(server_trailing_metadata_.sender.Push(
2859
+ std::move(trailing_metadata)),
2860
+ [](bool) { return Empty{}; });
2861
+ });
2862
+ });
2863
+ }
2864
+
2865
+ ~WrappingCallSpine() override { call_->InternalUnref("call-spine"); }
2866
+
2867
+ Pipe<ClientMetadataHandle>& client_initial_metadata() override {
2868
+ return client_initial_metadata_;
2869
+ }
2870
+
2871
+ Pipe<MessageHandle>& client_to_server_messages() override {
2872
+ return call_->client_to_server_messages_;
2873
+ }
2874
+
2875
+ Pipe<ServerMetadataHandle>& server_initial_metadata() override {
2876
+ return call_->server_initial_metadata_;
2877
+ }
2878
+
2879
+ Pipe<MessageHandle>& server_to_client_messages() override {
2880
+ return call_->server_to_client_messages_;
2881
+ }
2882
+
2883
+ Pipe<ServerMetadataHandle>& server_trailing_metadata() override {
2884
+ return server_trailing_metadata_;
2885
+ }
2886
+
2887
+ Latch<ServerMetadataHandle>& cancel_latch() override {
2888
+ return cancel_error_;
2889
+ }
2890
+
2891
+ Party& party() override { return *call_; }
2892
+
2893
+ void IncrementRefCount() override { refs_.Ref(); }
2894
+ void Unref() override {
2895
+ if (refs_.Unref()) delete this;
2896
+ }
2897
+
2898
+ private:
2899
+ RefCount refs_;
2900
+ ClientPromiseBasedCall* const call_;
2901
+ std::atomic<bool> sent_trailing_metadata_{false};
2902
+ Pipe<ClientMetadataHandle> client_initial_metadata_{call_->arena()};
2903
+ Pipe<ServerMetadataHandle> server_trailing_metadata_{call_->arena()};
2904
+ Latch<ServerMetadataHandle> cancel_error_;
2905
+ };
2906
+ GPR_ASSERT(call_args.server_initial_metadata ==
2907
+ &server_initial_metadata_.sender);
2908
+ GPR_ASSERT(call_args.client_to_server_messages ==
2909
+ &client_to_server_messages_.receiver);
2910
+ GPR_ASSERT(call_args.server_to_client_messages ==
2911
+ &server_to_client_messages_.sender);
2912
+ return MakeRefCounted<WrappingCallSpine>(
2913
+ this, std::move(call_args.client_initial_metadata));
2914
+ }
2915
+
2703
2916
  private:
2704
2917
  // Finish the call with the given status/trailing metadata.
2705
2918
  void Finish(ServerMetadataHandle trailing_metadata);
@@ -2730,15 +2943,25 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
2730
2943
  Pipe<ServerMetadataHandle> server_initial_metadata_{arena()};
2731
2944
  Latch<ServerMetadataHandle> server_trailing_metadata_;
2732
2945
  Latch<ServerMetadataHandle> cancel_error_;
2946
+ Latch<grpc_polling_entity> polling_entity_;
2733
2947
  Pipe<MessageHandle> client_to_server_messages_{arena()};
2734
2948
  Pipe<MessageHandle> server_to_client_messages_{arena()};
2735
- bool is_trailers_only_;
2949
+ bool is_trailers_only_ = false;
2950
+ bool scheduled_receive_status_ = false;
2951
+ bool scheduled_send_close_ = false;
2736
2952
  // True once the promise for the call is started.
2737
2953
  // This corresponds to sending initial metadata, or cancelling before doing
2738
2954
  // so.
2739
2955
  // In the latter case real world code sometimes does not sent the initial
2740
2956
  // metadata, and so gating based upon that does not work out.
2741
2957
  std::atomic<bool> started_{false};
2958
+ // True after the first CancelWithError call - prevents spamming cancels from
2959
+ // overflowing the party.
2960
+ std::atomic<bool> cancel_with_error_called_{false};
2961
+ // TODO(ctiller): delete when we remove the filter based API (may require some
2962
+ // cleanup in wrapped languages: they depend on this to hold slice refs)
2963
+ ServerMetadataHandle recv_initial_metadata_;
2964
+ ServerMetadataHandle recv_trailing_metadata_;
2742
2965
  };
2743
2966
 
2744
2967
  void ClientPromiseBasedCall::StartPromise(
@@ -2759,11 +2982,11 @@ void ClientPromiseBasedCall::StartPromise(
2759
2982
  token = std::move(token)]() mutable {
2760
2983
  return Race(
2761
2984
  cancel_error_.Wait(),
2762
- Map(channel()->channel_stack()->MakeClientCallPromise(
2763
- CallArgs{std::move(client_initial_metadata),
2764
- std::move(token), &server_initial_metadata_.sender,
2765
- &client_to_server_messages_.receiver,
2766
- &server_to_client_messages_.sender}),
2985
+ Map(channel()->channel_stack()->MakeClientCallPromise(CallArgs{
2986
+ std::move(client_initial_metadata), std::move(token),
2987
+ &polling_entity_, &server_initial_metadata_.sender,
2988
+ &client_to_server_messages_.receiver,
2989
+ &server_to_client_messages_.sender}),
2767
2990
  [this](ServerMetadataHandle trailing_metadata) {
2768
2991
  // If we're cancelled the transport doesn't get to return
2769
2992
  // stats.
@@ -2798,15 +3021,25 @@ grpc_call_error ClientPromiseBasedCall::ValidateBatch(const grpc_op* ops,
2798
3021
  break;
2799
3022
  case GRPC_OP_RECV_INITIAL_METADATA:
2800
3023
  case GRPC_OP_RECV_MESSAGE:
3024
+ if (op.flags != 0) return GRPC_CALL_ERROR_INVALID_FLAGS;
3025
+ break;
2801
3026
  case GRPC_OP_SEND_CLOSE_FROM_CLIENT:
3027
+ if (scheduled_send_close_) return GRPC_CALL_ERROR_TOO_MANY_OPERATIONS;
3028
+ if (op.flags != 0) return GRPC_CALL_ERROR_INVALID_FLAGS;
3029
+ break;
2802
3030
  case GRPC_OP_RECV_STATUS_ON_CLIENT:
2803
3031
  if (op.flags != 0) return GRPC_CALL_ERROR_INVALID_FLAGS;
3032
+ if (scheduled_receive_status_) {
3033
+ return GRPC_CALL_ERROR_TOO_MANY_OPERATIONS;
3034
+ }
2804
3035
  break;
2805
3036
  case GRPC_OP_RECV_CLOSE_ON_SERVER:
2806
3037
  case GRPC_OP_SEND_STATUS_FROM_SERVER:
2807
3038
  return GRPC_CALL_ERROR_NOT_ON_CLIENT;
2808
3039
  }
2809
- if (got_ops.is_set(op.op)) return GRPC_CALL_ERROR_TOO_MANY_OPERATIONS;
3040
+ if (got_ops.is_set(op.op)) {
3041
+ return GRPC_CALL_ERROR_TOO_MANY_OPERATIONS;
3042
+ }
2810
3043
  got_ops.set(op.op);
2811
3044
  }
2812
3045
  return GRPC_CALL_OK;
@@ -2841,6 +3074,7 @@ void ClientPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
2841
3074
  spawner);
2842
3075
  } break;
2843
3076
  case GRPC_OP_RECV_STATUS_ON_CLIENT: {
3077
+ scheduled_receive_status_ = true;
2844
3078
  StartRecvStatusOnClient(completion, op.data.recv_status_on_client,
2845
3079
  spawner);
2846
3080
  } break;
@@ -2852,11 +3086,13 @@ void ClientPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
2852
3086
  StartRecvMessage(
2853
3087
  op, completion,
2854
3088
  [this]() {
2855
- return server_initial_metadata_.receiver.AwaitClosed();
3089
+ return Race(server_initial_metadata_.receiver.AwaitClosed(),
3090
+ server_to_client_messages_.receiver.AwaitClosed());
2856
3091
  },
2857
- &server_to_client_messages_.receiver, spawner);
3092
+ &server_to_client_messages_.receiver, false, spawner);
2858
3093
  break;
2859
3094
  case GRPC_OP_SEND_CLOSE_FROM_CLIENT:
3095
+ scheduled_send_close_ = true;
2860
3096
  spawner.Spawn(
2861
3097
  "send_close_from_client",
2862
3098
  [this]() {
@@ -2901,24 +3137,35 @@ void ClientPromiseBasedCall::StartRecvInitialMetadata(
2901
3137
  Party::BulkSpawner& spawner) {
2902
3138
  spawner.Spawn(
2903
3139
  "recv_initial_metadata",
2904
- Race(server_initial_metadata_.receiver.Next(),
2905
- Map(finished(),
2906
- [](Empty) { return NextResult<ServerMetadataHandle>(true); })),
3140
+ [this]() {
3141
+ return Race(server_initial_metadata_.receiver.Next(),
3142
+ Map(finished(), [](Empty) {
3143
+ return NextResult<ServerMetadataHandle>(true);
3144
+ }));
3145
+ },
2907
3146
  [this, array,
2908
3147
  completion =
2909
3148
  AddOpToCompletion(completion, PendingOp::kReceiveInitialMetadata)](
2910
3149
  NextResult<ServerMetadataHandle> next_metadata) mutable {
2911
3150
  server_initial_metadata_.sender.Close();
2912
3151
  ServerMetadataHandle metadata;
3152
+ if (grpc_call_trace.enabled()) {
3153
+ gpr_log(GPR_INFO, "%s[call] RecvTrailingMetadata: %s",
3154
+ DebugTag().c_str(),
3155
+ next_metadata.has_value()
3156
+ ? next_metadata.value()->DebugString().c_str()
3157
+ : "null");
3158
+ }
2913
3159
  if (next_metadata.has_value()) {
2914
- is_trailers_only_ = false;
2915
3160
  metadata = std::move(next_metadata.value());
3161
+ is_trailers_only_ = metadata->get(GrpcTrailersOnly()).value_or(false);
2916
3162
  } else {
2917
3163
  is_trailers_only_ = true;
2918
3164
  metadata = arena()->MakePooled<ServerMetadata>(arena());
2919
3165
  }
2920
3166
  ProcessIncomingInitialMetadata(*metadata);
2921
- PublishMetadataArray(metadata.get(), array);
3167
+ PublishMetadataArray(metadata.get(), array, true);
3168
+ recv_initial_metadata_ = std::move(metadata);
2922
3169
  FinishOpOnCompletion(&completion, PendingOp::kReceiveInitialMetadata);
2923
3170
  });
2924
3171
  }
@@ -2930,7 +3177,12 @@ void ClientPromiseBasedCall::Finish(ServerMetadataHandle trailing_metadata) {
2930
3177
  }
2931
3178
  ResetDeadline();
2932
3179
  set_completed();
2933
- client_to_server_messages_.sender.Close();
3180
+ client_to_server_messages_.sender.CloseWithError();
3181
+ client_to_server_messages_.receiver.CloseWithError();
3182
+ if (trailing_metadata->get(GrpcCallWasCancelled()).value_or(false)) {
3183
+ server_to_client_messages_.receiver.CloseWithError();
3184
+ server_initial_metadata_.receiver.CloseWithError();
3185
+ }
2934
3186
  if (auto* channelz_channel = channel()->channelz_node()) {
2935
3187
  if (trailing_metadata->get(GrpcStatusMetadata())
2936
3188
  .value_or(GRPC_STATUS_UNKNOWN) == GRPC_STATUS_OK) {
@@ -2980,26 +3232,20 @@ void ClientPromiseBasedCall::StartRecvStatusOnClient(
2980
3232
  trailing_metadata->get(GrpcStatusMetadata())
2981
3233
  .value_or(GRPC_STATUS_UNKNOWN);
2982
3234
  *op_args.status = status;
2983
- absl::string_view message_string;
3235
+ Slice message_slice;
2984
3236
  if (Slice* message =
2985
3237
  trailing_metadata->get_pointer(GrpcMessageMetadata())) {
2986
- message_string = message->as_string_view();
2987
- *op_args.status_details = message->Ref().TakeCSlice();
2988
- } else {
2989
- *op_args.status_details = grpc_empty_slice();
2990
- }
2991
- if (message_string.empty()) {
2992
- RunFinalization(status, nullptr);
2993
- } else {
2994
- std::string error_string(message_string);
2995
- RunFinalization(status, error_string.c_str());
3238
+ message_slice = message->Ref();
2996
3239
  }
3240
+ SetFinalizationStatus(status, message_slice.Ref());
3241
+ *op_args.status_details = message_slice.TakeCSlice();
2997
3242
  if (op_args.error_string != nullptr && status != GRPC_STATUS_OK) {
2998
3243
  *op_args.error_string =
2999
3244
  gpr_strdup(MakeErrorString(trailing_metadata.get()).c_str());
3000
3245
  }
3001
- PublishMetadataArray(trailing_metadata.get(),
3002
- op_args.trailing_metadata);
3246
+ PublishMetadataArray(trailing_metadata.get(), op_args.trailing_metadata,
3247
+ true);
3248
+ recv_trailing_metadata_ = std::move(trailing_metadata);
3003
3249
  FinishOpOnCompletion(&completion, PendingOp::kReceiveStatusOnClient);
3004
3250
  });
3005
3251
  }
@@ -3010,16 +3256,24 @@ void ClientPromiseBasedCall::StartRecvStatusOnClient(
3010
3256
 
3011
3257
  #ifdef GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_SERVER_CALL
3012
3258
 
3013
- class ServerPromiseBasedCall final : public PromiseBasedCall {
3259
+ class ServerPromiseBasedCall final : public PromiseBasedCall,
3260
+ public ServerCallContext {
3014
3261
  public:
3015
3262
  ServerPromiseBasedCall(Arena* arena, grpc_call_create_args* args);
3016
3263
 
3264
+ void OrphanCall() override {}
3017
3265
  void CancelWithError(grpc_error_handle) override;
3018
3266
  grpc_call_error StartBatch(const grpc_op* ops, size_t nops, void* notify_tag,
3019
3267
  bool is_notify_tag_closure) override;
3020
- bool failed_before_recv_message() const override { return false; }
3021
- bool is_trailers_only() const override { abort(); }
3022
- absl::string_view GetServerAuthority() const override { return ""; }
3268
+ bool is_trailers_only() const override {
3269
+ Crash("is_trailers_only not implemented for server calls");
3270
+ }
3271
+ absl::string_view GetServerAuthority() const override {
3272
+ const Slice* authority_metadata =
3273
+ client_initial_metadata_->get_pointer(HttpAuthorityMetadata());
3274
+ if (authority_metadata == nullptr) return "";
3275
+ return authority_metadata->as_string_view();
3276
+ }
3023
3277
 
3024
3278
  // Polling order for the server promise stack:
3025
3279
  //
@@ -3046,7 +3300,15 @@ class ServerPromiseBasedCall final : public PromiseBasedCall {
3046
3300
  return absl::StrFormat("SERVER_CALL[%p]: ", this);
3047
3301
  }
3048
3302
 
3049
- ServerCallContext* server_call_context() override { return &call_context_; }
3303
+ ServerCallContext* server_call_context() override { return this; }
3304
+
3305
+ const void* server_stream_data() override { return server_transport_data_; }
3306
+ void PublishInitialMetadata(
3307
+ ClientMetadataHandle metadata,
3308
+ grpc_metadata_array* publish_initial_metadata) override;
3309
+ ArenaPromise<ServerMetadataHandle> MakeTopOfServerCallPromise(
3310
+ CallArgs call_args, grpc_completion_queue* cq,
3311
+ absl::FunctionRef<void(grpc_call* call)> publish) override;
3050
3312
 
3051
3313
  private:
3052
3314
  class RecvCloseOpCancelState {
@@ -3131,14 +3393,12 @@ class ServerPromiseBasedCall final : public PromiseBasedCall {
3131
3393
  std::atomic<uintptr_t> state_{kUnset};
3132
3394
  };
3133
3395
 
3134
- grpc_call_error ValidateBatch(const grpc_op* ops, size_t nops) const;
3135
3396
  void CommitBatch(const grpc_op* ops, size_t nops,
3136
3397
  const Completion& completion);
3137
3398
  void Finish(ServerMetadataHandle result);
3138
3399
 
3139
- friend class ServerCallContext;
3140
- ServerCallContext call_context_;
3141
3400
  Server* const server_;
3401
+ const void* const server_transport_data_;
3142
3402
  PipeSender<ServerMetadataHandle>* server_initial_metadata_ = nullptr;
3143
3403
  PipeSender<MessageHandle>* server_to_client_messages_ = nullptr;
3144
3404
  PipeReceiver<MessageHandle>* client_to_server_messages_ = nullptr;
@@ -3152,8 +3412,8 @@ class ServerPromiseBasedCall final : public PromiseBasedCall {
3152
3412
  ServerPromiseBasedCall::ServerPromiseBasedCall(Arena* arena,
3153
3413
  grpc_call_create_args* args)
3154
3414
  : PromiseBasedCall(arena, 0, *args),
3155
- call_context_(this, args->server_transport_data),
3156
- server_(args->server) {
3415
+ server_(args->server),
3416
+ server_transport_data_(args->server_transport_data) {
3157
3417
  global_stats().IncrementServerCallsCreated();
3158
3418
  channelz::ServerNode* channelz_node = server_->channelz_node();
3159
3419
  if (channelz_node != nullptr) {
@@ -3163,11 +3423,10 @@ ServerPromiseBasedCall::ServerPromiseBasedCall(Arena* arena,
3163
3423
  // collecting from when the call is created at the transport. The idea is that
3164
3424
  // the transport would create the call tracer and pass it in as part of the
3165
3425
  // metadata.
3166
- auto* server_call_tracer_factory =
3167
- ServerCallTracerFactory::Get(args->server->channel_args());
3168
- if (server_call_tracer_factory != nullptr) {
3426
+ if (args->server->server_call_tracer_factory() != nullptr) {
3169
3427
  auto* server_call_tracer =
3170
- server_call_tracer_factory->CreateNewServerCallTracer(arena);
3428
+ args->server->server_call_tracer_factory()->CreateNewServerCallTracer(
3429
+ arena, args->server->channel_args());
3171
3430
  if (server_call_tracer != nullptr) {
3172
3431
  // Note that we are setting both
3173
3432
  // GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE and
@@ -3183,7 +3442,7 @@ ServerPromiseBasedCall::ServerPromiseBasedCall(Arena* arena,
3183
3442
  Spawn("server_promise",
3184
3443
  channel()->channel_stack()->MakeServerCallPromise(
3185
3444
  CallArgs{nullptr, ClientInitialMetadataOutstandingToken::Empty(),
3186
- nullptr, nullptr, nullptr}),
3445
+ nullptr, nullptr, nullptr, nullptr}),
3187
3446
  [this](ServerMetadataHandle result) { Finish(std::move(result)); });
3188
3447
  }
3189
3448
 
@@ -3193,30 +3452,38 @@ void ServerPromiseBasedCall::Finish(ServerMetadataHandle result) {
3193
3452
  DebugTag().c_str(), recv_close_op_cancel_state_.ToString().c_str(),
3194
3453
  result->DebugString().c_str());
3195
3454
  }
3455
+ const auto status =
3456
+ result->get(GrpcStatusMetadata()).value_or(GRPC_STATUS_UNKNOWN);
3457
+ channelz::ServerNode* channelz_node = server_->channelz_node();
3458
+ if (channelz_node != nullptr) {
3459
+ if (status == GRPC_STATUS_OK) {
3460
+ channelz_node->RecordCallSucceeded();
3461
+ } else {
3462
+ channelz_node->RecordCallFailed();
3463
+ }
3464
+ }
3465
+ bool was_cancelled = result->get(GrpcCallWasCancelled()).value_or(true);
3196
3466
  if (recv_close_op_cancel_state_.CompleteCallWithCancelledSetTo(
3197
- result->get(GrpcCallWasCancelled()).value_or(true))) {
3467
+ was_cancelled)) {
3198
3468
  FinishOpOnCompletion(&recv_close_completion_,
3199
3469
  PendingOp::kReceiveCloseOnServer);
3200
3470
  }
3471
+ if (was_cancelled) set_failed_before_recv_message();
3201
3472
  if (server_initial_metadata_ != nullptr) {
3202
3473
  server_initial_metadata_->Close();
3203
3474
  }
3204
- channelz::ServerNode* channelz_node = server_->channelz_node();
3205
- if (channelz_node != nullptr) {
3206
- if (result->get(GrpcStatusMetadata()).value_or(GRPC_STATUS_UNKNOWN) ==
3207
- GRPC_STATUS_OK) {
3208
- channelz_node->RecordCallSucceeded();
3209
- } else {
3210
- channelz_node->RecordCallFailed();
3211
- }
3475
+ Slice message_slice;
3476
+ if (Slice* message = result->get_pointer(GrpcMessageMetadata())) {
3477
+ message_slice = message->Ref();
3212
3478
  }
3479
+ AcceptTransportStatsFromContext();
3480
+ SetFinalizationStatus(status, std::move(message_slice));
3213
3481
  set_completed();
3214
3482
  ResetDeadline();
3215
3483
  PropagateCancellationToChildren();
3216
3484
  }
3217
3485
 
3218
- grpc_call_error ServerPromiseBasedCall::ValidateBatch(const grpc_op* ops,
3219
- size_t nops) const {
3486
+ grpc_call_error ValidateServerBatch(const grpc_op* ops, size_t nops) {
3220
3487
  BitSet<8> got_ops;
3221
3488
  for (size_t op_idx = 0; op_idx < nops; op_idx++) {
3222
3489
  const grpc_op& op = ops[op_idx];
@@ -3235,9 +3502,16 @@ grpc_call_error ServerPromiseBasedCall::ValidateBatch(const grpc_op* ops,
3235
3502
  return GRPC_CALL_ERROR_INVALID_FLAGS;
3236
3503
  }
3237
3504
  break;
3505
+ case GRPC_OP_SEND_STATUS_FROM_SERVER:
3506
+ if (op.flags != 0) return GRPC_CALL_ERROR_INVALID_FLAGS;
3507
+ if (!ValidateMetadata(
3508
+ op.data.send_status_from_server.trailing_metadata_count,
3509
+ op.data.send_status_from_server.trailing_metadata)) {
3510
+ return GRPC_CALL_ERROR_INVALID_METADATA;
3511
+ }
3512
+ break;
3238
3513
  case GRPC_OP_RECV_MESSAGE:
3239
3514
  case GRPC_OP_RECV_CLOSE_ON_SERVER:
3240
- case GRPC_OP_SEND_STATUS_FROM_SERVER:
3241
3515
  if (op.flags != 0) return GRPC_CALL_ERROR_INVALID_FLAGS;
3242
3516
  break;
3243
3517
  case GRPC_OP_RECV_INITIAL_METADATA:
@@ -3276,7 +3550,10 @@ void ServerPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
3276
3550
  [this,
3277
3551
  completion = AddOpToCompletion(
3278
3552
  completion, PendingOp::kSendInitialMetadata)](bool r) mutable {
3279
- if (!r) FailCompletion(completion);
3553
+ if (!r) {
3554
+ set_failed_before_recv_message();
3555
+ FailCompletion(completion);
3556
+ }
3280
3557
  FinishOpOnCompletion(&completion,
3281
3558
  PendingOp::kSendInitialMetadata);
3282
3559
  });
@@ -3286,12 +3563,13 @@ void ServerPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
3286
3563
  break;
3287
3564
  case GRPC_OP_RECV_MESSAGE:
3288
3565
  if (cancelled_.load(std::memory_order_relaxed)) {
3566
+ set_failed_before_recv_message();
3289
3567
  FailCompletion(completion);
3290
3568
  break;
3291
3569
  }
3292
3570
  StartRecvMessage(
3293
3571
  op, completion, []() { return []() { return Empty{}; }; },
3294
- client_to_server_messages_, spawner);
3572
+ client_to_server_messages_, true, spawner);
3295
3573
  break;
3296
3574
  case GRPC_OP_SEND_STATUS_FROM_SERVER: {
3297
3575
  auto metadata = arena()->MakePooled<ServerMetadata>(arena());
@@ -3301,7 +3579,12 @@ void ServerPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
3301
3579
  metadata->Set(GrpcStatusMetadata(),
3302
3580
  op.data.send_status_from_server.status);
3303
3581
  if (auto* details = op.data.send_status_from_server.status_details) {
3304
- metadata->Set(GrpcMessageMetadata(), Slice(CSliceRef(*details)));
3582
+ // TODO(ctiller): this should not be a copy, but we have callers that
3583
+ // allocate and pass in a slice created with
3584
+ // grpc_slice_from_static_string and then delete the string after
3585
+ // passing it in, which shouldn't be a supported API.
3586
+ metadata->Set(GrpcMessageMetadata(),
3587
+ Slice(grpc_slice_copy(*details)));
3305
3588
  }
3306
3589
  spawner.Spawn(
3307
3590
  "call_send_status_from_server",
@@ -3321,7 +3604,10 @@ void ServerPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
3321
3604
  [this, completion = AddOpToCompletion(
3322
3605
  completion, PendingOp::kSendStatusFromServer)](
3323
3606
  bool ok) mutable {
3324
- if (!ok) FailCompletion(completion);
3607
+ if (!ok) {
3608
+ set_failed_before_recv_message();
3609
+ FailCompletion(completion);
3610
+ }
3325
3611
  FinishOpOnCompletion(&completion,
3326
3612
  PendingOp::kSendStatusFromServer);
3327
3613
  });
@@ -3357,7 +3643,7 @@ grpc_call_error ServerPromiseBasedCall::StartBatch(const grpc_op* ops,
3357
3643
  EndOpImmediately(cq(), notify_tag, is_notify_tag_closure);
3358
3644
  return GRPC_CALL_OK;
3359
3645
  }
3360
- const grpc_call_error validation_result = ValidateBatch(ops, nops);
3646
+ const grpc_call_error validation_result = ValidateServerBatch(ops, nops);
3361
3647
  if (validation_result != GRPC_CALL_OK) {
3362
3648
  return validation_result;
3363
3649
  }
@@ -3391,32 +3677,400 @@ void ServerPromiseBasedCall::CancelWithError(absl::Status error) {
3391
3677
  #endif
3392
3678
 
3393
3679
  #ifdef GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_SERVER_CALL
3680
+ void ServerPromiseBasedCall::PublishInitialMetadata(
3681
+ ClientMetadataHandle metadata,
3682
+ grpc_metadata_array* publish_initial_metadata) {
3683
+ if (grpc_call_trace.enabled()) {
3684
+ gpr_log(GPR_INFO, "%s[call] PublishInitialMetadata: %s", DebugTag().c_str(),
3685
+ metadata->DebugString().c_str());
3686
+ }
3687
+ PublishMetadataArray(metadata.get(), publish_initial_metadata, false);
3688
+ client_initial_metadata_ = std::move(metadata);
3689
+ }
3690
+
3394
3691
  ArenaPromise<ServerMetadataHandle>
3395
- ServerCallContext::MakeTopOfServerCallPromise(
3692
+ ServerPromiseBasedCall::MakeTopOfServerCallPromise(
3396
3693
  CallArgs call_args, grpc_completion_queue* cq,
3397
- grpc_metadata_array* publish_initial_metadata,
3398
3694
  absl::FunctionRef<void(grpc_call* call)> publish) {
3399
- call_->SetCompletionQueue(cq);
3400
- call_->server_to_client_messages_ = call_args.server_to_client_messages;
3401
- call_->client_to_server_messages_ = call_args.client_to_server_messages;
3402
- call_->server_initial_metadata_ = call_args.server_initial_metadata;
3403
- call_->client_initial_metadata_ =
3404
- std::move(call_args.client_initial_metadata);
3405
- call_->ProcessIncomingInitialMetadata(*call_->client_initial_metadata_);
3406
- PublishMetadataArray(call_->client_initial_metadata_.get(),
3407
- publish_initial_metadata);
3408
- call_->ExternalRef();
3409
- publish(call_->c_ptr());
3410
- return Seq(call_->server_to_client_messages_->AwaitClosed(),
3411
- call_->send_trailing_metadata_.Wait());
3695
+ SetCompletionQueue(cq);
3696
+ call_args.polling_entity->Set(
3697
+ grpc_polling_entity_create_from_pollset(grpc_cq_pollset(cq)));
3698
+ server_to_client_messages_ = call_args.server_to_client_messages;
3699
+ client_to_server_messages_ = call_args.client_to_server_messages;
3700
+ server_initial_metadata_ = call_args.server_initial_metadata;
3701
+ set_send_deadline(deadline());
3702
+ ProcessIncomingInitialMetadata(*client_initial_metadata_);
3703
+ ExternalRef();
3704
+ publish(c_ptr());
3705
+ return Seq(server_to_client_messages_->AwaitClosed(),
3706
+ send_trailing_metadata_.Wait());
3707
+ }
3708
+
3709
+ ///////////////////////////////////////////////////////////////////////////////
3710
+ // CallSpine based Server Call
3711
+
3712
+ class ServerCallSpine final : public CallSpineInterface,
3713
+ public ServerCallContext,
3714
+ public BasicPromiseBasedCall {
3715
+ public:
3716
+ ServerCallSpine(Server* server, Channel* channel, Arena* arena);
3717
+
3718
+ // CallSpineInterface
3719
+ Pipe<ClientMetadataHandle>& client_initial_metadata() override {
3720
+ return client_initial_metadata_;
3721
+ }
3722
+ Pipe<ServerMetadataHandle>& server_initial_metadata() override {
3723
+ return server_initial_metadata_;
3724
+ }
3725
+ Pipe<MessageHandle>& client_to_server_messages() override {
3726
+ return client_to_server_messages_;
3727
+ }
3728
+ Pipe<MessageHandle>& server_to_client_messages() override {
3729
+ return server_to_client_messages_;
3730
+ }
3731
+ Pipe<ServerMetadataHandle>& server_trailing_metadata() override {
3732
+ return server_trailing_metadata_;
3733
+ }
3734
+ Latch<ServerMetadataHandle>& cancel_latch() override { return cancel_latch_; }
3735
+ Party& party() override { return *this; }
3736
+ void IncrementRefCount() override { InternalRef("CallSpine"); }
3737
+ void Unref() override { InternalUnref("CallSpine"); }
3738
+
3739
+ // PromiseBasedCall
3740
+ void OrphanCall() override {}
3741
+ void CancelWithError(grpc_error_handle error) override {
3742
+ SpawnInfallible("CancelWithError", [this, error = std::move(error)] {
3743
+ std::ignore = Cancel(ServerMetadataFromStatus(error));
3744
+ return Empty{};
3745
+ });
3746
+ }
3747
+ bool is_trailers_only() const override {
3748
+ Crash("is_trailers_only not implemented for server calls");
3749
+ }
3750
+ absl::string_view GetServerAuthority() const override {
3751
+ Crash("unimplemented");
3752
+ }
3753
+ grpc_call_error StartBatch(const grpc_op* ops, size_t nops, void* notify_tag,
3754
+ bool is_notify_tag_closure) override;
3755
+
3756
+ bool Completed() final { Crash("unimplemented"); }
3757
+ bool failed_before_recv_message() const final { Crash("unimplemented"); }
3758
+
3759
+ ServerCallContext* server_call_context() override { return this; }
3760
+ const void* server_stream_data() override { Crash("unimplemented"); }
3761
+ void PublishInitialMetadata(
3762
+ ClientMetadataHandle metadata,
3763
+ grpc_metadata_array* publish_initial_metadata) override;
3764
+ ArenaPromise<ServerMetadataHandle> MakeTopOfServerCallPromise(
3765
+ CallArgs, grpc_completion_queue*,
3766
+ absl::FunctionRef<void(grpc_call* call)>) override {
3767
+ Crash("unimplemented");
3768
+ }
3769
+
3770
+ bool RunParty() override {
3771
+ ScopedContext ctx(this);
3772
+ return Party::RunParty();
3773
+ }
3774
+
3775
+ private:
3776
+ void CommitBatch(const grpc_op* ops, size_t nops, void* notify_tag,
3777
+ bool is_notify_tag_closure);
3778
+ StatusFlag FinishRecvMessage(NextResult<MessageHandle> result);
3779
+
3780
+ std::string DebugTag() const override {
3781
+ return absl::StrFormat("SERVER_CALL_SPINE[%p]: ", this);
3782
+ }
3783
+
3784
+ // Initial metadata from client to server
3785
+ Pipe<ClientMetadataHandle> client_initial_metadata_;
3786
+ // Initial metadata from server to client
3787
+ Pipe<ServerMetadataHandle> server_initial_metadata_;
3788
+ // Messages travelling from the application to the transport.
3789
+ Pipe<MessageHandle> client_to_server_messages_;
3790
+ // Messages travelling from the transport to the application.
3791
+ Pipe<MessageHandle> server_to_client_messages_;
3792
+ // Trailing metadata from server to client
3793
+ Pipe<ServerMetadataHandle> server_trailing_metadata_;
3794
+ // Latch that can be set to terminate the call
3795
+ Latch<ServerMetadataHandle> cancel_latch_;
3796
+ grpc_byte_buffer** recv_message_ = nullptr;
3797
+ ClientMetadataHandle client_initial_metadata_stored_;
3798
+ };
3799
+
3800
+ ServerCallSpine::ServerCallSpine(Server* server, Channel* channel, Arena* arena)
3801
+ : BasicPromiseBasedCall(
3802
+ arena, 1, [channel, server]() -> grpc_call_create_args {
3803
+ grpc_call_create_args args;
3804
+ args.channel = channel->Ref();
3805
+ args.server = server;
3806
+ args.parent = nullptr;
3807
+ args.propagation_mask = 0;
3808
+ args.cq = nullptr;
3809
+ args.pollset_set_alternative = nullptr;
3810
+ args.server_transport_data = &args; // Arbitrary non-null pointer
3811
+ args.send_deadline = Timestamp::InfFuture();
3812
+ return args;
3813
+ }()) {
3814
+ global_stats().IncrementServerCallsCreated();
3815
+ channel->channel_stack()->InitServerCallSpine(this);
3816
+ }
3817
+
3818
+ void ServerCallSpine::PublishInitialMetadata(
3819
+ ClientMetadataHandle metadata,
3820
+ grpc_metadata_array* publish_initial_metadata) {
3821
+ if (grpc_call_trace.enabled()) {
3822
+ gpr_log(GPR_INFO, "%s[call] PublishInitialMetadata: %s", DebugTag().c_str(),
3823
+ metadata->DebugString().c_str());
3824
+ }
3825
+ PublishMetadataArray(metadata.get(), publish_initial_metadata, false);
3826
+ client_initial_metadata_stored_ = std::move(metadata);
3827
+ }
3828
+
3829
+ grpc_call_error ServerCallSpine::StartBatch(const grpc_op* ops, size_t nops,
3830
+ void* notify_tag,
3831
+ bool is_notify_tag_closure) {
3832
+ if (nops == 0) {
3833
+ EndOpImmediately(cq(), notify_tag, is_notify_tag_closure);
3834
+ return GRPC_CALL_OK;
3835
+ }
3836
+ const grpc_call_error validation_result = ValidateServerBatch(ops, nops);
3837
+ if (validation_result != GRPC_CALL_OK) {
3838
+ return validation_result;
3839
+ }
3840
+ CommitBatch(ops, nops, notify_tag, is_notify_tag_closure);
3841
+ return GRPC_CALL_OK;
3842
+ }
3843
+
3844
+ namespace {
3845
+ template <typename SetupFn>
3846
+ class MaybeOpImpl {
3847
+ public:
3848
+ using SetupResult = decltype(std::declval<SetupFn>()(grpc_op()));
3849
+ using PromiseFactory = promise_detail::OncePromiseFactory<void, SetupResult>;
3850
+ using Promise = typename PromiseFactory::Promise;
3851
+ struct Dismissed {};
3852
+ using State = absl::variant<Dismissed, PromiseFactory, Promise>;
3853
+
3854
+ MaybeOpImpl() : state_(Dismissed{}) {}
3855
+ explicit MaybeOpImpl(SetupResult result)
3856
+ : state_(PromiseFactory(std::move(result))) {}
3857
+
3858
+ MaybeOpImpl(const MaybeOpImpl&) = delete;
3859
+ MaybeOpImpl& operator=(const MaybeOpImpl&) = delete;
3860
+ MaybeOpImpl(MaybeOpImpl&& other) noexcept : state_(MoveState(other.state_)) {}
3861
+ MaybeOpImpl& operator=(MaybeOpImpl&& other) noexcept {
3862
+ if (absl::holds_alternative<Dismissed>(state_)) {
3863
+ state_.template emplace<Dismissed>();
3864
+ return *this;
3865
+ }
3866
+ // Can't move after first poll => Promise is not an option
3867
+ state_.template emplace<PromiseFactory>(
3868
+ std::move(absl::get<PromiseFactory>(other.state_)));
3869
+ return *this;
3870
+ }
3871
+
3872
+ Poll<StatusFlag> operator()() {
3873
+ if (absl::holds_alternative<Dismissed>(state_)) return Success{};
3874
+ if (absl::holds_alternative<PromiseFactory>(state_)) {
3875
+ auto& factory = absl::get<PromiseFactory>(state_);
3876
+ auto promise = factory.Make();
3877
+ state_.template emplace<Promise>(std::move(promise));
3878
+ }
3879
+ auto& promise = absl::get<Promise>(state_);
3880
+ return poll_cast<StatusFlag>(promise());
3881
+ }
3882
+
3883
+ private:
3884
+ State state_;
3885
+
3886
+ static State MoveState(State& state) {
3887
+ if (absl::holds_alternative<Dismissed>(state)) return Dismissed{};
3888
+ // Can't move after first poll => Promise is not an option
3889
+ return std::move(absl::get<PromiseFactory>(state));
3890
+ }
3891
+ };
3892
+
3893
+ // MaybeOp captures a fairly complicated dance we need to do for the batch API.
3894
+ // We first check if an op is included or not, and if it is, we run the setup
3895
+ // function in the context of the API call (NOT in the call party).
3896
+ // This setup function returns a promise factory which we'll then run *in* the
3897
+ // party to do initial setup, and have it return the promise that we'll
3898
+ // ultimately poll on til completion.
3899
+ // Once we express our surface API in terms of core internal types this whole
3900
+ // dance will go away.
3901
+ template <typename SetupFn>
3902
+ auto MaybeOp(const grpc_op* ops, uint8_t idx, SetupFn setup) {
3903
+ if (idx == 255) {
3904
+ return MaybeOpImpl<SetupFn>();
3905
+ } else {
3906
+ return MaybeOpImpl<SetupFn>(setup(ops[idx]));
3907
+ }
3908
+ }
3909
+ } // namespace
3910
+
3911
+ StatusFlag ServerCallSpine::FinishRecvMessage(
3912
+ NextResult<MessageHandle> result) {
3913
+ if (result.has_value()) {
3914
+ MessageHandle& message = *result;
3915
+ NoteLastMessageFlags(message->flags());
3916
+ if ((message->flags() & GRPC_WRITE_INTERNAL_COMPRESS) &&
3917
+ (incoming_compression_algorithm() != GRPC_COMPRESS_NONE)) {
3918
+ *recv_message_ = grpc_raw_compressed_byte_buffer_create(
3919
+ nullptr, 0, incoming_compression_algorithm());
3920
+ } else {
3921
+ *recv_message_ = grpc_raw_byte_buffer_create(nullptr, 0);
3922
+ }
3923
+ grpc_slice_buffer_move_into(message->payload()->c_slice_buffer(),
3924
+ &(*recv_message_)->data.raw.slice_buffer);
3925
+ if (grpc_call_trace.enabled()) {
3926
+ gpr_log(GPR_INFO,
3927
+ "%s[call] RecvMessage: outstanding_recv "
3928
+ "finishes: received %" PRIdPTR " byte message",
3929
+ DebugTag().c_str(),
3930
+ (*recv_message_)->data.raw.slice_buffer.length);
3931
+ }
3932
+ return Success{};
3933
+ }
3934
+ if (result.cancelled()) {
3935
+ if (grpc_call_trace.enabled()) {
3936
+ gpr_log(GPR_INFO,
3937
+ "%s[call] RecvMessage: outstanding_recv "
3938
+ "finishes: received end-of-stream with error",
3939
+ DebugTag().c_str());
3940
+ }
3941
+ *recv_message_ = nullptr;
3942
+ return Failure{};
3943
+ }
3944
+ if (grpc_call_trace.enabled()) {
3945
+ gpr_log(GPR_INFO,
3946
+ "%s[call] RecvMessage: outstanding_recv "
3947
+ "finishes: received end-of-stream",
3948
+ DebugTag().c_str());
3949
+ }
3950
+ *recv_message_ = nullptr;
3951
+ return Success{};
3952
+ }
3953
+
3954
+ void ServerCallSpine::CommitBatch(const grpc_op* ops, size_t nops,
3955
+ void* notify_tag,
3956
+ bool is_notify_tag_closure) {
3957
+ std::array<uint8_t, 8> got_ops{255, 255, 255, 255, 255, 255, 255, 255};
3958
+ for (size_t op_idx = 0; op_idx < nops; op_idx++) {
3959
+ const grpc_op& op = ops[op_idx];
3960
+ got_ops[op.op] = op_idx;
3961
+ }
3962
+ if (!is_notify_tag_closure) grpc_cq_begin_op(cq(), notify_tag);
3963
+ auto send_initial_metadata = MaybeOp(
3964
+ ops, got_ops[GRPC_OP_SEND_INITIAL_METADATA], [this](const grpc_op& op) {
3965
+ auto metadata = arena()->MakePooled<ServerMetadata>(arena());
3966
+ PrepareOutgoingInitialMetadata(op, *metadata);
3967
+ CToMetadata(op.data.send_initial_metadata.metadata,
3968
+ op.data.send_initial_metadata.count, metadata.get());
3969
+ if (grpc_call_trace.enabled()) {
3970
+ gpr_log(GPR_INFO, "%s[call] Send initial metadata",
3971
+ DebugTag().c_str());
3972
+ }
3973
+ return [this, metadata = std::move(metadata)]() mutable {
3974
+ return Map(server_initial_metadata_.sender.Push(std::move(metadata)),
3975
+ [this](bool r) {
3976
+ server_initial_metadata_.sender.Close();
3977
+ return StatusFlag(r);
3978
+ });
3979
+ };
3980
+ });
3981
+ auto send_message =
3982
+ MaybeOp(ops, got_ops[GRPC_OP_SEND_MESSAGE], [this](const grpc_op& op) {
3983
+ SliceBuffer send;
3984
+ grpc_slice_buffer_swap(
3985
+ &op.data.send_message.send_message->data.raw.slice_buffer,
3986
+ send.c_slice_buffer());
3987
+ auto msg = arena()->MakePooled<Message>(std::move(send), op.flags);
3988
+ return [this, msg = std::move(msg)]() mutable {
3989
+ return Map(server_to_client_messages_.sender.Push(std::move(msg)),
3990
+ [](bool r) { return StatusFlag(r); });
3991
+ };
3992
+ });
3993
+ auto send_trailing_metadata = MaybeOp(
3994
+ ops, got_ops[GRPC_OP_SEND_STATUS_FROM_SERVER], [this](const grpc_op& op) {
3995
+ auto metadata = arena()->MakePooled<ServerMetadata>(arena());
3996
+ CToMetadata(op.data.send_status_from_server.trailing_metadata,
3997
+ op.data.send_status_from_server.trailing_metadata_count,
3998
+ metadata.get());
3999
+ metadata->Set(GrpcStatusMetadata(),
4000
+ op.data.send_status_from_server.status);
4001
+ if (auto* details = op.data.send_status_from_server.status_details) {
4002
+ // TODO(ctiller): this should not be a copy, but we have
4003
+ // callers that allocate and pass in a slice created with
4004
+ // grpc_slice_from_static_string and then delete the string
4005
+ // after passing it in, which shouldn't be a supported API.
4006
+ metadata->Set(GrpcMessageMetadata(),
4007
+ Slice(grpc_slice_copy(*details)));
4008
+ }
4009
+ return [this, metadata = std::move(metadata)]() mutable {
4010
+ server_to_client_messages_.sender.Close();
4011
+ return Map(server_trailing_metadata_.sender.Push(std::move(metadata)),
4012
+ [](bool r) { return StatusFlag(r); });
4013
+ };
4014
+ });
4015
+ auto recv_message =
4016
+ MaybeOp(ops, got_ops[GRPC_OP_RECV_MESSAGE], [this](const grpc_op& op) {
4017
+ GPR_ASSERT(recv_message_ == nullptr);
4018
+ recv_message_ = op.data.recv_message.recv_message;
4019
+ return [this]() mutable {
4020
+ return Map(client_to_server_messages_.receiver.Next(),
4021
+ [this](NextResult<MessageHandle> msg) {
4022
+ return FinishRecvMessage(std::move(msg));
4023
+ });
4024
+ };
4025
+ });
4026
+ auto primary_ops = AllOk<StatusFlag>(
4027
+ std::move(send_initial_metadata), std::move(send_message),
4028
+ std::move(send_trailing_metadata), std::move(recv_message));
4029
+ if (got_ops[GRPC_OP_RECV_CLOSE_ON_SERVER] != 255) {
4030
+ auto recv_trailing_metadata = MaybeOp(
4031
+ ops, got_ops[GRPC_OP_RECV_CLOSE_ON_SERVER], [this](const grpc_op& op) {
4032
+ return [this, cancelled = op.data.recv_close_on_server.cancelled]() {
4033
+ return Map(server_trailing_metadata_.receiver.AwaitClosed(),
4034
+ [cancelled](bool result) -> Success {
4035
+ *cancelled = result ? 1 : 0;
4036
+ Crash("return metadata here");
4037
+ return Success{};
4038
+ });
4039
+ };
4040
+ });
4041
+ SpawnInfallible(
4042
+ "final-batch",
4043
+ [primary_ops = std::move(primary_ops),
4044
+ recv_trailing_metadata = std::move(recv_trailing_metadata),
4045
+ is_notify_tag_closure, notify_tag, this]() mutable {
4046
+ return Seq(std::move(primary_ops), std::move(recv_trailing_metadata),
4047
+ [is_notify_tag_closure, notify_tag, this](StatusFlag) {
4048
+ return WaitForCqEndOp(is_notify_tag_closure, notify_tag,
4049
+ absl::OkStatus(), cq());
4050
+ });
4051
+ });
4052
+ } else {
4053
+ SpawnInfallible(
4054
+ "batch", [primary_ops = std::move(primary_ops), is_notify_tag_closure,
4055
+ notify_tag, this]() mutable {
4056
+ return Seq(std::move(primary_ops), [is_notify_tag_closure, notify_tag,
4057
+ this](StatusFlag r) {
4058
+ return WaitForCqEndOp(is_notify_tag_closure, notify_tag,
4059
+ StatusCast<grpc_error_handle>(r), cq());
4060
+ });
4061
+ });
4062
+ }
4063
+ }
4064
+
4065
+ RefCountedPtr<CallSpineInterface> MakeServerCall(Server* server,
4066
+ Channel* channel,
4067
+ Arena* arena) {
4068
+ return RefCountedPtr<ServerCallSpine>(
4069
+ arena->New<ServerCallSpine>(server, channel, arena));
3412
4070
  }
3413
4071
  #else
3414
- ArenaPromise<ServerMetadataHandle>
3415
- ServerCallContext::MakeTopOfServerCallPromise(
3416
- CallArgs, grpc_completion_queue*, grpc_metadata_array*,
3417
- absl::FunctionRef<void(grpc_call*)>) {
3418
- (void)call_;
3419
- Crash("Promise-based server call is not enabled");
4072
+ RefCountedPtr<CallSpineInterface> MakeServerCall(Server*, Channel*, Arena*) {
4073
+ Crash("not implemented");
3420
4074
  }
3421
4075
  #endif
3422
4076
 
@@ -3476,6 +4130,9 @@ grpc_call* grpc_call_from_top_element(grpc_call_element* surface_element) {
3476
4130
  grpc_call_error grpc_call_cancel(grpc_call* call, void* reserved) {
3477
4131
  GRPC_API_TRACE("grpc_call_cancel(call=%p, reserved=%p)", 2, (call, reserved));
3478
4132
  GPR_ASSERT(reserved == nullptr);
4133
+ if (call == nullptr) {
4134
+ return GRPC_CALL_ERROR;
4135
+ }
3479
4136
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
3480
4137
  grpc_core::ExecCtx exec_ctx;
3481
4138
  grpc_core::Call::FromC(call)->CancelWithError(absl::CancelledError());
@@ -3491,6 +4148,9 @@ grpc_call_error grpc_call_cancel_with_status(grpc_call* c,
3491
4148
  "c=%p, status=%d, description=%s, reserved=%p)",
3492
4149
  4, (c, (int)status, description, reserved));
3493
4150
  GPR_ASSERT(reserved == nullptr);
4151
+ if (c == nullptr) {
4152
+ return GRPC_CALL_ERROR;
4153
+ }
3494
4154
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
3495
4155
  grpc_core::ExecCtx exec_ctx;
3496
4156
  grpc_core::Call::FromC(c)->CancelWithStatus(status, description);
@@ -3531,7 +4191,7 @@ grpc_call_error grpc_call_start_batch(grpc_call* call, const grpc_op* ops,
3531
4191
  "reserved=%p)",
3532
4192
  5, (call, ops, (unsigned long)nops, tag, reserved));
3533
4193
 
3534
- if (reserved != nullptr) {
4194
+ if (reserved != nullptr || call == nullptr) {
3535
4195
  return GRPC_CALL_ERROR;
3536
4196
  } else {
3537
4197
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
@@ -3616,3 +4276,8 @@ const char* grpc_call_error_to_string(grpc_call_error error) {
3616
4276
  }
3617
4277
  GPR_UNREACHABLE_CODE(return "GRPC_CALL_ERROR_UNKNOW");
3618
4278
  }
4279
+
4280
+ void grpc_call_run_in_event_engine(const grpc_call* call,
4281
+ absl::AnyInvocable<void()> cb) {
4282
+ grpc_core::Call::FromC(call)->event_engine()->Run(std::move(cb));
4283
+ }