grpc 1.45.0 → 1.47.0

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

Potentially problematic release.


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

Files changed (859) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +69 -110
  3. data/include/grpc/event_engine/event_engine.h +42 -7
  4. data/include/grpc/event_engine/memory_allocator.h +0 -15
  5. data/include/grpc/event_engine/port.h +1 -1
  6. data/include/grpc/event_engine/slice.h +286 -0
  7. data/include/grpc/event_engine/slice_buffer.h +112 -0
  8. data/include/grpc/grpc_security.h +11 -0
  9. data/include/grpc/impl/codegen/grpc_types.h +7 -13
  10. data/include/grpc/impl/codegen/port_platform.h +100 -36
  11. data/include/grpc/impl/codegen/slice.h +1 -1
  12. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +297 -0
  13. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +125 -0
  14. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.cc +1 -1
  15. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.h +3 -3
  16. data/src/core/ext/filters/client_channel/backend_metric.cc +17 -12
  17. data/src/core/ext/filters/client_channel/backend_metric.h +19 -9
  18. data/src/core/ext/filters/client_channel/backup_poller.cc +5 -5
  19. data/src/core/ext/filters/client_channel/backup_poller.h +2 -4
  20. data/src/core/ext/filters/client_channel/channel_connectivity.cc +42 -20
  21. data/src/core/ext/filters/client_channel/client_channel.cc +223 -113
  22. data/src/core/ext/filters/client_channel/client_channel.h +28 -6
  23. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +3 -5
  24. data/src/core/ext/filters/client_channel/client_channel_channelz.h +12 -2
  25. data/src/core/ext/filters/client_channel/client_channel_factory.cc +5 -0
  26. data/src/core/ext/filters/client_channel/client_channel_factory.h +8 -0
  27. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -13
  28. data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
  29. data/src/core/ext/filters/client_channel/config_selector.h +7 -5
  30. data/src/core/ext/filters/client_channel/connector.h +8 -2
  31. data/src/core/ext/filters/client_channel/dynamic_filters.cc +13 -2
  32. data/src/core/ext/filters/client_channel/dynamic_filters.h +11 -1
  33. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -0
  34. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +3 -0
  35. data/src/core/ext/filters/client_channel/health/health_check_client.cc +138 -582
  36. data/src/core/ext/filters/client_channel/health/health_check_client.h +26 -160
  37. data/src/core/ext/filters/client_channel/http_proxy.cc +98 -112
  38. data/src/core/ext/filters/client_channel/http_proxy.h +20 -0
  39. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +6 -2
  40. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +1 -0
  41. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +49 -0
  42. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +12 -0
  43. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +5 -0
  44. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +9 -3
  45. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +59 -19
  46. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +4 -0
  47. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +6 -0
  48. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +10 -1
  49. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +6 -3
  50. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +408 -0
  51. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +57 -0
  52. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +1038 -0
  53. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +54 -0
  54. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +60 -52
  55. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +277 -195
  56. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +158 -101
  57. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +2 -0
  58. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +46 -20
  59. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +182 -171
  60. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +39 -36
  61. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +117 -63
  62. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +142 -63
  63. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +6 -0
  64. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +30 -4
  65. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +37 -10
  66. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +300 -291
  67. data/src/core/ext/filters/client_channel/lb_policy.cc +4 -2
  68. data/src/core/ext/filters/client_channel/lb_policy.h +18 -24
  69. data/src/core/ext/filters/client_channel/lb_policy_factory.h +2 -0
  70. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +8 -1
  71. data/src/core/ext/filters/client_channel/lb_policy_registry.h +6 -1
  72. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +4 -0
  73. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +1 -0
  74. data/src/core/ext/filters/client_channel/proxy_mapper.h +1 -1
  75. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -0
  76. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +5 -0
  77. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +23 -5
  78. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +226 -300
  79. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +8 -1
  80. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +10 -8
  81. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
  82. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +26 -9
  83. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +13 -4
  84. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +2 -1
  85. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +2 -0
  86. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +2 -1
  87. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +73 -220
  88. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +13 -14
  89. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +5 -2
  90. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +59 -13
  91. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +213 -0
  92. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +113 -0
  93. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +15 -11
  94. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +182 -79
  95. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +5 -11
  96. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +11 -5
  97. data/src/core/ext/filters/client_channel/retry_filter.cc +60 -5
  98. data/src/core/ext/filters/client_channel/retry_service_config.cc +8 -9
  99. data/src/core/ext/filters/client_channel/retry_service_config.h +10 -1
  100. data/src/core/ext/filters/client_channel/retry_throttle.cc +1 -8
  101. data/src/core/ext/filters/client_channel/retry_throttle.h +7 -1
  102. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +22 -5
  103. data/src/core/ext/filters/client_channel/subchannel.cc +161 -165
  104. data/src/core/ext/filters/client_channel/subchannel.h +80 -20
  105. data/src/core/ext/filters/client_channel/subchannel_interface.h +41 -23
  106. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +38 -0
  107. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +12 -2
  108. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +6 -3
  109. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +558 -0
  110. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +226 -0
  111. data/src/core/ext/filters/deadline/deadline_filter.cc +6 -2
  112. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +123 -366
  113. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +24 -1
  114. data/src/core/ext/filters/http/client/http_client_filter.cc +87 -458
  115. data/src/core/ext/filters/http/client/http_client_filter.h +27 -4
  116. data/src/core/ext/filters/http/client_authority_filter.cc +21 -31
  117. data/src/core/ext/filters/http/client_authority_filter.h +6 -5
  118. data/src/core/ext/filters/http/http_filters_plugin.cc +16 -14
  119. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +1 -0
  120. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +3 -1
  121. data/src/core/ext/filters/http/server/http_server_filter.cc +80 -361
  122. data/src/core/ext/filters/http/server/http_server_filter.h +31 -2
  123. data/src/core/ext/filters/message_size/message_size_filter.cc +20 -26
  124. data/src/core/ext/filters/message_size/message_size_filter.h +2 -2
  125. data/src/core/ext/filters/rbac/rbac_filter.cc +1 -0
  126. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +2 -8
  127. data/src/core/ext/filters/server_config_selector/server_config_selector.h +2 -2
  128. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +73 -201
  129. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +102 -135
  130. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +9 -7
  131. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +49 -19
  132. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -0
  133. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +3 -3
  134. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -1
  135. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -0
  136. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +205 -45
  137. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +5 -0
  138. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -0
  139. data/src/core/ext/transport/chttp2/transport/context_list.h +4 -1
  140. data/src/core/ext/transport/chttp2/transport/flow_control.cc +6 -2
  141. data/src/core/ext/transport/chttp2/transport/flow_control.h +6 -2
  142. data/src/core/ext/transport/chttp2/transport/frame.h +0 -4
  143. data/src/core/ext/transport/chttp2/transport/frame_data.cc +7 -1
  144. data/src/core/ext/transport/chttp2/transport/frame_data.h +4 -1
  145. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +3 -0
  146. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +3 -1
  147. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -0
  148. data/src/core/ext/transport/chttp2/transport/frame_ping.h +3 -0
  149. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +6 -2
  150. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +3 -0
  151. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +14 -3
  152. data/src/core/ext/transport/chttp2/transport/frame_settings.h +4 -0
  153. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -1
  154. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +3 -0
  155. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +13 -15
  156. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +15 -2
  157. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +3 -0
  158. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +3 -0
  159. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +25 -7
  160. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +8 -1
  161. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +55 -37
  162. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +38 -21
  163. data/src/core/ext/transport/chttp2/transport/http2_settings.h +0 -1
  164. data/src/core/ext/transport/chttp2/transport/internal.h +28 -5
  165. data/src/core/ext/transport/chttp2/transport/parsing.cc +35 -6
  166. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +13 -9
  167. data/src/core/ext/transport/chttp2/transport/stream_map.cc +1 -1
  168. data/src/core/ext/transport/chttp2/transport/stream_map.h +1 -0
  169. data/src/core/ext/transport/chttp2/transport/varint.h +2 -0
  170. data/src/core/ext/transport/chttp2/transport/writing.cc +62 -15
  171. data/src/core/ext/transport/inproc/inproc_transport.cc +8 -5
  172. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +27 -24
  173. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +143 -63
  174. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +37 -35
  175. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +177 -77
  176. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +115 -111
  177. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +547 -207
  178. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +5 -5
  179. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +26 -13
  180. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +5 -5
  181. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +23 -9
  182. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +7 -7
  183. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +18 -0
  184. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +4 -4
  185. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +13 -4
  186. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +4 -4
  187. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +9 -0
  188. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +49 -46
  189. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +217 -78
  190. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +3 -3
  191. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +10 -2
  192. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +12 -12
  193. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +40 -8
  194. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +5 -5
  195. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +20 -2
  196. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +55 -55
  197. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +289 -110
  198. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +133 -125
  199. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +656 -267
  200. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +24 -18
  201. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +96 -23
  202. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +185 -173
  203. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +860 -309
  204. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
  205. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +10 -2
  206. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +44 -24
  207. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +165 -40
  208. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +72 -63
  209. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +433 -174
  210. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +33 -31
  211. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +154 -52
  212. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +5 -4
  213. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +14 -4
  214. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +89 -89
  215. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +460 -166
  216. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +76 -33
  217. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +379 -69
  218. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +2 -2
  219. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +14 -6
  220. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +5 -25
  221. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +10 -91
  222. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +5 -5
  223. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +26 -13
  224. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +70 -68
  225. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +369 -131
  226. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +94 -65
  227. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +447 -161
  228. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
  229. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +27 -11
  230. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +104 -85
  231. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +378 -113
  232. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +2 -2
  233. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +3 -0
  234. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +6 -6
  235. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +30 -13
  236. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +7 -7
  237. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +43 -16
  238. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +8 -8
  239. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +58 -24
  240. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +4 -4
  241. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +14 -4
  242. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +18 -18
  243. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +100 -43
  244. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +31 -30
  245. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +171 -71
  246. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
  247. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +196 -95
  248. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
  249. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +7 -2
  250. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +53 -46
  251. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +284 -129
  252. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +56 -50
  253. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +337 -146
  254. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +13 -11
  255. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +49 -14
  256. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +4 -4
  257. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +14 -4
  258. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +5 -5
  259. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +20 -4
  260. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +33 -32
  261. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +205 -86
  262. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +34 -34
  263. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +175 -74
  264. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +56 -52
  265. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +370 -146
  266. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +27 -23
  267. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +173 -74
  268. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +362 -341
  269. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2056 -845
  270. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +11 -11
  271. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +49 -16
  272. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +56 -50
  273. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +293 -111
  274. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +3 -3
  275. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -0
  276. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +3 -3
  277. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +10 -2
  278. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +5 -5
  279. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +26 -10
  280. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +5 -5
  281. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +27 -12
  282. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +17 -16
  283. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +83 -36
  284. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +2 -2
  285. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +7 -2
  286. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +8 -8
  287. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +46 -17
  288. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +9 -9
  289. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +38 -12
  290. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +7 -7
  291. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +30 -10
  292. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +2 -2
  293. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +10 -6
  294. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +15 -15
  295. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +71 -28
  296. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +25 -25
  297. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +149 -65
  298. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +8 -7
  299. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +30 -12
  300. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +9 -9
  301. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +42 -15
  302. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +173 -144
  303. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +898 -323
  304. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +51 -45
  305. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +261 -116
  306. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +13 -13
  307. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +70 -25
  308. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +80 -55
  309. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +410 -124
  310. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +5 -5
  311. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +23 -9
  312. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  313. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +44 -44
  314. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +261 -122
  315. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +8 -8
  316. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +47 -21
  317. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +32 -32
  318. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +175 -66
  319. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +4 -4
  320. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +17 -6
  321. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +8 -8
  322. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +38 -17
  323. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +8 -8
  324. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +12 -0
  325. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +7 -7
  326. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +43 -18
  327. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +3 -3
  328. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +20 -9
  329. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +3 -3
  330. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +24 -9
  331. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +2 -2
  332. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +14 -6
  333. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +8 -8
  334. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +40 -16
  335. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +9 -9
  336. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +70 -25
  337. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +5 -5
  338. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +37 -18
  339. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +12 -12
  340. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +81 -30
  341. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +16 -16
  342. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +76 -30
  343. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +20 -20
  344. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +90 -30
  345. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +7 -7
  346. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +28 -10
  347. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +2 -2
  348. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +3 -0
  349. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +5 -5
  350. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +13 -4
  351. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +9 -9
  352. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -0
  353. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +4 -4
  354. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +9 -0
  355. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +5 -5
  356. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +17 -4
  357. data/src/core/ext/upb-generated/google/api/annotations.upb.c +3 -3
  358. data/src/core/ext/upb-generated/google/api/annotations.upb.h +17 -2
  359. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +70 -66
  360. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +410 -162
  361. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +80 -74
  362. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +440 -158
  363. data/src/core/ext/upb-generated/google/api/http.upb.c +17 -17
  364. data/src/core/ext/upb-generated/google/api/http.upb.h +116 -43
  365. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +4 -4
  366. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +19 -7
  367. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +3 -3
  368. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -0
  369. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +163 -162
  370. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1157 -435
  371. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +3 -3
  372. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +10 -4
  373. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  374. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
  375. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +108 -40
  376. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +3 -3
  377. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +10 -4
  378. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +18 -18
  379. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +27 -0
  380. data/src/core/ext/upb-generated/google/rpc/status.upb.c +4 -4
  381. data/src/core/ext/upb-generated/google/rpc/status.upb.h +19 -7
  382. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +15 -15
  383. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +65 -22
  384. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
  385. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +49 -12
  386. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +69 -65
  387. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +364 -149
  388. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +8 -7
  389. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +20 -4
  390. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +4 -4
  391. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +6 -0
  392. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
  393. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +150 -58
  394. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +11 -11
  395. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +51 -18
  396. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  397. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +764 -0
  398. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +22 -22
  399. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +97 -10
  400. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +6 -6
  401. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +23 -2
  402. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +3 -3
  403. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +10 -2
  404. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +6 -6
  405. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +27 -6
  406. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +5 -5
  407. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +20 -2
  408. data/src/core/ext/upb-generated/validate/validate.upb.c +261 -250
  409. data/src/core/ext/upb-generated/validate/validate.upb.h +1836 -663
  410. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +22 -22
  411. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +97 -10
  412. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +6 -6
  413. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +23 -2
  414. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +3 -3
  415. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +10 -2
  416. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +18 -18
  417. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +70 -10
  418. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +5 -5
  419. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +20 -2
  420. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +2 -2
  421. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +3 -0
  422. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +8 -8
  423. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +38 -12
  424. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +5 -5
  425. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +27 -10
  426. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +3 -3
  427. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +10 -2
  428. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +5 -5
  429. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +21 -8
  430. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +10 -10
  431. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +71 -30
  432. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +5 -5
  433. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +16 -2
  434. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +12 -12
  435. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +69 -26
  436. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +47 -0
  437. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +109 -0
  438. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +43 -39
  439. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +255 -103
  440. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +4 -4
  441. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +19 -8
  442. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +9 -9
  443. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +70 -25
  444. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +3 -3
  445. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +10 -2
  446. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +50 -46
  447. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +195 -185
  448. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +16 -12
  449. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +129 -94
  450. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +10 -0
  451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +18 -33
  452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +0 -5
  453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +163 -155
  454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +5 -0
  455. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +141 -138
  456. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +26 -20
  457. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +738 -730
  458. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +271 -251
  459. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
  460. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +207 -193
  461. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -0
  462. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  463. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  464. data/src/core/ext/xds/certificate_provider_store.cc +10 -0
  465. data/src/core/ext/xds/certificate_provider_store.h +9 -0
  466. data/src/core/ext/xds/xds_api.cc +20 -0
  467. data/src/core/ext/xds/xds_bootstrap.cc +2 -2
  468. data/src/core/ext/xds/xds_bootstrap.h +2 -0
  469. data/src/core/ext/xds/xds_certificate_provider.cc +5 -0
  470. data/src/core/ext/xds/xds_certificate_provider.h +8 -0
  471. data/src/core/ext/xds/xds_channel_stack_modifier.cc +5 -5
  472. data/src/core/ext/xds/xds_client.cc +125 -109
  473. data/src/core/ext/xds/xds_client.h +13 -5
  474. data/src/core/ext/xds/xds_cluster.cc +106 -16
  475. data/src/core/ext/xds/xds_cluster.h +3 -0
  476. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +142 -0
  477. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +79 -0
  478. data/src/core/ext/xds/xds_common_types.cc +9 -9
  479. data/src/core/ext/xds/xds_common_types.h +3 -3
  480. data/src/core/ext/xds/xds_endpoint.cc +12 -5
  481. data/src/core/ext/xds/xds_http_fault_filter.cc +4 -4
  482. data/src/core/ext/xds/xds_listener.cc +20 -10
  483. data/src/core/ext/xds/xds_route_config.cc +162 -25
  484. data/src/core/ext/xds/xds_route_config.h +13 -10
  485. data/src/core/ext/xds/xds_server_config_fetcher.cc +19 -23
  486. data/src/core/lib/address_utils/sockaddr_utils.cc +56 -23
  487. data/src/core/lib/address_utils/sockaddr_utils.h +7 -4
  488. data/src/core/lib/avl/avl.h +71 -6
  489. data/src/core/lib/channel/call_finalization.h +4 -0
  490. data/src/core/lib/channel/call_tracer.h +12 -3
  491. data/src/core/lib/channel/channel_args.cc +179 -81
  492. data/src/core/lib/channel/channel_args.h +242 -11
  493. data/src/core/lib/channel/channel_args_preconditioning.cc +5 -11
  494. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  495. data/src/core/lib/channel/channel_stack.cc +41 -3
  496. data/src/core/lib/channel/channel_stack.h +51 -8
  497. data/src/core/lib/channel/channel_stack_builder.cc +9 -84
  498. data/src/core/lib/channel/channel_stack_builder.h +35 -26
  499. data/src/core/lib/channel/channel_stack_builder_impl.cc +97 -0
  500. data/src/core/lib/channel/channel_stack_builder_impl.h +45 -0
  501. data/src/core/lib/channel/channel_trace.cc +8 -13
  502. data/src/core/lib/channel/channel_trace.h +6 -3
  503. data/src/core/lib/channel/channelz.cc +8 -13
  504. data/src/core/lib/channel/channelz.h +13 -4
  505. data/src/core/lib/channel/channelz_registry.cc +7 -14
  506. data/src/core/lib/channel/channelz_registry.h +10 -9
  507. data/src/core/lib/channel/connected_channel.cc +21 -31
  508. data/src/core/lib/channel/connected_channel.h +2 -0
  509. data/src/core/lib/channel/promise_based_filter.cc +848 -260
  510. data/src/core/lib/channel/promise_based_filter.h +215 -68
  511. data/src/core/lib/channel/status_util.cc +2 -0
  512. data/src/core/lib/channel/status_util.h +0 -3
  513. data/src/core/lib/compression/compression_internal.cc +46 -17
  514. data/src/core/lib/compression/compression_internal.h +1 -1
  515. data/src/core/lib/config/core_configuration.cc +3 -0
  516. data/src/core/lib/config/core_configuration.h +2 -1
  517. data/src/core/lib/debug/stats_data.cc +2 -6
  518. data/src/core/lib/debug/stats_data.h +18 -21
  519. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +4 -2
  520. data/src/core/lib/event_engine/channel_args_endpoint_config.h +3 -2
  521. data/src/core/lib/event_engine/default_event_engine_factory.cc +8 -2
  522. data/src/core/lib/event_engine/event_engine.cc +12 -2
  523. data/src/core/lib/event_engine/event_engine_factory.h +5 -0
  524. data/src/core/lib/event_engine/handle_containers.h +67 -0
  525. data/src/core/lib/event_engine/iomgr_engine.cc +206 -0
  526. data/src/core/lib/event_engine/iomgr_engine.h +118 -0
  527. data/src/core/lib/event_engine/memory_allocator.cc +12 -4
  528. data/src/core/lib/event_engine/resolved_address.cc +4 -2
  529. data/src/core/lib/event_engine/slice.cc +102 -0
  530. data/src/core/lib/event_engine/slice_buffer.cc +50 -0
  531. data/src/core/{ext/filters/max_age/max_age_filter.h → lib/event_engine/trace.cc} +3 -11
  532. data/src/core/lib/{iomgr/endpoint_pair_event_engine.cc → event_engine/trace.h} +12 -14
  533. data/src/core/lib/gpr/log.cc +5 -0
  534. data/src/core/lib/gpr/tls.h +4 -5
  535. data/src/core/lib/gprpp/bitset.h +17 -1
  536. data/src/core/lib/gprpp/chunked_vector.h +4 -0
  537. data/src/core/lib/gprpp/construct_destruct.h +1 -0
  538. data/src/core/lib/gprpp/cpp_impl_of.h +4 -0
  539. data/src/core/lib/gprpp/dual_ref_counted.h +1 -4
  540. data/src/core/lib/gprpp/examine_stack.h +0 -1
  541. data/src/core/lib/gprpp/fork.cc +3 -6
  542. data/src/core/lib/gprpp/global_config.h +2 -4
  543. data/src/core/lib/gprpp/global_config_env.cc +3 -2
  544. data/src/core/lib/gprpp/global_config_env.h +3 -1
  545. data/src/core/lib/gprpp/global_config_generic.h +0 -4
  546. data/src/core/lib/gprpp/host_port.cc +2 -0
  547. data/src/core/lib/gprpp/manual_constructor.h +0 -1
  548. data/src/core/lib/gprpp/match.h +75 -0
  549. data/src/core/lib/gprpp/memory.h +1 -5
  550. data/src/core/lib/gprpp/orphanable.h +1 -4
  551. data/src/core/lib/gprpp/overload.h +59 -0
  552. data/src/core/lib/gprpp/ref_counted.h +3 -3
  553. data/src/core/lib/gprpp/ref_counted_ptr.h +1 -1
  554. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  555. data/src/core/lib/gprpp/stat.h +0 -2
  556. data/src/core/lib/gprpp/stat_posix.cc +7 -2
  557. data/src/core/lib/gprpp/status_helper.cc +25 -5
  558. data/src/core/lib/gprpp/status_helper.h +4 -0
  559. data/src/core/lib/gprpp/sync.h +3 -1
  560. data/src/core/lib/gprpp/table.h +10 -0
  561. data/src/core/lib/gprpp/thd.h +2 -5
  562. data/src/core/lib/gprpp/thd_posix.cc +4 -2
  563. data/src/core/lib/gprpp/thd_windows.cc +2 -0
  564. data/src/core/lib/gprpp/time.cc +20 -0
  565. data/src/core/lib/gprpp/time.h +7 -2
  566. data/src/core/lib/gprpp/time_util.cc +4 -0
  567. data/src/core/lib/gprpp/time_util.h +1 -1
  568. data/src/core/lib/gprpp/unique_type_name.h +104 -0
  569. data/src/core/lib/http/format_request.cc +30 -2
  570. data/src/core/lib/http/format_request.h +2 -0
  571. data/src/core/lib/http/httpcli.cc +88 -81
  572. data/src/core/lib/http/httpcli.h +39 -7
  573. data/src/core/lib/http/httpcli_security_connector.cc +6 -7
  574. data/src/core/lib/http/parser.cc +80 -9
  575. data/src/core/lib/http/parser.h +14 -1
  576. data/src/core/lib/iomgr/endpoint.cc +4 -4
  577. data/src/core/lib/iomgr/endpoint.h +6 -4
  578. data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -4
  579. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -1
  580. data/src/core/lib/iomgr/ev_posix.cc +7 -11
  581. data/src/core/lib/iomgr/exec_ctx.h +1 -2
  582. data/src/core/lib/iomgr/fork_posix.cc +1 -1
  583. data/src/core/lib/iomgr/internal_errqueue.cc +38 -47
  584. data/src/core/lib/iomgr/internal_errqueue.h +1 -6
  585. data/src/core/lib/iomgr/iomgr.cc +0 -1
  586. data/src/core/lib/iomgr/{event_engine/pollset.h → iomgr_fwd.h} +9 -9
  587. data/src/core/lib/iomgr/pollset_set.h +1 -2
  588. data/src/core/lib/iomgr/port.h +25 -8
  589. data/src/core/lib/iomgr/resolve_address.cc +8 -0
  590. data/src/core/lib/iomgr/resolve_address.h +21 -14
  591. data/src/core/lib/iomgr/resolve_address_impl.h +2 -3
  592. data/src/core/lib/iomgr/resolve_address_posix.cc +8 -14
  593. data/src/core/lib/iomgr/resolve_address_posix.h +5 -2
  594. data/src/core/lib/iomgr/resolve_address_windows.cc +7 -14
  595. data/src/core/lib/iomgr/resolve_address_windows.h +5 -2
  596. data/src/core/lib/iomgr/sockaddr.h +2 -3
  597. data/src/core/lib/iomgr/sockaddr_posix.h +2 -0
  598. data/src/core/lib/iomgr/sockaddr_windows.h +2 -0
  599. data/src/core/lib/iomgr/socket_utils_common_posix.cc +3 -2
  600. data/src/core/lib/iomgr/tcp_client_cfstream.cc +10 -2
  601. data/src/core/lib/iomgr/tcp_client_posix.cc +14 -7
  602. data/src/core/lib/iomgr/tcp_client_windows.cc +13 -6
  603. data/src/core/lib/iomgr/tcp_posix.cc +77 -37
  604. data/src/core/lib/iomgr/tcp_server_posix.cc +50 -27
  605. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +30 -27
  606. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -4
  607. data/src/core/lib/iomgr/tcp_server_windows.cc +13 -5
  608. data/src/core/lib/iomgr/tcp_windows.cc +7 -4
  609. data/src/core/lib/json/json.h +1 -2
  610. data/src/core/lib/json/json_reader.cc +9 -1
  611. data/src/core/lib/json/json_util.cc +7 -0
  612. data/src/core/lib/json/json_util.h +13 -4
  613. data/src/core/lib/json/json_writer.cc +6 -1
  614. data/src/core/lib/promise/activity.cc +1 -1
  615. data/src/core/lib/promise/activity.h +6 -6
  616. data/src/core/lib/promise/arena_promise.h +11 -1
  617. data/src/core/lib/promise/call_push_pull.h +148 -0
  618. data/src/core/lib/promise/context.h +1 -1
  619. data/src/core/lib/promise/detail/basic_seq.h +2 -2
  620. data/src/core/lib/promise/detail/promise_factory.h +0 -1
  621. data/src/core/lib/promise/detail/status.h +2 -1
  622. data/src/core/lib/promise/intra_activity_waiter.h +49 -0
  623. data/src/core/lib/promise/latch.h +103 -0
  624. data/src/core/lib/promise/loop.h +1 -0
  625. data/src/core/lib/promise/race.h +0 -1
  626. data/src/core/lib/promise/seq.h +0 -2
  627. data/src/core/lib/promise/sleep.cc +2 -0
  628. data/src/core/lib/promise/sleep.h +10 -0
  629. data/src/core/lib/promise/try_seq.h +2 -2
  630. data/src/core/lib/resolver/resolver_factory.h +1 -2
  631. data/src/core/lib/resolver/server_address.cc +9 -3
  632. data/src/core/lib/resolver/server_address.h +4 -4
  633. data/src/core/lib/resource_quota/api.cc +19 -31
  634. data/src/core/lib/resource_quota/api.h +5 -2
  635. data/src/core/lib/resource_quota/arena.cc +0 -6
  636. data/src/core/lib/resource_quota/arena.h +1 -2
  637. data/src/core/lib/resource_quota/memory_quota.cc +47 -5
  638. data/src/core/lib/resource_quota/memory_quota.h +24 -5
  639. data/src/core/lib/resource_quota/resource_quota.h +16 -0
  640. data/src/core/lib/resource_quota/thread_quota.cc +2 -0
  641. data/src/core/lib/resource_quota/thread_quota.h +4 -0
  642. data/src/core/lib/security/authorization/authorization_policy_provider.h +7 -0
  643. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +12 -12
  644. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +5 -6
  645. data/src/core/lib/security/context/security_context.h +8 -1
  646. data/src/core/lib/security/credentials/alts/alts_credentials.cc +12 -5
  647. data/src/core/lib/security/credentials/alts/alts_credentials.h +4 -0
  648. data/src/core/lib/security/credentials/call_creds_util.cc +5 -3
  649. data/src/core/lib/security/credentials/call_creds_util.h +2 -2
  650. data/src/core/lib/security/credentials/channel_creds_registry.h +1 -0
  651. data/src/core/lib/security/credentials/composite/composite_credentials.cc +19 -10
  652. data/src/core/lib/security/credentials/composite/composite_credentials.h +11 -9
  653. data/src/core/lib/security/credentials/credentials.h +29 -39
  654. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +81 -0
  655. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +8 -0
  656. data/src/core/lib/security/credentials/external/external_account_credentials.cc +3 -0
  657. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +2 -0
  658. data/src/core/lib/security/credentials/fake/fake_credentials.cc +18 -12
  659. data/src/core/lib/security/credentials/fake/fake_credentials.h +8 -5
  660. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +27 -13
  661. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +4 -4
  662. data/src/core/lib/security/credentials/iam/iam_credentials.cc +8 -4
  663. data/src/core/lib/security/credentials/iam/iam_credentials.h +6 -2
  664. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +28 -29
  665. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +57 -0
  666. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +8 -3
  667. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +6 -2
  668. data/src/core/lib/security/credentials/local/local_credentials.cc +12 -6
  669. data/src/core/lib/security/credentials/local/local_credentials.h +4 -0
  670. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +22 -10
  671. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +14 -6
  672. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +11 -6
  673. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +8 -6
  674. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +12 -4
  675. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +8 -0
  676. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +10 -0
  677. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +47 -0
  678. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +34 -1
  679. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +66 -3
  680. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +66 -95
  681. data/src/core/lib/security/credentials/tls/tls_credentials.cc +19 -6
  682. data/src/core/lib/security/credentials/tls/tls_credentials.h +5 -5
  683. data/src/core/lib/security/credentials/xds/xds_credentials.cc +57 -50
  684. data/src/core/lib/security/credentials/xds/xds_credentials.h +31 -5
  685. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -1
  686. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +1 -1
  687. data/src/core/lib/security/security_connector/local/local_security_connector.cc +2 -2
  688. data/src/core/lib/security/security_connector/security_connector.cc +1 -1
  689. data/src/core/lib/security/security_connector/security_connector.h +10 -1
  690. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +5 -3
  691. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +4 -2
  692. data/src/core/lib/security/transport/auth_filters.h +7 -7
  693. data/src/core/lib/security/transport/client_auth_filter.cc +26 -20
  694. data/src/core/lib/security/transport/secure_endpoint.cc +213 -133
  695. data/src/core/lib/security/transport/secure_endpoint.h +1 -1
  696. data/src/core/lib/security/transport/security_handshaker.cc +11 -9
  697. data/src/core/lib/security/transport/security_handshaker.h +1 -1
  698. data/src/core/lib/security/transport/server_auth_filter.cc +3 -2
  699. data/src/core/lib/service_config/service_config.h +4 -8
  700. data/src/core/lib/service_config/service_config_call_data.h +4 -1
  701. data/src/core/lib/service_config/service_config_impl.cc +7 -0
  702. data/src/core/lib/service_config/service_config_impl.h +9 -2
  703. data/src/core/lib/service_config/service_config_parser.cc +8 -0
  704. data/src/core/lib/service_config/service_config_parser.h +7 -0
  705. data/src/core/lib/slice/b64.cc +1 -1
  706. data/src/core/lib/slice/b64.h +2 -0
  707. data/src/core/lib/slice/percent_encoding.cc +4 -1
  708. data/src/core/lib/slice/percent_encoding.h +0 -6
  709. data/src/core/lib/slice/slice.cc +2 -1
  710. data/src/core/lib/slice/slice.h +10 -5
  711. data/src/core/lib/slice/slice_api.cc +1 -1
  712. data/src/core/lib/slice/slice_buffer.cc +50 -23
  713. data/src/core/lib/slice/slice_buffer.h +106 -0
  714. data/src/core/lib/{iomgr/is_epollexclusive_available.h → slice/slice_buffer_api.cc} +11 -12
  715. data/src/core/lib/slice/slice_internal.h +4 -3
  716. data/src/core/lib/slice/slice_refcount.h +2 -3
  717. data/src/core/lib/slice/slice_refcount_base.h +2 -3
  718. data/src/core/lib/slice/slice_split.cc +3 -0
  719. data/src/core/lib/slice/slice_split.h +0 -4
  720. data/src/core/lib/slice/slice_string_helpers.cc +4 -0
  721. data/src/core/lib/slice/slice_string_helpers.h +1 -4
  722. data/src/core/lib/surface/builtins.cc +7 -2
  723. data/src/core/lib/surface/byte_buffer.cc +7 -1
  724. data/src/core/lib/surface/byte_buffer_reader.cc +4 -4
  725. data/src/core/lib/surface/call.cc +1052 -917
  726. data/src/core/lib/surface/call.h +16 -16
  727. data/src/core/lib/surface/call_details.cc +4 -4
  728. data/src/core/lib/surface/call_log_batch.cc +7 -1
  729. data/src/core/lib/surface/call_test_only.h +4 -1
  730. data/src/core/lib/surface/channel.cc +181 -243
  731. data/src/core/lib/surface/channel.h +94 -57
  732. data/src/core/lib/surface/channel_init.cc +2 -3
  733. data/src/core/lib/surface/channel_init.h +3 -5
  734. data/src/core/lib/surface/channel_ping.cc +8 -2
  735. data/src/core/lib/surface/channel_stack_type.cc +0 -2
  736. data/src/core/lib/surface/channel_stack_type.h +0 -2
  737. data/src/core/lib/surface/completion_queue.cc +14 -6
  738. data/src/core/lib/surface/completion_queue.h +5 -1
  739. data/src/core/lib/surface/completion_queue_factory.cc +1 -0
  740. data/src/core/lib/surface/completion_queue_factory.h +1 -3
  741. data/src/core/lib/surface/event_string.cc +1 -7
  742. data/src/core/lib/surface/event_string.h +1 -1
  743. data/src/core/lib/surface/init.cc +17 -45
  744. data/src/core/lib/surface/init.h +0 -8
  745. data/src/core/lib/surface/lame_client.cc +64 -110
  746. data/src/core/lib/surface/lame_client.h +40 -2
  747. data/src/core/lib/surface/metadata_array.cc +2 -0
  748. data/src/core/lib/surface/server.cc +72 -70
  749. data/src/core/lib/surface/server.h +40 -11
  750. data/src/core/lib/surface/validate_metadata.cc +2 -5
  751. data/src/core/lib/surface/validate_metadata.h +3 -0
  752. data/src/core/lib/surface/version.cc +2 -2
  753. data/src/core/lib/transport/bdp_estimator.cc +3 -1
  754. data/src/core/lib/transport/bdp_estimator.h +2 -3
  755. data/src/core/lib/transport/byte_stream.cc +6 -3
  756. data/src/core/lib/transport/byte_stream.h +5 -1
  757. data/src/core/lib/transport/connectivity_state.cc +6 -4
  758. data/src/core/lib/transport/connectivity_state.h +2 -3
  759. data/src/core/lib/transport/error_utils.cc +4 -2
  760. data/src/core/lib/transport/error_utils.h +5 -1
  761. data/src/core/lib/{channel → transport}/handshaker.cc +9 -4
  762. data/src/core/lib/{channel → transport}/handshaker.h +13 -6
  763. data/src/core/lib/{channel → transport}/handshaker_factory.h +9 -10
  764. data/src/core/lib/{channel → transport}/handshaker_registry.cc +5 -1
  765. data/src/core/lib/{channel → transport}/handshaker_registry.h +5 -4
  766. data/src/core/{ext/filters/client_channel → lib/transport}/http_connect_handshaker.cc +24 -10
  767. data/src/core/{ext/filters/client_channel → lib/transport}/http_connect_handshaker.h +3 -3
  768. data/src/core/lib/transport/metadata_batch.cc +287 -0
  769. data/src/core/lib/transport/metadata_batch.h +142 -269
  770. data/src/core/lib/transport/parsed_metadata.cc +2 -0
  771. data/src/core/lib/transport/parsed_metadata.h +10 -3
  772. data/src/core/lib/transport/status_conversion.cc +2 -0
  773. data/src/core/lib/transport/status_conversion.h +2 -2
  774. data/src/core/lib/transport/tcp_connect_handshaker.cc +253 -0
  775. data/src/core/lib/transport/tcp_connect_handshaker.h +39 -0
  776. data/src/core/lib/transport/timeout_encoding.cc +2 -6
  777. data/src/core/lib/transport/timeout_encoding.h +5 -1
  778. data/src/core/lib/transport/transport.cc +18 -17
  779. data/src/core/lib/transport/transport.h +48 -7
  780. data/src/core/lib/transport/transport_impl.h +14 -3
  781. data/src/core/lib/transport/transport_op_string.cc +9 -10
  782. data/src/core/lib/uri/uri_parser.cc +11 -3
  783. data/src/core/lib/uri/uri_parser.h +0 -2
  784. data/src/core/plugin_registry/grpc_plugin_registry.cc +13 -4
  785. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +2 -2
  786. data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -0
  787. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +2 -0
  788. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -0
  789. data/src/core/tsi/ssl_transport_security.cc +75 -38
  790. data/src/core/tsi/ssl_transport_security.h +8 -2
  791. data/src/core/tsi/transport_security_interface.h +2 -0
  792. data/src/ruby/ext/grpc/extconf.rb +2 -2
  793. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  794. data/src/ruby/lib/grpc/grpc.rb +1 -1
  795. data/src/ruby/lib/grpc/version.rb +1 -1
  796. data/src/ruby/pb/generate_proto_ruby.sh +1 -0
  797. data/src/ruby/pb/test/client.rb +769 -0
  798. data/src/ruby/pb/test/server.rb +252 -0
  799. data/src/ruby/pb/test/xds_client.rb +415 -0
  800. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  801. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  802. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +504 -0
  803. data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
  804. data/third_party/upb/upb/decode.c +32 -16
  805. data/third_party/upb/upb/def.c +118 -55
  806. data/third_party/upb/upb/def.h +12 -3
  807. data/third_party/upb/upb/encode.c +14 -8
  808. data/third_party/upb/upb/json_encode.c +776 -0
  809. data/third_party/upb/upb/json_encode.h +62 -0
  810. data/third_party/upb/upb/msg.c +5 -7
  811. data/third_party/upb/upb/msg.h +1 -2
  812. data/third_party/upb/upb/msg_internal.h +49 -36
  813. data/third_party/upb/upb/port_def.inc +8 -0
  814. data/third_party/upb/upb/port_undef.inc +1 -0
  815. data/third_party/upb/upb/table.c +10 -6
  816. data/third_party/upb/upb/table_internal.h +2 -0
  817. data/third_party/upb/upb/upb.h +41 -11
  818. data/third_party/zlib/crc32.c +966 -292
  819. data/third_party/zlib/crc32.h +9441 -436
  820. data/third_party/zlib/deflate.c +78 -30
  821. data/third_party/zlib/deflate.h +12 -15
  822. data/third_party/zlib/gzguts.h +3 -2
  823. data/third_party/zlib/gzlib.c +5 -3
  824. data/third_party/zlib/gzread.c +5 -7
  825. data/third_party/zlib/gzwrite.c +25 -13
  826. data/third_party/zlib/infback.c +2 -1
  827. data/third_party/zlib/inffast.c +14 -14
  828. data/third_party/zlib/inflate.c +39 -8
  829. data/third_party/zlib/inflate.h +3 -2
  830. data/third_party/zlib/inftrees.c +3 -3
  831. data/third_party/zlib/trees.c +27 -48
  832. data/third_party/zlib/zlib.h +123 -100
  833. data/third_party/zlib/zutil.c +2 -2
  834. data/third_party/zlib/zutil.h +12 -9
  835. metadata +100 -72
  836. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +0 -31
  837. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +0 -28
  838. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -201
  839. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -566
  840. data/src/core/lib/event_engine/sockaddr.cc +0 -40
  841. data/src/core/lib/event_engine/sockaddr.h +0 -44
  842. data/src/core/lib/gprpp/capture.h +0 -76
  843. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1657
  844. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  845. data/src/core/lib/iomgr/event_engine/closure.cc +0 -77
  846. data/src/core/lib/iomgr/event_engine/closure.h +0 -42
  847. data/src/core/lib/iomgr/event_engine/endpoint.cc +0 -172
  848. data/src/core/lib/iomgr/event_engine/endpoint.h +0 -52
  849. data/src/core/lib/iomgr/event_engine/iomgr.cc +0 -85
  850. data/src/core/lib/iomgr/event_engine/pollset.cc +0 -87
  851. data/src/core/lib/iomgr/event_engine/promise.h +0 -51
  852. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +0 -47
  853. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +0 -37
  854. data/src/core/lib/iomgr/event_engine/resolver.cc +0 -133
  855. data/src/core/lib/iomgr/event_engine/resolver.h +0 -56
  856. data/src/core/lib/iomgr/event_engine/tcp.cc +0 -296
  857. data/src/core/lib/iomgr/event_engine/timer.cc +0 -62
  858. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  859. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
