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
@@ -22,8 +22,11 @@
22
22
  #include <string.h>
23
23
 
24
24
  #include <algorithm>
25
+ #include <functional>
26
+ #include <memory>
25
27
  #include <type_traits>
26
28
 
29
+ #include "absl/cleanup/cleanup.h"
27
30
  #include "absl/strings/match.h"
28
31
  #include "absl/strings/str_cat.h"
29
32
  #include "absl/strings/str_join.h"
@@ -31,7 +34,7 @@
31
34
  #include "absl/strings/string_view.h"
32
35
  #include "absl/strings/strip.h"
33
36
  #include "absl/types/optional.h"
34
- #include "upb/arena.h"
37
+ #include "upb/mem/arena.h"
35
38
 
36
39
  #include <grpc/event_engine/event_engine.h>
37
40
  #include <grpc/support/log.h>
@@ -67,10 +70,10 @@ TraceFlag grpc_xds_client_refcount_trace(false, "xds_client_refcount");
67
70
  // An xds call wrapper that can restart a call upon failure. Holds a ref to
68
71
  // the xds channel. The template parameter is the kind of wrapped xds call.
69
72
  template <typename T>
70
- class XdsClient::ChannelState::RetryableCall
73
+ class XdsClient::XdsChannel::RetryableCall
71
74
  : public InternallyRefCounted<RetryableCall<T>> {
72
75
  public:
73
- explicit RetryableCall(WeakRefCountedPtr<ChannelState> chand);
76
+ explicit RetryableCall(WeakRefCountedPtr<XdsChannel> xds_channel);
74
77
 
75
78
  // Disable thread-safety analysis because this method is called via
76
79
  // OrphanablePtr<>, but there's no way to pass the lock annotation
@@ -79,8 +82,8 @@ class XdsClient::ChannelState::RetryableCall
79
82
 
80
83
  void OnCallFinishedLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
81
84
 
82
- T* calld() const { return calld_.get(); }
83
- ChannelState* chand() const { return chand_.get(); }
85
+ T* call() const { return call_.get(); }
86
+ XdsChannel* xds_channel() const { return xds_channel_.get(); }
84
87
 
85
88
  bool IsCurrentCallOnChannel() const;
86
89
 
@@ -92,9 +95,9 @@ class XdsClient::ChannelState::RetryableCall
92
95
 
93
96
  // The wrapped xds call that talks to the xds server. It's instantiated
94
97
  // every time we start a new call. It's null during call retry backoff.
95
- OrphanablePtr<T> calld_;
98
+ OrphanablePtr<T> call_;
96
99
  // The owning xds channel.
97
- WeakRefCountedPtr<ChannelState> chand_;
100
+ WeakRefCountedPtr<XdsChannel> xds_channel_;
98
101
 
99
102
  // Retry state.
100
103
  BackOff backoff_;
@@ -105,17 +108,18 @@ class XdsClient::ChannelState::RetryableCall
105
108
  };
106
109
 
107
110
  // Contains an ADS call to the xds server.
108
- class XdsClient::ChannelState::AdsCallState
109
- : public InternallyRefCounted<AdsCallState> {
111
+ class XdsClient::XdsChannel::AdsCall : public InternallyRefCounted<AdsCall> {
110
112
  public:
111
113
  // The ctor and dtor should not be used directly.
112
- explicit AdsCallState(RefCountedPtr<RetryableCall<AdsCallState>> parent);
114
+ explicit AdsCall(RefCountedPtr<RetryableCall<AdsCall>> retryable_call);
113
115
 
114
116
  void Orphan() override;
115
117
 
116
- RetryableCall<AdsCallState>* parent() const { return parent_.get(); }
117
- ChannelState* chand() const { return parent_->chand(); }
118
- XdsClient* xds_client() const { return chand()->xds_client(); }
118
+ RetryableCall<AdsCall>* retryable_call() const {
119
+ return retryable_call_.get();
120
+ }
121
+ XdsChannel* xds_channel() const { return retryable_call_->xds_channel(); }
122
+ XdsClient* xds_client() const { return xds_channel()->xds_client(); }
119
123
  bool seen_response() const { return seen_response_; }
120
124
 
121
125
  void SubscribeLocked(const XdsResourceType* type, const XdsResourceName& name,
@@ -128,6 +132,8 @@ class XdsClient::ChannelState::AdsCallState
128
132
  bool HasSubscribedResources() const;
129
133
 
130
134
  private:
135
+ class AdsReadDelayHandle;
136
+
131
137
  class AdsResponseParser : public XdsApi::AdsResponseParserInterface {
132
138
  public:
133
139
  struct Result {
@@ -139,10 +145,10 @@ class XdsClient::ChannelState::AdsCallState
139
145
  std::map<std::string /*authority*/, std::set<XdsResourceKey>>
140
146
  resources_seen;
141
147
  bool have_valid_resources = false;
148
+ RefCountedPtr<ReadDelayHandle> read_delay_handle;
142
149
  };
143
150
 
144
- explicit AdsResponseParser(AdsCallState* ads_call_state)
145
- : ads_call_state_(ads_call_state) {}
151
+ explicit AdsResponseParser(AdsCall* ads_call) : ads_call_(ads_call) {}
146
152
 
147
153
  absl::Status ProcessAdsResponseFields(AdsResponseFields fields) override
148
154
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
@@ -152,14 +158,15 @@ class XdsClient::ChannelState::AdsCallState
152
158
  absl::string_view serialized_resource) override
153
159
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
154
160
 
155
- void ResourceWrapperParsingFailed(size_t idx) override;
161
+ void ResourceWrapperParsingFailed(size_t idx,
162
+ absl::string_view message) override;
156
163
 
157
164
  Result TakeResult() { return std::move(result_); }
158
165
 
159
166
  private:
160
- XdsClient* xds_client() const { return ads_call_state_->xds_client(); }
167
+ XdsClient* xds_client() const { return ads_call_->xds_client(); }
161
168
 
162
- AdsCallState* ads_call_state_;
169
+ AdsCall* ads_call_;
163
170
  const Timestamp update_time_ = Timestamp::Now();
164
171
  Result result_;
165
172
  };
@@ -182,10 +189,9 @@ class XdsClient::ChannelState::AdsCallState
182
189
  subscription_sent_ = true;
183
190
  }
184
191
 
185
- void MaybeMarkSubscriptionSendComplete(
186
- RefCountedPtr<AdsCallState> ads_calld)
192
+ void MaybeMarkSubscriptionSendComplete(RefCountedPtr<AdsCall> ads_call)
187
193
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_) {
188
- if (subscription_sent_) MaybeStartTimer(std::move(ads_calld));
194
+ if (subscription_sent_) MaybeStartTimer(std::move(ads_call));
189
195
  }
190
196
 
191
197
  void MarkSeen() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_) {
@@ -195,13 +201,13 @@ class XdsClient::ChannelState::AdsCallState
195
201
 
196
202
  void MaybeCancelTimer() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_) {
197
203
  if (timer_handle_.has_value() &&
198
- ads_calld_->xds_client()->engine()->Cancel(*timer_handle_)) {
204
+ ads_call_->xds_client()->engine()->Cancel(*timer_handle_)) {
199
205
  timer_handle_.reset();
200
206
  }
201
207
  }
202
208
 
203
209
  private:
