grpc 1.47.0-x86_64-linux → 1.49.0.pre1-x86_64-linux

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 (1059) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +183 -62
  3. data/include/grpc/compression.h +1 -1
  4. data/include/grpc/event_engine/event_engine.h +37 -25
  5. data/include/grpc/event_engine/slice_buffer.h +8 -2
  6. data/include/grpc/grpc.h +3 -3
  7. data/include/grpc/impl/codegen/compression_types.h +2 -1
  8. data/include/grpc/impl/codegen/connectivity_state.h +2 -1
  9. data/include/grpc/impl/codegen/gpr_types.h +2 -1
  10. data/include/grpc/impl/codegen/grpc_types.h +5 -9
  11. data/include/grpc/impl/codegen/port_platform.h +2 -7
  12. data/src/core/ext/filters/census/grpc_context.cc +3 -0
  13. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +20 -8
  14. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +18 -2
  15. data/src/core/ext/filters/channel_idle/idle_filter_state.h +2 -0
  16. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -1
  17. data/src/core/ext/filters/client_channel/channel_connectivity.cc +2 -2
  18. data/src/core/ext/filters/client_channel/client_channel.cc +164 -261
  19. data/src/core/ext/filters/client_channel/client_channel.h +34 -12
  20. data/src/core/ext/filters/client_channel/client_channel_factory.cc +0 -29
  21. data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -10
  22. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
  23. data/src/core/ext/filters/client_channel/config_selector.h +13 -5
  24. data/src/core/ext/filters/client_channel/connector.h +5 -6
  25. data/src/core/ext/filters/client_channel/dynamic_filters.cc +6 -4
  26. data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
  27. data/src/core/ext/filters/client_channel/http_proxy.cc +53 -65
  28. data/src/core/ext/filters/client_channel/http_proxy.h +12 -9
  29. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +1 -1
  30. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +14 -12
  31. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +6 -6
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +2 -2
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +1 -0
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +170 -164
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +13 -4
  36. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +5 -1
  37. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -0
  38. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -2
  39. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +0 -1
  40. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
  41. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +200 -96
  42. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +25 -1
  43. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +121 -131
  44. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +153 -116
  45. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +220 -181
  46. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +10 -6
  47. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +110 -119
  48. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +133 -117
  49. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +97 -87
  50. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +114 -131
  51. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +40 -49
  52. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +84 -102
  53. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +64 -76
  54. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +172 -103
  55. data/src/core/ext/filters/client_channel/proxy_mapper.h +13 -14
  56. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +18 -16
  57. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -7
  58. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +7 -9
  59. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +434 -148
  60. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +5 -5
  61. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +179 -103
  62. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +20 -7
  63. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +29 -18
  64. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +8 -18
  65. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +11 -0
  66. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +16 -18
  67. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +4 -5
  68. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +5 -6
  69. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +5 -13
  70. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +181 -175
  71. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +3 -1
  72. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +39 -32
  73. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +7 -10
  74. data/src/core/ext/filters/client_channel/retry_filter.cc +35 -43
  75. data/src/core/ext/filters/client_channel/retry_filter.h +1 -0
  76. data/src/core/ext/filters/client_channel/retry_service_config.cc +30 -19
  77. data/src/core/ext/filters/client_channel/retry_service_config.h +6 -9
  78. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +7 -7
  79. data/src/core/ext/filters/client_channel/subchannel.cc +101 -138
  80. data/src/core/ext/filters/client_channel/subchannel.h +14 -30
  81. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +1 -1
  82. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +6 -76
  83. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +16 -25
  84. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +15 -101
  85. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +5 -9
  86. data/src/core/ext/filters/deadline/deadline_filter.cc +18 -13
  87. data/src/core/ext/filters/deadline/deadline_filter.h +8 -2
  88. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +20 -3
  89. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +9 -4
  90. data/src/core/ext/filters/fault_injection/service_config_parser.cc +19 -11
  91. data/src/core/ext/filters/fault_injection/service_config_parser.h +19 -6
  92. data/src/core/ext/filters/http/client/http_client_filter.cc +17 -7
  93. data/src/core/ext/filters/http/client/http_client_filter.h +9 -2
  94. data/src/core/ext/filters/http/client_authority_filter.cc +11 -11
  95. data/src/core/ext/filters/http/client_authority_filter.h +6 -3
  96. data/src/core/ext/filters/http/http_filters_plugin.cc +9 -1
  97. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +64 -187
  98. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +1 -2
  99. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +42 -106
  100. data/src/core/ext/filters/http/message_compress/message_decompress_filter.h +1 -0
  101. data/src/core/ext/filters/http/server/http_server_filter.cc +17 -11
  102. data/src/core/ext/filters/http/server/http_server_filter.h +7 -2
  103. data/src/core/ext/filters/message_size/message_size_filter.cc +37 -21
  104. data/src/core/ext/filters/message_size/message_size_filter.h +13 -3
  105. data/src/core/ext/filters/rbac/rbac_filter.cc +14 -3
  106. data/src/core/ext/filters/rbac/rbac_filter.h +8 -0
  107. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +25 -10
  108. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +15 -5
  109. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +1 -0
  110. data/src/core/ext/filters/server_config_selector/server_config_selector.h +14 -0
  111. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +23 -5
  112. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +1 -0
  113. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +39 -66
  114. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +77 -104
  115. data/src/core/ext/transport/chttp2/server/chttp2_server.h +4 -6
  116. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +320 -635
  117. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +4 -3
  118. data/src/core/ext/transport/chttp2/transport/flow_control.cc +207 -262
  119. data/src/core/ext/transport/chttp2/transport/flow_control.h +177 -289
  120. data/src/core/ext/transport/chttp2/transport/frame_data.cc +57 -215
  121. data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -36
  122. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +0 -41
  123. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +7 -12
  124. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +7 -1
  125. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +25 -8
  126. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -0
  127. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
  128. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +8 -2
  129. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +9 -16
  130. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +0 -2
  131. data/src/core/ext/transport/chttp2/transport/internal.h +11 -112
  132. data/src/core/ext/transport/chttp2/transport/parsing.cc +51 -38
  133. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +0 -4
  134. data/src/core/ext/transport/chttp2/transport/writing.cc +18 -21
  135. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -1
  136. data/src/core/ext/transport/inproc/inproc_transport.cc +124 -154
  137. data/src/core/ext/transport/inproc/inproc_transport.h +3 -1
  138. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +5 -5
  139. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +30 -10
  140. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +4 -4
  141. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +24 -8
  142. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +8 -327
  143. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +83 -1723
  144. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +352 -0
  145. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1768 -0
  146. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +2 -2
  147. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +12 -4
  148. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +6 -4
  149. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +33 -4
  150. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +1 -1
  151. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +6 -2
  152. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +1 -1
  153. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +6 -2
  154. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +6 -2
  155. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +12 -4
  156. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +1 -1
  157. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +6 -2
  158. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
  159. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -3
  160. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +14 -14
  161. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +90 -30
  162. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +21 -19
  163. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +124 -34
  164. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +3 -3
  165. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +18 -6
  166. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +23 -22
  167. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +153 -48
  168. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +1 -1
  169. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +6 -2
  170. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +1 -1
  171. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +6 -2
  172. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +11 -11
  173. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +84 -28
  174. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +7 -7
  175. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +42 -14
  176. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +1 -1
  177. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +6 -2
  178. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -23
  179. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +156 -48
  180. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +7 -7
  181. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +42 -14
  182. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
  183. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +6 -2
  184. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +1 -1
  185. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +6 -2
  186. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +2 -2
  187. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +12 -4
  188. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +12 -12
  189. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +78 -26
  190. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +9 -9
  191. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +54 -18
  192. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +1 -1
  193. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +6 -2
  194. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +21 -20
  195. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +117 -44
  196. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
  197. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +6 -2
  198. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +2 -2
  199. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +12 -4
  200. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +6 -2
  201. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
  202. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +6 -2
  203. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +1 -1
  204. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +6 -2
  205. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +3 -3
  206. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +18 -6
  207. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +5 -5
  208. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +36 -12
  209. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +3 -3
  210. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +30 -10
  211. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +1 -1
  212. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +6 -2
  213. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +37 -13
  214. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +170 -15
  215. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +5 -5
  216. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +42 -14
  217. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +1 -1
  218. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +6 -2
  219. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +7 -4
  220. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +36 -4
  221. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +1 -1
  222. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +6 -2
  223. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +6 -6
  224. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +48 -16
  225. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +8 -8
  226. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +54 -18
  227. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +21 -9
  228. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +100 -14
  229. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -22
  230. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +36 -77
  231. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +121 -76
  232. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +647 -163
  233. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +3 -3
  234. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +18 -6
  235. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +34 -15
  236. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +161 -22
  237. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +1 -1
  238. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -2
  239. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +1 -1
  240. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +6 -2
  241. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +2 -2
  242. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +12 -4
  243. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +1 -1
  244. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +6 -2
  245. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +1 -1
  246. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +6 -2
  247. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +46 -0
  248. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +98 -0
  249. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +1 -1
  250. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +6 -2
  251. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +2 -2
  252. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +12 -4
  253. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -0
  254. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -0
  255. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +2 -2
  256. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +12 -4
  257. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +1 -1
  258. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +6 -2
  259. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +1 -1
  260. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +6 -2
  261. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +2 -2
  262. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +30 -10
  263. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +2 -2
  264. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +18 -6
  265. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +11 -4
  266. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +58 -4
  267. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +1 -1
  268. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +6 -2
  269. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +35 -27
  270. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +177 -52
  271. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +52 -0
  272. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +168 -0
  273. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +46 -0
  274. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +98 -0
  275. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +10 -8
  276. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +66 -14
  277. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +3 -3
  278. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +18 -6
  279. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +5 -5
  280. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +42 -14
  281. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +2 -2
  282. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +12 -4
  283. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  284. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +6 -2
  285. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +131 -16
  286. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +632 -12
  287. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +2 -2
  288. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +12 -4
  289. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +5 -5
  290. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +30 -10
  291. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +1 -1
  292. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +6 -2
  293. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +4 -4
  294. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +24 -8
  295. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +4 -4
  296. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +24 -8
  297. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +2 -2
  298. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +12 -4
  299. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +1 -1
  300. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +6 -2
  301. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
  302. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +6 -2
  303. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
  304. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +6 -2
  305. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +3 -3
  306. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +18 -6
  307. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +1 -1
  308. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +12 -4
  309. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +2 -2
  310. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +12 -4
  311. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
  312. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +18 -6
  313. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
  314. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +42 -14
  315. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +5 -5
  316. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +30 -10
  317. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +3 -3
  318. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +18 -6
  319. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +1 -1
  320. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +6 -2
  321. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +12 -4
  322. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +2 -2
  323. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -6
  324. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
  325. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
  326. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
  327. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +6 -2
  328. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +6 -2
  329. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
  330. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +11 -11
  331. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +66 -22
  332. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +9 -9
  333. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +72 -24
  334. data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
  335. data/src/core/ext/upb-generated/google/api/http.upb.h +18 -6
  336. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +1 -1
  337. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +6 -2
  338. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
  339. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -2
  340. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +44 -43
  341. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +177 -55
  342. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
  343. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +6 -2
  344. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  345. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +6 -2
  346. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +2 -2
  347. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +18 -6
  348. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
  349. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +6 -2
  350. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +6 -6
  351. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +54 -18
  352. data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
  353. data/src/core/ext/upb-generated/google/rpc/status.upb.h +6 -2
  354. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +2 -2
  355. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +24 -8
  356. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +6 -2
  357. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +7 -7
  358. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +60 -20
  359. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +1 -1
  360. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +12 -4
  361. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
  362. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +12 -4
  363. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +6 -6
  364. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +54 -18
  365. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +2 -2
  366. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +12 -4
  367. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +7 -7
  368. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +42 -14
  369. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
  370. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +23 -11
  371. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
  372. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -3
  373. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -3
  374. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
  375. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -3
  376. data/src/core/ext/upb-generated/validate/validate.upb.c +22 -22
  377. data/src/core/ext/upb-generated/validate/validate.upb.h +139 -47
  378. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +3 -3
  379. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +23 -11
  380. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +1 -1
  381. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +7 -3
  382. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +3 -3
  383. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +27 -11
  384. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +1 -1
  385. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +7 -3
  386. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
  387. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +6 -2
  388. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +2 -2
  389. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +12 -4
  390. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
  391. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +6 -2
  392. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +1 -1
  393. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +6 -2
  394. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
  395. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +6 -2
  396. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
  397. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +12 -4
  398. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
  399. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +6 -2
  400. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +6 -2
  401. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +1 -1
  402. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +6 -2
  403. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +6 -6
  404. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +54 -18
  405. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +2 -2
  406. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +12 -4
  407. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +1 -1
  408. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +12 -4
  409. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +1 -1
  410. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +6 -2
  411. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +67 -274
  412. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -85
  413. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +256 -0
  414. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +115 -0
  415. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +14 -11
  416. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +107 -107
  417. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +191 -187
  418. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +156 -154
  419. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +186 -183
  420. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +136 -134
  421. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +16 -16
  422. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +162 -139
  423. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  424. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +39 -31
  425. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +12 -8
  426. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
  427. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +72 -75
  428. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -5
  429. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +713 -670
  430. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
  431. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +150 -139
  432. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +5 -0
  433. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +47 -0
  434. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  435. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +16 -12
  436. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +46 -25
  437. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +477 -466
  438. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +21 -18
  439. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +153 -84
  440. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +35 -0
  441. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -113
  442. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -28
  443. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  444. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  445. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +92 -90
  446. data/src/core/ext/xds/certificate_provider_factory.h +6 -1
  447. data/src/core/ext/xds/certificate_provider_registry.cc +8 -8
  448. data/src/core/ext/xds/certificate_provider_registry.h +3 -1
  449. data/src/core/ext/xds/certificate_provider_store.cc +2 -0
  450. data/src/core/ext/xds/certificate_provider_store.h +9 -0
  451. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +9 -0
  452. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +8 -0
  453. data/src/core/ext/xds/upb_utils.h +0 -22
  454. data/src/core/ext/xds/xds_api.cc +68 -103
  455. data/src/core/ext/xds/xds_api.h +30 -32
  456. data/src/core/ext/xds/xds_bootstrap.cc +69 -69
  457. data/src/core/ext/xds/xds_bootstrap.h +37 -19
  458. data/src/core/ext/xds/xds_certificate_provider.cc +12 -3
  459. data/src/core/ext/xds/xds_certificate_provider.h +25 -1
  460. data/src/core/ext/xds/xds_channel_stack_modifier.cc +15 -4
  461. data/src/core/ext/xds/xds_channel_stack_modifier.h +13 -1
  462. data/src/core/ext/xds/xds_client.cc +583 -1193
  463. data/src/core/ext/xds/xds_client.h +28 -42
  464. data/src/core/ext/xds/xds_client_grpc.cc +291 -0
  465. data/src/core/ext/xds/xds_client_grpc.h +102 -0
  466. data/src/core/ext/xds/xds_client_stats.cc +3 -4
  467. data/src/core/ext/xds/xds_client_stats.h +4 -3
  468. data/src/core/ext/xds/xds_cluster.cc +107 -107
  469. data/src/core/ext/xds/xds_cluster.h +14 -5
  470. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +23 -18
  471. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -8
  472. data/src/core/ext/xds/xds_common_types.cc +161 -123
  473. data/src/core/ext/xds/xds_common_types.h +16 -9
  474. data/src/core/ext/xds/xds_endpoint.cc +95 -85
  475. data/src/core/ext/xds/xds_endpoint.h +16 -8
  476. data/src/core/ext/xds/xds_http_fault_filter.cc +11 -16
  477. data/src/core/ext/xds/xds_http_fault_filter.h +5 -3
  478. data/src/core/ext/xds/xds_http_filters.cc +7 -0
  479. data/src/core/ext/xds/xds_http_filters.h +5 -5
  480. data/src/core/ext/xds/xds_http_rbac_filter.cc +52 -55
  481. data/src/core/ext/xds/xds_http_rbac_filter.h +8 -1
  482. data/src/core/ext/xds/xds_lb_policy_registry.cc +288 -0
  483. data/src/core/ext/xds/xds_lb_policy_registry.h +72 -0
  484. data/src/core/ext/xds/xds_listener.cc +355 -307
  485. data/src/core/ext/xds/xds_listener.h +13 -4
  486. data/src/core/ext/xds/xds_resource_type.h +16 -5
  487. data/src/core/ext/xds/xds_resource_type_impl.h +7 -3
  488. data/src/core/ext/xds/xds_route_config.cc +215 -184
  489. data/src/core/ext/xds/xds_route_config.h +39 -16
  490. data/src/core/ext/xds/xds_routing.cc +19 -6
  491. data/src/core/ext/xds/xds_routing.h +12 -9
  492. data/src/core/ext/xds/xds_server_config_fetcher.cc +124 -81
  493. data/src/core/ext/xds/xds_transport.h +86 -0
  494. data/src/core/ext/xds/xds_transport_grpc.cc +349 -0
  495. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  496. data/src/core/lib/address_utils/parse_address.cc +24 -25
  497. data/src/core/lib/address_utils/parse_address.h +11 -7
  498. data/src/core/lib/address_utils/sockaddr_utils.cc +8 -7
  499. data/src/core/lib/address_utils/sockaddr_utils.h +2 -0
  500. data/src/core/lib/avl/avl.h +47 -25
  501. data/src/core/lib/backoff/backoff.cc +1 -1
  502. data/src/core/lib/backoff/backoff.h +1 -1
  503. data/src/core/lib/channel/call_tracer.h +4 -4
  504. data/src/core/lib/channel/channel_args.cc +88 -19
  505. data/src/core/lib/channel/channel_args.h +114 -62
  506. data/src/core/lib/channel/channel_args_preconditioning.cc +1 -0
  507. data/src/core/lib/channel/channel_fwd.h +26 -0
  508. data/src/core/lib/channel/channel_stack.cc +4 -5
  509. data/src/core/lib/channel/channel_stack.h +1 -11
  510. data/src/core/lib/channel/channel_stack_builder.cc +3 -3
  511. data/src/core/lib/channel/channel_stack_builder.h +4 -7
  512. data/src/core/lib/channel/channel_stack_builder_impl.cc +3 -5
  513. data/src/core/lib/channel/channel_stack_builder_impl.h +1 -0
  514. data/src/core/lib/channel/channelz.cc +28 -37
  515. data/src/core/lib/channel/channelz.h +11 -3
  516. data/src/core/lib/channel/channelz_registry.cc +4 -5
  517. data/src/core/lib/channel/connected_channel.cc +1 -0
  518. data/src/core/lib/channel/connected_channel.h +1 -0
  519. data/src/core/lib/channel/promise_based_filter.cc +11 -5
  520. data/src/core/lib/channel/promise_based_filter.h +2 -1
  521. data/src/core/lib/compression/compression.cc +6 -1
  522. data/src/core/lib/compression/compression_internal.cc +3 -6
  523. data/src/core/lib/compression/compression_internal.h +3 -2
  524. data/src/core/lib/compression/message_compress.cc +3 -1
  525. data/src/core/lib/compression/message_compress.h +2 -3
  526. data/src/core/lib/config/core_configuration.h +48 -35
  527. data/src/core/lib/debug/stats.cc +15 -18
  528. data/src/core/lib/debug/stats.h +13 -4
  529. data/src/core/lib/debug/stats_data.cc +2 -1
  530. data/src/core/lib/debug/stats_data.h +0 -4
  531. data/src/core/lib/debug/trace.h +13 -12
  532. data/src/core/lib/event_engine/default_event_engine.cc +71 -0
  533. data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine.h} +6 -10
  534. data/src/core/lib/event_engine/default_event_engine_factory.cc +20 -3
  535. data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
  536. data/src/core/lib/event_engine/executor/executor.h +38 -0
  537. data/src/core/lib/event_engine/executor/threaded_executor.cc +36 -0
  538. data/src/core/lib/event_engine/executor/threaded_executor.h +44 -0
  539. data/src/core/lib/event_engine/forkable.cc +98 -0
  540. data/src/core/lib/event_engine/forkable.h +61 -0
  541. data/src/core/lib/event_engine/poller.h +54 -0
  542. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +142 -0
  543. data/src/core/lib/event_engine/{iomgr_engine.h → posix_engine/posix_engine.h} +35 -32
  544. data/src/core/lib/event_engine/posix_engine/timer.cc +311 -0
  545. data/src/core/lib/event_engine/posix_engine/timer.h +193 -0
  546. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +107 -0
  547. data/src/core/lib/event_engine/posix_engine/timer_heap.h +56 -0
  548. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +290 -0
  549. data/src/core/lib/event_engine/posix_engine/timer_manager.h +120 -0
  550. data/src/core/lib/event_engine/promise.h +78 -0
  551. data/src/core/lib/event_engine/socket_notifier.h +55 -0
  552. data/src/core/lib/event_engine/thread_pool.cc +158 -0
  553. data/src/core/lib/event_engine/thread_pool.h +81 -0
  554. data/src/core/lib/event_engine/utils.cc +49 -0
  555. data/src/core/lib/event_engine/utils.h +40 -0
  556. data/src/core/lib/event_engine/windows/iocp.cc +149 -0
  557. data/src/core/lib/event_engine/windows/iocp.h +68 -0
  558. data/src/core/lib/event_engine/windows/win_socket.cc +196 -0
  559. data/src/core/lib/event_engine/windows/win_socket.h +120 -0
  560. data/src/core/lib/event_engine/windows/windows_engine.cc +159 -0
  561. data/src/core/lib/event_engine/windows/windows_engine.h +120 -0
  562. data/src/core/lib/gpr/time.cc +11 -9
  563. data/src/core/lib/gpr/time_posix.cc +6 -9
  564. data/src/core/lib/gpr/time_windows.cc +10 -7
  565. data/src/core/lib/gpr/useful.h +29 -0
  566. data/src/core/lib/gprpp/bitset.h +3 -13
  567. data/src/core/lib/gprpp/debug_location.h +39 -7
  568. data/src/core/lib/gprpp/manual_constructor.h +0 -68
  569. data/src/core/lib/gprpp/no_destruct.h +94 -0
  570. data/src/core/lib/gprpp/ref_counted_ptr.h +0 -1
  571. data/src/core/lib/gprpp/status_helper.cc +45 -30
  572. data/src/core/lib/gprpp/table.h +0 -1
  573. data/src/core/lib/gprpp/time.cc +8 -0
  574. data/src/core/lib/gprpp/time.h +4 -0
  575. data/src/core/lib/gprpp/time_averaged_stats.cc +60 -0
  576. data/src/core/lib/{iomgr → gprpp}/time_averaged_stats.h +29 -22
  577. data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
  578. data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -28
  579. data/src/core/lib/http/format_request.cc +5 -4
  580. data/src/core/lib/http/format_request.h +1 -1
  581. data/src/core/lib/http/httpcli.cc +29 -35
  582. data/src/core/lib/http/httpcli.h +19 -3
  583. data/src/core/lib/http/httpcli_security_connector.cc +26 -14
  584. data/src/core/lib/http/httpcli_ssl_credentials.h +3 -1
  585. data/src/core/lib/http/parser.cc +6 -7
  586. data/src/core/lib/http/parser.h +3 -0
  587. data/src/core/lib/iomgr/call_combiner.cc +2 -28
  588. data/src/core/lib/iomgr/closure.h +0 -9
  589. data/src/core/lib/iomgr/combiner.cc +0 -20
  590. data/src/core/lib/iomgr/endpoint.h +1 -1
  591. data/src/core/lib/iomgr/endpoint_cfstream.cc +2 -2
  592. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -1
  593. data/src/core/lib/iomgr/error.cc +6 -777
  594. data/src/core/lib/iomgr/error.h +6 -147
  595. data/src/core/lib/iomgr/error_cfstream.cc +0 -5
  596. data/src/core/lib/iomgr/ev_epoll1_linux.cc +57 -18
  597. data/src/core/lib/iomgr/ev_epoll1_linux.h +1 -1
  598. data/src/core/lib/iomgr/ev_poll_posix.cc +94 -61
  599. data/src/core/lib/iomgr/ev_poll_posix.h +2 -2
  600. data/src/core/lib/iomgr/ev_posix.cc +54 -92
  601. data/src/core/lib/iomgr/ev_posix.h +5 -3
  602. data/src/core/lib/iomgr/exec_ctx.cc +0 -12
  603. data/src/core/lib/iomgr/executor.cc +0 -10
  604. data/src/core/lib/iomgr/executor.h +0 -3
  605. data/src/core/lib/iomgr/fork_posix.cc +1 -1
  606. data/src/core/lib/iomgr/iomgr.cc +7 -0
  607. data/src/core/lib/iomgr/iomgr_posix.cc +1 -0
  608. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +1 -0
  609. data/src/core/lib/iomgr/load_file.cc +1 -1
  610. data/src/core/lib/iomgr/lockfree_event.cc +0 -17
  611. data/src/core/lib/iomgr/port.h +3 -0
  612. data/src/core/lib/iomgr/resolve_address.h +29 -6
  613. data/src/core/lib/iomgr/resolve_address_posix.cc +39 -9
  614. data/src/core/lib/iomgr/resolve_address_posix.h +19 -5
  615. data/src/core/lib/iomgr/resolve_address_windows.cc +41 -11
  616. data/src/core/lib/iomgr/resolve_address_windows.h +19 -5
  617. data/src/core/lib/iomgr/socket_windows.h +0 -2
  618. data/src/core/lib/iomgr/tcp_client.cc +12 -7
  619. data/src/core/lib/iomgr/tcp_client.h +24 -13
  620. data/src/core/lib/iomgr/tcp_client_cfstream.cc +15 -9
  621. data/src/core/lib/iomgr/tcp_client_posix.cc +143 -25
  622. data/src/core/lib/iomgr/tcp_client_posix.h +1 -1
  623. data/src/core/lib/iomgr/tcp_client_windows.cc +14 -10
  624. data/src/core/lib/iomgr/tcp_posix.cc +207 -33
  625. data/src/core/lib/iomgr/tcp_server_posix.cc +7 -7
  626. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +12 -12
  627. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
  628. data/src/core/lib/iomgr/tcp_server_windows.cc +7 -7
  629. data/src/core/lib/iomgr/tcp_windows.cc +5 -5
  630. data/src/core/lib/iomgr/timer_generic.cc +6 -8
  631. data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -2
  632. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -2
  633. data/src/core/lib/iomgr/wakeup_fd_posix.cc +15 -12
  634. data/src/core/lib/iomgr/wakeup_fd_posix.h +0 -2
  635. data/src/core/lib/json/json.h +19 -22
  636. data/src/core/lib/json/json_args.h +34 -0
  637. data/src/core/lib/json/json_object_loader.cc +233 -0
  638. data/src/core/lib/json/json_object_loader.h +618 -0
  639. data/src/core/lib/json/json_reader.cc +86 -62
  640. data/src/core/lib/json/json_util.cc +8 -36
  641. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.cc +3 -44
  642. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +15 -31
  643. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  644. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy_registry.cc +48 -73
  645. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy_registry.h +27 -27
  646. data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +16 -24
  647. data/src/core/lib/matchers/matchers.cc +6 -3
  648. data/src/core/lib/matchers/matchers.h +2 -0
  649. data/src/core/lib/promise/activity.cc +0 -1
  650. data/src/core/lib/promise/activity.h +56 -14
  651. data/src/core/lib/promise/arena_promise.h +84 -81
  652. data/src/core/lib/promise/context.h +0 -1
  653. data/src/core/lib/promise/detail/basic_seq.h +43 -23
  654. data/src/core/lib/promise/detail/promise_factory.h +0 -1
  655. data/src/core/lib/promise/loop.h +1 -0
  656. data/src/core/lib/promise/map.h +0 -1
  657. data/src/core/lib/promise/promise.h +1 -0
  658. data/src/core/lib/promise/seq.h +25 -4
  659. data/src/core/lib/promise/sleep.cc +43 -42
  660. data/src/core/lib/promise/sleep.h +31 -28
  661. data/src/core/lib/promise/try_seq.h +26 -6
  662. data/src/core/lib/resolver/resolver.cc +0 -42
  663. data/src/core/lib/resolver/resolver.h +5 -12
  664. data/src/core/lib/resolver/resolver_factory.h +6 -4
  665. data/src/core/lib/resolver/resolver_registry.cc +3 -10
  666. data/src/core/lib/resolver/resolver_registry.h +12 -2
  667. data/src/core/lib/resolver/server_address.cc +19 -15
  668. data/src/core/lib/resolver/server_address.h +11 -8
  669. data/src/core/lib/resource_quota/api.cc +1 -1
  670. data/src/core/lib/resource_quota/arena.cc +21 -1
  671. data/src/core/lib/resource_quota/arena.h +24 -2
  672. data/src/core/lib/resource_quota/memory_quota.cc +171 -73
  673. data/src/core/lib/resource_quota/memory_quota.h +109 -42
  674. data/src/core/lib/resource_quota/periodic_update.cc +79 -0
  675. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  676. data/src/core/lib/security/authorization/authorization_policy_provider.h +7 -0
  677. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +4 -0
  678. data/src/core/lib/security/authorization/evaluate_args.cc +17 -8
  679. data/src/core/lib/security/authorization/evaluate_args.h +6 -3
  680. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +6 -0
  681. data/src/core/lib/security/authorization/grpc_authorization_engine.h +7 -0
  682. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +12 -1
  683. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +13 -2
  684. data/src/core/lib/security/authorization/matchers.cc +20 -9
  685. data/src/core/lib/security/authorization/matchers.h +7 -0
  686. data/src/core/lib/security/authorization/rbac_policy.cc +4 -0
  687. data/src/core/lib/security/authorization/rbac_policy.h +7 -0
  688. data/src/core/lib/security/context/security_context.cc +5 -2
  689. data/src/core/lib/security/context/security_context.h +14 -2
  690. data/src/core/lib/security/credentials/alts/alts_credentials.cc +6 -5
  691. data/src/core/lib/security/credentials/alts/alts_credentials.h +8 -4
  692. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +1 -3
  693. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +1 -4
  694. data/src/core/lib/security/credentials/call_creds_util.cc +8 -0
  695. data/src/core/lib/security/credentials/call_creds_util.h +1 -0
  696. data/src/core/lib/security/credentials/channel_creds_registry.h +6 -1
  697. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +10 -0
  698. data/src/core/lib/security/credentials/composite/composite_credentials.cc +5 -9
  699. data/src/core/lib/security/credentials/composite/composite_credentials.h +17 -5
  700. data/src/core/lib/security/credentials/credentials.cc +4 -8
  701. data/src/core/lib/security/credentials/credentials.h +26 -20
  702. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +45 -20
  703. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +10 -0
  704. data/src/core/lib/security/credentials/external/aws_request_signer.cc +9 -0
  705. data/src/core/lib/security/credentials/external/external_account_credentials.cc +53 -29
  706. data/src/core/lib/security/credentials/external/external_account_credentials.h +11 -0
  707. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +15 -8
  708. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +6 -0
  709. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +23 -9
  710. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +10 -0
  711. data/src/core/lib/security/credentials/fake/fake_credentials.cc +10 -17
  712. data/src/core/lib/security/credentials/fake/fake_credentials.h +13 -5
  713. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -0
  714. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +55 -35
  715. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +10 -3
  716. data/src/core/lib/security/credentials/iam/iam_credentials.cc +8 -3
  717. data/src/core/lib/security/credentials/iam/iam_credentials.h +10 -0
  718. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +7 -3
  719. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +7 -3
  720. data/src/core/lib/security/credentials/jwt/json_token.cc +17 -5
  721. data/src/core/lib/security/credentials/jwt/json_token.h +2 -2
  722. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +12 -10
  723. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +14 -0
  724. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +37 -14
  725. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +4 -2
  726. data/src/core/lib/security/credentials/local/local_credentials.cc +7 -7
  727. data/src/core/lib/security/credentials/local/local_credentials.h +9 -3
  728. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +41 -29
  729. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +20 -0
  730. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +7 -7
  731. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +24 -0
  732. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +18 -21
  733. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +15 -3
  734. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +6 -6
  735. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -3
  736. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +29 -10
  737. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +15 -4
  738. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +9 -2
  739. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +6 -7
  740. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -5
  741. data/src/core/lib/security/credentials/tls/tls_credentials.cc +19 -26
  742. data/src/core/lib/security/credentials/tls/tls_credentials.h +7 -4
  743. data/src/core/lib/security/credentials/tls/tls_utils.cc +2 -0
  744. data/src/core/lib/security/credentials/tls/tls_utils.h +1 -1
  745. data/src/core/lib/security/credentials/xds/xds_credentials.cc +21 -31
  746. data/src/core/lib/security/credentials/xds/xds_credentials.h +16 -2
  747. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +30 -18
  748. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +6 -3
  749. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +42 -38
  750. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +3 -3
  751. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +13 -4
  752. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +21 -5
  753. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +5 -3
  754. data/src/core/lib/security/security_connector/{load_system_roots_linux.cc → load_system_roots_supported.cc} +27 -19
  755. data/src/core/lib/security/security_connector/{load_system_roots_linux.h → load_system_roots_supported.h} +5 -5
  756. data/src/core/lib/security/security_connector/local/local_security_connector.cc +34 -13
  757. data/src/core/lib/security/security_connector/local/local_security_connector.h +7 -3
  758. data/src/core/lib/security/security_connector/security_connector.cc +20 -18
  759. data/src/core/lib/security/security_connector/security_connector.h +23 -9
  760. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +21 -8
  761. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +4 -2
  762. data/src/core/lib/security/security_connector/ssl_utils.cc +12 -2
  763. data/src/core/lib/security/security_connector/ssl_utils.h +10 -7
  764. data/src/core/lib/security/security_connector/ssl_utils_config.h +1 -1
  765. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +25 -17
  766. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +27 -7
  767. data/src/core/lib/security/transport/auth_filters.h +8 -1
  768. data/src/core/lib/security/transport/client_auth_filter.cc +19 -11
  769. data/src/core/lib/security/transport/secure_endpoint.cc +63 -13
  770. data/src/core/lib/security/transport/secure_endpoint.h +4 -3
  771. data/src/core/lib/security/transport/security_handshaker.cc +70 -49
  772. data/src/core/lib/security/transport/security_handshaker.h +6 -1
  773. data/src/core/lib/security/transport/server_auth_filter.cc +26 -4
  774. data/src/core/lib/security/util/json_util.cc +3 -2
  775. data/src/core/lib/security/util/json_util.h +0 -2
  776. data/src/core/lib/service_config/service_config.h +11 -0
  777. data/src/core/lib/service_config/service_config_call_data.h +2 -1
  778. data/src/core/lib/service_config/service_config_impl.cc +98 -97
  779. data/src/core/lib/service_config/service_config_impl.h +12 -16
  780. data/src/core/lib/service_config/service_config_parser.cc +26 -29
  781. data/src/core/lib/service_config/service_config_parser.h +10 -22
  782. data/src/core/lib/slice/percent_encoding.cc +4 -13
  783. data/src/core/lib/slice/slice.cc +10 -4
  784. data/src/core/lib/slice/slice_buffer.cc +30 -1
  785. data/src/core/lib/slice/slice_buffer.h +37 -6
  786. data/src/core/lib/slice/slice_string_helpers.cc +0 -20
  787. data/src/core/lib/slice/slice_string_helpers.h +0 -4
  788. data/src/core/lib/surface/call.cc +61 -117
  789. data/src/core/lib/surface/call.h +5 -1
  790. data/src/core/lib/surface/channel.cc +6 -6
  791. data/src/core/lib/surface/channel.h +3 -1
  792. data/src/core/lib/surface/channel_ping.cc +1 -1
  793. data/src/core/lib/surface/completion_queue.cc +15 -16
  794. data/src/core/lib/surface/completion_queue.h +2 -4
  795. data/src/core/lib/surface/init.cc +2 -7
  796. data/src/core/lib/surface/lame_client.cc +3 -4
  797. data/src/core/lib/surface/lame_client.h +2 -2
  798. data/src/core/lib/surface/server.cc +21 -20
  799. data/src/core/lib/surface/server.h +11 -8
  800. data/src/core/lib/surface/validate_metadata.cc +5 -15
  801. data/src/core/lib/surface/version.cc +2 -2
  802. data/src/core/lib/transport/connectivity_state.cc +0 -1
  803. data/src/core/lib/transport/connectivity_state.h +1 -1
  804. data/src/core/lib/transport/error_utils.cc +9 -39
  805. data/src/core/lib/transport/handshaker.cc +10 -12
  806. data/src/core/lib/transport/handshaker.h +4 -5
  807. data/src/core/lib/transport/handshaker_factory.h +2 -3
  808. data/src/core/lib/transport/handshaker_registry.cc +2 -1
  809. data/src/core/lib/transport/handshaker_registry.h +2 -4
  810. data/src/core/lib/transport/http_connect_handshaker.cc +20 -20
  811. data/src/core/lib/transport/metadata_batch.cc +5 -0
  812. data/src/core/lib/transport/metadata_batch.h +52 -7
  813. data/src/core/lib/transport/parsed_metadata.h +0 -1
  814. data/src/core/lib/transport/tcp_connect_handshaker.cc +14 -20
  815. data/src/core/lib/transport/transport.cc +0 -3
  816. data/src/core/lib/transport/transport.h +20 -21
  817. data/src/core/lib/transport/transport_fwd.h +20 -0
  818. data/src/core/lib/transport/transport_impl.h +1 -0
  819. data/src/core/lib/transport/transport_op_string.cc +9 -9
  820. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +40 -21
  821. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -1
  822. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +15 -8
  823. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +1 -1
  824. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +9 -1
  825. data/src/core/tsi/fake_transport_security.cc +66 -31
  826. data/src/core/tsi/fake_transport_security.h +6 -0
  827. data/src/core/tsi/local_transport_security.cc +9 -5
  828. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +10 -1
  829. data/src/core/tsi/ssl_transport_security.cc +48 -24
  830. data/src/core/tsi/transport_security.cc +18 -6
  831. data/src/core/tsi/transport_security.h +2 -1
  832. data/src/core/tsi/transport_security_grpc.cc +3 -2
  833. data/src/core/tsi/transport_security_grpc.h +5 -2
  834. data/src/core/tsi/transport_security_interface.h +17 -5
  835. data/src/ruby/ext/grpc/ext-export-truffleruby.clang +2 -0
  836. data/src/ruby/ext/grpc/ext-export-truffleruby.gcc +7 -0
  837. data/src/ruby/ext/grpc/ext-export.clang +1 -0
  838. data/src/ruby/ext/grpc/ext-export.gcc +1 -0
  839. data/src/ruby/ext/grpc/extconf.rb +51 -18
  840. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  841. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  842. data/src/ruby/lib/grpc/2.5/grpc_c.so +0 -0
  843. data/src/ruby/lib/grpc/2.6/grpc_c.so +0 -0
  844. data/src/ruby/lib/grpc/2.7/grpc_c.so +0 -0
  845. data/src/ruby/lib/grpc/3.0/grpc_c.so +0 -0
  846. data/src/ruby/lib/grpc/3.1/grpc_c.so +0 -0
  847. data/src/ruby/lib/grpc/errors.rb +1 -1
  848. data/src/ruby/lib/grpc/grpc_c.so +0 -0
  849. data/src/ruby/lib/grpc/version.rb +1 -1
  850. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  851. data/src/ruby/spec/generic/client_stub_spec.rb +23 -23
  852. data/third_party/abseil-cpp/absl/algorithm/container.h +1 -1
  853. data/third_party/abseil-cpp/absl/base/attributes.h +49 -22
  854. data/third_party/abseil-cpp/absl/base/casts.h +61 -68
  855. data/third_party/abseil-cpp/absl/base/config.h +182 -41
  856. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +12 -42
  857. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +67 -2
  858. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +3 -3
  859. data/third_party/abseil-cpp/absl/base/internal/endian.h +17 -62
  860. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +2 -0
  861. data/third_party/abseil-cpp/absl/base/internal/invoke.h +54 -0
  862. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +138 -0
  863. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +29 -22
  864. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +13 -12
  865. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +3 -0
  866. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +8 -0
  867. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +2 -5
  868. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  869. data/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
  870. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +0 -1
  871. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +2 -1
  872. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +6 -7
  873. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +12 -3
  874. data/third_party/abseil-cpp/absl/base/log_severity.cc +28 -0
  875. data/third_party/abseil-cpp/absl/base/log_severity.h +51 -0
  876. data/third_party/abseil-cpp/absl/base/optimization.h +19 -11
  877. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  878. data/third_party/abseil-cpp/absl/base/thread_annotations.h +2 -2
  879. data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -0
  880. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +11 -4
  881. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +15 -9
  882. data/third_party/abseil-cpp/absl/container/inlined_vector.h +20 -9
  883. data/third_party/abseil-cpp/absl/container/internal/common.h +6 -5
  884. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +10 -28
  885. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +68 -20
  886. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +29 -11
  887. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +59 -38
  888. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +4 -0
  889. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +515 -184
  890. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +45 -88
  891. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +4 -0
  892. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +3 -2
  893. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +8 -3
  894. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +8 -3
  895. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +2 -1
  896. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +8 -3
  897. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +20 -18
  898. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +8 -3
  899. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +15 -2
  900. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +6 -1
  901. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +46 -7
  902. data/third_party/abseil-cpp/absl/functional/any_invocable.h +313 -0
  903. data/third_party/abseil-cpp/absl/functional/bind_front.h +10 -1
  904. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -1
  905. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +857 -0
  906. data/third_party/abseil-cpp/absl/hash/hash.h +82 -8
  907. data/third_party/abseil-cpp/absl/hash/internal/hash.h +218 -23
  908. data/third_party/abseil-cpp/absl/numeric/bits.h +2 -1
  909. data/third_party/abseil-cpp/absl/numeric/int128.cc +4 -2
  910. data/third_party/abseil-cpp/absl/numeric/int128.h +2 -2
  911. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +21 -6
  912. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +4 -4
  913. data/third_party/abseil-cpp/absl/random/distributions.h +3 -3
  914. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +3 -0
  915. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +2 -1
  916. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +2 -2
  917. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +59 -48
  918. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +1 -1
  919. data/third_party/abseil-cpp/absl/random/internal/randen.h +5 -11
  920. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +6 -2
  921. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +48 -23
  922. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +24 -26
  923. data/third_party/abseil-cpp/absl/random/internal/traits.h +53 -5
  924. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +5 -5
  925. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +33 -48
  926. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +9 -10
  927. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +7 -4
  928. data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -0
  929. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -2
  930. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
  931. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +4 -3
  932. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +17 -0
  933. data/third_party/abseil-cpp/absl/status/status.cc +174 -2
  934. data/third_party/abseil-cpp/absl/status/status.h +22 -12
  935. data/third_party/abseil-cpp/absl/status/statusor.h +9 -3
  936. data/third_party/abseil-cpp/absl/strings/ascii.h +4 -4
  937. data/third_party/abseil-cpp/absl/strings/cord.cc +194 -913
  938. data/third_party/abseil-cpp/absl/strings/cord.h +202 -81
  939. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
  940. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +44 -0
  941. data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
  942. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +572 -0
  943. data/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  944. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +20 -32
  945. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +123 -88
  946. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +149 -49
  947. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +44 -59
  948. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +3 -1
  949. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +4 -2
  950. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +3 -2
  951. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +5 -4
  952. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +7 -74
  953. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +54 -0
  954. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +102 -0
  955. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +58 -17
  956. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +13 -11
  957. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +11 -38
  958. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +1 -0
  959. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +4 -2
  960. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +6 -5
  961. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +1 -1
  962. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +1 -1
  963. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -1
  964. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +38 -7
  965. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +7 -2
  966. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +4 -5
  967. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +5 -2
  968. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +2 -1
  969. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  970. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +9 -6
  971. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +10 -2
  972. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +9 -9
  973. data/third_party/abseil-cpp/absl/strings/numbers.cc +8 -8
  974. data/third_party/abseil-cpp/absl/strings/numbers.h +26 -23
  975. data/third_party/abseil-cpp/absl/strings/str_cat.h +20 -13
  976. data/third_party/abseil-cpp/absl/strings/str_join.h +9 -15
  977. data/third_party/abseil-cpp/absl/strings/str_split.h +1 -2
  978. data/third_party/abseil-cpp/absl/strings/string_view.cc +2 -13
  979. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -2
  980. data/third_party/abseil-cpp/absl/strings/strip.h +8 -6
  981. data/third_party/abseil-cpp/absl/strings/substitute.h +10 -2
  982. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +9 -6
  983. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -4
  984. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -4
  985. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +1 -6
  986. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -25
  987. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +10 -4
  988. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +75 -40
  989. data/third_party/abseil-cpp/absl/synchronization/mutex.h +17 -9
  990. data/third_party/abseil-cpp/absl/synchronization/notification.h +3 -2
  991. data/third_party/abseil-cpp/absl/time/duration.cc +5 -4
  992. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +11 -7
  993. data/third_party/abseil-cpp/absl/time/time.h +16 -12
  994. data/third_party/abseil-cpp/absl/types/internal/optional.h +8 -0
  995. data/third_party/abseil-cpp/absl/types/internal/variant.h +3 -3
  996. data/third_party/abseil-cpp/absl/types/optional.h +17 -14
  997. data/third_party/abseil-cpp/absl/types/span.h +2 -1
  998. data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
  999. data/third_party/upb/upb/arena.c +277 -0
  1000. data/third_party/upb/upb/arena.h +225 -0
  1001. data/third_party/upb/upb/array.c +114 -0
  1002. data/third_party/upb/upb/array.h +83 -0
  1003. data/third_party/upb/upb/collections.h +36 -0
  1004. data/third_party/upb/upb/decode.c +161 -65
  1005. data/third_party/upb/upb/decode.h +1 -0
  1006. data/third_party/upb/upb/decode_fast.c +1 -1
  1007. data/third_party/upb/upb/def.c +10 -2
  1008. data/third_party/upb/upb/def.h +8 -1
  1009. data/third_party/upb/upb/def.hpp +7 -4
  1010. data/third_party/upb/upb/encode.c +29 -20
  1011. data/third_party/upb/upb/encode.h +16 -6
  1012. data/third_party/upb/upb/extension_registry.c +93 -0
  1013. data/third_party/upb/upb/extension_registry.h +84 -0
  1014. data/third_party/upb/upb/{decode_internal.h → internal/decode.h} +5 -5
  1015. data/third_party/upb/upb/internal/table.h +385 -0
  1016. data/third_party/upb/upb/{upb_internal.h → internal/upb.h} +3 -3
  1017. data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
  1018. data/third_party/upb/upb/json_decode.c +1512 -0
  1019. data/third_party/upb/upb/json_decode.h +47 -0
  1020. data/third_party/upb/upb/json_encode.c +7 -3
  1021. data/third_party/upb/upb/json_encode.h +6 -3
  1022. data/third_party/upb/upb/map.c +108 -0
  1023. data/third_party/upb/upb/map.h +117 -0
  1024. data/third_party/upb/upb/message_value.h +66 -0
  1025. data/third_party/upb/upb/mini_table.c +1147 -0
  1026. data/third_party/upb/upb/mini_table.h +189 -0
  1027. data/third_party/upb/upb/mini_table.hpp +112 -0
  1028. data/third_party/upb/upb/msg.c +2 -62
  1029. data/third_party/upb/upb/msg.h +2 -45
  1030. data/third_party/upb/upb/msg_internal.h +28 -22
  1031. data/third_party/upb/upb/port_def.inc +2 -1
  1032. data/third_party/upb/upb/port_undef.inc +1 -0
  1033. data/third_party/upb/upb/reflection.c +2 -159
  1034. data/third_party/upb/upb/reflection.h +2 -112
  1035. data/third_party/upb/upb/status.c +86 -0
  1036. data/third_party/upb/upb/status.h +66 -0
  1037. data/third_party/upb/upb/table.c +2 -2
  1038. data/third_party/upb/upb/table_internal.h +3 -352
  1039. data/third_party/upb/upb/text_encode.c +3 -2
  1040. data/third_party/upb/upb/upb.c +4 -290
  1041. data/third_party/upb/upb/upb.h +7 -196
  1042. metadata +113 -37
  1043. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -50
  1044. data/src/core/lib/event_engine/event_engine.cc +0 -62
  1045. data/src/core/lib/event_engine/iomgr_engine.cc +0 -206
  1046. data/src/core/lib/iomgr/error_internal.h +0 -66
  1047. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
  1048. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
  1049. data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
  1050. data/src/core/lib/iomgr/executor/threadpool.h +0 -150
  1051. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  1052. data/src/core/lib/promise/detail/switch.h +0 -1455
  1053. data/src/core/lib/slice/slice_split.cc +0 -103
  1054. data/src/core/lib/slice/slice_split.h +0 -36
  1055. data/src/core/lib/transport/byte_stream.cc +0 -165
  1056. data/src/core/lib/transport/byte_stream.h +0 -170
  1057. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +0 -140
  1058. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +0 -100
  1059. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +0 -50