@@ -31,6 +31,11 @@ UPB_INLINE const upb_MessageDef *envoy_extensions_transport_sockets_tls_v3_Downs
31
31
  return upb_DefPool_FindMessageByName(s, "envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext");
32
32
  }
33
33
 
34
+ UPB_INLINE const upb_MessageDef *envoy_extensions_transport_sockets_tls_v3_TlsKeyLog_getmsgdef(upb_DefPool *s) {
35
+ _upb_DefPool_LoadDefInit(s, &envoy_extensions_transport_sockets_tls_v3_tls_proto_upbdefinit);
36
+ return upb_DefPool_FindMessageByName(s, "envoy.extensions.transport_sockets.tls.v3.TlsKeyLog");
37
+ }
38
+
34
39
  UPB_INLINE const upb_MessageDef *envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_getmsgdef(upb_DefPool *s) {
35
40
  _upb_DefPool_LoadDefInit(s, &envoy_extensions_transport_sockets_tls_v3_tls_proto_upbdefinit);
36
41
  return upb_DefPool_FindMessageByName(s, "envoy.extensions.transport_sockets.tls.v3.CommonTlsContext");
@@ -0,0 +1,99 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * src/proto/grpc/lookup/v1/rls_config.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #include "upb/def.h"
10
+ #include "src/proto/grpc/lookup/v1/rls_config.upbdefs.h"
11
+ #include "src/proto/grpc/lookup/v1/rls_config.upb.h"
12
+
13
+ extern _upb_DefPool_Init google_protobuf_duration_proto_upbdefinit;
14
+ static const char descriptor[1816] = {'\n', ')', 's', 'r', 'c', '/', 'p', 'r', 'o', 't', 'o', '/', 'g', 'r', 'p', 'c', '/', 'l', 'o', 'o', 'k', 'u', 'p', '/', 'v',
15
+ '1', '/', 'r', 'l', 's', '_', 'c', 'o', 'n', 'f', 'i', 'g', '.', 'p', 'r', 'o', 't', 'o', '\022', '\016', 'g', 'r', 'p', 'c', '.',
16
+ 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '\032', '\036', 'g', 'o', 'o', 'g', 'l', 'e', '/', 'p', 'r', 'o', 't', 'o', 'b', 'u',
17
+ 'f', '/', 'd', 'u', 'r', 'a', 't', 'i', 'o', 'n', '.', 'p', 'r', 'o', 't', 'o', '\"', '\\', '\n', '\013', 'N', 'a', 'm', 'e', 'M',
18
+ 'a', 't', 'c', 'h', 'e', 'r', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\003', 'k', 'e', 'y', '\022',
19
+ '\024', '\n', '\005', 'n', 'a', 'm', 'e', 's', '\030', '\002', ' ', '\003', '(', '\t', 'R', '\005', 'n', 'a', 'm', 'e', 's', '\022', '%', '\n', '\016',
20
+ 'r', 'e', 'q', 'u', 'i', 'r', 'e', 'd', '_', 'm', 'a', 't', 'c', 'h', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\r', 'r', 'e', 'q',
21
+ 'u', 'i', 'r', 'e', 'd', 'M', 'a', 't', 'c', 'h', '\"', '\360', '\003', '\n', '\016', 'G', 'r', 'p', 'c', 'K', 'e', 'y', 'B', 'u', 'i',
22
+ 'l', 'd', 'e', 'r', '\022', '9', '\n', '\005', 'n', 'a', 'm', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '#', '.', 'g', 'r', 'p',
23
+ 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '.', 'G', 'r', 'p', 'c', 'K', 'e', 'y', 'B', 'u', 'i', 'l', 'd', 'e',
24
+ 'r', '.', 'N', 'a', 'm', 'e', 'R', '\005', 'n', 'a', 'm', 'e', 's', '\022', 'G', '\n', '\n', 'e', 'x', 't', 'r', 'a', '_', 'k', 'e',
25
+ 'y', 's', '\030', '\003', ' ', '\001', '(', '\013', '2', '(', '.', 'g', 'r', 'p', 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1',
26
+ '.', 'G', 'r', 'p', 'c', 'K', 'e', 'y', 'B', 'u', 'i', 'l', 'd', 'e', 'r', '.', 'E', 'x', 't', 'r', 'a', 'K', 'e', 'y', 's',
27
+ 'R', '\t', 'e', 'x', 't', 'r', 'a', 'K', 'e', 'y', 's', '\022', '5', '\n', '\007', 'h', 'e', 'a', 'd', 'e', 'r', 's', '\030', '\002', ' ',
28
+ '\003', '(', '\013', '2', '\033', '.', 'g', 'r', 'p', 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '.', 'N', 'a', 'm', 'e',
29
+ 'M', 'a', 't', 'c', 'h', 'e', 'r', 'R', '\007', 'h', 'e', 'a', 'd', 'e', 'r', 's', '\022', 'U', '\n', '\r', 'c', 'o', 'n', 's', 't',
30
+ 'a', 'n', 't', '_', 'k', 'e', 'y', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '0', '.', 'g', 'r', 'p', 'c', '.', 'l', 'o', 'o',
31
+ 'k', 'u', 'p', '.', 'v', '1', '.', 'G', 'r', 'p', 'c', 'K', 'e', 'y', 'B', 'u', 'i', 'l', 'd', 'e', 'r', '.', 'C', 'o', 'n',
32
+ 's', 't', 'a', 'n', 't', 'K', 'e', 'y', 's', 'E', 'n', 't', 'r', 'y', 'R', '\014', 'c', 'o', 'n', 's', 't', 'a', 'n', 't', 'K',
33
+ 'e', 'y', 's', '\032', '8', '\n', '\004', 'N', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 's', 'e', 'r', 'v', 'i', 'c', 'e', '\030', '\001', ' ',
34
+ '\001', '(', '\t', 'R', '\007', 's', 'e', 'r', 'v', 'i', 'c', 'e', '\022', '\026', '\n', '\006', 'm', 'e', 't', 'h', 'o', 'd', '\030', '\002', ' ',
35
+ '\001', '(', '\t', 'R', '\006', 'm', 'e', 't', 'h', 'o', 'd', '\032', 'Q', '\n', '\t', 'E', 'x', 't', 'r', 'a', 'K', 'e', 'y', 's', '\022',
36
+ '\022', '\n', '\004', 'h', 'o', 's', 't', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'h', 'o', 's', 't', '\022', '\030', '\n', '\007', 's', 'e',
37
+ 'r', 'v', 'i', 'c', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 's', 'e', 'r', 'v', 'i', 'c', 'e', '\022', '\026', '\n', '\006', 'm',
38
+ 'e', 't', 'h', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\006', 'm', 'e', 't', 'h', 'o', 'd', '\032', '?', '\n', '\021', 'C', 'o',
39
+ 'n', 's', 't', 'a', 'n', 't', 'K', 'e', 'y', 's', 'E', 'n', 't', 'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ',
40
+ '\001', '(', '\t', 'R', '\003', 'k', 'e', 'y', '\022', '\024', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\005',
41
+ 'v', 'a', 'l', 'u', 'e', ':', '\002', '8', '\001', '\"', '\361', '\002', '\n', '\016', 'H', 't', 't', 'p', 'K', 'e', 'y', 'B', 'u', 'i', 'l',
42
+ 'd', 'e', 'r', '\022', '#', '\n', '\r', 'h', 'o', 's', 't', '_', 'p', 'a', 't', 't', 'e', 'r', 'n', 's', '\030', '\001', ' ', '\003', '(',
43
+ '\t', 'R', '\014', 'h', 'o', 's', 't', 'P', 'a', 't', 't', 'e', 'r', 'n', 's', '\022', '#', '\n', '\r', 'p', 'a', 't', 'h', '_', 'p',
44
+ 'a', 't', 't', 'e', 'r', 'n', 's', '\030', '\002', ' ', '\003', '(', '\t', 'R', '\014', 'p', 'a', 't', 'h', 'P', 'a', 't', 't', 'e', 'r',
45
+ 'n', 's', '\022', 'F', '\n', '\020', 'q', 'u', 'e', 'r', 'y', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 's', '\030', '\003', ' ',
46
+ '\003', '(', '\013', '2', '\033', '.', 'g', 'r', 'p', 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '.', 'N', 'a', 'm', 'e',
47
+ 'M', 'a', 't', 'c', 'h', 'e', 'r', 'R', '\017', 'q', 'u', 'e', 'r', 'y', 'P', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 's', '\022',
48
+ '5', '\n', '\007', 'h', 'e', 'a', 'd', 'e', 'r', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\033', '.', 'g', 'r', 'p', 'c', '.', 'l',
49
+ 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '.', 'N', 'a', 'm', 'e', 'M', 'a', 't', 'c', 'h', 'e', 'r', 'R', '\007', 'h', 'e', 'a',
50
+ 'd', 'e', 'r', 's', '\022', 'U', '\n', '\r', 'c', 'o', 'n', 's', 't', 'a', 'n', 't', '_', 'k', 'e', 'y', 's', '\030', '\005', ' ', '\003',
51
+ '(', '\013', '2', '0', '.', 'g', 'r', 'p', 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '.', 'H', 't', 't', 'p', 'K',
52
+ 'e', 'y', 'B', 'u', 'i', 'l', 'd', 'e', 'r', '.', 'C', 'o', 'n', 's', 't', 'a', 'n', 't', 'K', 'e', 'y', 's', 'E', 'n', 't',
53
+ 'r', 'y', 'R', '\014', 'c', 'o', 'n', 's', 't', 'a', 'n', 't', 'K', 'e', 'y', 's', '\032', '?', '\n', '\021', 'C', 'o', 'n', 's', 't',
54
+ 'a', 'n', 't', 'K', 'e', 'y', 's', 'E', 'n', 't', 'r', 'y', '\022', '\020', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\t',
55
+ 'R', '\003', 'k', 'e', 'y', '\022', '\024', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\005', 'v', 'a', 'l',
56
+ 'u', 'e', ':', '\002', '8', '\001', '\"', '\246', '\004', '\n', '\021', 'R', 'o', 'u', 't', 'e', 'L', 'o', 'o', 'k', 'u', 'p', 'C', 'o', 'n',
57
+ 'f', 'i', 'g', '\022', 'I', '\n', '\020', 'h', 't', 't', 'p', '_', 'k', 'e', 'y', 'b', 'u', 'i', 'l', 'd', 'e', 'r', 's', '\030', '\001',
58
+ ' ', '\003', '(', '\013', '2', '\036', '.', 'g', 'r', 'p', 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '.', 'H', 't', 't',
59
+ 'p', 'K', 'e', 'y', 'B', 'u', 'i', 'l', 'd', 'e', 'r', 'R', '\017', 'h', 't', 't', 'p', 'K', 'e', 'y', 'b', 'u', 'i', 'l', 'd',
60
+ 'e', 'r', 's', '\022', 'I', '\n', '\020', 'g', 'r', 'p', 'c', '_', 'k', 'e', 'y', 'b', 'u', 'i', 'l', 'd', 'e', 'r', 's', '\030', '\002',
61
+ ' ', '\003', '(', '\013', '2', '\036', '.', 'g', 'r', 'p', 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '.', 'G', 'r', 'p',
62
+ 'c', 'K', 'e', 'y', 'B', 'u', 'i', 'l', 'd', 'e', 'r', 'R', '\017', 'g', 'r', 'p', 'c', 'K', 'e', 'y', 'b', 'u', 'i', 'l', 'd',
63
+ 'e', 'r', 's', '\022', '%', '\n', '\016', 'l', 'o', 'o', 'k', 'u', 'p', '_', 's', 'e', 'r', 'v', 'i', 'c', 'e', '\030', '\003', ' ', '\001',
64
+ '(', '\t', 'R', '\r', 'l', 'o', 'o', 'k', 'u', 'p', 'S', 'e', 'r', 'v', 'i', 'c', 'e', '\022', 'O', '\n', '\026', 'l', 'o', 'o', 'k',
65
+ 'u', 'p', '_', 's', 'e', 'r', 'v', 'i', 'c', 'e', '_', 't', 'i', 'm', 'e', 'o', 'u', 't', '\030', '\004', ' ', '\001', '(', '\013', '2',
66
+ '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o',
67
+ 'n', 'R', '\024', 'l', 'o', 'o', 'k', 'u', 'p', 'S', 'e', 'r', 'v', 'i', 'c', 'e', 'T', 'i', 'm', 'e', 'o', 'u', 't', '\022', '2',
68
+ '\n', '\007', 'm', 'a', 'x', '_', 'a', 'g', 'e', '\030', '\005', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.',
69
+ 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\006', 'm', 'a', 'x', 'A', 'g', 'e',
70
+ '\022', '6', '\n', '\t', 's', 't', 'a', 'l', 'e', '_', 'a', 'g', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\031', '.', 'g', 'o', 'o',
71
+ 'g', 'l', 'e', '.', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '.', 'D', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\010', 's', 't',
72
+ 'a', 'l', 'e', 'A', 'g', 'e', '\022', '(', '\n', '\020', 'c', 'a', 'c', 'h', 'e', '_', 's', 'i', 'z', 'e', '_', 'b', 'y', 't', 'e',
73
+ 's', '\030', '\007', ' ', '\001', '(', '\003', 'R', '\016', 'c', 'a', 'c', 'h', 'e', 'S', 'i', 'z', 'e', 'B', 'y', 't', 'e', 's', '\022', '#',
74
+ '\n', '\r', 'v', 'a', 'l', 'i', 'd', '_', 't', 'a', 'r', 'g', 'e', 't', 's', '\030', '\010', ' ', '\003', '(', '\t', 'R', '\014', 'v', 'a',
75
+ 'l', 'i', 'd', 'T', 'a', 'r', 'g', 'e', 't', 's', '\022', '%', '\n', '\016', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 't', 'a', 'r',
76
+ 'g', 'e', 't', '\030', '\t', ' ', '\001', '(', '\t', 'R', '\r', 'd', 'e', 'f', 'a', 'u', 'l', 't', 'T', 'a', 'r', 'g', 'e', 't', 'J',
77
+ '\004', '\010', '\n', '\020', '\013', 'R', '\033', 'r', 'e', 'q', 'u', 'e', 's', 't', '_', 'p', 'r', 'o', 'c', 'e', 's', 's', 'i', 'n', 'g',
78
+ '_', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '\"', 'p', '\n', '\033', 'R', 'o', 'u', 't', 'e', 'L', 'o', 'o', 'k', 'u', 'p', 'C',
79
+ 'l', 'u', 's', 't', 'e', 'r', 'S', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'r', '\022', 'Q', '\n', '\023', 'r', 'o', 'u', 't', 'e', '_',
80
+ 'l', 'o', 'o', 'k', 'u', 'p', '_', 'c', 'o', 'n', 'f', 'i', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '!', '.', 'g', 'r', 'p',
81
+ 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', '.', 'R', 'o', 'u', 't', 'e', 'L', 'o', 'o', 'k', 'u', 'p', 'C', 'o',
82
+ 'n', 'f', 'i', 'g', 'R', '\021', 'r', 'o', 'u', 't', 'e', 'L', 'o', 'o', 'k', 'u', 'p', 'C', 'o', 'n', 'f', 'i', 'g', 'B', 'S',
83
+ '\n', '\021', 'i', 'o', '.', 'g', 'r', 'p', 'c', '.', 'l', 'o', 'o', 'k', 'u', 'p', '.', 'v', '1', 'B', '\016', 'R', 'l', 's', 'C',
84
+ 'o', 'n', 'f', 'i', 'g', 'P', 'r', 'o', 't', 'o', 'P', '\001', 'Z', ',', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'g', 'o', 'l', 'a',
85
+ 'n', 'g', '.', 'o', 'r', 'g', '/', 'g', 'r', 'p', 'c', '/', 'l', 'o', 'o', 'k', 'u', 'p', '/', 'g', 'r', 'p', 'c', '_', 'l',
86
+ 'o', 'o', 'k', 'u', 'p', '_', 'v', '1', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
87
+ };
88
+
89
+ static _upb_DefPool_Init *deps[2] = {
90
+ &google_protobuf_duration_proto_upbdefinit,
91
+ NULL
92
+ };
93
+
94
+ _upb_DefPool_Init src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit = {
95
+ deps,
96
+ &src_proto_grpc_lookup_v1_rls_config_proto_upb_file_layout,
97
+ "src/proto/grpc/lookup/v1/rls_config.proto",
98
+ UPB_STRINGVIEW_INIT(descriptor, 1816)
99
+ };
@@ -0,0 +1,75 @@
1
+ /* This file was generated by upbc (the upb compiler) from the input
2
+ * file:
3
+ *
4
+ * src/proto/grpc/lookup/v1/rls_config.proto
5
+ *
6
+ * Do not edit -- your changes will be discarded when the file is
7
+ * regenerated. */
8
+
9
+ #ifndef SRC_PROTO_GRPC_LOOKUP_V1_RLS_CONFIG_PROTO_UPBDEFS_H_
10
+ #define SRC_PROTO_GRPC_LOOKUP_V1_RLS_CONFIG_PROTO_UPBDEFS_H_
11
+
12
+ #include "upb/def.h"
13
+ #include "upb/port_def.inc"
14
+ #ifdef __cplusplus
15
+ extern "C" {
16
+ #endif
17
+
18
+ #include "upb/def.h"
19
+
20
+ #include "upb/port_def.inc"
21
+
22
+ extern _upb_DefPool_Init src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit;
23
+
24
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_NameMatcher_getmsgdef(upb_DefPool *s) {
25
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
26
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.NameMatcher");
27
+ }
28
+
29
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_GrpcKeyBuilder_getmsgdef(upb_DefPool *s) {
30
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
31
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.GrpcKeyBuilder");
32
+ }
33
+
34
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_GrpcKeyBuilder_Name_getmsgdef(upb_DefPool *s) {
35
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
36
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.GrpcKeyBuilder.Name");
37
+ }
38
+
39
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_GrpcKeyBuilder_ExtraKeys_getmsgdef(upb_DefPool *s) {
40
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
41
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.GrpcKeyBuilder.ExtraKeys");
42
+ }
43
+
44
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_GrpcKeyBuilder_ConstantKeysEntry_getmsgdef(upb_DefPool *s) {
45
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
46
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.GrpcKeyBuilder.ConstantKeysEntry");
47
+ }
48
+
49
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_HttpKeyBuilder_getmsgdef(upb_DefPool *s) {
50
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
51
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.HttpKeyBuilder");
52
+ }
53
+
54
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_HttpKeyBuilder_ConstantKeysEntry_getmsgdef(upb_DefPool *s) {
55
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
56
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.HttpKeyBuilder.ConstantKeysEntry");
57
+ }
58
+
59
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_RouteLookupConfig_getmsgdef(upb_DefPool *s) {
60
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
61
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.RouteLookupConfig");
62
+ }
63
+
64
+ UPB_INLINE const upb_MessageDef *grpc_lookup_v1_RouteLookupClusterSpecifier_getmsgdef(upb_DefPool *s) {
65
+ _upb_DefPool_LoadDefInit(s, &src_proto_grpc_lookup_v1_rls_config_proto_upbdefinit);
66
+ return upb_DefPool_FindMessageByName(s, "grpc.lookup.v1.RouteLookupClusterSpecifier");
67
+ }
68
+
69
+ #ifdef __cplusplus
70
+ } /* extern "C" */
71
+ #endif
72
+
73
+ #include "upb/port_undef.inc"
74
+
75
+ #endif /* SRC_PROTO_GRPC_LOOKUP_V1_RLS_CONFIG_PROTO_UPBDEFS_H_ */
@@ -24,6 +24,16 @@
24
24
 
25
25
  namespace grpc_core {
26
26
 
27
+ //
28
+ // CertificateProviderStore::CertificateProviderWrapper
29
+ //
30
+
31
+ UniqueTypeName CertificateProviderStore::CertificateProviderWrapper::type()
32
+ const {
33
+ static UniqueTypeName::Factory kFactory("Wrapper");
34
+ return kFactory.Create();
35
+ }
36
+
27
37
  // If a certificate provider is created, the CertificateProviderStore
28
38
  // maintains a raw pointer to the created CertificateProviderWrapper so that
29
39
  // future calls to `CreateOrGetCertificateProvider()` with the same key result
@@ -83,6 +83,15 @@ class CertificateProviderStore
83
83
  return certificate_provider_->interested_parties();
84
84
  }
85
85
 
86
+ int CompareImpl(const grpc_tls_certificate_provider* other) const override {
87
+ // TODO(yashykt): This should probably delegate to the `Compare` method of
88
+ // the wrapped certificate_provider_ object.
89
+ return QsortCompare(
90
+ static_cast<const grpc_tls_certificate_provider*>(this), other);
91
+ }
92
+
93
+ UniqueTypeName type() const override;
94
+
86
95
  absl::string_view key() const { return key_; }
87
96
 
88
97
  private:
@@ -326,6 +326,9 @@ grpc_slice XdsApi::CreateAdsRequest(
326
326
  arena.ptr());
327
327
  PopulateNode(context, node_, build_version_, user_agent_name_,
328
328
  user_agent_version_, node_msg);
329
+ envoy_config_core_v3_Node_add_client_features(
330
+ node_msg, upb_StringView_FromString("xds.config.resource-in-sotw"),
331
+ context.arena);
329
332
  }