204
- void MaybeStartTimer(RefCountedPtr<AdsCallState> ads_calld)
210
+ void MaybeStartTimer(RefCountedPtr<AdsCall> ads_call)
205
211
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_) {
206
212
  // Don't start timer if we've already either seen the resource or
207
213
  // marked it as non-existing.
@@ -222,13 +228,13 @@ class XdsClient::ChannelState::AdsCallState
222
228
  // (a) we already have the resource and (b) the server may
223
229
  // optimize by not resending the resource that we already have.
224
230
  auto& authority_state =
225
- ads_calld->xds_client()->authority_state_map_[name_.authority];
231
+ ads_call->xds_client()->authority_state_map_[name_.authority];
226
232
  ResourceState& state = authority_state.resource_map[type_][name_.key];
227
233
  if (state.resource != nullptr) return;
228
234
  // Start timer.
229
- ads_calld_ = std::move(ads_calld);
230
- timer_handle_ = ads_calld_->xds_client()->engine()->RunAfter(
231
- ads_calld_->xds_client()->request_timeout_,
235
+ ads_call_ = std::move(ads_call);
236
+ timer_handle_ = ads_call_->xds_client()->engine()->RunAfter(
237
+ ads_call_->xds_client()->request_timeout_,
232
238
  [self = Ref(DEBUG_LOCATION, "timer")]() {
233
239
  ApplicationCallbackExecCtx callback_exec_ctx;
234
240
  ExecCtx exec_ctx;
@@ -241,32 +247,32 @@ class XdsClient::ChannelState::AdsCallState
241
247
  gpr_log(GPR_INFO,
242
248
  "[xds_client %p] xds server %s: timeout obtaining resource "
243
249
  "{type=%s name=%s} from xds server",
244
- ads_calld_->xds_client(),
245
- ads_calld_->chand()->server_.server_uri().c_str(),
250
+ ads_call_->xds_client(),
251
+ ads_call_->xds_channel()->server_.server_uri().c_str(),
246
252
  std::string(type_->type_url()).c_str(),
247
253
  XdsClient::ConstructFullXdsResourceName(
248
254
  name_.authority, type_->type_url(), name_.key)
249
255
  .c_str());
250
256
  }
251
257
  {
252
- MutexLock lock(&ads_calld_->xds_client()->mu_);
258
+ MutexLock lock(&ads_call_->xds_client()->mu_);
253
259
  timer_handle_.reset();
254
260
  resource_seen_ = true;
255
261
  auto& authority_state =
256
- ads_calld_->xds_client()->authority_state_map_[name_.authority];
262
+ ads_call_->xds_client()->authority_state_map_[name_.authority];
257
263
  ResourceState& state = authority_state.resource_map[type_][name_.key];
258
264
  state.meta.client_status = XdsApi::ResourceMetadata::DOES_NOT_EXIST;
259
- ads_calld_->xds_client()->NotifyWatchersOnResourceDoesNotExist(
260
- state.watchers);
265
+ ads_call_->xds_client()->NotifyWatchersOnResourceDoesNotExist(
266
+ state.watchers, ReadDelayHandle::NoWait());
261
267
  }
262
- ads_calld_->xds_client()->work_serializer_.DrainQueue();
263
- ads_calld_.reset();
268
+ ads_call_->xds_client()->work_serializer_.DrainQueue();
269
+ ads_call_.reset();
264
270
  }
265
271
 
266
272
  const XdsResourceType* type_;
267
273
  const XdsResourceName name_;
268
274
 
269
- RefCountedPtr<AdsCallState> ads_calld_;
275
+ RefCountedPtr<AdsCall> ads_call_;
270
276
  // True if we have sent the initial subscription request for this
271
277
  // resource on this ADS stream.
272
278
  bool subscription_sent_ ABSL_GUARDED_BY(&XdsClient::mu_) = false;
@@ -281,19 +287,19 @@ class XdsClient::ChannelState::AdsCallState
281
287
  class StreamEventHandler
282
288
  : public XdsTransportFactory::XdsTransport::StreamingCall::EventHandler {
283
289
  public:
284
- explicit StreamEventHandler(RefCountedPtr<AdsCallState> ads_calld)
285
- : ads_calld_(std::move(ads_calld)) {}
290
+ explicit StreamEventHandler(RefCountedPtr<AdsCall> ads_call)
291
+ : ads_call_(std::move(ads_call)) {}
286
292
 
287
- void OnRequestSent(bool ok) override { ads_calld_->OnRequestSent(ok); }
293
+ void OnRequestSent(bool ok) override { ads_call_->OnRequestSent(ok); }
288
294
  void OnRecvMessage(absl::string_view payload) override {
289
- ads_calld_->OnRecvMessage(payload);
295
+ ads_call_->OnRecvMessage(payload);
290
296
  }
291
297
  void OnStatusReceived(absl::Status status) override {
292
- ads_calld_->OnStatusReceived(std::move(status));
298
+ ads_call_->OnStatusReceived(std::move(status));
293
299
  }
294
300
 
295
301
  private:
296
- RefCountedPtr<AdsCallState> ads_calld_;
302
+ RefCountedPtr<AdsCall> ads_call_;
297
303
  };
298
304
 
299
305
  struct ResourceTypeState {
@@ -322,9 +328,10 @@ class XdsClient::ChannelState::AdsCallState
322
328
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
323
329
 
324
330
  // The owning RetryableCall<>.
325
- RefCountedPtr<RetryableCall<AdsCallState>> parent_;
331
+ RefCountedPtr<RetryableCall<AdsCall>> retryable_call_;
326
332
 
327
- OrphanablePtr<XdsTransportFactory::XdsTransport::StreamingCall> call_;
333
+ OrphanablePtr<XdsTransportFactory::XdsTransport::StreamingCall>
334
+ streaming_call_;
328
335
 
329
336
  bool sent_initial_message_ = false;
330
337
  bool seen_response_ = false;
@@ -340,87 +347,86 @@ class XdsClient::ChannelState::AdsCallState
340
347
  };
341
348
 
342
349
  // Contains an LRS call to the xds server.
343
- class XdsClient::ChannelState::LrsCallState
344
- : public InternallyRefCounted<LrsCallState> {
350
+ class XdsClient::XdsChannel::LrsCall : public InternallyRefCounted<LrsCall> {
345
351
  public:
346
352
  // The ctor and dtor should not be used directly.
347
- explicit LrsCallState(RefCountedPtr<RetryableCall<LrsCallState>> parent);
353
+ explicit LrsCall(RefCountedPtr<RetryableCall<LrsCall>> retryable_call);
348
354
 
349
355
  void Orphan() override;
350
356
 
351
- void MaybeStartReportingLocked()
352
- ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
353
-
354
- RetryableCall<LrsCallState>* parent() { return parent_.get(); }
355
- ChannelState* chand() const { return parent_->chand(); }
356
- XdsClient* xds_client() const { return chand()->xds_client(); }
357
+ RetryableCall<LrsCall>* retryable_call() { return retryable_call_.get(); }
358
+ XdsChannel* xds_channel() const { return retryable_call_->xds_channel(); }
359
+ XdsClient* xds_client() const { return xds_channel()->xds_client(); }
357
360
  bool seen_response() const { return seen_response_; }
358
361
 
359
362
  private:
360
363
  class StreamEventHandler
361
364
  : public XdsTransportFactory::XdsTransport::StreamingCall::EventHandler {
362
365
  public:
363
- explicit StreamEventHandler(RefCountedPtr<LrsCallState> lrs_calld)
364
- : lrs_calld_(std::move(lrs_calld)) {}
366
+ explicit StreamEventHandler(RefCountedPtr<LrsCall> lrs_call)
367
+ : lrs_call_(std::move(lrs_call)) {}
365
368
 
366
- void OnRequestSent(bool ok) override { lrs_calld_->OnRequestSent(ok); }
369
+ void OnRequestSent(bool /*ok*/) override { lrs_call_->OnRequestSent(); }
367
370
  void OnRecvMessage(absl::string_view payload) override {
368
- lrs_calld_->OnRecvMessage(payload);
371
+ lrs_call_->OnRecvMessage(payload);
369
372
  }
370
373
  void OnStatusReceived(absl::Status status) override {
371
- lrs_calld_->OnStatusReceived(std::move(status));
374
+ lrs_call_->OnStatusReceived(std::move(status));
372
375
  }
373
376
 
374
377
  private:
375
- RefCountedPtr<LrsCallState> lrs_calld_;
378
+ RefCountedPtr<LrsCall> lrs_call_;
376
379
  };
377
380
 
378
- // Reports client-side load stats according to a fixed interval.
379
- class Reporter : public InternallyRefCounted<Reporter> {
381
+ // A repeating timer for a particular duration.
382
+ class Timer : public InternallyRefCounted<Timer> {
380
383
  public:
381
- Reporter(RefCountedPtr<LrsCallState> parent, Duration report_interval)
382
- : parent_(std::move(parent)), report_interval_(report_interval) {
383
- ScheduleNextReportLocked();
384
- }
384
+ explicit Timer(RefCountedPtr<LrsCall> lrs_call)
385
+ : lrs_call_(std::move(lrs_call)) {}
386
+ ~Timer() override { lrs_call_.reset(DEBUG_LOCATION, "LRS timer"); }
385
387
 
386
388
  // Disable thread-safety analysis because this method is called via
387
389
  // OrphanablePtr<>, but there's no way to pass the lock annotation
388
390
  // through there.
389
391
  void Orphan() override ABSL_NO_THREAD_SAFETY_ANALYSIS;
390
392
 
391
- void OnReportDoneLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
392
-
393
- private:
394
393
  void ScheduleNextReportLocked()
395
394
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
396
- bool OnNextReportTimer();
397
- bool SendReportLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
398
395
 
399
- bool IsCurrentReporterOnCall() const {
400
- return this == parent_->reporter_.get();
396
+ private:
397
+ bool IsCurrentTimerOnCall() const {
398
+ return this == lrs_call_->timer_.get();
401
399
  }
402
- XdsClient* xds_client() const { return parent_->xds_client(); }
400
+ XdsClient* xds_client() const { return lrs_call_->xds_client(); }
401
+
402
+ void OnNextReportTimer();
403
403
 
404
404
  // The owning LRS call.
405
- RefCountedPtr<LrsCallState> parent_;
405
+ RefCountedPtr<LrsCall> lrs_call_;
406
406
 
407
- // The load reporting state.
408
- const Duration report_interval_;
409
- bool last_report_counters_were_zero_ = false;
410
407
  absl::optional<EventEngine::TaskHandle> timer_handle_
411
408
  ABSL_GUARDED_BY(&XdsClient::mu_);
412
409
  };
413
410
 
414
- void OnRequestSent(bool ok);
411
+ void MaybeScheduleNextReportLocked()
412
+ ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
413
+
414
+ void SendReportLocked() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
415
+
416
+ void SendMessageLocked(std::string payload)
417
+ ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_);
418
+
419
+ void OnRequestSent();
415
420
  void OnRecvMessage(absl::string_view payload);
416
421
  void OnStatusReceived(absl::Status status);
417
422
 
418
423
  bool IsCurrentCallOnChannel() const;
419
424
 
420
425
  // The owning RetryableCall<>.
421
- RefCountedPtr<RetryableCall<LrsCallState>> parent_;
426
+ RefCountedPtr<RetryableCall<LrsCall>> retryable_call_;
422
427
 
423
- OrphanablePtr<XdsTransportFactory::XdsTransport::StreamingCall> call_;
428
+ OrphanablePtr<XdsTransportFactory::XdsTransport::StreamingCall>
429
+ streaming_call_;
424
430
 
425
431
  bool seen_response_ = false;
426
432
  bool send_message_pending_ ABSL_GUARDED_BY(&XdsClient::mu_) = false;
@@ -429,24 +435,24 @@ class XdsClient::ChannelState::LrsCallState
429
435
  bool send_all_clusters_ = false;
430
436
  std::set<std::string> cluster_names_; // Asked for by the LRS server.
431
437
  Duration load_reporting_interval_;
432
- OrphanablePtr<Reporter> reporter_;
438
+ bool last_report_counters_were_zero_ = false;
439
+ OrphanablePtr<Timer> timer_;
433
440
  };
434
441
 
435
442
  //
436
- // XdsClient::ChannelState
443
+ // XdsClient::XdsChannel
437
444
  //
438
445
 
439
- XdsClient::ChannelState::ChannelState(WeakRefCountedPtr<XdsClient> xds_client,
440
- const XdsBootstrap::XdsServer& server)
441
- : DualRefCounted<ChannelState>(
442
- GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_refcount_trace)
443
- ? "ChannelState"
444
- : nullptr),
446
+ XdsClient::XdsChannel::XdsChannel(WeakRefCountedPtr<XdsClient> xds_client,
447
+ const XdsBootstrap::XdsServer& server)
448
+ : DualRefCounted<XdsChannel>(
449
+ GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_refcount_trace) ? "XdsChannel"
450
+ : nullptr),
445
451
  xds_client_(std::move(xds_client)),
446
452
  server_(server) {
447
453
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
448
- gpr_log(GPR_INFO, "[xds_client %p] creating channel to %s",
449
- xds_client_.get(), server.server_uri().c_str());
454
+ gpr_log(GPR_INFO, "[xds_client %p] creating channel %p for server %s",
455
+ xds_client_.get(), this, server.server_uri().c_str());
450
456
  }
451
457
  absl::Status status;
452
458
  transport_ = xds_client_->transport_factory_->Create(
@@ -460,85 +466,87 @@ XdsClient::ChannelState::ChannelState(WeakRefCountedPtr<XdsClient> xds_client,
460
466
  if (!status.ok()) SetChannelStatusLocked(std::move(status));
461
467
  }
462
468
 
463
- XdsClient::ChannelState::~ChannelState() {
469
+ XdsClient::XdsChannel::~XdsChannel() {
464
470
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
465
471
  gpr_log(GPR_INFO, "[xds_client %p] destroying xds channel %p for server %s",
466
472
  xds_client(), this, server_.server_uri().c_str());
467
473
  }
468
- xds_client_.reset(DEBUG_LOCATION, "ChannelState");
474
+ xds_client_.reset(DEBUG_LOCATION, "XdsChannel");
469
475
  }
470
476
 
471
477
  // This method should only ever be called when holding the lock, but we can't
472
478
  // use a ABSL_EXCLUSIVE_LOCKS_REQUIRED annotation, because Orphan() will be
473
479
  // called from DualRefCounted::Unref, which cannot have a lock annotation for
474
480
  // a lock in this subclass.
475
- void XdsClient::ChannelState::Orphan() ABSL_NO_THREAD_SAFETY_ANALYSIS {
481
+ void XdsClient::XdsChannel::Orphan() ABSL_NO_THREAD_SAFETY_ANALYSIS {
482
+ if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
483
+ gpr_log(GPR_INFO, "[xds_client %p] orphaning xds channel %p for server %s",
484
+ xds_client(), this, server_.server_uri().c_str());
485
+ }
476
486
  shutting_down_ = true;
477
487
  transport_.reset();
478
488
  // At this time, all strong refs are removed, remove from channel map to
479
- // prevent subsequent subscription from trying to use this ChannelState as
489
+ // prevent subsequent subscription from trying to use this XdsChannel as
480
490
  // it is shutting down.
481
491
  xds_client_->xds_server_channel_map_.erase(&server_);
482
- ads_calld_.reset();
483
- lrs_calld_.reset();
492
+ ads_call_.reset();
493
+ lrs_call_.reset();
484
494
  }
485
495
 
486
- void XdsClient::ChannelState::ResetBackoff() { transport_->ResetBackoff(); }
496
+ void XdsClient::XdsChannel::ResetBackoff() { transport_->ResetBackoff(); }
487
497
 
488
- XdsClient::ChannelState::AdsCallState* XdsClient::ChannelState::ads_calld()
489
- const {
490
- return ads_calld_->calld();
498
+ XdsClient::XdsChannel::AdsCall* XdsClient::XdsChannel::ads_call() const {
499
+ return ads_call_->call();
491
500
  }
492
501
 
493
- XdsClient::ChannelState::LrsCallState* XdsClient::ChannelState::lrs_calld()
494
- const {
495
- return lrs_calld_->calld();
502
+ XdsClient::XdsChannel::LrsCall* XdsClient::XdsChannel::lrs_call() const {
503
+ return lrs_call_->call();
496
504
  }
497
505
 
498
- void XdsClient::ChannelState::MaybeStartLrsCall() {
499
- if (lrs_calld_ != nullptr) return;
500
- lrs_calld_.reset(new RetryableCall<LrsCallState>(
501
- WeakRef(DEBUG_LOCATION, "ChannelState+lrs")));
506
+ void XdsClient::XdsChannel::MaybeStartLrsCall() {
507
+ if (lrs_call_ != nullptr) return;
508
+ lrs_call_.reset(
509
+ new RetryableCall<LrsCall>(WeakRef(DEBUG_LOCATION, "XdsChannel+lrs")));
502
510
  }
503
511
 
504
- void XdsClient::ChannelState::StopLrsCallLocked() {
512
+ void XdsClient::XdsChannel::StopLrsCallLocked() {
505
513
  xds_client_->xds_load_report_server_map_.erase(&server_);
506
- lrs_calld_.reset();
514
+ lrs_call_.reset();
507
515
  }
508
516
 
509
- void XdsClient::ChannelState::SubscribeLocked(const XdsResourceType* type,
510
- const XdsResourceName& name) {
511
- if (ads_calld_ == nullptr) {
517
+ void XdsClient::XdsChannel::SubscribeLocked(const XdsResourceType* type,
518
+ const XdsResourceName& name) {
519
+ if (ads_call_ == nullptr) {
512
520
  // Start the ADS call if this is the first request.
513
- ads_calld_.reset(new RetryableCall<AdsCallState>(
514
- WeakRef(DEBUG_LOCATION, "ChannelState+ads")));
515
- // Note: AdsCallState's ctor will automatically subscribe to all
521
+ ads_call_.reset(
522
+ new RetryableCall<AdsCall>(WeakRef(DEBUG_LOCATION, "XdsChannel+ads")));
523
+ // Note: AdsCall's ctor will automatically subscribe to all
516
524
  // resources that the XdsClient already has watchers for, so we can
517
525
  // return here.
518
526
  return;
519
527
  }
520
528
  // If the ADS call is in backoff state, we don't need to do anything now
521
529
  // because when the call is restarted it will resend all necessary requests.
522
- if (ads_calld() == nullptr) return;
530
+ if (ads_call() == nullptr) return;
523
531
  // Subscribe to this resource if the ADS call is active.
524
- ads_calld()->SubscribeLocked(type, name, /*delay_send=*/false);
525
- }
526
-
527
- void XdsClient::ChannelState::UnsubscribeLocked(const XdsResourceType* type,
528
- const XdsResourceName& name,
529
- bool delay_unsubscription) {
530
- if (ads_calld_ != nullptr) {
531
- auto* calld = ads_calld_->calld();
532
- if (calld != nullptr) {
533
- calld->UnsubscribeLocked(type, name, delay_unsubscription);
534
- if (!calld->HasSubscribedResources()) {
535
- ads_calld_.reset();
532
+ ads_call()->SubscribeLocked(type, name, /*delay_send=*/false);
533
+ }
534
+
535
+ void XdsClient::XdsChannel::UnsubscribeLocked(const XdsResourceType* type,
536
+ const XdsResourceName& name,
537
+ bool delay_unsubscription) {
538
+ if (ads_call_ != nullptr) {
539
+ auto* call = ads_call_->call();
540
+ if (call != nullptr) {
541
+ call->UnsubscribeLocked(type, name, delay_unsubscription);
542
+ if (!call->HasSubscribedResources()) {
543
+ ads_call_.reset();
536
544
  }
537
545
  }
538
546
  }
539
547
  }
540
548
 
541
- void XdsClient::ChannelState::OnConnectivityFailure(absl::Status status) {
549
+ void XdsClient::XdsChannel::OnConnectivityFailure(absl::Status status) {
542
550
  {
543
551
  MutexLock lock(&xds_client_->mu_);
544
552
  SetChannelStatusLocked(std::move(status));
@@ -546,7 +554,7 @@ void XdsClient::ChannelState::OnConnectivityFailure(absl::Status status) {
546
554
  xds_client_->work_serializer_.DrainQueue();
547
555
  }
548
556
 
549
- void XdsClient::ChannelState::SetChannelStatusLocked(absl::Status status) {
557
+ void XdsClient::XdsChannel::SetChannelStatusLocked(absl::Status status) {
550
558
  if (shutting_down_) return;
551
559
  status = absl::Status(status.code(), absl::StrCat("xDS channel for server ",
552
560
  server_.server_uri(), ": ",
@@ -568,7 +576,7 @@ void XdsClient::ChannelState::SetChannelStatusLocked(absl::Status status) {
568
576
  // Find all watchers for this channel.
569
577
  std::set<RefCountedPtr<ResourceWatcherInterface>> watchers;
570
578
  for (const auto& a : xds_client_->authority_state_map_) { // authority
571
- if (a.second.channel_state != this) continue;
579
+ if (a.second.xds_channel != this) continue;
572
580
  for (const auto& t : a.second.resource_map) { // type
573
581
  for (const auto& r : t.second) { // resource id
574
582
  for (const auto& w : r.second.watchers) { // watchers
@@ -582,20 +590,20 @@ void XdsClient::ChannelState::SetChannelStatusLocked(absl::Status status) {
582
590
  [watchers = std::move(watchers), status = std::move(status)]()
583
591
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(xds_client_->work_serializer_) {
584
592
  for (const auto& watcher : watchers) {
585
- watcher->OnError(status);
593
+ watcher->OnError(status, ReadDelayHandle::NoWait());
586
594
  }
587
595
  },
588
596
  DEBUG_LOCATION);
589
597
  }
590
598
 
591
599
  //
592
- // XdsClient::ChannelState::RetryableCall<>
600
+ // XdsClient::XdsChannel::RetryableCall<>
593
601
  //
594
602
 
595
603
  template <typename T>
596
- XdsClient::ChannelState::RetryableCall<T>::RetryableCall(
597
- WeakRefCountedPtr<ChannelState> chand)
598
- : chand_(std::move(chand)),
604
+ XdsClient::XdsChannel::RetryableCall<T>::RetryableCall(
605
+ WeakRefCountedPtr<XdsChannel> xds_channel)
606
+ : xds_channel_(std::move(xds_channel)),
599
607
  backoff_(BackOff::Options()
600
608
  .set_initial_backoff(Duration::Seconds(
601
609
  GRPC_XDS_INITIAL_CONNECT_BACKOFF_SECONDS))
@@ -607,42 +615,43 @@ XdsClient::ChannelState::RetryableCall<T>::RetryableCall(
607
615
  }
608
616
 
609
617
  template <typename T>
610
- void XdsClient::ChannelState::RetryableCall<T>::Orphan() {
618
+ void XdsClient::XdsChannel::RetryableCall<T>::Orphan() {
611
619
  shutting_down_ = true;
612
- calld_.reset();
620
+ call_.reset();
613
621
  if (timer_handle_.has_value()) {
614
- chand()->xds_client()->engine()->Cancel(*timer_handle_);
622
+ xds_channel()->xds_client()->engine()->Cancel(*timer_handle_);
615
623
  timer_handle_.reset();
616
624
  }
617
625
  this->Unref(DEBUG_LOCATION, "RetryableCall+orphaned");
618
626
  }
619
627
 
620
628
  template <typename T>
621
- void XdsClient::ChannelState::RetryableCall<T>::OnCallFinishedLocked() {
629
+ void XdsClient::XdsChannel::RetryableCall<T>::OnCallFinishedLocked() {
622
630
  // If we saw a response on the current stream, reset backoff.
623
- if (calld_->seen_response()) backoff_.Reset();
624
- calld_.reset();
631
+ if (call_->seen_response()) backoff_.Reset();
632
+ call_.reset();
625
633
  // Start retry timer.
626
634
  StartRetryTimerLocked();
627
635
  }
628
636
 
629
637
  template <typename T>
630
- void XdsClient::ChannelState::RetryableCall<T>::StartNewCallLocked() {
638
+ void XdsClient::XdsChannel::RetryableCall<T>::StartNewCallLocked() {
631
639
  if (shutting_down_) return;
632
- GPR_ASSERT(chand_->transport_ != nullptr);
633
- GPR_ASSERT(calld_ == nullptr);
640
+ GPR_ASSERT(xds_channel_->transport_ != nullptr);
641
+ GPR_ASSERT(call_ == nullptr);
634
642
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
635
643
  gpr_log(GPR_INFO,
636
644
  "[xds_client %p] xds server %s: start new call from retryable "
637
645
  "call %p",
638
- chand()->xds_client(), chand()->server_.server_uri().c_str(), this);
646
+ xds_channel()->xds_client(),
647
+ xds_channel()->server_.server_uri().c_str(), this);
639
648
  }
640
- calld_ = MakeOrphanable<T>(
649
+ call_ = MakeOrphanable<T>(
641
650
  this->Ref(DEBUG_LOCATION, "RetryableCall+start_new_call"));
642
651
  }
643
652
 
644
653
  template <typename T>
645
- void XdsClient::ChannelState::RetryableCall<T>::StartRetryTimerLocked() {
654
+ void XdsClient::XdsChannel::RetryableCall<T>::StartRetryTimerLocked() {
646
655
  if (shutting_down_) return;
647
656
  const Timestamp next_attempt_time = backoff_.NextAttemptTime();
648
657
  const Duration timeout =
@@ -651,10 +660,10 @@ void XdsClient::ChannelState::RetryableCall<T>::StartRetryTimerLocked() {
651
660
  gpr_log(GPR_INFO,
652
661
  "[xds_client %p] xds server %s: call attempt failed; "
653
662
  "retry timer will fire in %" PRId64 "ms.",
654
- chand()->xds_client(), chand()->server_.server_uri().c_str(),
655
- timeout.millis());
663
+ xds_channel()->xds_client(),
664
+ xds_channel()->server_.server_uri().c_str(), timeout.millis());
656
665
  }
657
- timer_handle_ = chand()->xds_client()->engine()->RunAfter(
666
+ timer_handle_ = xds_channel()->xds_client()->engine()->RunAfter(
658
667
  timeout,
659
668
  [self = this->Ref(DEBUG_LOCATION, "RetryableCall+retry_timer_start")]() {
660
669
  ApplicationCallbackExecCtx callback_exec_ctx;
@@ -664,8 +673,8 @@ void XdsClient::ChannelState::RetryableCall<T>::StartRetryTimerLocked() {
664
673
  }
665
674
 
666
675
  template <typename T>
667
- void XdsClient::ChannelState::RetryableCall<T>::OnRetryTimer() {
668
- MutexLock lock(&chand_->xds_client()->mu_);
676
+ void XdsClient::XdsChannel::RetryableCall<T>::OnRetryTimer() {
677
+ MutexLock lock(&xds_channel_->xds_client()->mu_);
669
678
  if (timer_handle_.has_value()) {
670
679
  timer_handle_.reset();
671
680
  if (shutting_down_) return;
@@ -673,31 +682,52 @@ void XdsClient::ChannelState::RetryableCall<T>::OnRetryTimer() {
673
682
  gpr_log(GPR_INFO,
674
683
  "[xds_client %p] xds server %s: retry timer fired (retryable "
675
684
  "call: %p)",
676
- chand()->xds_client(), chand()->server_.server_uri().c_str(),
677
- this);
685
+ xds_channel()->xds_client(),
686
+ xds_channel()->server_.server_uri().c_str(), this);
678
687
  }
679
688
  StartNewCallLocked();
680
689
  }
681
690
  }
682
691
 
683
692
  //
684
- // XdsClient::ChannelState::AdsCallState::AdsResponseParser
693
+ // XdsClient::XdsChannel::AdsCall::AdsReadDelayHandle
694
+ //
695
+
696
+ class XdsClient::XdsChannel::AdsCall::AdsReadDelayHandle
697
+ : public XdsClient::ReadDelayHandle {
698
+ public:
699
+ explicit AdsReadDelayHandle(RefCountedPtr<AdsCall> ads_call)
700
+ : ads_call_(std::move(ads_call)) {}
701
+
702
+ ~AdsReadDelayHandle() override {
703
+ MutexLock lock(&ads_call_->xds_client()->mu_);
704
+ auto call = ads_call_->streaming_call_.get();
705
+ if (call != nullptr) call->StartRecvMessage();
706
+ }
707
+
708
+ private:
709
+ RefCountedPtr<AdsCall> ads_call_;
710
+ };
711
+
712
+ //
713
+ // XdsClient::XdsChannel::AdsCall::AdsResponseParser
685
714
  //
686
715
 
687
- absl::Status XdsClient::ChannelState::AdsCallState::AdsResponseParser::
688
- ProcessAdsResponseFields(AdsResponseFields fields) {
716
+ absl::Status
717
+ XdsClient::XdsChannel::AdsCall::AdsResponseParser::ProcessAdsResponseFields(
718
+ AdsResponseFields fields) {
689
719
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
690
720
  gpr_log(
691
721
  GPR_INFO,
692
722
  "[xds_client %p] xds server %s: received ADS response: type_url=%s, "
693
723
  "version=%s, nonce=%s, num_resources=%" PRIuPTR,
694
- ads_call_state_->xds_client(),
695
- ads_call_state_->chand()->server_.server_uri().c_str(),
724
+ ads_call_->xds_client(),
725
+ ads_call_->xds_channel()->server_.server_uri().c_str(),
696
726
  fields.type_url.c_str(), fields.version.c_str(), fields.nonce.c_str(),
697
727
  fields.num_resources);
698
728
  }
699
729
  result_.type =
700
- ads_call_state_->xds_client()->GetResourceTypeLocked(fields.type_url);
730
+ ads_call_->xds_client()->GetResourceTypeLocked(fields.type_url);
701
731
  if (result_.type == nullptr) {
702
732
  return absl::InvalidArgumentError(
703
733
  absl::StrCat("unknown resource type ", fields.type_url));
@@ -705,6 +735,8 @@ absl::Status XdsClient::ChannelState::AdsCallState::AdsResponseParser::
705
735
  result_.type_url = std::move(fields.type_url);
706
736
  result_.version = std::move(fields.version);
707
737
  result_.nonce = std::move(fields.nonce);
738
+ result_.read_delay_handle =
739
+ MakeRefCounted<AdsReadDelayHandle>(ads_call_->Ref());
708
740
  return absl::OkStatus();
709
741
  }
710
742
 
@@ -734,7 +766,7 @@ void UpdateResourceMetadataNacked(const std::string& version,
734
766
 
735
767
  } // namespace
736
768
 
737
- void XdsClient::ChannelState::AdsCallState::AdsResponseParser::ParseResource(
769
+ void XdsClient::XdsChannel::AdsCall::AdsResponseParser::ParseResource(
738
770
  upb_Arena* arena, size_t idx, absl::string_view type_url,
739
771
  absl::string_view resource_name, absl::string_view serialized_resource) {
740
772
  std::string error_prefix = absl::StrCat(
@@ -749,8 +781,8 @@ void XdsClient::ChannelState::AdsCallState::AdsResponseParser::ParseResource(
749
781
  }
750
782
  // Parse the resource.
751
783
  XdsResourceType::DecodeContext context = {
752
- xds_client(), ads_call_state_->chand()->server_, &grpc_xds_client_trace,
753
- xds_client()->symtab_.ptr(), arena};
784
+ xds_client(), ads_call_->xds_channel()->server_, &grpc_xds_client_trace,
785
+ xds_client()->def_pool_.ptr(), arena};
754
786
  XdsResourceType::DecodeResult decode_result =
755
787
  result_.type->Decode(context, serialized_resource);
756
788
  // If we didn't already have the resource name from the Resource
@@ -783,8 +815,8 @@ void XdsClient::ChannelState::AdsCallState::AdsResponseParser::ParseResource(
783
815
  return;
784
816
  }
785
817
  // Cancel resource-does-not-exist timer, if needed.
786
- auto timer_it = ads_call_state_->state_map_.find(result_.type);
787
- if (timer_it != ads_call_state_->state_map_.end()) {
818
+ auto timer_it = ads_call_->state_map_.find(result_.type);
819
+ if (timer_it != ads_call_->state_map_.end()) {
788
820
  auto it = timer_it->second.subscribed_resources.find(
789
821
  parsed_resource_name->authority);
790
822
  if (it != timer_it->second.subscribed_resources.end()) {
@@ -826,7 +858,7 @@ void XdsClient::ChannelState::AdsCallState::AdsResponseParser::ParseResource(
826
858
  "resource for which we previously ignored a deletion: type %s "
827
859
  "name %s",
828
860
  xds_client(),
829
- ads_call_state_->chand()->server_.server_uri().c_str(),
861
+ ads_call_->xds_channel()->server_.server_uri().c_str(),
830
862
  std::string(type_url).c_str(), std::string(resource_name).c_str());
831
863
  resource_state.ignored_deletion = false;
832
864
  }
@@ -835,7 +867,8 @@ void XdsClient::ChannelState::AdsCallState::AdsResponseParser::ParseResource(
835
867
  xds_client()->NotifyWatchersOnErrorLocked(
836
868
  resource_state.watchers,
837
869
  absl::UnavailableError(
838
- absl::StrCat("invalid resource: ", decode_status.ToString())));
870
+ absl::StrCat("invalid resource: ", decode_status.ToString())),
871
+ result_.read_delay_handle);
839
872
  UpdateResourceMetadataNacked(result_.version, decode_status.ToString(),
840
873
  update_time_, &resource_state.meta);
841
874
  return;
@@ -860,61 +893,58 @@ void XdsClient::ChannelState::AdsCallState::AdsResponseParser::ParseResource(
860
893
  std::string(serialized_resource), result_.version, update_time_);
861
894
  // Notify watchers.
862
895
  auto& watchers_list = resource_state.watchers;
863
- auto* value =
864
- result_.type->CopyResource(resource_state.resource.get()).release();
865
896
  xds_client()->work_serializer_.Schedule(
866
- [watchers_list, value]()
897
+ [watchers_list, value = resource_state.resource,
898
+ read_delay_handle = result_.read_delay_handle]()
867
899
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&xds_client()->work_serializer_) {
868
900
  for (const auto& p : watchers_list) {
869
- p.first->OnGenericResourceChanged(value);
901
+ p.first->OnGenericResourceChanged(value, read_delay_handle);
870
902
  }
871
- delete value;
872
903
  },
873
904
  DEBUG_LOCATION);
874
905
  }
875
906
 
876
- void XdsClient::ChannelState::AdsCallState::AdsResponseParser::
877
- ResourceWrapperParsingFailed(size_t idx) {
878
- result_.errors.emplace_back(absl::StrCat(
879
- "resource index ", idx, ": Can't decode Resource proto wrapper"));
907
+ void XdsClient::XdsChannel::AdsCall::AdsResponseParser::
908
+ ResourceWrapperParsingFailed(size_t idx, absl::string_view message) {
909
+ result_.errors.emplace_back(
910
+ absl::StrCat("resource index ", idx, ": ", message));
880
911
  }
881
912
 
882
913
  //
883
- // XdsClient::ChannelState::AdsCallState
914
+ // XdsClient::XdsChannel::AdsCall
884
915
  //
885
916
 
886
- XdsClient::ChannelState::AdsCallState::AdsCallState(
887
- RefCountedPtr<RetryableCall<AdsCallState>> parent)
888
- : InternallyRefCounted<AdsCallState>(
889
- GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_refcount_trace)
890
- ? "AdsCallState"
891
- : nullptr),
892
- parent_(std::move(parent)) {
917
+ XdsClient::XdsChannel::AdsCall::AdsCall(
918
+ RefCountedPtr<RetryableCall<AdsCall>> retryable_call)
919
+ : InternallyRefCounted<AdsCall>(
920
+ GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_refcount_trace) ? "AdsCall"
921
+ : nullptr),
922
+ retryable_call_(std::move(retryable_call)) {
893
923
  GPR_ASSERT(xds_client() != nullptr);
894
924
  // Init the ADS call.
895
925
  const char* method =
896
926
  "/envoy.service.discovery.v3.AggregatedDiscoveryService/"
897
927
  "StreamAggregatedResources";
898
- call_ = chand()->transport_->CreateStreamingCall(
928
+ streaming_call_ = xds_channel()->transport_->CreateStreamingCall(
899
929
  method, std::make_unique<StreamEventHandler>(
900
930
  // Passing the initial ref here. This ref will go away when
901
931
  // the StreamEventHandler is destroyed.
902
- RefCountedPtr<AdsCallState>(this)));
903
- GPR_ASSERT(call_ != nullptr);
932
+ RefCountedPtr<AdsCall>(this)));
933
+ GPR_ASSERT(streaming_call_ != nullptr);
904
934
  // Start the call.
905
935
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
906
936
  gpr_log(GPR_INFO,
907
937
  "[xds_client %p] xds server %s: starting ADS call "
908
- "(calld: %p, call: %p)",
909
- xds_client(), chand()->server_.server_uri().c_str(), this,
910
- call_.get());
938
+ "(ads_call: %p, streaming_call: %p)",
939
+ xds_client(), xds_channel()->server_.server_uri().c_str(), this,
940
+ streaming_call_.get());
911
941
  }
912
942
  // If this is a reconnect, add any necessary subscriptions from what's
913
943
  // already in the cache.
914
944
  for (const auto& a : xds_client()->authority_state_map_) {
915
945
  const std::string& authority = a.first;
916
946
  // Skip authorities that are not using this xDS channel.
917
- if (a.second.channel_state != chand()) continue;
947
+ if (a.second.xds_channel != xds_channel()) continue;
918
948
  for (const auto& t : a.second.resource_map) {
919
949
  const XdsResourceType* type = t.first;
920
950
  for (const auto& r : t.second) {
@@ -927,17 +957,19 @@ XdsClient::ChannelState::AdsCallState::AdsCallState(
927
957
  for (const auto& p : state_map_) {
928
958
  SendMessageLocked(p.first);
929
959
  }
960
+ streaming_call_->StartRecvMessage();
930
961
  }
931
962
 
932
- void XdsClient::ChannelState::AdsCallState::Orphan() {
963
+ void XdsClient::XdsChannel::AdsCall::Orphan() {
933
964
  state_map_.clear();
934
965
  // Note that the initial ref is held by the StreamEventHandler, which
935
- // will be destroyed when call_ is destroyed, which may not happen
936
- // here, since there may be other refs held to call_ by internal callbacks.
937
- call_.reset();
966
+ // will be destroyed when streaming_call_ is destroyed, which may not happen
967
+ // here, since there may be other refs held to streaming_call_ by internal
968
+ // callbacks.
969
+ streaming_call_.reset();
938
970
  }
939
971
 
940
- void XdsClient::ChannelState::AdsCallState::SendMessageLocked(
972
+ void XdsClient::XdsChannel::AdsCall::SendMessageLocked(
941
973
  const XdsResourceType* type)
942
974
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&XdsClient::mu_) {
943
975
  // Buffer message sending if an existing message is in flight.
@@ -947,24 +979,25 @@ void XdsClient::ChannelState::AdsCallState::SendMessageLocked(
947
979
  }
948
980
  auto& state = state_map_[type];
949
981
  std::string serialized_message = xds_client()->api_.CreateAdsRequest(
950
- type->type_url(), chand()->resource_type_version_map_[type], state.nonce,
951
- ResourceNamesForRequest(type), state.status, !sent_initial_message_);
982
+ type->type_url(), xds_channel()->resource_type_version_map_[type],
983
+ state.nonce, ResourceNamesForRequest(type), state.status,
984
+ !sent_initial_message_);
952
985
  sent_initial_message_ = true;
953
986
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
954
987
  gpr_log(GPR_INFO,
955
988
  "[xds_client %p] xds server %s: sending ADS request: type=%s "
956
989
  "version=%s nonce=%s error=%s",
957
- xds_client(), chand()->server_.server_uri().c_str(),
990
+ xds_client(), xds_channel()->server_.server_uri().c_str(),
958
991
  std::string(type->type_url()).c_str(),
959
- chand()->resource_type_version_map_[type].c_str(),
992
+ xds_channel()->resource_type_version_map_[type].c_str(),
960
993
  state.nonce.c_str(), state.status.ToString().c_str());
961
994
  }
962
995
  state.status = absl::OkStatus();
963
- call_->SendMessage(std::move(serialized_message));
996
+ streaming_call_->SendMessage(std::move(serialized_message));
964
997
  send_message_pending_ = type;
965
998
  }
966
999
 
967
- void XdsClient::ChannelState::AdsCallState::SubscribeLocked(
1000
+ void XdsClient::XdsChannel::AdsCall::SubscribeLocked(
968
1001
  const XdsResourceType* type, const XdsResourceName& name, bool delay_send) {
969
1002
  auto& state = state_map_[type].subscribed_resources[name.authority][name.key];
970
1003
  if (state == nullptr) {
@@ -973,7 +1006,7 @@ void XdsClient::ChannelState::AdsCallState::SubscribeLocked(
973
1006
  }
974
1007
  }
975
1008
 
976
- void XdsClient::ChannelState::AdsCallState::UnsubscribeLocked(
1009
+ void XdsClient::XdsChannel::AdsCall::UnsubscribeLocked(
977
1010
  const XdsResourceType* type, const XdsResourceName& name,
978
1011
  bool delay_unsubscription) {
979
1012
  auto& type_state_map = state_map_[type];
@@ -990,14 +1023,14 @@ void XdsClient::ChannelState::AdsCallState::UnsubscribeLocked(
990
1023
  }
991
1024
  }
992
1025
 
993
- bool XdsClient::ChannelState::AdsCallState::HasSubscribedResources() const {
1026
+ bool XdsClient::XdsChannel::AdsCall::HasSubscribedResources() const {
994
1027
  for (const auto& p : state_map_) {
995
1028
  if (!p.second.subscribed_resources.empty()) return true;
996
1029
  }
997
1030
  return false;
998
1031
  }
999
1032
 
1000
- void XdsClient::ChannelState::AdsCallState::OnRequestSent(bool ok) {
1033
+ void XdsClient::XdsChannel::AdsCall::OnRequestSent(bool ok) {
1001
1034
  MutexLock lock(&xds_client()->mu_);
1002
1035
  // For each resource that was in the message we just sent, start the
1003
1036
  // resource timer if needed.
@@ -1029,25 +1062,28 @@ void XdsClient::ChannelState::AdsCallState::OnRequestSent(bool ok) {
1029
1062
  }
1030
1063
  }
1031
1064
 
1032
- void XdsClient::ChannelState::AdsCallState::OnRecvMessage(
1033
- absl::string_view payload) {
1065
+ void XdsClient::XdsChannel::AdsCall::OnRecvMessage(absl::string_view payload) {
1066
+ // Needs to be destroyed after the mutex is released.
1067
+ RefCountedPtr<ReadDelayHandle> read_delay_handle;
1034
1068
  {
1035
1069
  MutexLock lock(&xds_client()->mu_);
1036
1070
  if (!IsCurrentCallOnChannel()) return;
1037
1071
  // Parse and validate the response.
1038
1072
  AdsResponseParser parser(this);
1039
1073
  absl::Status status = xds_client()->api_.ParseAdsResponse(payload, &parser);
1074
+ // This includes a handle that will trigger an ADS read.
1075
+ AdsResponseParser::Result result = parser.TakeResult();
1076
+ read_delay_handle = std::move(result.read_delay_handle);
1040
1077
  if (!status.ok()) {
1041
1078
  // Ignore unparsable response.
1042
1079
  gpr_log(GPR_ERROR,
1043
1080
  "[xds_client %p] xds server %s: error parsing ADS response (%s) "
1044
1081
  "-- ignoring",
1045
- xds_client(), chand()->server_.server_uri().c_str(),
1082
+ xds_client(), xds_channel()->server_.server_uri().c_str(),
1046
1083
  status.ToString().c_str());
1047
1084
  } else {
1048
1085
  seen_response_ = true;
1049
- chand()->status_ = absl::OkStatus();
1050
- AdsResponseParser::Result result = parser.TakeResult();
1086
+ xds_channel()->status_ = absl::OkStatus();
1051
1087
  // Update nonce.
1052
1088
  auto& state = state_map_[result.type];
1053
1089
  state.nonce = result.nonce;
@@ -1060,7 +1096,7 @@ void XdsClient::ChannelState::AdsCallState::OnRecvMessage(
1060
1096
  "[xds_client %p] xds server %s: ADS response invalid for "
1061
1097
  "resource "
1062
1098
  "type %s version %s, will NACK: nonce=%s status=%s",
1063
- xds_client(), chand()->server_.server_uri().c_str(),
1099
+ xds_client(), xds_channel()->server_.server_uri().c_str(),
1064
1100
  result.type_url.c_str(), result.version.c_str(),
1065
1101
  state.nonce.c_str(), state.status.ToString().c_str());
1066
1102
  }
@@ -1070,7 +1106,7 @@ void XdsClient::ChannelState::AdsCallState::OnRecvMessage(
1070
1106
  const std::string& authority = a.first;
1071
1107
  AuthorityState& authority_state = a.second;
1072
1108
  // Skip authorities that are not using this xDS channel.
1073
- if (authority_state.channel_state != chand()) continue;
1109
+ if (authority_state.xds_channel != xds_channel()) continue;
1074
1110
  auto seen_authority_it = result.resources_seen.find(authority);
1075
1111
  // Find this resource type.
1076
1112
  auto type_it = authority_state.resource_map.find(result.type);
@@ -1090,12 +1126,13 @@ void XdsClient::ChannelState::AdsCallState::OnRecvMessage(
1090
1126
  // that the resource does not exist. For that case, we rely on
1091
1127
  // the request timeout instead.
1092
1128
  if (resource_state.resource == nullptr) continue;
1093
- if (chand()->server_.IgnoreResourceDeletion()) {
1129
+ if (xds_channel()->server_.IgnoreResourceDeletion()) {
1094
1130
  if (!resource_state.ignored_deletion) {
1095
1131
  gpr_log(GPR_ERROR,
1096
1132
  "[xds_client %p] xds server %s: ignoring deletion "
1097
1133
  "for resource type %s name %s",
1098
- xds_client(), chand()->server_.server_uri().c_str(),
1134
+ xds_client(),
1135
+ xds_channel()->server_.server_uri().c_str(),
1099
1136
  result.type_url.c_str(),
1100
1137
  XdsClient::ConstructFullXdsResourceName(
1101
1138
  authority, result.type_url.c_str(), resource_key)
@@ -1107,7 +1144,7 @@ void XdsClient::ChannelState::AdsCallState::OnRecvMessage(
1107
1144
  resource_state.meta.client_status =
1108
1145
  XdsApi::ResourceMetadata::DOES_NOT_EXIST;
1109
1146
  xds_client()->NotifyWatchersOnResourceDoesNotExist(
1110
- resource_state.watchers);
1147
+ resource_state.watchers, read_delay_handle);
1111
1148
  }
1112
1149
  }
1113
1150
  }
@@ -1115,14 +1152,8 @@ void XdsClient::ChannelState::AdsCallState::OnRecvMessage(
1115
1152
  }
1116
1153
  // If we had valid resources or the update was empty, update the version.
1117
1154
  if (result.have_valid_resources || result.errors.empty()) {
1118
- chand()->resource_type_version_map_[result.type] =
1155
+ xds_channel()->resource_type_version_map_[result.type] =
1119
1156
  std::move(result.version);
1120
- // Start load reporting if needed.
1121
- auto& lrs_call = chand()->lrs_calld_;
1122
- if (lrs_call != nullptr) {
1123
- LrsCallState* lrs_calld = lrs_call->calld();
1124
- if (lrs_calld != nullptr) lrs_calld->MaybeStartReportingLocked();
1125
- }
1126
1157
  }
1127
1158
  // Send ACK or NACK.
1128
1159
  SendMessageLocked(result.type);
@@ -1131,16 +1162,16 @@ void XdsClient::ChannelState::AdsCallState::OnRecvMessage(
1131
1162
  xds_client()->work_serializer_.DrainQueue();
1132
1163
  }
1133
1164
 
1134
- void XdsClient::ChannelState::AdsCallState::OnStatusReceived(
1135
- absl::Status status) {
1165
+ void XdsClient::XdsChannel::AdsCall::OnStatusReceived(absl::Status status) {
1136
1166
  {
1137
1167
  MutexLock lock(&xds_client()->mu_);
1138
1168
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
1139
1169
  gpr_log(GPR_INFO,
1140
1170
  "[xds_client %p] xds server %s: ADS call status received "
1141
- "(chand=%p, ads_calld=%p, call=%p): %s",
1142
- xds_client(), chand()->server_.server_uri().c_str(), chand(),
1143
- this, call_.get(), status.ToString().c_str());
1171
+ "(xds_channel=%p, ads_call=%p, streaming_call=%p): %s",
1172
+ xds_client(), xds_channel()->server_.server_uri().c_str(),
1173
+ xds_channel(), this, streaming_call_.get(),
1174
+ status.ToString().c_str());
1144
1175
  }
1145
1176
  // Cancel any does-not-exist timers that may be pending.
1146
1177
  for (const auto& p : state_map_) {
@@ -1153,12 +1184,12 @@ void XdsClient::ChannelState::AdsCallState::OnStatusReceived(
1153
1184
  // Ignore status from a stale call.
1154
1185
  if (IsCurrentCallOnChannel()) {
1155
1186
  // Try to restart the call.
1156
- parent_->OnCallFinishedLocked();
1187
+ retryable_call_->OnCallFinishedLocked();
1157
1188
  // If we didn't receive a response on the stream, report the
1158
1189
  // stream failure as a connectivity failure, which will report the
1159
1190
  // error to all watchers of resources on this channel.
1160
1191
  if (!seen_response_) {
1161
- chand()->SetChannelStatusLocked(absl::UnavailableError(
1192
+ xds_channel()->SetChannelStatusLocked(absl::UnavailableError(
1162
1193
  absl::StrCat("xDS call failed with no responses received; status: ",
1163
1194
  status.ToString())));
1164
1195
  }
@@ -1167,15 +1198,15 @@ void XdsClient::ChannelState::AdsCallState::OnStatusReceived(
1167
1198
  xds_client()->work_serializer_.DrainQueue();
1168
1199
  }
1169
1200
 
1170
- bool XdsClient::ChannelState::AdsCallState::IsCurrentCallOnChannel() const {
1201
+ bool XdsClient::XdsChannel::AdsCall::IsCurrentCallOnChannel() const {
1171
1202
  // If the retryable ADS call is null (which only happens when the xds
1172
1203
  // channel is shutting down), all the ADS calls are stale.
1173
- if (chand()->ads_calld_ == nullptr) return false;
1174
- return this == chand()->ads_calld_->calld();
1204
+ if (xds_channel()->ads_call_ == nullptr) return false;
1205
+ return this == xds_channel()->ads_call_->call();
1175
1206
  }
1176
1207
 
1177
1208
  std::vector<std::string>
1178
- XdsClient::ChannelState::AdsCallState::ResourceNamesForRequest(
1209
+ XdsClient::XdsChannel::AdsCall::ResourceNamesForRequest(
1179
1210
  const XdsResourceType* type) {
1180
1211
  std::vector<std::string> resource_names;
1181
1212
  auto it = state_map_.find(type);
@@ -1195,34 +1226,107 @@ XdsClient::ChannelState::AdsCallState::ResourceNamesForRequest(
1195
1226
  }
1196
1227
 
1197
1228
  //
1198
- // XdsClient::ChannelState::LrsCallState::Reporter
1229
+ // XdsClient::XdsChannel::LrsCall::Timer
1199
1230
  //
1200
1231
 
1201
- void XdsClient::ChannelState::LrsCallState::Reporter::Orphan() {
1202
- if (timer_handle_.has_value() &&
1203
- xds_client()->engine()->Cancel(*timer_handle_)) {
1232
+ void XdsClient::XdsChannel::LrsCall::Timer::Orphan() {
1233
+ if (timer_handle_.has_value()) {
1234
+ xds_client()->engine()->Cancel(*timer_handle_);
1204
1235
  timer_handle_.reset();
1205
- Unref(DEBUG_LOCATION, "Orphan");
1206
1236
  }
1237
+ Unref(DEBUG_LOCATION, "Orphan");
1207
1238
  }
1208
1239
 
1209
- void XdsClient::ChannelState::LrsCallState::Reporter::
1210
- ScheduleNextReportLocked() {
1211
- timer_handle_ = xds_client()->engine()->RunAfter(report_interval_, [this]() {
1212
- ApplicationCallbackExecCtx callback_exec_ctx;
1213
- ExecCtx exec_ctx;
1214
- if (OnNextReportTimer()) {
1215
- Unref(DEBUG_LOCATION, "OnNextReportTimer()");
1216
- }
1217
- });
1240
+ void XdsClient::XdsChannel::LrsCall::Timer::ScheduleNextReportLocked() {
1241
+ if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
1242
+ gpr_log(GPR_INFO,
1243
+ "[xds_client %p] xds server %s: scheduling next load report in %s",
1244
+ xds_client(),
1245
+ lrs_call_->xds_channel()->server_.server_uri().c_str(),
1246
+ lrs_call_->load_reporting_interval_.ToString().c_str());
1247
+ }
1248
+ timer_handle_ = xds_client()->engine()->RunAfter(
1249
+ lrs_call_->load_reporting_interval_,
1250
+ [self = Ref(DEBUG_LOCATION, "timer")]() {
1251
+ ApplicationCallbackExecCtx callback_exec_ctx;
1252
+ ExecCtx exec_ctx;
1253
+ self->OnNextReportTimer();
1254
+ });
1218
1255
  }
1219
1256
 
1220
- bool XdsClient::ChannelState::LrsCallState::Reporter::OnNextReportTimer() {
1257
+ void XdsClient::XdsChannel::LrsCall::Timer::OnNextReportTimer() {
1221
1258
  MutexLock lock(&xds_client()->mu_);
1222
1259
  timer_handle_.reset();
1223
- if (!IsCurrentReporterOnCall()) return true;
1224
- SendReportLocked();
1225
- return false;
1260
+ if (IsCurrentTimerOnCall()) lrs_call_->SendReportLocked();
1261
+ }
1262
+
1263
+ //
1264
+ // XdsClient::XdsChannel::LrsCall
1265
+ //
1266
+
1267
+ XdsClient::XdsChannel::LrsCall::LrsCall(
1268
+ RefCountedPtr<RetryableCall<LrsCall>> retryable_call)
1269
+ : InternallyRefCounted<LrsCall>(
1270
+ GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_refcount_trace) ? "LrsCall"
1271
+ : nullptr),
1272
+ retryable_call_(std::move(retryable_call)) {
1273
+ // Init the LRS call. Note that the call will progress every time there's
1274
+ // activity in xds_client()->interested_parties_, which is comprised of
1275
+ // the polling entities from client_channel.
1276
+ GPR_ASSERT(xds_client() != nullptr);
1277
+ const char* method =
1278
+ "/envoy.service.load_stats.v3.LoadReportingService/StreamLoadStats";
1279
+ streaming_call_ = xds_channel()->transport_->CreateStreamingCall(
1280
+ method, std::make_unique<StreamEventHandler>(
1281
+ // Passing the initial ref here. This ref will go away when
1282
+ // the StreamEventHandler is destroyed.
1283
+ RefCountedPtr<LrsCall>(this)));
1284
+ GPR_ASSERT(streaming_call_ != nullptr);
1285
+ // Start the call.
1286
+ if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
1287
+ gpr_log(GPR_INFO,
1288
+ "[xds_client %p] xds server %s: starting LRS call (lrs_call=%p, "
1289
+ "streaming_call=%p)",
1290
+ xds_client(), xds_channel()->server_.server_uri().c_str(), this,
1291
+ streaming_call_.get());
1292
+ }
1293
+ // Send the initial request.
1294
+ std::string serialized_payload = xds_client()->api_.CreateLrsInitialRequest();
1295
+ SendMessageLocked(std::move(serialized_payload));
1296
+ // Read initial response.
1297
+ streaming_call_->StartRecvMessage();
1298
+ }
1299
+
1300
+ void XdsClient::XdsChannel::LrsCall::Orphan() {
1301
+ timer_.reset();
1302
+ // Note that the initial ref is held by the StreamEventHandler, which
1303
+ // will be destroyed when streaming_call_ is destroyed, which may not happen
1304
+ // here, since there may be other refs held to streaming_call_ by internal
1305
+ // callbacks.
1306
+ streaming_call_.reset();
1307
+ }
1308
+
1309
+ void XdsClient::XdsChannel::LrsCall::MaybeScheduleNextReportLocked() {
1310
+ // If there are no more registered stats to report, cancel the call.
1311
+ auto it =
1312
+ xds_client()->xds_load_report_server_map_.find(&xds_channel()->server_);
1313
+ if (it == xds_client()->xds_load_report_server_map_.end() ||
1314
+ it->second.load_report_map.empty()) {
1315
+ it->second.xds_channel->StopLrsCallLocked();
1316
+ return;
1317
+ }
1318
+ // Don't start if the previous send_message op hasn't completed yet.
1319
+ // If this happens, we'll be called again from OnRequestSent().
1320
+ if (send_message_pending_) return;
1321
+ // Don't start if no LRS response has arrived.
1322
+ if (!seen_response()) return;
1323
+ // If there is no timer, create one.
1324
+ // This happens on the initial response and whenever the interval changes.
1325
+ if (timer_ == nullptr) {
1326
+ timer_ = MakeOrphanable<Timer>(Ref(DEBUG_LOCATION, "LRS timer"));
1327
+ }
1328
+ // Schedule the next load report.
1329
+ timer_->ScheduleNextReportLocked();
1226
1330
  }
1227
1331
 
1228
1332
  namespace {
@@ -1241,138 +1345,43 @@ bool LoadReportCountersAreZero(const XdsApi::ClusterLoadReportMap& snapshot) {
1241
1345
 
1242
1346
  } // namespace
1243
1347
 
1244
- bool XdsClient::ChannelState::LrsCallState::Reporter::SendReportLocked() {
1348
+ void XdsClient::XdsChannel::LrsCall::SendReportLocked() {
1245
1349
  // Construct snapshot from all reported stats.
1246
1350
  XdsApi::ClusterLoadReportMap snapshot =
1247
- xds_client()->BuildLoadReportSnapshotLocked(parent_->chand()->server_,
1248
- parent_->send_all_clusters_,
1249
- parent_->cluster_names_);
1351
+ xds_client()->BuildLoadReportSnapshotLocked(
1352
+ xds_channel()->server_, send_all_clusters_, cluster_names_);
1250
1353
  // Skip client load report if the counters were all zero in the last
1251
1354
  // report and they are still zero in this one.
1252
1355
  const bool old_val = last_report_counters_were_zero_;
1253
1356
  last_report_counters_were_zero_ = LoadReportCountersAreZero(snapshot);
1254
1357
  if (old_val && last_report_counters_were_zero_) {
1255
- auto it = xds_client()->xds_load_report_server_map_.find(
1256
- &parent_->chand()->server_);
1257
- if (it == xds_client()->xds_load_report_server_map_.end() ||
1258
- it->second.load_report_map.empty()) {
1259
- it->second.channel_state->StopLrsCallLocked();
1260
- return true;
1261
- }
1262
- ScheduleNextReportLocked();
1263
- return false;
1358
+ MaybeScheduleNextReportLocked();
1359
+ return;
1264
1360
  }
1265
1361
  // Send a request that contains the snapshot.
1266
1362
  std::string serialized_payload =
1267
1363
  xds_client()->api_.CreateLrsRequest(std::move(snapshot));
1268
- parent_->call_->SendMessage(std::move(serialized_payload));
1269
- parent_->send_message_pending_ = true;
1270
- return false;
1364
+ SendMessageLocked(std::move(serialized_payload));
1271
1365
  }
1272
1366
 
1273
- void XdsClient::ChannelState::LrsCallState::Reporter::OnReportDoneLocked() {
1274
- // If a reporter starts a send_message op, then the reporting interval
1275
- // changes and we destroy that reporter and create a new one, and then
1276
- // the send_message op started by the old reporter finishes, this
1277
- // method will be called even though it was for a completion started
1278
- // by the old reporter. In that case, the timer will be pending, so
1279
- // we just ignore the completion and wait for the timer to fire.
1280
- if (timer_handle_.has_value()) return;
1281
- // If there are no more registered stats to report, cancel the call.
1282
- auto it = xds_client()->xds_load_report_server_map_.find(
1283
- &parent_->chand()->server_);
1284
- if (it == xds_client()->xds_load_report_server_map_.end()) return;
1285
- if (it->second.load_report_map.empty()) {
1286
- if (it->second.channel_state != nullptr) {
1287
- it->second.channel_state->StopLrsCallLocked();
1288
- }
1289
- return;
1290
- }
1291
- // Otherwise, schedule the next load report.
1292
- ScheduleNextReportLocked();
1293
- }
1294
-
1295
- //
1296
- // XdsClient::ChannelState::LrsCallState
1297
- //
1298
-
1299
- XdsClient::ChannelState::LrsCallState::LrsCallState(
1300
- RefCountedPtr<RetryableCall<LrsCallState>> parent)
1301
- : InternallyRefCounted<LrsCallState>(
1302
- GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_refcount_trace)
1303
- ? "LrsCallState"
1304
- : nullptr),
1305
- parent_(std::move(parent)) {
1306
- // Init the LRS call. Note that the call will progress every time there's
1307
- // activity in xds_client()->interested_parties_, which is comprised of
1308
- // the polling entities from client_channel.
1309
- GPR_ASSERT(xds_client() != nullptr);
1310
- const char* method =
1311
- "/envoy.service.load_stats.v3.LoadReportingService/StreamLoadStats";
1312
- call_ = chand()->transport_->CreateStreamingCall(
1313
- method, std::make_unique<StreamEventHandler>(
1314
- // Passing the initial ref here. This ref will go away when
1315
- // the StreamEventHandler is destroyed.
1316
- RefCountedPtr<LrsCallState>(this)));
1317
- GPR_ASSERT(call_ != nullptr);
1318
- // Start the call.
1319
- if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
1320
- gpr_log(GPR_INFO,
1321
- "[xds_client %p] xds server %s: starting LRS call (calld=%p, "
1322
- "call=%p)",
1323
- xds_client(), chand()->server_.server_uri().c_str(), this,
1324
- call_.get());
1325
- }
1326
- // Send the initial request.
1327
- std::string serialized_payload = xds_client()->api_.CreateLrsInitialRequest();
1328
- call_->SendMessage(std::move(serialized_payload));
1367
+ void XdsClient::XdsChannel::LrsCall::SendMessageLocked(std::string payload) {
1329
1368
  send_message_pending_ = true;
1369
+ streaming_call_->SendMessage(std::move(payload));
1330
1370
  }
1331
1371
 
1332
- void XdsClient::ChannelState::LrsCallState::Orphan() {
1333
- reporter_.reset();
1334
- // Note that the initial ref is held by the StreamEventHandler, which
1335
- // will be destroyed when call_ is destroyed, which may not happen
1336
- // here, since there may be other refs held to call_ by internal callbacks.
1337
- call_.reset();
1338
- }
1339
-
1340
- void XdsClient::ChannelState::LrsCallState::MaybeStartReportingLocked() {
1341
- // Don't start again if already started.
1342
- if (reporter_ != nullptr) return;
1343
- // Don't start if the previous send_message op (of the initial request or
1344
- // the last report of the previous reporter) hasn't completed.
1345
- if (call_ != nullptr && send_message_pending_) return;
1346
- // Don't start if no LRS response has arrived.
1347
- if (!seen_response()) return;
1348
- // Don't start if the ADS call hasn't received any valid response. Note that
1349
- // this must be the first channel because it is the current channel but its
1350
- // ADS call hasn't seen any response.
1351
- if (chand()->ads_calld_ == nullptr ||
1352
- chand()->ads_calld_->calld() == nullptr ||
1353
- !chand()->ads_calld_->calld()->seen_response()) {
1354
- return;
1355
- }
1356
- // Start reporting.
1357
- reporter_ = MakeOrphanable<Reporter>(
1358
- Ref(DEBUG_LOCATION, "LRS+load_report+start"), load_reporting_interval_);
1359
- }
1360
-
1361
- void XdsClient::ChannelState::LrsCallState::OnRequestSent(bool /*ok*/) {
1372
+ void XdsClient::XdsChannel::LrsCall::OnRequestSent() {
1362
1373
  MutexLock lock(&xds_client()->mu_);
1363
1374
  send_message_pending_ = false;
1364
- if (reporter_ != nullptr) {
1365
- reporter_->OnReportDoneLocked();
1366
- } else {
1367
- MaybeStartReportingLocked();
1368
- }
1375
+ if (IsCurrentCallOnChannel()) MaybeScheduleNextReportLocked();
1369
1376
  }
1370
1377
 
1371
- void XdsClient::ChannelState::LrsCallState::OnRecvMessage(
1372
- absl::string_view payload) {
1378
+ void XdsClient::XdsChannel::LrsCall::OnRecvMessage(absl::string_view payload) {
1373
1379
  MutexLock lock(&xds_client()->mu_);
1374
1380
  // If we're no longer the current call, ignore the result.
1375
1381
  if (!IsCurrentCallOnChannel()) return;
1382
+ // Start recv after any code branch
1383
+ auto cleanup = absl::MakeCleanup(
1384
+ [call = streaming_call_.get()]() { call->StartRecvMessage(); });
1376
1385
  // Parse the response.
1377
1386
  bool send_all_clusters = false;
1378
1387
  std::set<std::string> new_cluster_names;
@@ -1383,7 +1392,7 @@ void XdsClient::ChannelState::LrsCallState::OnRecvMessage(
1383
1392
  if (!status.ok()) {
1384
1393
  gpr_log(GPR_ERROR,
1385
1394
  "[xds_client %p] xds server %s: LRS response parsing failed: %s",
1386
- xds_client(), chand()->server_.server_uri().c_str(),
1395
+ xds_client(), xds_channel()->server_.server_uri().c_str(),
1387
1396
  status.ToString().c_str());
1388
1397
  return;
1389
1398
  }
@@ -1394,7 +1403,7 @@ void XdsClient::ChannelState::LrsCallState::OnRecvMessage(
1394
1403
  "[xds_client %p] xds server %s: LRS response received, %" PRIuPTR
1395
1404
  " cluster names, send_all_clusters=%d, load_report_interval=%" PRId64
1396
1405
  "ms",
1397
- xds_client(), chand()->server_.server_uri().c_str(),
1406
+ xds_client(), xds_channel()->server_.server_uri().c_str(),
1398
1407
  new_cluster_names.size(), send_all_clusters,
1399
1408
  new_load_reporting_interval.millis());
1400
1409
  size_t i = 0;
@@ -1411,7 +1420,7 @@ void XdsClient::ChannelState::LrsCallState::OnRecvMessage(
1411
1420
  gpr_log(GPR_INFO,
1412
1421
  "[xds_client %p] xds server %s: increased load_report_interval "
1413
1422
  "to minimum value %dms",
1414
- xds_client(), chand()->server_.server_uri().c_str(),
1423
+ xds_client(), xds_channel()->server_.server_uri().c_str(),
1415
1424
  GRPC_XDS_MIN_CLIENT_LOAD_REPORTING_INTERVAL_MS);
1416
1425
  }
1417
1426
  }
@@ -1423,42 +1432,46 @@ void XdsClient::ChannelState::LrsCallState::OnRecvMessage(
1423
1432
  gpr_log(GPR_INFO,
1424
1433
  "[xds_client %p] xds server %s: incoming LRS response identical "
1425
1434
  "to current, ignoring.",
1426
- xds_client(), chand()->server_.server_uri().c_str());
1435
+ xds_client(), xds_channel()->server_.server_uri().c_str());
1427
1436
  }
1428
1437
  return;
1429
1438
  }
1430
- // Stop current load reporting (if any) to adopt the new config.
1431
- reporter_.reset();
1439
+ // If the interval has changed, we'll need to restart the timer below.
1440
+ const bool restart_timer =
1441
+ load_reporting_interval_ != new_load_reporting_interval;
1432
1442
  // Record the new config.
1433
1443
  send_all_clusters_ = send_all_clusters;
1434
1444
  cluster_names_ = std::move(new_cluster_names);
1435
1445
  load_reporting_interval_ = new_load_reporting_interval;
1436
- // Try starting sending load report.
1437
- MaybeStartReportingLocked();
1446
+ // Restart timer if needed.
1447
+ if (restart_timer) {
1448
+ timer_.reset();
1449
+ MaybeScheduleNextReportLocked();
1450
+ }
1438
1451
  }
1439
1452
 
1440
- void XdsClient::ChannelState::LrsCallState::OnStatusReceived(
1441
- absl::Status status) {
1453
+ void XdsClient::XdsChannel::LrsCall::OnStatusReceived(absl::Status status) {
1442
1454
  MutexLock lock(&xds_client()->mu_);
1443
1455
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
1444
1456
  gpr_log(GPR_INFO,
1445
1457
  "[xds_client %p] xds server %s: LRS call status received "
1446
- "(chand=%p, calld=%p, call=%p): %s",
1447
- xds_client(), chand()->server_.server_uri().c_str(), chand(), this,
1448
- call_.get(), status.ToString().c_str());
1458
+ "(xds_channel=%p, lrs_call=%p, streaming_call=%p): %s",
1459
+ xds_client(), xds_channel()->server_.server_uri().c_str(),
1460
+ xds_channel(), this, streaming_call_.get(),
1461
+ status.ToString().c_str());
1449
1462
  }
1450
1463
  // Ignore status from a stale call.
1451
1464
  if (IsCurrentCallOnChannel()) {
1452
1465
  // Try to restart the call.
1453
- parent_->OnCallFinishedLocked();
1466
+ retryable_call_->OnCallFinishedLocked();
1454
1467
  }
1455
1468
  }
1456
1469
 
1457
- bool XdsClient::ChannelState::LrsCallState::IsCurrentCallOnChannel() const {
1470
+ bool XdsClient::XdsChannel::LrsCall::IsCurrentCallOnChannel() const {
1458
1471
  // If the retryable LRS call is null (which only happens when the xds
1459
1472
  // channel is shutting down), all the LRS calls are stale.
1460
- if (chand()->lrs_calld_ == nullptr) return false;
1461
- return this == chand()->lrs_calld_->calld();
1473
+ if (xds_channel()->lrs_call_ == nullptr) return false;
1474
+ return this == xds_channel()->lrs_call_->call();
1462
1475
  }
1463
1476
 
1464
1477
  //
@@ -1478,8 +1491,9 @@ XdsClient::XdsClient(
1478
1491
  transport_factory_(std::move(transport_factory)),
1479
1492
  request_timeout_(resource_request_timeout),
1480
1493
  xds_federation_enabled_(XdsFederationEnabled()),
1481
- api_(this, &grpc_xds_client_trace, bootstrap_->node(), &symtab_,
1494
+ api_(this, &grpc_xds_client_trace, bootstrap_->node(), &def_pool_,
1482
1495
  std::move(user_agent_name), std::move(user_agent_version)),
1496
+ work_serializer_(engine),
1483
1497
  engine_(std::move(engine)) {
1484
1498
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
1485
1499
  gpr_log(GPR_INFO, "[xds_client %p] creating xds client", this);
@@ -1508,24 +1522,24 @@ void XdsClient::Orphan() {
1508
1522
  invalid_watchers_.clear();
1509
1523
  // We may still be sending lingering queued load report data, so don't
1510
1524
  // just clear the load reporting map, but we do want to clear the refs
1511
- // we're holding to the ChannelState objects, to make sure that
1525
+ // we're holding to the XdsChannel objects, to make sure that
1512
1526
  // everything shuts down properly.
1513
1527
  for (auto& p : xds_load_report_server_map_) {
1514
- p.second.channel_state.reset(DEBUG_LOCATION, "XdsClient::Orphan()");
1528
+ p.second.xds_channel.reset(DEBUG_LOCATION, "XdsClient::Orphan()");
1515
1529
  }
1516
1530
  }
1517
1531
 
1518
- RefCountedPtr<XdsClient::ChannelState> XdsClient::GetOrCreateChannelStateLocked(
1532
+ RefCountedPtr<XdsClient::XdsChannel> XdsClient::GetOrCreateXdsChannelLocked(
1519
1533
  const XdsBootstrap::XdsServer& server, const char* reason) {
1520
1534
  auto it = xds_server_channel_map_.find(&server);
1521
1535
  if (it != xds_server_channel_map_.end()) {
1522
1536
  return it->second->Ref(DEBUG_LOCATION, reason);
1523
1537
  }
1524
1538
  // Channel not found, so create a new one.
1525
- auto channel_state = MakeRefCounted<ChannelState>(
1526
- WeakRef(DEBUG_LOCATION, "ChannelState"), server);
1527
- xds_server_channel_map_[&server] = channel_state.get();
1528
- return channel_state;
1539
+ auto xds_channel =
1540
+ MakeRefCounted<XdsChannel>(WeakRef(DEBUG_LOCATION, "XdsChannel"), server);
1541
+ xds_server_channel_map_[&server] = xds_channel.get();
1542
+ return xds_channel;
1529
1543
  }
1530
1544
 
1531
1545
  void XdsClient::WatchResource(const XdsResourceType* type,
@@ -1542,7 +1556,7 @@ void XdsClient::WatchResource(const XdsResourceType* type,
1542
1556
  work_serializer_.Run(
1543
1557
  [watcher = std::move(watcher), status = std::move(status)]()
1544
1558
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) {
1545
- watcher->OnError(status);
1559
+ watcher->OnError(status, ReadDelayHandle::NoWait());
1546
1560
  },
1547
1561
  DEBUG_LOCATION);
1548
1562
  };
@@ -1566,6 +1580,14 @@ void XdsClient::WatchResource(const XdsResourceType* type,
1566
1580
  xds_server = authority->server();
1567
1581
  }
1568
1582
  if (xds_server == nullptr) xds_server = &bootstrap_->server();
1583
+ // Canonify the xDS server instance, so that we make sure we're using
1584
+ // the same instance as will be used in AddClusterDropStats() and
1585
+ // AddClusterLocalityStats(). This may yield a different result than
1586
+ // the logic above if the same server is listed both in the authority
1587
+ // and as the top-level server.
1588
+ // TODO(roth): This is really ugly -- need to find a better way to
1589
+ // index the xDS server than by address here.
1590
+ xds_server = bootstrap_->FindXdsServer(*xds_server);
1569
1591
  {
1570
1592
  MutexLock lock(&mu_);
1571
1593
  MaybeRegisterResourceTypeLocked(type);
@@ -1582,12 +1604,12 @@ void XdsClient::WatchResource(const XdsResourceType* type,
1582
1604
  "[xds_client %p] returning cached listener data for %s", this,
1583
1605
  std::string(name).c_str());
1584
1606
  }
1585
- auto* value = type->CopyResource(resource_state.resource.get()).release();
1586
1607
  work_serializer_.Schedule(
1587
- [watcher, value]() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) {
1588
- watcher->OnGenericResourceChanged(value);
1589
- delete value;
1590
- },
1608
+ [watcher, value = resource_state.resource]()
1609
+ ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) {
1610
+ watcher->OnGenericResourceChanged(value,
1611
+ ReadDelayHandle::NoWait());
1612
+ },
1591
1613
  DEBUG_LOCATION);
1592
1614
  } else if (resource_state.meta.client_status ==
1593
1615
  XdsApi::ResourceMetadata::DOES_NOT_EXIST) {
@@ -1598,7 +1620,7 @@ void XdsClient::WatchResource(const XdsResourceType* type,
1598
1620
  }
1599
1621
  work_serializer_.Schedule(
1600
1622
  [watcher]() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) {
1601
- watcher->OnResourceDoesNotExist();
1623
+ watcher->OnResourceDoesNotExist(ReadDelayHandle::NoWait());
1602
1624
  },
1603
1625
  DEBUG_LOCATION);
1604
1626
  } else if (resource_state.meta.client_status ==
@@ -1618,18 +1640,19 @@ void XdsClient::WatchResource(const XdsResourceType* type,
1618
1640
  work_serializer_.Schedule(
1619
1641
  [watcher, details = std::move(details)]()
1620
1642
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) {
1621
- watcher->OnError(absl::UnavailableError(
1622
- absl::StrCat("invalid resource: ", details)));
1643
+ watcher->OnError(absl::UnavailableError(absl::StrCat(
1644
+ "invalid resource: ", details)),
1645
+ ReadDelayHandle::NoWait());
1623
1646
  },
1624
1647
  DEBUG_LOCATION);
1625
1648
  }
1626
1649
  // If the authority doesn't yet have a channel, set it, creating it if
1627
1650
  // needed.
1628
- if (authority_state.channel_state == nullptr) {
1629
- authority_state.channel_state =
1630
- GetOrCreateChannelStateLocked(*xds_server, "start watch");
1651
+ if (authority_state.xds_channel == nullptr) {
1652
+ authority_state.xds_channel =
1653
+ GetOrCreateXdsChannelLocked(*xds_server, "start watch");
1631
1654
  }
1632
- absl::Status channel_status = authority_state.channel_state->status();
1655
+ absl::Status channel_status = authority_state.xds_channel->status();
1633
1656
  if (!channel_status.ok()) {
1634
1657
  if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {
1635
1658
  gpr_log(GPR_INFO,
@@ -1640,11 +1663,11 @@ void XdsClient::WatchResource(const XdsResourceType* type,
1640
1663
  work_serializer_.Schedule(
1641
1664
  [watcher = std::move(watcher), status = std::move(channel_status)]()
1642
1665
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) mutable {
1643
- watcher->OnError(std::move(status));
1666
+ watcher->OnError(std::move(status), ReadDelayHandle::NoWait());
1644
1667
  },
1645
1668
  DEBUG_LOCATION);
1646
1669
  }
1647
- authority_state.channel_state->SubscribeLocked(type, *resource_name);
1670
+ authority_state.xds_channel->SubscribeLocked(type, *resource_name);
1648
1671
  }
1649
1672
  work_serializer_.DrainQueue();
1650
1673
  }
@@ -1682,13 +1705,13 @@ void XdsClient::CancelResourceWatch(const XdsResourceType* type,
1682
1705
  this, std::string(type->type_url()).c_str(),
1683
1706
  std::string(name).c_str());
1684
1707
  }
1685
- authority_state.channel_state->UnsubscribeLocked(type, *resource_name,
1686
- delay_unsubscription);
1708
+ authority_state.xds_channel->UnsubscribeLocked(type, *resource_name,
1709
+ delay_unsubscription);
1687
1710
  type_map.erase(resource_it);
1688
1711
  if (type_map.empty()) {
1689
1712
  authority_state.resource_map.erase(type_it);
1690
1713
  if (authority_state.resource_map.empty()) {
1691
- authority_state.channel_state.reset();
1714
+ authority_state.xds_channel.reset();
1692
1715
  }
1693
1716
  }
1694
1717
  }
@@ -1702,7 +1725,7 @@ void XdsClient::MaybeRegisterResourceTypeLocked(
1702
1725
  return;
1703
1726
  }
1704
1727
  resource_types_.emplace(resource_type->type_url(), resource_type);
1705
- resource_type->InitUpbSymtab(this, symtab_.ptr());
1728
+ resource_type->InitUpbSymtab(this, def_pool_.ptr());
1706
1729
  }
1707
1730
 
1708
1731
  const XdsResourceType* XdsClient::GetResourceTypeLocked(
@@ -1772,9 +1795,9 @@ RefCountedPtr<XdsClusterDropStats> XdsClient::AddClusterDropStats(
1772
1795
  // in the load_report_map_ key, so that they have the same lifetime.
1773
1796
  auto server_it =
1774
1797
  xds_load_report_server_map_.emplace(server, LoadReportServer()).first;
1775
- if (server_it->second.channel_state == nullptr) {
1776
- server_it->second.channel_state = GetOrCreateChannelStateLocked(
1777
- *server, "load report map (drop stats)");
1798
+ if (server_it->second.xds_channel == nullptr) {
1799
+ server_it->second.xds_channel =
1800
+ GetOrCreateXdsChannelLocked(*server, "load report map (drop stats)");
1778
1801
  }
1779
1802
  auto load_report_it = server_it->second.load_report_map
1780
1803
  .emplace(std::move(key), LoadReportState())
@@ -1794,7 +1817,7 @@ RefCountedPtr<XdsClusterDropStats> XdsClient::AddClusterDropStats(
1794
1817
  load_report_it->first.second /*eds_service_name*/);
1795
1818
  load_report_state.drop_stats = cluster_drop_stats.get();
1796
1819
  }
1797
- server_it->second.channel_state->MaybeStartLrsCall();
1820
+ server_it->second.xds_channel->MaybeStartLrsCall();
1798
1821
  }
1799
1822
  work_serializer_.DrainQueue();
1800
1823
  return cluster_drop_stats;
@@ -1840,8 +1863,8 @@ RefCountedPtr<XdsClusterLocalityStats> XdsClient::AddClusterLocalityStats(
1840
1863
  // in the load_report_map_ key, so that they have the same lifetime.
1841
1864
  auto server_it =
1842
1865
  xds_load_report_server_map_.emplace(server, LoadReportServer()).first;
1843
- if (server_it->second.channel_state == nullptr) {
1844
- server_it->second.channel_state = GetOrCreateChannelStateLocked(
1866
+ if (server_it->second.xds_channel == nullptr) {
1867
+ server_it->second.xds_channel = GetOrCreateXdsChannelLocked(
1845
1868
  *server, "load report map (locality stats)");
1846
1869
  }
1847
1870
  auto load_report_it = server_it->second.load_report_map
@@ -1865,7 +1888,7 @@ RefCountedPtr<XdsClusterLocalityStats> XdsClient::AddClusterLocalityStats(
1865
1888
  std::move(locality));
1866
1889
  locality_state.locality_stats = cluster_locality_stats.get();
1867
1890
  }
1868
- server_it->second.channel_state->MaybeStartLrsCall();
1891
+ server_it->second.xds_channel->MaybeStartLrsCall();
1869
1892
  }
1870
1893
  work_serializer_.DrainQueue();
1871
1894
  return cluster_locality_stats;
@@ -1907,7 +1930,7 @@ void XdsClient::ResetBackoff() {
1907
1930
  void XdsClient::NotifyWatchersOnErrorLocked(
1908
1931
  const std::map<ResourceWatcherInterface*,
1909
1932
  RefCountedPtr<ResourceWatcherInterface>>& watchers,
1910
- absl::Status status) {
1933
+ absl::Status status, RefCountedPtr<ReadDelayHandle> read_delay_handle) {
1911
1934
  const auto* node = bootstrap_->node();
1912
1935
  if (node != nullptr) {
1913
1936
  status = absl::Status(
@@ -1915,10 +1938,11 @@ void XdsClient::NotifyWatchersOnErrorLocked(
1915
1938
  absl::StrCat(status.message(), " (node ID:", node->id(), ")"));
1916
1939
  }
1917
1940
  work_serializer_.Schedule(
1918
- [watchers, status = std::move(status)]()
1941
+ [watchers, status = std::move(status),
1942
+ read_delay_handle = std::move(read_delay_handle)]()
1919
1943
  ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) {
1920
1944
  for (const auto& p : watchers) {
1921
- p.first->OnError(status);
1945
+ p.first->OnError(status, read_delay_handle);
1922
1946
  }
1923
1947
  },
1924
1948
  DEBUG_LOCATION);
@@ -1926,13 +1950,15 @@ void XdsClient::NotifyWatchersOnErrorLocked(
1926
1950
 
1927
1951
  void XdsClient::NotifyWatchersOnResourceDoesNotExist(
1928
1952
  const std::map<ResourceWatcherInterface*,
1929
- RefCountedPtr<ResourceWatcherInterface>>& watchers) {
1953
+ RefCountedPtr<ResourceWatcherInterface>>& watchers,
1954
+ RefCountedPtr<ReadDelayHandle> read_delay_handle) {
1930
1955
  work_serializer_.Schedule(
1931
- [watchers]() ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) {
1932
- for (const auto& p : watchers) {
1933
- p.first->OnResourceDoesNotExist();
1934
- }
1935
- },
1956
+ [watchers, read_delay_handle = std::move(read_delay_handle)]()
1957
+ ABSL_EXCLUSIVE_LOCKS_REQUIRED(&work_serializer_) {
1958
+ for (const auto& p : watchers) {
1959
+ p.first->OnResourceDoesNotExist(read_delay_handle);
1960
+ }
1961
+ },
1936
1962
  DEBUG_LOCATION);
1937
1963
  }
1938
1964