@@ -20,18 +20,21 @@
20
20
  extern "C" {
21
21
  #endif
22
22
 
23
+ struct envoy_config_listener_v3_AdditionalAddress;
23
24
  struct envoy_config_listener_v3_ListenerCollection;
24
25
  struct envoy_config_listener_v3_Listener;
25
26
  struct envoy_config_listener_v3_Listener_DeprecatedV1;
26
27
  struct envoy_config_listener_v3_Listener_ConnectionBalanceConfig;
27
28
  struct envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance;
28
29
  struct envoy_config_listener_v3_Listener_InternalListenerConfig;
30
+ typedef struct envoy_config_listener_v3_AdditionalAddress envoy_config_listener_v3_AdditionalAddress;
29
31
  typedef struct envoy_config_listener_v3_ListenerCollection envoy_config_listener_v3_ListenerCollection;
30
32
  typedef struct envoy_config_listener_v3_Listener envoy_config_listener_v3_Listener;
31
33
  typedef struct envoy_config_listener_v3_Listener_DeprecatedV1 envoy_config_listener_v3_Listener_DeprecatedV1;
32
34
  typedef struct envoy_config_listener_v3_Listener_ConnectionBalanceConfig envoy_config_listener_v3_Listener_ConnectionBalanceConfig;
33
35
  typedef struct envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance;
34
36
  typedef struct envoy_config_listener_v3_Listener_InternalListenerConfig envoy_config_listener_v3_Listener_InternalListenerConfig;
37
+ extern const upb_MiniTable envoy_config_listener_v3_AdditionalAddress_msginit;
35
38
  extern const upb_MiniTable envoy_config_listener_v3_ListenerCollection_msginit;
36
39
  extern const upb_MiniTable envoy_config_listener_v3_Listener_msginit;
37
40
  extern const upb_MiniTable envoy_config_listener_v3_Listener_DeprecatedV1_msginit;
@@ -42,6 +45,7 @@ struct envoy_config_accesslog_v3_AccessLog;
42
45
  struct envoy_config_core_v3_Address;
43
46
  struct envoy_config_core_v3_Metadata;
44
47
  struct envoy_config_core_v3_SocketOption;
48
+ struct envoy_config_core_v3_TypedExtensionConfig;
45
49
  struct envoy_config_listener_v3_ApiListener;
46
50
  struct envoy_config_listener_v3_FilterChain;
47
51
  struct envoy_config_listener_v3_ListenerFilter;
@@ -50,10 +54,12 @@ struct google_protobuf_BoolValue;
50
54
  struct google_protobuf_Duration;
51
55
  struct google_protobuf_UInt32Value;
52
56
  struct xds_core_v3_CollectionEntry;
57
+ struct xds_type_matcher_v3_Matcher;
53
58
  extern const upb_MiniTable envoy_config_accesslog_v3_AccessLog_msginit;
54
59
  extern const upb_MiniTable envoy_config_core_v3_Address_msginit;
55
60
  extern const upb_MiniTable envoy_config_core_v3_Metadata_msginit;
56
61
  extern const upb_MiniTable envoy_config_core_v3_SocketOption_msginit;
62
+ extern const upb_MiniTable envoy_config_core_v3_TypedExtensionConfig_msginit;
57
63
  extern const upb_MiniTable envoy_config_listener_v3_ApiListener_msginit;
58
64
  extern const upb_MiniTable envoy_config_listener_v3_FilterChain_msginit;
59
65
  extern const upb_MiniTable envoy_config_listener_v3_ListenerFilter_msginit;
@@ -62,6 +68,7 @@ extern const upb_MiniTable google_protobuf_BoolValue_msginit;
62
68
  extern const upb_MiniTable google_protobuf_Duration_msginit;
63
69
  extern const upb_MiniTable google_protobuf_UInt32Value_msginit;
64
70
  extern const upb_MiniTable xds_core_v3_CollectionEntry_msginit;
71
+ extern const upb_MiniTable xds_type_matcher_v3_Matcher_msginit;
65
72
 
66
73
  typedef enum {
67
74
  envoy_config_listener_v3_Listener_DEFAULT = 0,
@@ -70,6 +77,65 @@ typedef enum {
70
77
 
71
78
 
72
79
 
80
+ /* envoy.config.listener.v3.AdditionalAddress */
81
+
82
+ UPB_INLINE envoy_config_listener_v3_AdditionalAddress* envoy_config_listener_v3_AdditionalAddress_new(upb_Arena* arena) {
83
+ return (envoy_config_listener_v3_AdditionalAddress*)_upb_Message_New(&envoy_config_listener_v3_AdditionalAddress_msginit, arena);
84
+ }
85
+ UPB_INLINE envoy_config_listener_v3_AdditionalAddress* envoy_config_listener_v3_AdditionalAddress_parse(const char* buf, size_t size, upb_Arena* arena) {
86
+ envoy_config_listener_v3_AdditionalAddress* ret = envoy_config_listener_v3_AdditionalAddress_new(arena);
87
+ if (!ret) return NULL;
88
+ if (upb_Decode(buf, size, ret, &envoy_config_listener_v3_AdditionalAddress_msginit, NULL, 0, arena) != kUpb_DecodeStatus_Ok) {
89
+ return NULL;
90
+ }
91
+ return ret;
92
+ }
93
+ UPB_INLINE envoy_config_listener_v3_AdditionalAddress* envoy_config_listener_v3_AdditionalAddress_parse_ex(const char* buf, size_t size,
94
+ const upb_ExtensionRegistry* extreg,
95
+ int options, upb_Arena* arena) {
96
+ envoy_config_listener_v3_AdditionalAddress* ret = envoy_config_listener_v3_AdditionalAddress_new(arena);
97
+ if (!ret) return NULL;
98
+ if (upb_Decode(buf, size, ret, &envoy_config_listener_v3_AdditionalAddress_msginit, extreg, options, arena) !=
99
+ kUpb_DecodeStatus_Ok) {
100
+ return NULL;
101
+ }
102
+ return ret;
103
+ }
104
+ UPB_INLINE char* envoy_config_listener_v3_AdditionalAddress_serialize(const envoy_config_listener_v3_AdditionalAddress* msg, upb_Arena* arena, size_t* len) {
105
+ char* ptr;
106
+ (void)upb_Encode(msg, &envoy_config_listener_v3_AdditionalAddress_msginit, 0, arena, &ptr, len);
107
+ return ptr;
108
+ }
109
+ UPB_INLINE char* envoy_config_listener_v3_AdditionalAddress_serialize_ex(const envoy_config_listener_v3_AdditionalAddress* msg, int options,
110
+ upb_Arena* arena, size_t* len) {
111
+ char* ptr;
112
+ (void)upb_Encode(msg, &envoy_config_listener_v3_AdditionalAddress_msginit, options, arena, &ptr, len);
113
+ return ptr;
114
+ }
115
+ UPB_INLINE bool envoy_config_listener_v3_AdditionalAddress_has_address(const envoy_config_listener_v3_AdditionalAddress* msg) {
116
+ return _upb_hasbit(msg, 1);
117
+ }
118
+ UPB_INLINE void envoy_config_listener_v3_AdditionalAddress_clear_address(const envoy_config_listener_v3_AdditionalAddress* msg) {
119
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
120
+ }
121
+ UPB_INLINE const struct envoy_config_core_v3_Address* envoy_config_listener_v3_AdditionalAddress_address(const envoy_config_listener_v3_AdditionalAddress* msg) {
122
+ return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_core_v3_Address*);
123
+ }
124
+
125
+ UPB_INLINE void envoy_config_listener_v3_AdditionalAddress_set_address(envoy_config_listener_v3_AdditionalAddress *msg, struct envoy_config_core_v3_Address* value) {
126
+ _upb_sethas(msg, 1);
127
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_core_v3_Address*) = value;
128
+ }
129
+ UPB_INLINE struct envoy_config_core_v3_Address* envoy_config_listener_v3_AdditionalAddress_mutable_address(envoy_config_listener_v3_AdditionalAddress* msg, upb_Arena* arena) {
130
+ struct envoy_config_core_v3_Address* sub = (struct envoy_config_core_v3_Address*)envoy_config_listener_v3_AdditionalAddress_address(msg);
131
+ if (sub == NULL) {
132
+ sub = (struct envoy_config_core_v3_Address*)_upb_Message_New(&envoy_config_core_v3_Address_msginit, arena);
133
+ if (!sub) return NULL;
134
+ envoy_config_listener_v3_AdditionalAddress_set_address(msg, sub);
135
+ }
136
+ return sub;
137
+ }
138
+
73
139
  /* envoy.config.listener.v3.ListenerCollection */
74
140
 
75
141
  UPB_INLINE envoy_config_listener_v3_ListenerCollection* envoy_config_listener_v3_ListenerCollection_new(upb_Arena* arena) {
@@ -95,11 +161,15 @@ UPB_INLINE envoy_config_listener_v3_ListenerCollection* envoy_config_listener_v3
95
161
  return ret;
96
162
  }
97
163
  UPB_INLINE char* envoy_config_listener_v3_ListenerCollection_serialize(const envoy_config_listener_v3_ListenerCollection* msg, upb_Arena* arena, size_t* len) {
98
- return upb_Encode(msg, &envoy_config_listener_v3_ListenerCollection_msginit, 0, arena, len);
164
+ char* ptr;
165
+ (void)upb_Encode(msg, &envoy_config_listener_v3_ListenerCollection_msginit, 0, arena, &ptr, len);
166
+ return ptr;
99
167
  }
100
168
  UPB_INLINE char* envoy_config_listener_v3_ListenerCollection_serialize_ex(const envoy_config_listener_v3_ListenerCollection* msg, int options,
101
169
  upb_Arena* arena, size_t* len) {
102
- return upb_Encode(msg, &envoy_config_listener_v3_ListenerCollection_msginit, options, arena, len);
170
+ char* ptr;
171
+ (void)upb_Encode(msg, &envoy_config_listener_v3_ListenerCollection_msginit, options, arena, &ptr, len);
172
+ return ptr;
103
173
  }
104
174
  UPB_INLINE bool envoy_config_listener_v3_ListenerCollection_has_entries(const envoy_config_listener_v3_ListenerCollection* msg) {
105
175
  return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0));