330
333
  // Add resource_names.
331
334
  for (const std::string& resource_name : resource_names) {
@@ -399,6 +402,23 @@ absl::Status XdsApi::ParseAdsResponse(const XdsBootstrap::XdsServer& server,
399
402
  "type.googleapis.com/");
400
403
  absl::string_view serialized_resource =
401
404
  UpbStringToAbsl(google_protobuf_Any_value(resources[i]));
405
+ // Unwrap Resource messages, if so wrapped.
406
+ if (type_url == "envoy.api.v2.Resource" ||
407
+ type_url == "envoy.service.discovery.v3.Resource") {
408
+ const auto* resource_wrapper = envoy_service_discovery_v3_Resource_parse(
409
+ serialized_resource.data(), serialized_resource.size(), arena.ptr());
410
+ if (resource_wrapper == nullptr) {
411
+ return absl::InvalidArgumentError(
412
+ "Can't decode Resource proto wrapper");
413
+ }
414
+ const auto* resource =
415
+ envoy_service_discovery_v3_Resource_resource(resource_wrapper);
416
+ type_url = absl::StripPrefix(
417
+ UpbStringToAbsl(google_protobuf_Any_type_url(resource)),
418
+ "type.googleapis.com/");
419
+ serialized_resource =
420
+ UpbStringToAbsl(google_protobuf_Any_value(resource));
421
+ }
402
422
  parser->ParseResource(context, i, type_url, serialized_resource);
403
423
  }