@@ -149,11 +219,15 @@ UPB_INLINE envoy_config_listener_v3_Listener* envoy_config_listener_v3_Listener_
149
219
  return ret;
150
220
  }
151
221
  UPB_INLINE char* envoy_config_listener_v3_Listener_serialize(const envoy_config_listener_v3_Listener* msg, upb_Arena* arena, size_t* len) {
152
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_msginit, 0, arena, len);
222
+ char* ptr;
223
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_msginit, 0, arena, &ptr, len);
224
+ return ptr;
153
225
  }
154
226
  UPB_INLINE char* envoy_config_listener_v3_Listener_serialize_ex(const envoy_config_listener_v3_Listener* msg, int options,
155
227
  upb_Arena* arena, size_t* len) {
156
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_msginit, options, arena, len);
228
+ char* ptr;
229
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_msginit, options, arena, &ptr, len);
230
+ return ptr;
157
231
  }
158
232
  typedef enum {
159
233
  envoy_config_listener_v3_Listener_listener_specifier_internal_listener = 27,
@@ -367,10 +441,10 @@ UPB_INLINE bool envoy_config_listener_v3_Listener_has_internal_listener(const en
367
441
  return _upb_getoneofcase(msg, UPB_SIZE(16, 16)) == 27;
368
442
  }
369
443
  UPB_INLINE void envoy_config_listener_v3_Listener_clear_internal_listener(const envoy_config_listener_v3_Listener* msg) {
370
- UPB_WRITE_ONEOF(msg, envoy_config_listener_v3_Listener_InternalListenerConfig*, UPB_SIZE(120, 216), 0, UPB_SIZE(16, 16), envoy_config_listener_v3_Listener_listener_specifier_NOT_SET);
444
+ UPB_WRITE_ONEOF(msg, envoy_config_listener_v3_Listener_InternalListenerConfig*, UPB_SIZE(128, 232), 0, UPB_SIZE(16, 16), envoy_config_listener_v3_Listener_listener_specifier_NOT_SET);
371
445
  }
372
446
  UPB_INLINE const envoy_config_listener_v3_Listener_InternalListenerConfig* envoy_config_listener_v3_Listener_internal_listener(const envoy_config_listener_v3_Listener* msg) {
373
- return UPB_READ_ONEOF(msg, const envoy_config_listener_v3_Listener_InternalListenerConfig*, UPB_SIZE(120, 216), UPB_SIZE(16, 16), 27, NULL);
447
+ return UPB_READ_ONEOF(msg, const envoy_config_listener_v3_Listener_InternalListenerConfig*, UPB_SIZE(128, 232), UPB_SIZE(16, 16), 27, NULL);
374
448
  }
375
449
  UPB_INLINE void envoy_config_listener_v3_Listener_clear_stat_prefix(const envoy_config_listener_v3_Listener* msg) {
376
450
  *UPB_PTR_AT(msg, UPB_SIZE(108, 192), upb_StringView) = upb_StringView_FromDataAndSize(NULL, 0);
@@ -399,6 +473,24 @@ UPB_INLINE void envoy_config_listener_v3_Listener_clear_ignore_global_conn_limit
399
473
  UPB_INLINE bool envoy_config_listener_v3_Listener_ignore_global_conn_limit(const envoy_config_listener_v3_Listener* msg) {
400
474
  return *UPB_PTR_AT(msg, UPB_SIZE(21, 21), bool);
401
475
  }
476
+ UPB_INLINE bool envoy_config_listener_v3_Listener_has_filter_chain_matcher(const envoy_config_listener_v3_Listener* msg) {
477
+ return _upb_hasbit(msg, 17);
478
+ }
479
+ UPB_INLINE void envoy_config_listener_v3_Listener_clear_filter_chain_matcher(const envoy_config_listener_v3_Listener* msg) {
480
+ *UPB_PTR_AT(msg, UPB_SIZE(120, 216), const upb_Message*) = NULL;
481
+ }
482
+ UPB_INLINE const struct xds_type_matcher_v3_Matcher* envoy_config_listener_v3_Listener_filter_chain_matcher(const envoy_config_listener_v3_Listener* msg) {
483
+ return *UPB_PTR_AT(msg, UPB_SIZE(120, 216), const struct xds_type_matcher_v3_Matcher*);
484
+ }
485
+ UPB_INLINE bool envoy_config_listener_v3_Listener_has_additional_addresses(const envoy_config_listener_v3_Listener* msg) {
486
+ return _upb_has_submsg_nohasbit(msg, UPB_SIZE(124, 224));
487
+ }
488
+ UPB_INLINE void envoy_config_listener_v3_Listener_clear_additional_addresses(const envoy_config_listener_v3_Listener* msg) {
489
+ _upb_array_detach(msg, UPB_SIZE(124, 224));
490
+ }
491
+ UPB_INLINE const envoy_config_listener_v3_AdditionalAddress* const* envoy_config_listener_v3_Listener_additional_addresses(const envoy_config_listener_v3_Listener* msg, size_t* len) {
492
+ return (const envoy_config_listener_v3_AdditionalAddress* const*)_upb_array_accessor(msg, UPB_SIZE(124, 224), len);
493
+ }
402
494
 
403
495
  UPB_INLINE void envoy_config_listener_v3_Listener_set_name(envoy_config_listener_v3_Listener *msg, upb_StringView value) {
404
496
  *UPB_PTR_AT(msg, UPB_SIZE(24, 24), upb_StringView) = value;
@@ -659,7 +751,7 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_listener_v3_Listener_m
659
751
  return sub;
660
752
  }
661
753
  UPB_INLINE void envoy_config_listener_v3_Listener_set_internal_listener(envoy_config_listener_v3_Listener *msg, envoy_config_listener_v3_Listener_InternalListenerConfig* value) {
662
- UPB_WRITE_ONEOF(msg, envoy_config_listener_v3_Listener_InternalListenerConfig*, UPB_SIZE(120, 216), value, UPB_SIZE(16, 16), 27);
754
+ UPB_WRITE_ONEOF(msg, envoy_config_listener_v3_Listener_InternalListenerConfig*, UPB_SIZE(128, 232), value, UPB_SIZE(16, 16), 27);
663
755
  }
664
756
  UPB_INLINE struct envoy_config_listener_v3_Listener_InternalListenerConfig* envoy_config_listener_v3_Listener_mutable_internal_listener(envoy_config_listener_v3_Listener* msg, upb_Arena* arena) {
665
757
  struct envoy_config_listener_v3_Listener_InternalListenerConfig* sub = (struct envoy_config_listener_v3_Listener_InternalListenerConfig*)envoy_config_listener_v3_Listener_internal_listener(msg);
@@ -692,6 +784,31 @@ UPB_INLINE void envoy_config_listener_v3_Listener_set_enable_mptcp(envoy_config_
692
784
  UPB_INLINE void envoy_config_listener_v3_Listener_set_ignore_global_conn_limit(envoy_config_listener_v3_Listener *msg, bool value) {
693
785
  *UPB_PTR_AT(msg, UPB_SIZE(21, 21), bool) = value;
694
786
  }
787
+ UPB_INLINE void envoy_config_listener_v3_Listener_set_filter_chain_matcher(envoy_config_listener_v3_Listener *msg, struct xds_type_matcher_v3_Matcher* value) {
788
+ _upb_sethas(msg, 17);
789
+ *UPB_PTR_AT(msg, UPB_SIZE(120, 216), struct xds_type_matcher_v3_Matcher*) = value;
790
+ }
791
+ UPB_INLINE struct xds_type_matcher_v3_Matcher* envoy_config_listener_v3_Listener_mutable_filter_chain_matcher(envoy_config_listener_v3_Listener* msg, upb_Arena* arena) {
792
+ struct xds_type_matcher_v3_Matcher* sub = (struct xds_type_matcher_v3_Matcher*)envoy_config_listener_v3_Listener_filter_chain_matcher(msg);
793
+ if (sub == NULL) {
794
+ sub = (struct xds_type_matcher_v3_Matcher*)_upb_Message_New(&xds_type_matcher_v3_Matcher_msginit, arena);
795
+ if (!sub) return NULL;
796
+ envoy_config_listener_v3_Listener_set_filter_chain_matcher(msg, sub);
797
+ }
798
+ return sub;
799
+ }
800
+ UPB_INLINE envoy_config_listener_v3_AdditionalAddress** envoy_config_listener_v3_Listener_mutable_additional_addresses(envoy_config_listener_v3_Listener* msg, size_t* len) {
801
+ return (envoy_config_listener_v3_AdditionalAddress**)_upb_array_mutable_accessor(msg, UPB_SIZE(124, 224), len);
802
+ }
803
+ UPB_INLINE envoy_config_listener_v3_AdditionalAddress** envoy_config_listener_v3_Listener_resize_additional_addresses(envoy_config_listener_v3_Listener* msg, size_t len, upb_Arena* arena) {
804
+ return (envoy_config_listener_v3_AdditionalAddress**)_upb_Array_Resize_accessor2(msg, UPB_SIZE(124, 224), len, UPB_SIZE(2, 3), arena);
805
+ }
806
+ UPB_INLINE struct envoy_config_listener_v3_AdditionalAddress* envoy_config_listener_v3_Listener_add_additional_addresses(envoy_config_listener_v3_Listener* msg, upb_Arena* arena) {
807
+ struct envoy_config_listener_v3_AdditionalAddress* sub = (struct envoy_config_listener_v3_AdditionalAddress*)_upb_Message_New(&envoy_config_listener_v3_AdditionalAddress_msginit, arena);
808
+ bool ok = _upb_Array_Append_accessor2(msg, UPB_SIZE(124, 224), UPB_SIZE(2, 3), &sub, arena);
809
+ if (!ok) return NULL;
810
+ return sub;
811
+ }
695
812
 
696
813
  /* envoy.config.listener.v3.Listener.DeprecatedV1 */
697
814
 
@@ -718,11 +835,15 @@ UPB_INLINE envoy_config_listener_v3_Listener_DeprecatedV1* envoy_config_listener
718
835
  return ret;
719
836
  }
720
837
  UPB_INLINE char* envoy_config_listener_v3_Listener_DeprecatedV1_serialize(const envoy_config_listener_v3_Listener_DeprecatedV1* msg, upb_Arena* arena, size_t* len) {
721
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_DeprecatedV1_msginit, 0, arena, len);
838
+ char* ptr;
839
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_DeprecatedV1_msginit, 0, arena, &ptr, len);
840
+ return ptr;
722
841
  }
723
842
  UPB_INLINE char* envoy_config_listener_v3_Listener_DeprecatedV1_serialize_ex(const envoy_config_listener_v3_Listener_DeprecatedV1* msg, int options,
724
843
  upb_Arena* arena, size_t* len) {
725
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_DeprecatedV1_msginit, options, arena, len);
844
+ char* ptr;
845
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_DeprecatedV1_msginit, options, arena, &ptr, len);
846
+ return ptr;
726
847
  }
727
848
  UPB_INLINE bool envoy_config_listener_v3_Listener_DeprecatedV1_has_bind_to_port(const envoy_config_listener_v3_Listener_DeprecatedV1* msg) {
728
849
  return _upb_hasbit(msg, 1);
@@ -773,14 +894,19 @@ UPB_INLINE envoy_config_listener_v3_Listener_ConnectionBalanceConfig* envoy_conf
773
894
  return ret;
774
895
  }
775
896
  UPB_INLINE char* envoy_config_listener_v3_Listener_ConnectionBalanceConfig_serialize(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig* msg, upb_Arena* arena, size_t* len) {
776
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_ConnectionBalanceConfig_msginit, 0, arena, len);
897
+ char* ptr;
898
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_ConnectionBalanceConfig_msginit, 0, arena, &ptr, len);
899
+ return ptr;
777
900
  }
778
901
  UPB_INLINE char* envoy_config_listener_v3_Listener_ConnectionBalanceConfig_serialize_ex(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig* msg, int options,
779
902
  upb_Arena* arena, size_t* len) {
780
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_ConnectionBalanceConfig_msginit, options, arena, len);
903
+ char* ptr;
904
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_ConnectionBalanceConfig_msginit, options, arena, &ptr, len);
905
+ return ptr;
781
906
  }