404
424
  return absl::OkStatus();
@@ -44,8 +44,6 @@
44
44
 
45
45
  namespace grpc_core {
46
46
 
47
- namespace {
48
-
49
47
  // TODO(donnadionne): check to see if federation is enabled, this will be
50
48
  // removed once federation is fully integrated and enabled by default.
51
49
  bool XdsFederationEnabled() {
@@ -56,6 +54,8 @@ bool XdsFederationEnabled() {
56
54
  return parse_succeeded && parsed_value;
57
55
  }
58
56
 
57
+ namespace {
58
+
59
59
  grpc_error_handle ParseChannelCreds(const Json::Object& json, size_t idx,
60
60
  XdsBootstrap::XdsServer* server) {
61
61
  std::vector<grpc_error_handle> error_list;
@@ -37,6 +37,8 @@
37
37
 
38
38
  namespace grpc_core {
39
39
 
40
+ bool XdsFederationEnabled();
41
+
40
42
  class XdsClient;
41
43
 
42
44
  class XdsBootstrap {
@@ -263,6 +263,11 @@ XdsCertificateProvider::~XdsCertificateProvider() {
263
263
  distributor_->SetWatchStatusCallback(nullptr);
264
264
  }
265
265
 
266
+ UniqueTypeName XdsCertificateProvider::type() const {
267
+ static UniqueTypeName::Factory kFactory("Xds");
268
+ return kFactory.Create();
269
+ }
270
+
266
271
  bool XdsCertificateProvider::ProvidesRootCerts(const std::string& cert_name) {
267
272
  MutexLock lock(&mu_);
268
273
  auto it = certificate_state_map_.find(cert_name);
@@ -39,6 +39,8 @@ class XdsCertificateProvider : public grpc_tls_certificate_provider {
39
39
  return distributor_;
40
40
  }
41
41
 
42
+ UniqueTypeName type() const override;
43
+
42
44
  bool ProvidesRootCerts(const std::string& cert_name);
43
45
  void UpdateRootCertNameAndDistributor(
44
46
  const std::string& cert_name, absl::string_view root_cert_name,
@@ -124,6 +126,12 @@ class XdsCertificateProvider : public grpc_tls_certificate_provider {
124
126
  bool require_client_certificate_ = false;
125
127
  };
126
128
 
129
+ int CompareImpl(const grpc_tls_certificate_provider* other) const override {
130
+ // TODO(yashykt): Maybe do something better here.
131
+ return QsortCompare(static_cast<const grpc_tls_certificate_provider*>(this),
132
+ other);
133
+ }
134
+
127
135
  void WatchStatusCallback(std::string cert_name, bool root_being_watched,
128
136
  bool identity_being_watched);
129
137
 
@@ -53,7 +53,7 @@ bool XdsChannelStackModifier::ModifyChannelStack(ChannelStackBuilder* builder) {
53
53
  // Insert the filters after the census filter if present.
54
54
  auto it = builder->mutable_stack()->begin();
55
55
  while (it != builder->mutable_stack()->end()) {
56
- const char* filter_name_at_it = it->filter->name;
56
+ const char* filter_name_at_it = (*it)->name;
57
57
  if (strcmp("census_server", filter_name_at_it) == 0 ||
58
58
  strcmp("opencensus_server", filter_name_at_it) == 0) {
59
59
  break;
@@ -71,8 +71,7 @@ bool XdsChannelStackModifier::ModifyChannelStack(ChannelStackBuilder* builder) {
71
71
  ++it;
72
72
  }
73
73
  for (const grpc_channel_filter* filter : filters_) {
74
- it = builder->mutable_stack()->insert(
75
- it, ChannelStackBuilder::StackEntry{filter, nullptr});
74
+ it = builder->mutable_stack()->insert(it, filter);
76
75
  ++it;
77
76
  }
78
77
  return true;
@@ -96,9 +95,10 @@ XdsChannelStackModifier::GetFromChannelArgs(const grpc_channel_args& args) {
96
95
  void RegisterXdsChannelStackModifier(CoreConfiguration::Builder* builder) {
97
96
  builder->channel_init()->RegisterStage(
98
97
  GRPC_SERVER_CHANNEL, INT_MAX, [](ChannelStackBuilder* builder) {
98
+ const grpc_channel_args* channel_args = builder->channel_args().ToC();
99
99
  RefCountedPtr<XdsChannelStackModifier> channel_stack_modifier =
100
- XdsChannelStackModifier::GetFromChannelArgs(
101
- *builder->channel_args());
100
+ XdsChannelStackModifier::GetFromChannelArgs(*channel_args);
101
+ grpc_channel_args_destroy(channel_args);
102
102
  if (channel_stack_modifier != nullptr) {
103
103
  return channel_stack_modifier->ModifyChannelStack(builder);
104
104
  }