782
907
  typedef enum {
783
908
  envoy_config_listener_v3_Listener_ConnectionBalanceConfig_balance_type_exact_balance = 1,
909
+ envoy_config_listener_v3_Listener_ConnectionBalanceConfig_balance_type_extend_balance = 2,
784
910
  envoy_config_listener_v3_Listener_ConnectionBalanceConfig_balance_type_NOT_SET = 0
785
911
  } envoy_config_listener_v3_Listener_ConnectionBalanceConfig_balance_type_oneofcases;
786
912
  UPB_INLINE envoy_config_listener_v3_Listener_ConnectionBalanceConfig_balance_type_oneofcases envoy_config_listener_v3_Listener_ConnectionBalanceConfig_balance_type_case(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig* msg) {
@@ -795,6 +921,15 @@ UPB_INLINE void envoy_config_listener_v3_Listener_ConnectionBalanceConfig_clear_
795
921
  UPB_INLINE const envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance* envoy_config_listener_v3_Listener_ConnectionBalanceConfig_exact_balance(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig* msg) {
796
922
  return UPB_READ_ONEOF(msg, const envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance*, UPB_SIZE(4, 8), UPB_SIZE(0, 0), 1, NULL);
797
923
  }
924
+ UPB_INLINE bool envoy_config_listener_v3_Listener_ConnectionBalanceConfig_has_extend_balance(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig* msg) {
925
+ return _upb_getoneofcase(msg, UPB_SIZE(0, 0)) == 2;
926
+ }
927
+ UPB_INLINE void envoy_config_listener_v3_Listener_ConnectionBalanceConfig_clear_extend_balance(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig* msg) {
928
+ UPB_WRITE_ONEOF(msg, struct envoy_config_core_v3_TypedExtensionConfig*, UPB_SIZE(4, 8), 0, UPB_SIZE(0, 0), envoy_config_listener_v3_Listener_ConnectionBalanceConfig_balance_type_NOT_SET);
929
+ }
930
+ UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_listener_v3_Listener_ConnectionBalanceConfig_extend_balance(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig* msg) {
931
+ return UPB_READ_ONEOF(msg, const struct envoy_config_core_v3_TypedExtensionConfig*, UPB_SIZE(4, 8), UPB_SIZE(0, 0), 2, NULL);
932
+ }
798
933
 
799
934
  UPB_INLINE void envoy_config_listener_v3_Listener_ConnectionBalanceConfig_set_exact_balance(envoy_config_listener_v3_Listener_ConnectionBalanceConfig *msg, envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance* value) {
800
935
  UPB_WRITE_ONEOF(msg, envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance*, UPB_SIZE(4, 8), value, UPB_SIZE(0, 0), 1);
@@ -808,6 +943,18 @@ UPB_INLINE struct envoy_config_listener_v3_Listener_ConnectionBalanceConfig_Exac
808
943
  }
809
944
  return sub;
810
945
  }
946
+ UPB_INLINE void envoy_config_listener_v3_Listener_ConnectionBalanceConfig_set_extend_balance(envoy_config_listener_v3_Listener_ConnectionBalanceConfig *msg, struct envoy_config_core_v3_TypedExtensionConfig* value) {
947
+ UPB_WRITE_ONEOF(msg, struct envoy_config_core_v3_TypedExtensionConfig*, UPB_SIZE(4, 8), value, UPB_SIZE(0, 0), 2);
948
+ }
949
+ UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_listener_v3_Listener_ConnectionBalanceConfig_mutable_extend_balance(envoy_config_listener_v3_Listener_ConnectionBalanceConfig* msg, upb_Arena* arena) {
950
+ struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)envoy_config_listener_v3_Listener_ConnectionBalanceConfig_extend_balance(msg);
951
+ if (sub == NULL) {
952
+ sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_Message_New(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena);
953
+ if (!sub) return NULL;
954
+ envoy_config_listener_v3_Listener_ConnectionBalanceConfig_set_extend_balance(msg, sub);
955
+ }
956
+ return sub;
957
+ }
811
958
 
812
959
  /* envoy.config.listener.v3.Listener.ConnectionBalanceConfig.ExactBalance */
813
960
 
@@ -834,11 +981,15 @@ UPB_INLINE envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalanc
834
981
  return ret;
835
982
  }
836
983
  UPB_INLINE char* envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance_serialize(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance* msg, upb_Arena* arena, size_t* len) {
837
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance_msginit, 0, arena, len);
984
+ char* ptr;
985
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance_msginit, 0, arena, &ptr, len);
986
+ return ptr;
838
987
  }
839
988
  UPB_INLINE char* envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance_serialize_ex(const envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance* msg, int options,
840
989
  upb_Arena* arena, size_t* len) {
841
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance_msginit, options, arena, len);
990
+ char* ptr;
991
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_ConnectionBalanceConfig_ExactBalance_msginit, options, arena, &ptr, len);
992
+ return ptr;
842
993
  }
843
994
 
844
995
 
@@ -867,11 +1018,15 @@ UPB_INLINE envoy_config_listener_v3_Listener_InternalListenerConfig* envoy_confi
867
1018
  return ret;
868
1019
  }
869
1020
  UPB_INLINE char* envoy_config_listener_v3_Listener_InternalListenerConfig_serialize(const envoy_config_listener_v3_Listener_InternalListenerConfig* msg, upb_Arena* arena, size_t* len) {
870
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_InternalListenerConfig_msginit, 0, arena, len);
1021
+ char* ptr;
1022
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_InternalListenerConfig_msginit, 0, arena, &ptr, len);
1023
+ return ptr;
871
1024
  }
872
1025
  UPB_INLINE char* envoy_config_listener_v3_Listener_InternalListenerConfig_serialize_ex(const envoy_config_listener_v3_Listener_InternalListenerConfig* msg, int options,
873
1026
  upb_Arena* arena, size_t* len) {
874
- return upb_Encode(msg, &envoy_config_listener_v3_Listener_InternalListenerConfig_msginit, options, arena, len);
1027
+ char* ptr;
1028
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Listener_InternalListenerConfig_msginit, options, arena, &ptr, len);
1029
+ return ptr;
875
1030
  }
876
1031
 
877
1032
 
@@ -37,7 +37,7 @@ static const upb_MiniTable_Field envoy_config_listener_v3_Filter__fields[3] = {
37
37
  const upb_MiniTable envoy_config_listener_v3_Filter_msginit = {
38
38
  &envoy_config_listener_v3_Filter_submsgs[0],
39
39
  &envoy_config_listener_v3_Filter__fields[0],
40
- UPB_SIZE(16, 40), 3, kUpb_ExtMode_NonExtendable, 1, 255, 0,
40
+ UPB_SIZE(16, 32), 3, kUpb_ExtMode_NonExtendable, 1, 255, 0,
41
41
  };
42
42
 
43
43
  static const upb_MiniTable_Sub envoy_config_listener_v3_FilterChainMatch_submsgs[5] = {
@@ -92,7 +92,7 @@ static const upb_MiniTable_Field envoy_config_listener_v3_FilterChain__fields[8]
92
92
  const upb_MiniTable envoy_config_listener_v3_FilterChain_msginit = {
93
93
  &envoy_config_listener_v3_FilterChain_submsgs[0],
94
94
  &envoy_config_listener_v3_FilterChain__fields[0],
95
- UPB_SIZE(40, 88), 8, kUpb_ExtMode_NonExtendable, 1, 255, 0,
95
+ UPB_SIZE(40, 80), 8, kUpb_ExtMode_NonExtendable, 1, 255, 0,
96
96
  };
97
97
 
98
98
  static const upb_MiniTable_Sub envoy_config_listener_v3_FilterChain_OnDemandConfiguration_submsgs[1] = {
@@ -106,7 +106,7 @@ static const upb_MiniTable_Field envoy_config_listener_v3_FilterChain_OnDemandCo
106
106
  const upb_MiniTable envoy_config_listener_v3_FilterChain_OnDemandConfiguration_msginit = {
107
107
  &envoy_config_listener_v3_FilterChain_OnDemandConfiguration_submsgs[0],
108
108
  &envoy_config_listener_v3_FilterChain_OnDemandConfiguration__fields[0],
109
- UPB_SIZE(8, 24), 1, kUpb_ExtMode_NonExtendable, 1, 255, 0,
109
+ UPB_SIZE(8, 16), 1, kUpb_ExtMode_NonExtendable, 1, 255, 0,
110
110
  };
111
111
 
112
112
  static const upb_MiniTable_Sub envoy_config_listener_v3_ListenerFilterChainMatchPredicate_submsgs[4] = {
@@ -127,7 +127,7 @@ static const upb_MiniTable_Field envoy_config_listener_v3_ListenerFilterChainMat
127
127
  const upb_MiniTable envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit = {
128
128
  &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_submsgs[0],
129
129
  &envoy_config_listener_v3_ListenerFilterChainMatchPredicate__fields[0],
130
- UPB_SIZE(8, 24), 5, kUpb_ExtMode_NonExtendable, 5, 255, 0,
130
+ UPB_SIZE(8, 16), 5, kUpb_ExtMode_NonExtendable, 5, 255, 0,
131
131
  };
132
132
 
133
133
  static const upb_MiniTable_Sub envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_submsgs[1] = {
@@ -141,7 +141,7 @@ static const upb_MiniTable_Field envoy_config_listener_v3_ListenerFilterChainMat
141
141
  const upb_MiniTable envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit = {
142
142
  &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_submsgs[0],
143
143
  &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet__fields[0],
144
- UPB_SIZE(4, 8), 1, kUpb_ExtMode_NonExtendable, 1, 255, 0,
144
+ UPB_SIZE(8, 8), 1, kUpb_ExtMode_NonExtendable, 1, 255, 0,
145
145
  };
146
146
 
147
147
  static const upb_MiniTable_Sub envoy_config_listener_v3_ListenerFilter_submsgs[3] = {
@@ -93,11 +93,15 @@ UPB_INLINE envoy_config_listener_v3_Filter* envoy_config_listener_v3_Filter_pars
93
93
  return ret;
94
94
  }
95
95
  UPB_INLINE char* envoy_config_listener_v3_Filter_serialize(const envoy_config_listener_v3_Filter* msg, upb_Arena* arena, size_t* len) {
96
- return upb_Encode(msg, &envoy_config_listener_v3_Filter_msginit, 0, arena, len);
96
+ char* ptr;
97
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Filter_msginit, 0, arena, &ptr, len);
98
+ return ptr;
97
99
  }
98
100
  UPB_INLINE char* envoy_config_listener_v3_Filter_serialize_ex(const envoy_config_listener_v3_Filter* msg, int options,
99
101
  upb_Arena* arena, size_t* len) {
100
- return upb_Encode(msg, &envoy_config_listener_v3_Filter_msginit, options, arena, len);
102
+ char* ptr;
103
+ (void)upb_Encode(msg, &envoy_config_listener_v3_Filter_msginit, options, arena, &ptr, len);
104
+ return ptr;
101
105
  }
102
106
  typedef enum {
103
107
  envoy_config_listener_v3_Filter_config_type_typed_config = 4,
@@ -185,11 +189,15 @@ UPB_INLINE envoy_config_listener_v3_FilterChainMatch* envoy_config_listener_v3_F
185
189
  return ret;
186
190
  }
187
191
  UPB_INLINE char* envoy_config_listener_v3_FilterChainMatch_serialize(const envoy_config_listener_v3_FilterChainMatch* msg, upb_Arena* arena, size_t* len) {
188
- return upb_Encode(msg, &envoy_config_listener_v3_FilterChainMatch_msginit, 0, arena, len);
192
+ char* ptr;
193
+ (void)upb_Encode(msg, &envoy_config_listener_v3_FilterChainMatch_msginit, 0, arena, &ptr, len);
194
+ return ptr;
189
195
  }
190
196
  UPB_INLINE char* envoy_config_listener_v3_FilterChainMatch_serialize_ex(const envoy_config_listener_v3_FilterChainMatch* msg, int options,
191
197
  upb_Arena* arena, size_t* len) {
192
- return upb_Encode(msg, &envoy_config_listener_v3_FilterChainMatch_msginit, options, arena, len);
198
+ char* ptr;
199
+ (void)upb_Encode(msg, &envoy_config_listener_v3_FilterChainMatch_msginit, options, arena, &ptr, len);
200
+ return ptr;
193
201
  }
194
202
  UPB_INLINE bool envoy_config_listener_v3_FilterChainMatch_has_prefix_ranges(const envoy_config_listener_v3_FilterChainMatch* msg) {
195
203
  return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 8));
@@ -397,11 +405,15 @@ UPB_INLINE envoy_config_listener_v3_FilterChain* envoy_config_listener_v3_Filter
397
405
  return ret;
398
406
  }
399
407
  UPB_INLINE char* envoy_config_listener_v3_FilterChain_serialize(const envoy_config_listener_v3_FilterChain* msg, upb_Arena* arena, size_t* len) {
400
- return upb_Encode(msg, &envoy_config_listener_v3_FilterChain_msginit, 0, arena, len);
408
+ char* ptr;
409
+ (void)upb_Encode(msg, &envoy_config_listener_v3_FilterChain_msginit, 0, arena, &ptr, len);
410
+ return ptr;
401
411
  }
402
412
  UPB_INLINE char* envoy_config_listener_v3_FilterChain_serialize_ex(const envoy_config_listener_v3_FilterChain* msg, int options,
403
413
  upb_Arena* arena, size_t* len) {
404
- return upb_Encode(msg, &envoy_config_listener_v3_FilterChain_msginit, options, arena, len);
414
+ char* ptr;
415
+ (void)upb_Encode(msg, &envoy_config_listener_v3_FilterChain_msginit, options, arena, &ptr, len);
416
+ return ptr;
405
417
  }
406
418
  UPB_INLINE bool envoy_config_listener_v3_FilterChain_has_filter_chain_match(const envoy_config_listener_v3_FilterChain* msg) {
407
419
  return _upb_hasbit(msg, 1);
@@ -592,11 +604,15 @@ UPB_INLINE envoy_config_listener_v3_FilterChain_OnDemandConfiguration* envoy_con
592
604
  return ret;
593
605
  }
594
606
  UPB_INLINE char* envoy_config_listener_v3_FilterChain_OnDemandConfiguration_serialize(const envoy_config_listener_v3_FilterChain_OnDemandConfiguration* msg, upb_Arena* arena, size_t* len) {
595
- return upb_Encode(msg, &envoy_config_listener_v3_FilterChain_OnDemandConfiguration_msginit, 0, arena, len);
607
+ char* ptr;
608
+ (void)upb_Encode(msg, &envoy_config_listener_v3_FilterChain_OnDemandConfiguration_msginit, 0, arena, &ptr, len);
609
+ return ptr;
596
610
  }
597
611
  UPB_INLINE char* envoy_config_listener_v3_FilterChain_OnDemandConfiguration_serialize_ex(const envoy_config_listener_v3_FilterChain_OnDemandConfiguration* msg, int options,
598
612
  upb_Arena* arena, size_t* len) {
599
- return upb_Encode(msg, &envoy_config_listener_v3_FilterChain_OnDemandConfiguration_msginit, options, arena, len);
613
+ char* ptr;
614
+ (void)upb_Encode(msg, &envoy_config_listener_v3_FilterChain_OnDemandConfiguration_msginit, options, arena, &ptr, len);
615
+ return ptr;
600
616
  }
601
617
  UPB_INLINE bool envoy_config_listener_v3_FilterChain_OnDemandConfiguration_has_rebuild_timeout(const envoy_config_listener_v3_FilterChain_OnDemandConfiguration* msg) {
602
618
  return _upb_hasbit(msg, 1);
@@ -647,11 +663,15 @@ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate* envoy_con
647
663
  return ret;
648
664
  }
649
665
  UPB_INLINE char* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_serialize(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate* msg, upb_Arena* arena, size_t* len) {
650
- return upb_Encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, 0, arena, len);
666
+ char* ptr;
667
+ (void)upb_Encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, 0, arena, &ptr, len);
668
+ return ptr;
651
669
  }
652
670
  UPB_INLINE char* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_serialize_ex(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate* msg, int options,
653
671
  upb_Arena* arena, size_t* len) {
654
- return upb_Encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, options, arena, len);
672
+ char* ptr;
673
+ (void)upb_Encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_msginit, options, arena, &ptr, len);
674
+ return ptr;
655
675
  }
656
676
  typedef enum {
657
677
  envoy_config_listener_v3_ListenerFilterChainMatchPredicate_rule_or_match = 1,
@@ -787,11 +807,15 @@ UPB_INLINE envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet*
787
807
  return ret;
788
808
  }
789
809
  UPB_INLINE char* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_serialize(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* msg, upb_Arena* arena, size_t* len) {
790
- return upb_Encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, 0, arena, len);
810
+ char* ptr;
811
+ (void)upb_Encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, 0, arena, &ptr, len);
812
+ return ptr;
791
813
  }
792
814
  UPB_INLINE char* envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_serialize_ex(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* msg, int options,
793
815
  upb_Arena* arena, size_t* len) {
794
- return upb_Encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, options, arena, len);
816
+ char* ptr;
817
+ (void)upb_Encode(msg, &envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_msginit, options, arena, &ptr, len);
818
+ return ptr;
795
819
  }
796
820
  UPB_INLINE bool envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet_has_rules(const envoy_config_listener_v3_ListenerFilterChainMatchPredicate_MatchSet* msg) {
797
821
  return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0));
@@ -841,11 +865,15 @@ UPB_INLINE envoy_config_listener_v3_ListenerFilter* envoy_config_listener_v3_Lis
841
865
  return ret;
842
866
  }
843
867
  UPB_INLINE char* envoy_config_listener_v3_ListenerFilter_serialize(const envoy_config_listener_v3_ListenerFilter* msg, upb_Arena* arena, size_t* len) {
844
- return upb_Encode(msg, &envoy_config_listener_v3_ListenerFilter_msginit, 0, arena, len);
868
+ char* ptr;
869
+ (void)upb_Encode(msg, &envoy_config_listener_v3_ListenerFilter_msginit, 0, arena, &ptr, len);
870
+ return ptr;
845
871
  }
846
872
  UPB_INLINE char* envoy_config_listener_v3_ListenerFilter_serialize_ex(const envoy_config_listener_v3_ListenerFilter* msg, int options,
847
873
  upb_Arena* arena, size_t* len) {
848
- return upb_Encode(msg, &envoy_config_listener_v3_ListenerFilter_msginit, options, arena, len);
874
+ char* ptr;
875
+ (void)upb_Encode(msg, &envoy_config_listener_v3_ListenerFilter_msginit, options, arena, &ptr, len);
876
+ return ptr;
849
877
  }
850
878
  typedef enum {
851
879
  envoy_config_listener_v3_ListenerFilter_config_type_typed_config = 3,
@@ -43,7 +43,7 @@ static const upb_MiniTable_Field envoy_config_listener_v3_QuicProtocolOptions__f
43
43
  const upb_MiniTable envoy_config_listener_v3_QuicProtocolOptions_msginit = {
44
44
  &envoy_config_listener_v3_QuicProtocolOptions_submsgs[0],
45
45
  &envoy_config_listener_v3_QuicProtocolOptions__fields[0],
46
- UPB_SIZE(32, 72), 7, kUpb_ExtMode_NonExtendable, 7, 255, 0,
46
+ UPB_SIZE(32, 64), 7, kUpb_ExtMode_NonExtendable, 7, 255, 0,
47
47
  };
48
48
 
49
49
  static const upb_MiniTable *messages_layout[1] = {
@@ -61,11 +61,15 @@ UPB_INLINE envoy_config_listener_v3_QuicProtocolOptions* envoy_config_listener_v
61
61
  return ret;
62
62
  }
63
63
  UPB_INLINE char* envoy_config_listener_v3_QuicProtocolOptions_serialize(const envoy_config_listener_v3_QuicProtocolOptions* msg, upb_Arena* arena, size_t* len) {
64
- return upb_Encode(msg, &envoy_config_listener_v3_QuicProtocolOptions_msginit, 0, arena, len);
64
+ char* ptr;
65
+ (void)upb_Encode(msg, &envoy_config_listener_v3_QuicProtocolOptions_msginit, 0, arena, &ptr, len);
66
+ return ptr;
65
67
  }
66
68
  UPB_INLINE char* envoy_config_listener_v3_QuicProtocolOptions_serialize_ex(const envoy_config_listener_v3_QuicProtocolOptions* msg, int options,
67
69
  upb_Arena* arena, size_t* len) {
68
- return upb_Encode(msg, &envoy_config_listener_v3_QuicProtocolOptions_msginit, options, arena, len);
70
+ char* ptr;
71
+ (void)upb_Encode(msg, &envoy_config_listener_v3_QuicProtocolOptions_msginit, options, arena, &ptr, len);
72
+ return ptr;
69
73
  }
70
74
  UPB_INLINE bool envoy_config_listener_v3_QuicProtocolOptions_has_quic_protocol_options(const envoy_config_listener_v3_QuicProtocolOptions* msg) {
71
75
  return _upb_hasbit(msg, 1);
@@ -9,6 +9,7 @@
9
9
  #include <stddef.h>
10
10
  #include "upb/msg_internal.h"
11
11
  #include "envoy/config/listener/v3/udp_listener_config.upb.h"
12
+ #include "envoy/config/core/v3/extension.upb.h"
12
13
  #include "envoy/config/core/v3/udp_socket_config.upb.h"
13
14
  #include "envoy/config/listener/v3/quic_config.upb.h"
14
15
  #include "udpa/annotations/status.upb.h"
@@ -16,26 +17,28 @@
16
17
 
17
18
  #include "upb/port_def.inc"
18
19
 
19
- static const upb_MiniTable_Sub envoy_config_listener_v3_UdpListenerConfig_submsgs[2] = {
20
+ static const upb_MiniTable_Sub envoy_config_listener_v3_UdpListenerConfig_submsgs[3] = {
20
21
  {.submsg = &envoy_config_core_v3_UdpSocketConfig_msginit},
21
22
  {.submsg = &envoy_config_listener_v3_QuicProtocolOptions_msginit},
23
+ {.submsg = &envoy_config_core_v3_TypedExtensionConfig_msginit},
22
24
  };
23
25
 
24
- static const upb_MiniTable_Field envoy_config_listener_v3_UdpListenerConfig__fields[2] = {
26
+ static const upb_MiniTable_Field envoy_config_listener_v3_UdpListenerConfig__fields[3] = {
25
27
  {5, UPB_SIZE(4, 8), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
26
28
  {7, UPB_SIZE(8, 16), UPB_SIZE(2, 2), 1, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
29
+ {8, UPB_SIZE(12, 24), UPB_SIZE(3, 3), 2, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
27
30
  };
28
31
 
29
32
  const upb_MiniTable envoy_config_listener_v3_UdpListenerConfig_msginit = {
30
33
  &envoy_config_listener_v3_UdpListenerConfig_submsgs[0],
31
34
  &envoy_config_listener_v3_UdpListenerConfig__fields[0],
32
- UPB_SIZE(12, 24), 2, kUpb_ExtMode_NonExtendable, 0, 255, 0,
35
+ UPB_SIZE(16, 32), 3, kUpb_ExtMode_NonExtendable, 0, 255, 0,
33
36
  };
34
37
 
35
38
  const upb_MiniTable envoy_config_listener_v3_ActiveRawUdpListenerConfig_msginit = {
36
39
  NULL,
37
40
  NULL,
38
- UPB_SIZE(0, 8), 0, kUpb_ExtMode_NonExtendable, 0, 255, 0,
41
+ UPB_SIZE(0, 0), 0, kUpb_ExtMode_NonExtendable, 0, 255, 0,
39
42
  };
40
43
 
41
44
  static const upb_MiniTable *messages_layout[2] = {