grpc 1.39.0.pre1 → 1.41.0.pre2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (885) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +45 -38
  3. data/include/grpc/byte_buffer.h +1 -1
  4. data/include/grpc/byte_buffer_reader.h +1 -1
  5. data/include/grpc/event_engine/endpoint_config.h +6 -11
  6. data/include/grpc/event_engine/event_engine.h +73 -72
  7. data/include/grpc/event_engine/port.h +1 -3
  8. data/include/grpc/event_engine/slice_allocator.h +14 -34
  9. data/include/grpc/fork.h +1 -1
  10. data/include/grpc/grpc.h +10 -4
  11. data/include/grpc/grpc_posix.h +5 -2
  12. data/include/grpc/impl/codegen/atm.h +5 -3
  13. data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
  14. data/include/grpc/impl/codegen/atm_gcc_sync.h +2 -0
  15. data/include/grpc/impl/codegen/atm_windows.h +2 -0
  16. data/include/grpc/impl/codegen/byte_buffer.h +2 -0
  17. data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -0
  18. data/include/grpc/impl/codegen/compression_types.h +2 -0
  19. data/include/grpc/impl/codegen/connectivity_state.h +2 -0
  20. data/include/grpc/impl/codegen/fork.h +2 -0
  21. data/include/grpc/impl/codegen/gpr_slice.h +2 -0
  22. data/include/grpc/impl/codegen/gpr_types.h +2 -0
  23. data/include/grpc/impl/codegen/grpc_types.h +22 -13
  24. data/include/grpc/impl/codegen/log.h +2 -0
  25. data/include/grpc/impl/codegen/port_platform.h +50 -22
  26. data/include/grpc/impl/codegen/propagation_bits.h +2 -0
  27. data/include/grpc/impl/codegen/slice.h +2 -0
  28. data/include/grpc/impl/codegen/status.h +2 -0
  29. data/include/grpc/impl/codegen/sync.h +8 -5
  30. data/include/grpc/impl/codegen/sync_abseil.h +2 -0
  31. data/include/grpc/impl/codegen/sync_custom.h +2 -0
  32. data/include/grpc/impl/codegen/sync_generic.h +3 -0
  33. data/include/grpc/impl/codegen/sync_posix.h +4 -2
  34. data/include/grpc/impl/codegen/sync_windows.h +2 -0
  35. data/include/grpc/slice.h +1 -1
  36. data/include/grpc/status.h +1 -1
  37. data/include/grpc/support/atm.h +1 -1
  38. data/include/grpc/support/atm_gcc_atomic.h +1 -1
  39. data/include/grpc/support/atm_gcc_sync.h +1 -1
  40. data/include/grpc/support/atm_windows.h +1 -1
  41. data/include/grpc/support/log.h +1 -1
  42. data/include/grpc/support/port_platform.h +1 -1
  43. data/include/grpc/support/sync.h +1 -1
  44. data/include/grpc/support/sync_abseil.h +1 -1
  45. data/include/grpc/support/sync_custom.h +1 -1
  46. data/include/grpc/support/sync_generic.h +1 -1
  47. data/include/grpc/support/sync_posix.h +1 -1
  48. data/include/grpc/support/sync_windows.h +1 -1
  49. data/include/grpc/support/time.h +2 -2
  50. data/src/core/ext/filters/census/grpc_context.cc +1 -0
  51. data/src/core/ext/filters/client_channel/backend_metric.cc +0 -1
  52. data/src/core/ext/filters/client_channel/backup_poller.h +1 -0
  53. data/src/core/ext/filters/client_channel/channel_connectivity.cc +1 -2
  54. data/src/core/ext/filters/client_channel/client_channel.cc +437 -299
  55. data/src/core/ext/filters/client_channel/client_channel.h +45 -21
  56. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +6 -5
  57. data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
  58. data/src/core/ext/filters/client_channel/client_channel_factory.cc +1 -0
  59. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +8 -1
  60. data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
  61. data/src/core/ext/filters/client_channel/config_selector.h +19 -6
  62. data/src/core/ext/filters/client_channel/health/health_check_client.cc +7 -6
  63. data/src/core/ext/filters/client_channel/health/health_check_client.h +4 -3
  64. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +8 -7
  65. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +10 -2
  66. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +2 -2
  67. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +9 -16
  68. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -2
  69. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +2 -2
  70. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -2
  71. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +2 -1
  72. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +12 -21
  73. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +17 -28
  74. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +18 -38
  75. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +8 -15
  76. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +2 -2
  77. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +5 -14
  78. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +23 -30
  79. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +24 -29
  80. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +4 -17
  81. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +7 -11
  82. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -15
  83. data/src/core/ext/filters/client_channel/lb_policy.h +81 -90
  84. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -7
  85. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +2 -10
  86. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -0
  87. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -3
  88. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +6 -5
  89. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +14 -19
  90. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +1 -0
  91. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +2 -2
  92. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +5 -5
  93. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +106 -81
  94. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +2 -3
  95. data/src/core/ext/filters/client_channel/retry_filter.cc +408 -246
  96. data/src/core/ext/filters/client_channel/retry_service_config.cc +36 -26
  97. data/src/core/ext/filters/client_channel/retry_service_config.h +1 -1
  98. data/src/core/ext/filters/client_channel/service_config_call_data.h +45 -5
  99. data/src/core/ext/filters/client_idle/client_idle_filter.cc +36 -30
  100. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +8 -12
  101. data/src/core/ext/filters/fault_injection/service_config_parser.cc +6 -13
  102. data/src/core/ext/filters/http/client/http_client_filter.cc +8 -4
  103. data/src/core/ext/filters/http/client_authority_filter.cc +2 -1
  104. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +2 -1
  105. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +7 -8
  106. data/src/core/ext/filters/http/server/http_server_filter.cc +5 -3
  107. data/src/core/ext/filters/message_size/message_size_filter.cc +9 -13
  108. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
  109. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +29 -12
  110. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -0
  111. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -3
  112. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +10 -6
  113. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +2 -3
  114. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +65 -38
  115. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +0 -1
  116. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +12 -6
  117. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +5 -9
  118. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +4 -2
  119. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -1
  120. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -0
  121. data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +67 -0
  122. data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +74 -0
  123. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +26 -36
  124. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +4 -1
  125. data/src/core/ext/transport/chttp2/transport/context_list.h +1 -2
  126. data/src/core/ext/transport/chttp2/transport/flow_control.cc +39 -23
  127. data/src/core/ext/transport/chttp2/transport/flow_control.h +10 -4
  128. data/src/core/ext/transport/chttp2/transport/frame_data.cc +11 -11
  129. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -0
  130. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +12 -11
  131. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -0
  132. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -4
  133. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -0
  134. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +3 -5
  135. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -0
  136. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +41 -10
  137. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -0
  138. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +12 -7
  139. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -0
  140. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +41 -0
  141. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +272 -666
  142. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +236 -70
  143. data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +107 -0
  144. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +86 -0
  145. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +69 -0
  146. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +821 -1195
  147. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +76 -76
  148. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +159 -0
  149. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +130 -0
  150. data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +46 -0
  151. data/src/core/ext/transport/chttp2/transport/hpack_utils.h +30 -0
  152. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
  153. data/src/core/ext/transport/chttp2/transport/internal.h +3 -3
  154. data/src/core/ext/transport/chttp2/transport/parsing.cc +89 -83
  155. data/src/core/ext/transport/chttp2/transport/popularity_count.h +60 -0
  156. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -2
  157. data/src/core/ext/transport/chttp2/transport/varint.cc +13 -7
  158. data/src/core/ext/transport/chttp2/transport/varint.h +39 -28
  159. data/src/core/ext/transport/chttp2/transport/writing.cc +32 -28
  160. data/src/core/ext/transport/inproc/inproc_transport.cc +6 -4
  161. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +96 -96
  162. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +221 -89
  163. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +1 -1
  164. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -1
  165. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +3 -3
  166. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +11 -5
  167. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +48 -48
  168. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +151 -61
  169. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +117 -96
  170. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +347 -141
  171. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +15 -15
  172. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +31 -13
  173. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +133 -126
  174. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +326 -149
  175. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +4 -4
  176. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +11 -5
  177. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +23 -23
  178. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +11 -5
  179. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +28 -28
  180. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +71 -29
  181. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +4 -4
  182. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +11 -5
  183. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +114 -78
  184. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +268 -88
  185. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +24 -24
  186. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +51 -21
  187. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +3 -3
  188. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +11 -5
  189. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +9 -9
  190. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +21 -9
  191. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +62 -62
  192. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +131 -53
  193. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +51 -51
  194. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +81 -33
  195. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +5 -5
  196. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +11 -5
  197. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +110 -53
  198. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +356 -45
  199. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +3 -3
  200. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +11 -5
  201. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +46 -0
  202. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +133 -0
  203. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +8 -8
  204. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +11 -5
  205. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +9 -8
  206. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +11 -5
  207. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +35 -0
  208. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +96 -0
  209. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +16 -16
  210. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +31 -13
  211. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +57 -22
  212. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +174 -17
  213. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
  214. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +51 -21
  215. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +3 -3
  216. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +11 -5
  217. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +45 -37
  218. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +177 -94
  219. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +42 -40
  220. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +86 -29
  221. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -0
  222. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +177 -0
  223. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +10 -8
  224. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +48 -28
  225. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +30 -30
  226. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +81 -33
  227. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +41 -29
  228. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +141 -43
  229. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +47 -43
  230. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +88 -29
  231. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +34 -17
  232. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +84 -9
  233. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +293 -277
  234. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +633 -240
  235. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +10 -10
  236. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +31 -13
  237. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +6 -6
  238. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +21 -9
  239. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +3 -3
  240. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +11 -5
  241. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +13 -13
  242. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +51 -21
  243. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +24 -23
  244. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +35 -13
  245. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +10 -9
  246. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +26 -16
  247. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +147 -106
  248. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +457 -160
  249. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +1 -1
  250. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -1
  251. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +48 -31
  252. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +135 -34
  253. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +12 -12
  254. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +31 -13
  255. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +44 -42
  256. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +108 -55
  257. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +2 -2
  258. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +11 -5
  259. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +2 -2
  260. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +11 -5
  261. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +42 -42
  262. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +61 -25
  263. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +2 -2
  264. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +11 -5
  265. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +2 -2
  266. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +11 -5
  267. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +9 -9
  268. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +21 -9
  269. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +2 -2
  270. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +11 -5
  271. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +2 -2
  272. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +11 -5
  273. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +48 -20
  274. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +162 -17
  275. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +60 -0
  276. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +205 -0
  277. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +9 -8
  278. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +25 -9
  279. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +4 -4
  280. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +11 -5
  281. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +4 -4
  282. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +11 -5
  283. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +3 -3
  284. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +11 -5
  285. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +10 -9
  286. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +31 -13
  287. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +10 -10
  288. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +21 -9
  289. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +6 -6
  290. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +21 -9
  291. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +11 -11
  292. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +31 -13
  293. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +15 -15
  294. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +71 -29
  295. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +19 -19
  296. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +51 -21
  297. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +1 -1
  298. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -1
  299. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +6 -6
  300. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +21 -9
  301. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +10 -10
  302. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +31 -13
  303. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +5 -5
  304. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +11 -5
  305. data/src/core/ext/upb-generated/google/api/annotations.upb.c +1 -1
  306. data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
  307. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +58 -58
  308. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +111 -45
  309. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +68 -68
  310. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +121 -49
  311. data/src/core/ext/upb-generated/google/api/http.upb.c +18 -18
  312. data/src/core/ext/upb-generated/google/api/http.upb.h +31 -13
  313. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +4 -4
  314. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +11 -5
  315. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +153 -153
  316. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +271 -109
  317. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +4 -4
  318. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +11 -5
  319. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +2 -2
  320. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +11 -5
  321. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
  322. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +31 -13
  323. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +4 -4
  324. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +11 -5
  325. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +19 -19
  326. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +91 -37
  327. data/src/core/ext/upb-generated/google/rpc/status.upb.c +5 -5
  328. data/src/core/ext/upb-generated/google/rpc/status.upb.h +11 -5
  329. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
  330. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +11 -5
  331. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +60 -60
  332. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +101 -41
  333. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +7 -7
  334. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +21 -9
  335. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +5 -5
  336. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +21 -9
  337. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
  338. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +91 -37
  339. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +8 -8
  340. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +31 -13
  341. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +4 -4
  342. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +11 -5
  343. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +1 -1
  344. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -1
  345. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +4 -4
  346. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +11 -5
  347. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +3 -3
  348. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +11 -5
  349. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +13 -13
  350. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +11 -5
  351. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +4 -4
  352. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +11 -5
  353. data/src/core/ext/upb-generated/validate/validate.upb.c +240 -224
  354. data/src/core/ext/upb-generated/validate/validate.upb.h +451 -217
  355. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +3 -3
  356. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +11 -5
  357. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +8 -8
  358. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +21 -9
  359. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +6 -6
  360. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +11 -5
  361. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +5 -5
  362. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +11 -5
  363. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +11 -11
  364. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +21 -9
  365. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +6 -6
  366. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +11 -5
  367. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +15 -7
  368. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +53 -52
  369. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +318 -277
  370. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -0
  371. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +438 -409
  372. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +198 -170
  373. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +10 -0
  374. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +9 -8
  375. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +219 -163
  376. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +15 -0
  377. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +59 -0
  378. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +40 -0
  379. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +29 -25
  380. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +52 -0
  381. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
  382. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +94 -63
  383. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +10 -0
  384. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +135 -125
  385. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  386. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +131 -123
  387. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +90 -0
  388. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
  389. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +32 -24
  390. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +30 -19
  391. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +5 -0
  392. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +69 -55
  393. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +5 -0
  394. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +796 -765
  395. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +5 -0
  396. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +13 -10
  397. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +13 -10
  398. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +436 -374
  399. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +10 -0
  400. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +140 -114
  401. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -0
  402. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +178 -173
  403. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +112 -79
  404. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +5 -0
  405. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +64 -0
  406. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
  407. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +14 -13
  408. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +35 -32
  409. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +103 -103
  410. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  411. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +182 -160
  412. data/src/core/ext/xds/certificate_provider_registry.cc +2 -2
  413. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  414. data/src/core/ext/xds/xds_api.cc +1116 -1054
  415. data/src/core/ext/xds/xds_api.h +47 -35
  416. data/src/core/ext/xds/xds_bootstrap.cc +29 -51
  417. data/src/core/ext/xds/xds_client.cc +130 -68
  418. data/src/core/ext/xds/xds_client.h +0 -4
  419. data/src/core/ext/xds/xds_client_stats.cc +16 -15
  420. data/src/core/ext/xds/xds_client_stats.h +6 -6
  421. data/src/core/ext/xds/xds_http_fault_filter.cc +4 -3
  422. data/src/core/ext/xds/xds_http_fault_filter.h +3 -2
  423. data/src/core/ext/xds/xds_http_filters.cc +4 -2
  424. data/src/core/ext/xds/xds_http_filters.h +3 -0
  425. data/src/core/ext/xds/xds_server_config_fetcher.cc +10 -10
  426. data/src/core/lib/address_utils/parse_address.cc +4 -8
  427. data/src/core/lib/address_utils/sockaddr_utils.cc +2 -2
  428. data/src/core/lib/channel/call_tracer.h +85 -0
  429. data/src/core/lib/channel/channel_args.cc +2 -1
  430. data/src/core/lib/channel/channel_stack.cc +5 -3
  431. data/src/core/lib/channel/channel_stack.h +1 -1
  432. data/src/core/lib/channel/channel_stack_builder.cc +1 -11
  433. data/src/core/lib/channel/channel_stack_builder.h +0 -8
  434. data/src/core/lib/channel/channel_trace.cc +4 -3
  435. data/src/core/lib/channel/channel_trace.h +1 -0
  436. data/src/core/lib/channel/channelz.cc +40 -36
  437. data/src/core/lib/channel/channelz.h +27 -27
  438. data/src/core/lib/channel/channelz_registry.cc +7 -6
  439. data/src/core/lib/channel/connected_channel.cc +1 -0
  440. data/src/core/lib/channel/context.h +3 -0
  441. data/src/core/lib/channel/handshaker.cc +2 -1
  442. data/src/core/lib/channel/handshaker.h +1 -2
  443. data/src/core/lib/channel/handshaker_factory.h +10 -2
  444. data/src/core/lib/channel/handshaker_registry.cc +15 -70
  445. data/src/core/lib/channel/handshaker_registry.h +29 -12
  446. data/src/core/lib/channel/status_util.h +6 -2
  447. data/src/core/lib/compression/algorithm_metadata.h +1 -0
  448. data/src/core/lib/compression/compression_args.cc +2 -1
  449. data/src/core/lib/compression/compression_internal.cc +2 -4
  450. data/src/core/lib/compression/message_compress.cc +2 -2
  451. data/src/core/lib/compression/stream_compression.cc +2 -1
  452. data/src/core/lib/compression/stream_compression.h +3 -2
  453. data/src/core/lib/compression/stream_compression_gzip.cc +2 -1
  454. data/src/core/lib/compression/stream_compression_gzip.h +1 -1
  455. data/src/core/lib/compression/stream_compression_identity.cc +2 -1
  456. data/src/core/lib/compression/stream_compression_identity.h +1 -1
  457. data/src/core/lib/config/core_configuration.cc +54 -0
  458. data/src/core/lib/config/core_configuration.h +108 -0
  459. data/src/core/lib/debug/stats.h +2 -1
  460. data/src/core/lib/debug/stats_data.cc +2 -1
  461. data/src/core/lib/debug/stats_data.h +1 -0
  462. data/src/core/lib/debug/trace.cc +1 -0
  463. data/src/core/lib/debug/trace.h +2 -1
  464. data/src/core/lib/event_engine/endpoint_config.cc +0 -1
  465. data/src/core/lib/event_engine/event_engine.cc +3 -3
  466. data/src/core/lib/event_engine/sockaddr.cc +3 -3
  467. data/src/core/lib/gpr/alloc.cc +4 -3
  468. data/src/core/lib/gpr/env_linux.cc +1 -2
  469. data/src/core/lib/gpr/env_posix.cc +2 -3
  470. data/src/core/lib/gpr/log.cc +3 -3
  471. data/src/core/lib/gpr/log_android.cc +3 -2
  472. data/src/core/lib/gpr/log_linux.cc +7 -4
  473. data/src/core/lib/gpr/log_posix.cc +6 -3
  474. data/src/core/lib/gpr/murmur_hash.cc +4 -2
  475. data/src/core/lib/gpr/string.h +2 -2
  476. data/src/core/lib/gpr/sync.cc +2 -2
  477. data/src/core/lib/gpr/sync_abseil.cc +7 -6
  478. data/src/core/lib/gpr/sync_posix.cc +3 -3
  479. data/src/core/lib/gpr/time.cc +3 -2
  480. data/src/core/lib/gpr/time_windows.cc +3 -2
  481. data/src/core/lib/gpr/tls.h +120 -41
  482. data/src/core/lib/gpr/tmpfile_posix.cc +1 -2
  483. data/src/core/lib/gprpp/arena.cc +2 -1
  484. data/src/core/lib/gprpp/arena.h +5 -5
  485. data/src/core/lib/gprpp/atomic_utils.h +47 -0
  486. data/src/core/lib/gprpp/bitset.h +166 -0
  487. data/src/core/lib/gprpp/construct_destruct.h +39 -0
  488. data/src/core/lib/gprpp/dual_ref_counted.h +25 -26
  489. data/src/core/lib/gprpp/fork.cc +14 -12
  490. data/src/core/lib/gprpp/fork.h +4 -4
  491. data/src/core/lib/gprpp/global_config.h +1 -2
  492. data/src/core/lib/gprpp/global_config_env.cc +7 -7
  493. data/src/core/lib/gprpp/global_config_generic.h +2 -2
  494. data/src/core/lib/gprpp/manual_constructor.h +9 -6
  495. data/src/core/lib/gprpp/match.h +73 -0
  496. data/src/core/lib/gprpp/memory.h +3 -3
  497. data/src/core/lib/gprpp/mpscq.cc +7 -7
  498. data/src/core/lib/gprpp/mpscq.h +6 -5
  499. data/src/core/lib/gprpp/orphanable.h +6 -6
  500. data/src/core/lib/gprpp/overload.h +59 -0
  501. data/src/core/lib/gprpp/ref_counted.h +18 -18
  502. data/src/core/lib/gprpp/status_helper.cc +4 -4
  503. data/src/core/lib/gprpp/sync.h +5 -31
  504. data/src/core/lib/gprpp/thd_posix.cc +5 -5
  505. data/src/core/lib/gprpp/thd_windows.cc +4 -11
  506. data/src/core/lib/gprpp/time_util.cc +2 -2
  507. data/src/core/lib/gprpp/time_util.h +2 -2
  508. data/src/core/lib/http/format_request.cc +1 -0
  509. data/src/core/lib/http/format_request.h +1 -0
  510. data/src/core/lib/http/httpcli.cc +9 -9
  511. data/src/core/lib/http/httpcli.h +3 -0
  512. data/src/core/lib/http/httpcli_security_connector.cc +5 -8
  513. data/src/core/lib/http/parser.h +1 -0
  514. data/src/core/lib/iomgr/buffer_list.cc +3 -2
  515. data/src/core/lib/iomgr/buffer_list.h +1 -2
  516. data/src/core/lib/iomgr/call_combiner.cc +1 -0
  517. data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
  518. data/src/core/lib/iomgr/combiner.cc +3 -2
  519. data/src/core/lib/iomgr/combiner.h +1 -0
  520. data/src/core/lib/iomgr/dualstack_socket_posix.cc +1 -0
  521. data/src/core/lib/iomgr/endpoint.cc +0 -4
  522. data/src/core/lib/iomgr/endpoint.h +1 -3
  523. data/src/core/lib/iomgr/endpoint_cfstream.cc +9 -20
  524. data/src/core/lib/iomgr/endpoint_cfstream.h +1 -1
  525. data/src/core/lib/iomgr/endpoint_pair.h +1 -0
  526. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +1 -2
  527. data/src/core/lib/iomgr/endpoint_pair_posix.cc +15 -11
  528. data/src/core/lib/iomgr/endpoint_pair_windows.cc +17 -9
  529. data/src/core/lib/iomgr/error.h +23 -9
  530. data/src/core/lib/iomgr/error_cfstream.cc +2 -2
  531. data/src/core/lib/iomgr/error_internal.h +1 -0
  532. data/src/core/lib/iomgr/ev_apple.h +1 -1
  533. data/src/core/lib/iomgr/ev_epoll1_linux.cc +14 -22
  534. data/src/core/lib/iomgr/ev_epollex_linux.cc +15 -22
  535. data/src/core/lib/iomgr/ev_poll_posix.cc +13 -25
  536. data/src/core/lib/iomgr/ev_posix.cc +1 -2
  537. data/src/core/lib/iomgr/event_engine/endpoint.cc +9 -30
  538. data/src/core/lib/iomgr/event_engine/endpoint.h +1 -2
  539. data/src/core/lib/iomgr/event_engine/iomgr.cc +17 -18
  540. data/src/core/lib/iomgr/event_engine/iomgr.h +20 -2
  541. data/src/core/lib/iomgr/event_engine/resolver.cc +2 -1
  542. data/src/core/lib/iomgr/event_engine/tcp.cc +68 -19
  543. data/src/core/lib/iomgr/exec_ctx.cc +3 -4
  544. data/src/core/lib/iomgr/exec_ctx.h +11 -19
  545. data/src/core/lib/iomgr/executor/mpmcqueue.cc +10 -9
  546. data/src/core/lib/iomgr/executor/mpmcqueue.h +4 -3
  547. data/src/core/lib/iomgr/executor/threadpool.cc +2 -2
  548. data/src/core/lib/iomgr/executor/threadpool.h +2 -1
  549. data/src/core/lib/iomgr/executor.cc +5 -6
  550. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -2
  551. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +2 -2
  552. data/src/core/lib/iomgr/internal_errqueue.cc +3 -2
  553. data/src/core/lib/iomgr/iocp_windows.cc +1 -0
  554. data/src/core/lib/iomgr/iomgr.h +2 -2
  555. data/src/core/lib/iomgr/iomgr_custom.cc +2 -2
  556. data/src/core/lib/iomgr/iomgr_custom.h +2 -2
  557. data/src/core/lib/iomgr/iomgr_internal.cc +2 -1
  558. data/src/core/lib/iomgr/iomgr_windows.cc +1 -2
  559. data/src/core/lib/iomgr/is_epollexclusive_available.cc +4 -4
  560. data/src/core/lib/iomgr/polling_entity.cc +2 -2
  561. data/src/core/lib/iomgr/pollset_custom.cc +3 -4
  562. data/src/core/lib/iomgr/pollset_custom.h +2 -2
  563. data/src/core/lib/iomgr/pollset_set_custom.cc +1 -2
  564. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -0
  565. data/src/core/lib/iomgr/port.h +0 -5
  566. data/src/core/lib/iomgr/python_util.h +2 -1
  567. data/src/core/lib/iomgr/resolve_address.cc +2 -1
  568. data/src/core/lib/iomgr/resolve_address.h +0 -4
  569. data/src/core/lib/iomgr/resolve_address_custom.cc +4 -4
  570. data/src/core/lib/iomgr/resolve_address_custom.h +0 -1
  571. data/src/core/lib/iomgr/resolve_address_posix.cc +2 -4
  572. data/src/core/lib/iomgr/resolve_address_windows.cc +6 -8
  573. data/src/core/lib/iomgr/resource_quota.cc +127 -40
  574. data/src/core/lib/iomgr/resource_quota.h +66 -17
  575. data/src/core/lib/iomgr/sockaddr.h +1 -1
  576. data/src/core/lib/iomgr/socket_factory_posix.cc +3 -3
  577. data/src/core/lib/iomgr/socket_factory_posix.h +1 -0
  578. data/src/core/lib/iomgr/socket_mutator.h +2 -2
  579. data/src/core/lib/iomgr/socket_utils_common_posix.cc +3 -3
  580. data/src/core/lib/iomgr/socket_utils_linux.cc +4 -4
  581. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -2
  582. data/src/core/lib/iomgr/socket_utils_posix.h +2 -2
  583. data/src/core/lib/iomgr/socket_utils_windows.cc +2 -2
  584. data/src/core/lib/iomgr/tcp_client.cc +4 -2
  585. data/src/core/lib/iomgr/tcp_client.h +4 -0
  586. data/src/core/lib/iomgr/tcp_client_cfstream.cc +9 -19
  587. data/src/core/lib/iomgr/tcp_client_custom.cc +9 -17
  588. data/src/core/lib/iomgr/tcp_client_posix.cc +24 -9
  589. data/src/core/lib/iomgr/tcp_client_posix.h +5 -2
  590. data/src/core/lib/iomgr/tcp_client_windows.cc +16 -6
  591. data/src/core/lib/iomgr/tcp_custom.cc +11 -23
  592. data/src/core/lib/iomgr/tcp_custom.h +2 -1
  593. data/src/core/lib/iomgr/tcp_posix.cc +29 -59
  594. data/src/core/lib/iomgr/tcp_posix.h +11 -12
  595. data/src/core/lib/iomgr/tcp_server.cc +6 -4
  596. data/src/core/lib/iomgr/tcp_server.h +12 -9
  597. data/src/core/lib/iomgr/tcp_server_custom.cc +15 -33
  598. data/src/core/lib/iomgr/tcp_server_posix.cc +21 -13
  599. data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
  600. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -2
  601. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +3 -4
  602. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  603. data/src/core/lib/iomgr/tcp_server_windows.cc +13 -9
  604. data/src/core/lib/iomgr/tcp_windows.cc +6 -25
  605. data/src/core/lib/iomgr/tcp_windows.h +2 -1
  606. data/src/core/lib/iomgr/timer.cc +1 -0
  607. data/src/core/lib/iomgr/timer.h +1 -2
  608. data/src/core/lib/iomgr/timer_custom.cc +2 -2
  609. data/src/core/lib/iomgr/timer_generic.cc +8 -38
  610. data/src/core/lib/iomgr/timer_generic.h +1 -0
  611. data/src/core/lib/iomgr/timer_heap.cc +1 -2
  612. data/src/core/lib/iomgr/timer_manager.cc +1 -1
  613. data/src/core/lib/iomgr/udp_server.cc +1 -2
  614. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -5
  615. data/src/core/lib/iomgr/unix_sockets_posix.h +2 -3
  616. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -0
  617. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +2 -3
  618. data/src/core/lib/iomgr/wakeup_fd_posix.cc +1 -0
  619. data/src/core/lib/iomgr/work_serializer.cc +4 -4
  620. data/src/core/lib/iomgr/work_serializer.h +1 -1
  621. data/src/core/lib/json/json_reader.cc +10 -19
  622. data/src/core/lib/json/json_util.h +18 -26
  623. data/src/core/lib/matchers/matchers.cc +8 -20
  624. data/src/core/lib/matchers/matchers.h +2 -2
  625. data/src/core/lib/profiling/basic_timers.cc +8 -6
  626. data/src/core/lib/profiling/stap_timers.cc +2 -2
  627. data/src/core/lib/security/authorization/authorization_policy_provider.h +5 -4
  628. data/src/core/lib/security/authorization/evaluate_args.cc +2 -0
  629. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +159 -0
  630. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +67 -0
  631. data/src/core/lib/security/context/security_context.cc +7 -6
  632. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +2 -2
  633. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -2
  634. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +2 -2
  635. data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -3
  636. data/src/core/lib/security/credentials/credentials.cc +6 -6
  637. data/src/core/lib/security/credentials/credentials.h +1 -1
  638. data/src/core/lib/security/credentials/credentials_metadata.cc +2 -3
  639. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +13 -26
  640. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +1 -2
  641. data/src/core/lib/security/credentials/external/aws_request_signer.cc +3 -3
  642. data/src/core/lib/security/credentials/external/external_account_credentials.cc +13 -22
  643. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +2 -4
  644. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -2
  645. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +55 -3
  646. data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -1
  647. data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
  648. data/src/core/lib/security/credentials/jwt/json_token.h +2 -1
  649. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +31 -14
  650. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -3
  651. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +0 -2
  652. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +3 -3
  653. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +3 -7
  654. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -0
  655. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +2 -4
  656. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +4 -4
  657. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -1
  658. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +3 -2
  659. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +10 -6
  660. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +50 -0
  661. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +14 -5
  662. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +2 -2
  663. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +4 -6
  664. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +1 -0
  665. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +3 -3
  666. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -7
  667. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -2
  668. data/src/core/lib/security/security_connector/ssl_utils.cc +2 -3
  669. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +15 -32
  670. data/src/core/lib/security/transport/auth_filters.h +1 -0
  671. data/src/core/lib/security/transport/client_auth_filter.cc +4 -6
  672. data/src/core/lib/security/transport/secure_endpoint.cc +4 -14
  673. data/src/core/lib/security/transport/secure_endpoint.h +1 -0
  674. data/src/core/lib/security/transport/security_handshaker.cc +17 -8
  675. data/src/core/lib/security/transport/security_handshaker.h +2 -1
  676. data/src/core/lib/security/transport/server_auth_filter.cc +0 -7
  677. data/src/core/lib/security/util/json_util.cc +6 -8
  678. data/src/core/lib/slice/percent_encoding.cc +73 -30
  679. data/src/core/lib/slice/percent_encoding.h +29 -28
  680. data/src/core/lib/slice/slice.cc +14 -5
  681. data/src/core/lib/slice/slice_buffer.cc +1 -2
  682. data/src/core/lib/slice/slice_intern.cc +2 -3
  683. data/src/core/lib/slice/slice_internal.h +3 -2
  684. data/src/core/lib/surface/api_trace.cc +2 -1
  685. data/src/core/lib/surface/api_trace.h +1 -0
  686. data/src/core/lib/surface/byte_buffer_reader.cc +1 -1
  687. data/src/core/lib/surface/call.cc +14 -14
  688. data/src/core/lib/surface/call.h +3 -3
  689. data/src/core/lib/surface/call_details.cc +2 -2
  690. data/src/core/lib/surface/call_log_batch.cc +2 -2
  691. data/src/core/lib/surface/channel.cc +22 -9
  692. data/src/core/lib/surface/channel.h +14 -2
  693. data/src/core/lib/surface/channel_ping.cc +1 -2
  694. data/src/core/lib/surface/channel_stack_type.cc +2 -1
  695. data/src/core/lib/surface/completion_queue.cc +54 -64
  696. data/src/core/lib/surface/completion_queue_factory.cc +2 -1
  697. data/src/core/lib/surface/completion_queue_factory.h +1 -0
  698. data/src/core/lib/surface/event_string.cc +1 -0
  699. data/src/core/lib/surface/init.cc +4 -9
  700. data/src/core/lib/surface/init.h +0 -1
  701. data/src/core/lib/surface/init_secure.cc +23 -4
  702. data/src/core/lib/surface/lame_client.cc +6 -5
  703. data/src/core/lib/surface/metadata_array.cc +2 -2
  704. data/src/core/lib/surface/server.cc +20 -34
  705. data/src/core/lib/surface/server.h +14 -16
  706. data/src/core/lib/surface/validate_metadata.cc +44 -16
  707. data/src/core/lib/surface/version.cc +2 -4
  708. data/src/core/lib/transport/byte_stream.h +1 -0
  709. data/src/core/lib/transport/connectivity_state.cc +8 -5
  710. data/src/core/lib/transport/connectivity_state.h +2 -2
  711. data/src/core/lib/transport/error_utils.cc +1 -0
  712. data/src/core/lib/transport/metadata.cc +10 -10
  713. data/src/core/lib/transport/metadata.h +13 -11
  714. data/src/core/lib/transport/metadata_batch.cc +13 -2
  715. data/src/core/lib/transport/metadata_batch.h +15 -0
  716. data/src/core/lib/transport/transport_op_string.cc +2 -2
  717. data/src/core/plugin_registry/grpc_plugin_registry.cc +14 -0
  718. data/src/core/tsi/alts/crypt/aes_gcm.cc +3 -2
  719. data/src/core/tsi/alts/crypt/gsec.h +2 -3
  720. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +2 -2
  721. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +2 -3
  722. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +2 -2
  723. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -3
  724. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -2
  725. data/src/core/tsi/ssl_transport_security.cc +11 -9
  726. data/src/core/tsi/ssl_transport_security.h +3 -1
  727. data/src/core/tsi/transport_security.cc +3 -3
  728. data/src/core/tsi/transport_security_grpc.h +1 -0
  729. data/src/ruby/ext/grpc/extconf.rb +1 -1
  730. data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -1
  731. data/src/ruby/ext/grpc/rb_call.c +5 -5
  732. data/src/ruby/ext/grpc/rb_call_credentials.c +5 -5
  733. data/src/ruby/ext/grpc/rb_channel.c +10 -8
  734. data/src/ruby/ext/grpc/rb_channel_args.c +2 -2
  735. data/src/ruby/ext/grpc/rb_channel_credentials.c +4 -4
  736. data/src/ruby/ext/grpc/rb_channel_credentials.h +1 -0
  737. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -2
  738. data/src/ruby/ext/grpc/rb_compression_options.c +5 -4
  739. data/src/ruby/ext/grpc/rb_event_thread.c +4 -4
  740. data/src/ruby/ext/grpc/rb_grpc.c +5 -4
  741. data/src/ruby/ext/grpc/rb_grpc.h +1 -0
  742. data/src/ruby/ext/grpc/rb_server.c +6 -5
  743. data/src/ruby/ext/grpc/rb_server_credentials.c +3 -3
  744. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -0
  745. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +8 -5
  746. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +3 -1
  747. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +6 -5
  748. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +3 -1
  749. data/src/ruby/lib/grpc/version.rb +1 -1
  750. data/third_party/boringssl-with-bazel/err_data.c +294 -292
  751. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +52 -47
  752. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +1 -1
  753. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +1 -1
  754. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -0
  755. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +1 -1
  756. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +1 -1
  757. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +1 -1
  758. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +1 -1
  759. data/third_party/boringssl-with-bazel/src/crypto/asn1/{asn1_locl.h → internal.h} +20 -1
  760. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +1 -1
  761. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
  762. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
  763. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +1 -1
  764. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +1 -1
  765. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +1 -1
  766. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +14 -3
  767. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +5 -3
  768. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +5 -6
  769. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +2 -0
  770. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +5 -9
  771. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +1 -1
  772. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +4 -6
  773. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +34 -0
  774. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +219 -121
  775. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +9 -2
  776. data/third_party/boringssl-with-bazel/src/crypto/internal.h +23 -2
  777. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +253 -0
  778. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +28 -23
  779. data/third_party/boringssl-with-bazel/src/crypto/mem.c +2 -0
  780. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +7 -3
  781. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +1 -1
  782. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +1 -0
  783. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +4 -0
  784. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +4 -0
  785. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +4 -0
  786. data/third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c +2 -2
  787. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +15 -11
  788. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +1 -1
  789. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +1 -0
  790. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +45 -2
  791. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +4 -2
  792. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +10 -3
  793. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +6 -23
  794. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +2 -2
  795. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +1 -0
  796. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +25 -22
  797. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +0 -4
  798. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +1 -0
  799. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +1 -3
  800. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +9 -11
  801. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +2 -0
  802. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -3
  803. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +1 -3
  804. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +1 -0
  805. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +0 -2
  806. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +2 -0
  807. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -11
  808. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +5 -5
  809. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +160 -74
  810. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +0 -1
  811. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +8 -5
  812. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +3 -0
  813. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +6 -0
  814. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +25 -0
  815. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -12
  816. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +4 -205
  817. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +3 -0
  818. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +5 -4
  819. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +58 -6
  820. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +184 -55
  821. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +0 -5
  822. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +9 -16
  823. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +44 -2
  824. data/third_party/boringssl-with-bazel/src/ssl/{t1_lib.cc → extensions.cc} +24 -11
  825. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +9 -0
  826. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +75 -68
  827. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +17 -9
  828. data/third_party/boringssl-with-bazel/src/ssl/internal.h +25 -6
  829. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +1 -2
  830. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +11 -5
  831. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +0 -49
  832. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +121 -65
  833. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +14 -6
  834. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +9 -11
  835. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +2 -2
  836. data/third_party/upb/upb/decode.c +129 -60
  837. data/third_party/upb/upb/decode.h +32 -4
  838. data/third_party/upb/upb/decode_fast.c +513 -500
  839. data/third_party/upb/upb/decode_fast.h +27 -0
  840. data/third_party/upb/upb/{decode.int.h → decode_internal.h} +38 -8
  841. data/third_party/upb/upb/def.c +171 -181
  842. data/third_party/upb/upb/def.h +41 -19
  843. data/third_party/upb/upb/def.hpp +29 -0
  844. data/third_party/upb/upb/encode.c +49 -16
  845. data/third_party/upb/upb/encode.h +29 -2
  846. data/third_party/upb/upb/msg.c +169 -28
  847. data/third_party/upb/upb/msg.h +75 -580
  848. data/third_party/upb/upb/msg_internal.h +687 -0
  849. data/third_party/upb/upb/port_def.inc +85 -24
  850. data/third_party/upb/upb/port_undef.inc +38 -1
  851. data/third_party/upb/upb/reflection.c +29 -37
  852. data/third_party/upb/upb/reflection.h +36 -8
  853. data/third_party/upb/upb/reflection.hpp +37 -0
  854. data/third_party/upb/upb/table.c +211 -86
  855. data/third_party/upb/upb/{table.int.h → table_internal.h} +56 -180
  856. data/third_party/upb/upb/text_encode.c +32 -4
  857. data/third_party/upb/upb/text_encode.h +26 -0
  858. data/third_party/upb/upb/upb.c +59 -8
  859. data/third_party/upb/upb/upb.h +36 -6
  860. data/third_party/upb/upb/upb.hpp +24 -0
  861. data/third_party/upb/upb/upb_internal.h +58 -0
  862. data/third_party/xxhash/xxhash.h +77 -195
  863. metadata +80 -61
  864. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +0 -179
  865. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +0 -38
  866. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +0 -243
  867. data/src/core/ext/transport/chttp2/transport/hpack_table.h +0 -148
  868. data/src/core/lib/event_engine/slice_allocator.cc +0 -89
  869. data/src/core/lib/gpr/arena.h +0 -47
  870. data/src/core/lib/gpr/tls_gcc.h +0 -52
  871. data/src/core/lib/gpr/tls_msvc.h +0 -54
  872. data/src/core/lib/gpr/tls_pthread.cc +0 -30
  873. data/src/core/lib/gpr/tls_pthread.h +0 -56
  874. data/src/core/lib/gpr/tls_stdcpp.h +0 -48
  875. data/src/core/lib/gprpp/atomic.h +0 -104
  876. data/src/core/lib/iomgr/endpoint_pair_uv.cc +0 -40
  877. data/src/core/lib/iomgr/iomgr_uv.cc +0 -43
  878. data/src/core/lib/iomgr/pollset_uv.cc +0 -95
  879. data/src/core/lib/iomgr/pollset_uv.h +0 -36
  880. data/src/core/lib/iomgr/sockaddr_custom.h +0 -54
  881. data/src/core/lib/iomgr/socket_utils_uv.cc +0 -49
  882. data/src/core/lib/iomgr/tcp_uv.cc +0 -421
  883. data/src/core/lib/iomgr/timer_uv.cc +0 -66
  884. data/third_party/upb/third_party/wyhash/wyhash.h +0 -145
  885. data/third_party/upb/upb/upb.int.h +0 -29
@@ -9,7 +9,7 @@
9
9
  #ifndef ENVOY_CONFIG_ROUTE_V3_ROUTE_COMPONENTS_PROTO_UPB_H_
10
10
  #define ENVOY_CONFIG_ROUTE_V3_ROUTE_COMPONENTS_PROTO_UPB_H_
11
11
 
12
- #include "upb/msg.h"
12
+ #include "upb/msg_internal.h"
13
13
  #include "upb/decode.h"
14
14
  #include "upb/decode_fast.h"
15
15
  #include "upb/encode.h"
@@ -53,6 +53,7 @@ struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff;
53
53
  struct envoy_config_route_v3_HedgePolicy;
54
54
  struct envoy_config_route_v3_RedirectAction;
55
55
  struct envoy_config_route_v3_DirectResponseAction;
56
+ struct envoy_config_route_v3_NonForwardingAction;
56
57
  struct envoy_config_route_v3_Decorator;
57
58
  struct envoy_config_route_v3_Tracing;
58
59
  struct envoy_config_route_v3_VirtualCluster;
@@ -105,6 +106,7 @@ typedef struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff envoy_c
105
106
  typedef struct envoy_config_route_v3_HedgePolicy envoy_config_route_v3_HedgePolicy;
106
107
  typedef struct envoy_config_route_v3_RedirectAction envoy_config_route_v3_RedirectAction;
107
108
  typedef struct envoy_config_route_v3_DirectResponseAction envoy_config_route_v3_DirectResponseAction;
109
+ typedef struct envoy_config_route_v3_NonForwardingAction envoy_config_route_v3_NonForwardingAction;
108
110
  typedef struct envoy_config_route_v3_Decorator envoy_config_route_v3_Decorator;
109
111
  typedef struct envoy_config_route_v3_Tracing envoy_config_route_v3_Tracing;
110
112
  typedef struct envoy_config_route_v3_VirtualCluster envoy_config_route_v3_VirtualCluster;
@@ -157,6 +159,7 @@ extern const upb_msglayout envoy_config_route_v3_RetryPolicy_RateLimitedRetryBac
157
159
  extern const upb_msglayout envoy_config_route_v3_HedgePolicy_msginit;
158
160
  extern const upb_msglayout envoy_config_route_v3_RedirectAction_msginit;
159
161
  extern const upb_msglayout envoy_config_route_v3_DirectResponseAction_msginit;
162
+ extern const upb_msglayout envoy_config_route_v3_NonForwardingAction_msginit;
160
163
  extern const upb_msglayout envoy_config_route_v3_Decorator_msginit;
161
164
  extern const upb_msglayout envoy_config_route_v3_Tracing_msginit;
162
165
  extern const upb_msglayout envoy_config_route_v3_VirtualCluster_msginit;
@@ -182,6 +185,7 @@ struct envoy_config_core_v3_Metadata;
182
185
  struct envoy_config_core_v3_ProxyProtocolConfig;
183
186
  struct envoy_config_core_v3_RuntimeFractionalPercent;
184
187
  struct envoy_config_core_v3_TypedExtensionConfig;
188
+ struct envoy_type_matcher_v3_MetadataMatcher;
185
189
  struct envoy_type_matcher_v3_RegexMatchAndSubstitute;
186
190
  struct envoy_type_matcher_v3_RegexMatcher;
187
191
  struct envoy_type_matcher_v3_StringMatcher;
@@ -199,6 +203,7 @@ extern const upb_msglayout envoy_config_core_v3_Metadata_msginit;
199
203
  extern const upb_msglayout envoy_config_core_v3_ProxyProtocolConfig_msginit;
200
204
  extern const upb_msglayout envoy_config_core_v3_RuntimeFractionalPercent_msginit;
201
205
  extern const upb_msglayout envoy_config_core_v3_TypedExtensionConfig_msginit;
206
+ extern const upb_msglayout envoy_type_matcher_v3_MetadataMatcher_msginit;
202
207
  extern const upb_msglayout envoy_type_matcher_v3_RegexMatchAndSubstitute_msginit;
203
208
  extern const upb_msglayout envoy_type_matcher_v3_RegexMatcher_msginit;
204
209
  extern const upb_msglayout envoy_type_matcher_v3_StringMatcher_msginit;
@@ -254,13 +259,19 @@ UPB_INLINE envoy_config_route_v3_VirtualHost *envoy_config_route_v3_VirtualHost_
254
259
  UPB_INLINE envoy_config_route_v3_VirtualHost *envoy_config_route_v3_VirtualHost_parse(const char *buf, size_t size,
255
260
  upb_arena *arena) {
256
261
  envoy_config_route_v3_VirtualHost *ret = envoy_config_route_v3_VirtualHost_new(arena);
257
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualHost_msginit, arena)) ? ret : NULL;
262
+ if (!ret) return NULL;
263
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualHost_msginit, arena)) return NULL;
264
+ return ret;
258
265
  }
259
266
  UPB_INLINE envoy_config_route_v3_VirtualHost *envoy_config_route_v3_VirtualHost_parse_ex(const char *buf, size_t size,
260
- upb_arena *arena, int options) {
267
+ const upb_extreg *extreg, int options,
268
+ upb_arena *arena) {
261
269
  envoy_config_route_v3_VirtualHost *ret = envoy_config_route_v3_VirtualHost_new(arena);
262
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualHost_msginit, arena, options))
263
- ? ret : NULL;
270
+ if (!ret) return NULL;
271
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualHost_msginit, extreg, options, arena)) {
272
+ return NULL;
273
+ }
274
+ return ret;
264
275
  }
265
276
  UPB_INLINE char *envoy_config_route_v3_VirtualHost_serialize(const envoy_config_route_v3_VirtualHost *msg, upb_arena *arena, size_t *len) {
266
277
  return upb_encode(msg, &envoy_config_route_v3_VirtualHost_msginit, arena, len);
@@ -501,13 +512,19 @@ UPB_INLINE envoy_config_route_v3_FilterAction *envoy_config_route_v3_FilterActio
501
512
  UPB_INLINE envoy_config_route_v3_FilterAction *envoy_config_route_v3_FilterAction_parse(const char *buf, size_t size,
502
513
  upb_arena *arena) {
503
514
  envoy_config_route_v3_FilterAction *ret = envoy_config_route_v3_FilterAction_new(arena);
504
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_FilterAction_msginit, arena)) ? ret : NULL;
515
+ if (!ret) return NULL;
516
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_FilterAction_msginit, arena)) return NULL;
517
+ return ret;
505
518
  }
506
519
  UPB_INLINE envoy_config_route_v3_FilterAction *envoy_config_route_v3_FilterAction_parse_ex(const char *buf, size_t size,
507
- upb_arena *arena, int options) {
520
+ const upb_extreg *extreg, int options,
521
+ upb_arena *arena) {
508
522
  envoy_config_route_v3_FilterAction *ret = envoy_config_route_v3_FilterAction_new(arena);
509
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_FilterAction_msginit, arena, options))
510
- ? ret : NULL;
523
+ if (!ret) return NULL;
524
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_FilterAction_msginit, extreg, options, arena)) {
525
+ return NULL;
526
+ }
527
+ return ret;
511
528
  }
512
529
  UPB_INLINE char *envoy_config_route_v3_FilterAction_serialize(const envoy_config_route_v3_FilterAction *msg, upb_arena *arena, size_t *len) {
513
530
  return upb_encode(msg, &envoy_config_route_v3_FilterAction_msginit, arena, len);
@@ -538,13 +555,19 @@ UPB_INLINE envoy_config_route_v3_Route *envoy_config_route_v3_Route_new(upb_aren
538
555
  UPB_INLINE envoy_config_route_v3_Route *envoy_config_route_v3_Route_parse(const char *buf, size_t size,
539
556
  upb_arena *arena) {
540
557
  envoy_config_route_v3_Route *ret = envoy_config_route_v3_Route_new(arena);
541
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_Route_msginit, arena)) ? ret : NULL;
558
+ if (!ret) return NULL;
559
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_Route_msginit, arena)) return NULL;
560
+ return ret;
542
561
  }
543
562
  UPB_INLINE envoy_config_route_v3_Route *envoy_config_route_v3_Route_parse_ex(const char *buf, size_t size,
544
- upb_arena *arena, int options) {
563
+ const upb_extreg *extreg, int options,
564
+ upb_arena *arena) {
545
565
  envoy_config_route_v3_Route *ret = envoy_config_route_v3_Route_new(arena);
546
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_Route_msginit, arena, options))
547
- ? ret : NULL;
566
+ if (!ret) return NULL;
567
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_Route_msginit, extreg, options, arena)) {
568
+ return NULL;
569
+ }
570
+ return ret;
548
571
  }
549
572
  UPB_INLINE char *envoy_config_route_v3_Route_serialize(const envoy_config_route_v3_Route *msg, upb_arena *arena, size_t *len) {
550
573
  return upb_encode(msg, &envoy_config_route_v3_Route_msginit, arena, len);
@@ -555,6 +578,7 @@ typedef enum {
555
578
  envoy_config_route_v3_Route_action_redirect = 3,
556
579
  envoy_config_route_v3_Route_action_direct_response = 7,
557
580
  envoy_config_route_v3_Route_action_filter_action = 17,
581
+ envoy_config_route_v3_Route_action_non_forwarding_action = 18,
558
582
  envoy_config_route_v3_Route_action_NOT_SET = 0
559
583
  } envoy_config_route_v3_Route_action_oneofcases;
560
584
  UPB_INLINE envoy_config_route_v3_Route_action_oneofcases envoy_config_route_v3_Route_action_case(const envoy_config_route_v3_Route* msg) { return (envoy_config_route_v3_Route_action_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(56, 112), int32_t); }
@@ -588,6 +612,8 @@ UPB_INLINE bool envoy_config_route_v3_Route_has_per_request_buffer_limit_bytes(c
588
612
  UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_Route_per_request_buffer_limit_bytes(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 56), const struct google_protobuf_UInt32Value*); }
589
613
  UPB_INLINE bool envoy_config_route_v3_Route_has_filter_action(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(56, 112)) == 17; }
590
614
  UPB_INLINE const envoy_config_route_v3_FilterAction* envoy_config_route_v3_Route_filter_action(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_FilterAction*, UPB_SIZE(52, 104), UPB_SIZE(56, 112), 17, NULL); }
615
+ UPB_INLINE bool envoy_config_route_v3_Route_has_non_forwarding_action(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(56, 112)) == 18; }
616
+ UPB_INLINE const envoy_config_route_v3_NonForwardingAction* envoy_config_route_v3_Route_non_forwarding_action(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_NonForwardingAction*, UPB_SIZE(52, 104), UPB_SIZE(56, 112), 18, NULL); }
591
617
 
592
618
  UPB_INLINE void envoy_config_route_v3_Route_set_match(envoy_config_route_v3_Route *msg, envoy_config_route_v3_RouteMatch* value) {
593
619
  _upb_sethas(msg, 1);
@@ -755,6 +781,18 @@ UPB_INLINE struct envoy_config_route_v3_FilterAction* envoy_config_route_v3_Rout
755
781
  }
756
782
  return sub;
757
783
  }
784
+ UPB_INLINE void envoy_config_route_v3_Route_set_non_forwarding_action(envoy_config_route_v3_Route *msg, envoy_config_route_v3_NonForwardingAction* value) {
785
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_NonForwardingAction*, UPB_SIZE(52, 104), value, UPB_SIZE(56, 112), 18);
786
+ }
787
+ UPB_INLINE struct envoy_config_route_v3_NonForwardingAction* envoy_config_route_v3_Route_mutable_non_forwarding_action(envoy_config_route_v3_Route *msg, upb_arena *arena) {
788
+ struct envoy_config_route_v3_NonForwardingAction* sub = (struct envoy_config_route_v3_NonForwardingAction*)envoy_config_route_v3_Route_non_forwarding_action(msg);
789
+ if (sub == NULL) {
790
+ sub = (struct envoy_config_route_v3_NonForwardingAction*)_upb_msg_new(&envoy_config_route_v3_NonForwardingAction_msginit, arena);
791
+ if (!sub) return NULL;
792
+ envoy_config_route_v3_Route_set_non_forwarding_action(msg, sub);
793
+ }
794
+ return sub;
795
+ }
758
796
 
759
797
  /* envoy.config.route.v3.Route.TypedPerFilterConfigEntry */
760
798
 
@@ -782,13 +820,19 @@ UPB_INLINE envoy_config_route_v3_WeightedCluster *envoy_config_route_v3_Weighted
782
820
  UPB_INLINE envoy_config_route_v3_WeightedCluster *envoy_config_route_v3_WeightedCluster_parse(const char *buf, size_t size,
783
821
  upb_arena *arena) {
784
822
  envoy_config_route_v3_WeightedCluster *ret = envoy_config_route_v3_WeightedCluster_new(arena);
785
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_WeightedCluster_msginit, arena)) ? ret : NULL;
823
+ if (!ret) return NULL;
824
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_WeightedCluster_msginit, arena)) return NULL;
825
+ return ret;
786
826
  }
787
827
  UPB_INLINE envoy_config_route_v3_WeightedCluster *envoy_config_route_v3_WeightedCluster_parse_ex(const char *buf, size_t size,
788
- upb_arena *arena, int options) {
828
+ const upb_extreg *extreg, int options,
829
+ upb_arena *arena) {
789
830
  envoy_config_route_v3_WeightedCluster *ret = envoy_config_route_v3_WeightedCluster_new(arena);
790
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_WeightedCluster_msginit, arena, options))
791
- ? ret : NULL;
831
+ if (!ret) return NULL;
832
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_WeightedCluster_msginit, extreg, options, arena)) {
833
+ return NULL;
834
+ }
835
+ return ret;
792
836
  }
793
837
  UPB_INLINE char *envoy_config_route_v3_WeightedCluster_serialize(const envoy_config_route_v3_WeightedCluster *msg, upb_arena *arena, size_t *len) {
794
838
  return upb_encode(msg, &envoy_config_route_v3_WeightedCluster_msginit, arena, len);
@@ -838,40 +882,55 @@ UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight *envoy_config_rou
838
882
  UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight *envoy_config_route_v3_WeightedCluster_ClusterWeight_parse(const char *buf, size_t size,
839
883
  upb_arena *arena) {
840
884
  envoy_config_route_v3_WeightedCluster_ClusterWeight *ret = envoy_config_route_v3_WeightedCluster_ClusterWeight_new(arena);
841
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit, arena)) ? ret : NULL;
885
+ if (!ret) return NULL;
886
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit, arena)) return NULL;
887
+ return ret;
842
888
  }
843
889
  UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight *envoy_config_route_v3_WeightedCluster_ClusterWeight_parse_ex(const char *buf, size_t size,
844
- upb_arena *arena, int options) {
890
+ const upb_extreg *extreg, int options,
891
+ upb_arena *arena) {
845
892
  envoy_config_route_v3_WeightedCluster_ClusterWeight *ret = envoy_config_route_v3_WeightedCluster_ClusterWeight_new(arena);
846
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit, arena, options))
847
- ? ret : NULL;
893
+ if (!ret) return NULL;
894
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit, extreg, options, arena)) {
895
+ return NULL;
896
+ }
897
+ return ret;
848
898
  }
849
899
  UPB_INLINE char *envoy_config_route_v3_WeightedCluster_ClusterWeight_serialize(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_arena *arena, size_t *len) {
850
900
  return upb_encode(msg, &envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit, arena, len);
851
901
  }
852
902
 
903
+ typedef enum {
904
+ envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_host_rewrite_literal = 11,
905
+ envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_NOT_SET = 0
906
+ } envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_oneofcases;
907
+ UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_oneofcases envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_case(const envoy_config_route_v3_WeightedCluster_ClusterWeight* msg) { return (envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(56, 112), int32_t); }
908
+
853
909
  UPB_INLINE upb_strview envoy_config_route_v3_WeightedCluster_ClusterWeight_name(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
854
910
  UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_weight(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_hasbit(msg, 1); }
855
- UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedCluster_ClusterWeight_weight(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_UInt32Value*); }
911
+ UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedCluster_ClusterWeight_weight(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct google_protobuf_UInt32Value*); }
856
912
  UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_metadata_match(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_hasbit(msg, 2); }
857
- UPB_INLINE const struct envoy_config_core_v3_Metadata* envoy_config_route_v3_WeightedCluster_ClusterWeight_metadata_match(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct envoy_config_core_v3_Metadata*); }
858
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_request_headers_to_add(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 40)); }
859
- UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_WeightedCluster_ClusterWeight_request_headers_to_add(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(20, 40), len); }
860
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_response_headers_to_add(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48)); }
861
- UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_WeightedCluster_ClusterWeight_response_headers_to_add(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(24, 48), len); }
862
- UPB_INLINE upb_strview const* envoy_config_route_v3_WeightedCluster_ClusterWeight_response_headers_to_remove(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len); }
863
- UPB_INLINE upb_strview const* envoy_config_route_v3_WeightedCluster_ClusterWeight_request_headers_to_remove(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(32, 64), len); }
864
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_typed_per_filter_config(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(36, 72)); }
865
- UPB_INLINE size_t envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_size(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) {return _upb_msg_map_size(msg, UPB_SIZE(36, 72)); }
866
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_get(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key, struct google_protobuf_Any* *val) { return _upb_msg_map_get(msg, UPB_SIZE(36, 72), &key, 0, val, sizeof(*val)); }
867
- UPB_INLINE const envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry* envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_next(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t* iter) { return (const envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(36, 72), iter); }
913
+ UPB_INLINE const struct envoy_config_core_v3_Metadata* envoy_config_route_v3_WeightedCluster_ClusterWeight_metadata_match(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 48), const struct envoy_config_core_v3_Metadata*); }
914
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_request_headers_to_add(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 56)); }
915
+ UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_WeightedCluster_ClusterWeight_request_headers_to_add(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len); }
916
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_response_headers_to_add(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 64)); }
917
+ UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_WeightedCluster_ClusterWeight_response_headers_to_add(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(32, 64), len); }
918
+ UPB_INLINE upb_strview const* envoy_config_route_v3_WeightedCluster_ClusterWeight_response_headers_to_remove(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(36, 72), len); }
919
+ UPB_INLINE upb_strview const* envoy_config_route_v3_WeightedCluster_ClusterWeight_request_headers_to_remove(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(40, 80), len); }
920
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_typed_per_filter_config(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(44, 88)); }
921
+ UPB_INLINE size_t envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_size(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) {return _upb_msg_map_size(msg, UPB_SIZE(44, 88)); }
922
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_get(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key, struct google_protobuf_Any* *val) { return _upb_msg_map_get(msg, UPB_SIZE(44, 88), &key, 0, val, sizeof(*val)); }
923
+ UPB_INLINE const envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry* envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_next(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t* iter) { return (const envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(44, 88), iter); }
924
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_host_rewrite_literal(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_getoneofcase(msg, UPB_SIZE(56, 112)) == 11; }
925
+ UPB_INLINE upb_strview envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_literal(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(48, 96), UPB_SIZE(56, 112), 11, upb_strview_make("", strlen(""))); }
926
+ UPB_INLINE upb_strview envoy_config_route_v3_WeightedCluster_ClusterWeight_cluster_header(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); }
868
927
 
869
928
  UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_name(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview value) {
870
929
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
871
930
  }
872
931
  UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_weight(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, struct google_protobuf_UInt32Value* value) {
873
932
  _upb_sethas(msg, 1);
874
- *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_UInt32Value*) = value;
933
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct google_protobuf_UInt32Value*) = value;
875
934
  }
876
935
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedCluster_ClusterWeight_mutable_weight(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_arena *arena) {
877
936
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_route_v3_WeightedCluster_ClusterWeight_weight(msg);
@@ -884,7 +943,7 @@ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedClu
884
943
  }
885
944
  UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_metadata_match(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, struct envoy_config_core_v3_Metadata* value) {
886
945
  _upb_sethas(msg, 2);
887
- *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct envoy_config_core_v3_Metadata*) = value;
946
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 48), struct envoy_config_core_v3_Metadata*) = value;
888
947
  }
889
948
  UPB_INLINE struct envoy_config_core_v3_Metadata* envoy_config_route_v3_WeightedCluster_ClusterWeight_mutable_metadata_match(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_arena *arena) {
890
949
  struct envoy_config_core_v3_Metadata* sub = (struct envoy_config_core_v3_Metadata*)envoy_config_route_v3_WeightedCluster_ClusterWeight_metadata_match(msg);
@@ -896,55 +955,61 @@ UPB_INLINE struct envoy_config_core_v3_Metadata* envoy_config_route_v3_WeightedC
896
955
  return sub;
897
956
  }
898
957
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_WeightedCluster_ClusterWeight_mutable_request_headers_to_add(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) {
899
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(20, 40), len);
958
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len);
900
959
  }
901
960
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_WeightedCluster_ClusterWeight_resize_request_headers_to_add(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t len, upb_arena *arena) {
902
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(20, 40), len, UPB_SIZE(2, 3), arena);
961
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(28, 56), len, UPB_SIZE(2, 3), arena);
903
962
  }
904
963
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption* envoy_config_route_v3_WeightedCluster_ClusterWeight_add_request_headers_to_add(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_arena *arena) {
905
964
  struct envoy_config_core_v3_HeaderValueOption* sub = (struct envoy_config_core_v3_HeaderValueOption*)_upb_msg_new(&envoy_config_core_v3_HeaderValueOption_msginit, arena);
906
965
  bool ok = _upb_array_append_accessor2(
907
- msg, UPB_SIZE(20, 40), UPB_SIZE(2, 3), &sub, arena);
966
+ msg, UPB_SIZE(28, 56), UPB_SIZE(2, 3), &sub, arena);
908
967
  if (!ok) return NULL;
909
968
  return sub;
910
969
  }
911
970
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_WeightedCluster_ClusterWeight_mutable_response_headers_to_add(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) {
912
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(24, 48), len);
971
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 64), len);
913
972
  }
914
973
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_WeightedCluster_ClusterWeight_resize_response_headers_to_add(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t len, upb_arena *arena) {
915
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(24, 48), len, UPB_SIZE(2, 3), arena);
974
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(32, 64), len, UPB_SIZE(2, 3), arena);
916
975
  }
917
976
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption* envoy_config_route_v3_WeightedCluster_ClusterWeight_add_response_headers_to_add(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_arena *arena) {
918
977
  struct envoy_config_core_v3_HeaderValueOption* sub = (struct envoy_config_core_v3_HeaderValueOption*)_upb_msg_new(&envoy_config_core_v3_HeaderValueOption_msginit, arena);
919
978
  bool ok = _upb_array_append_accessor2(
920
- msg, UPB_SIZE(24, 48), UPB_SIZE(2, 3), &sub, arena);
979
+ msg, UPB_SIZE(32, 64), UPB_SIZE(2, 3), &sub, arena);
921
980
  if (!ok) return NULL;
922
981
  return sub;
923
982
  }
924
983
  UPB_INLINE upb_strview* envoy_config_route_v3_WeightedCluster_ClusterWeight_mutable_response_headers_to_remove(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) {
925
- return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len);
984
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(36, 72), len);
926
985
  }
927
986
  UPB_INLINE upb_strview* envoy_config_route_v3_WeightedCluster_ClusterWeight_resize_response_headers_to_remove(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t len, upb_arena *arena) {
928
- return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(28, 56), len, UPB_SIZE(3, 4), arena);
987
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(36, 72), len, UPB_SIZE(3, 4), arena);
929
988
  }
930
989
  UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_add_response_headers_to_remove(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview val, upb_arena *arena) {
931
- return _upb_array_append_accessor2(msg, UPB_SIZE(28, 56), UPB_SIZE(3, 4), &val,
990
+ return _upb_array_append_accessor2(msg, UPB_SIZE(36, 72), UPB_SIZE(3, 4), &val,
932
991
  arena);
933
992
  }
934
993
  UPB_INLINE upb_strview* envoy_config_route_v3_WeightedCluster_ClusterWeight_mutable_request_headers_to_remove(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t *len) {
935
- return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 64), len);
994
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 80), len);
936
995
  }
937
996
  UPB_INLINE upb_strview* envoy_config_route_v3_WeightedCluster_ClusterWeight_resize_request_headers_to_remove(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t len, upb_arena *arena) {
938
- return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(32, 64), len, UPB_SIZE(3, 4), arena);
997
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(40, 80), len, UPB_SIZE(3, 4), arena);
939
998
  }
940
999
  UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_add_request_headers_to_remove(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview val, upb_arena *arena) {
941
- return _upb_array_append_accessor2(msg, UPB_SIZE(32, 64), UPB_SIZE(3, 4), &val,
1000
+ return _upb_array_append_accessor2(msg, UPB_SIZE(40, 80), UPB_SIZE(3, 4), &val,
942
1001
  arena);
943
1002
  }
944
- UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_clear(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { _upb_msg_map_clear(msg, UPB_SIZE(36, 72)); }
945
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_set(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key, struct google_protobuf_Any* val, upb_arena *a) { return _upb_msg_map_set(msg, UPB_SIZE(36, 72), &key, 0, &val, sizeof(val), a); }
946
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_delete(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key) { return _upb_msg_map_delete(msg, UPB_SIZE(36, 72), &key, 0); }
947
- UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry* envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_nextmutable(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t* iter) { return (envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(36, 72), iter); }
1003
+ UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_clear(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { _upb_msg_map_clear(msg, UPB_SIZE(44, 88)); }
1004
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_set(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key, struct google_protobuf_Any* val, upb_arena *a) { return _upb_msg_map_set(msg, UPB_SIZE(44, 88), &key, 0, &val, sizeof(val), a); }
1005
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_delete(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key) { return _upb_msg_map_delete(msg, UPB_SIZE(44, 88), &key, 0); }
1006
+ UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry* envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_nextmutable(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t* iter) { return (envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(44, 88), iter); }
1007
+ UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_host_rewrite_literal(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview value) {
1008
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(48, 96), value, UPB_SIZE(56, 112), 11);
1009
+ }
1010
+ UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_cluster_header(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview value) {
1011
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value;
1012
+ }
948
1013
 
949
1014
  /* envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry */
950
1015
 
@@ -972,13 +1037,19 @@ UPB_INLINE envoy_config_route_v3_RouteMatch *envoy_config_route_v3_RouteMatch_ne
972
1037
  UPB_INLINE envoy_config_route_v3_RouteMatch *envoy_config_route_v3_RouteMatch_parse(const char *buf, size_t size,
973
1038
  upb_arena *arena) {
974
1039
  envoy_config_route_v3_RouteMatch *ret = envoy_config_route_v3_RouteMatch_new(arena);
975
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_msginit, arena)) ? ret : NULL;
1040
+ if (!ret) return NULL;
1041
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_msginit, arena)) return NULL;
1042
+ return ret;
976
1043
  }
977
1044
  UPB_INLINE envoy_config_route_v3_RouteMatch *envoy_config_route_v3_RouteMatch_parse_ex(const char *buf, size_t size,
978
- upb_arena *arena, int options) {
1045
+ const upb_extreg *extreg, int options,
1046
+ upb_arena *arena) {
979
1047
  envoy_config_route_v3_RouteMatch *ret = envoy_config_route_v3_RouteMatch_new(arena);
980
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_msginit, arena, options))
981
- ? ret : NULL;
1048
+ if (!ret) return NULL;
1049
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_msginit, extreg, options, arena)) {
1050
+ return NULL;
1051
+ }
1052
+ return ret;
982
1053
  }
983
1054
  UPB_INLINE char *envoy_config_route_v3_RouteMatch_serialize(const envoy_config_route_v3_RouteMatch *msg, upb_arena *arena, size_t *len) {
984
1055
  return upb_encode(msg, &envoy_config_route_v3_RouteMatch_msginit, arena, len);
@@ -991,12 +1062,12 @@ typedef enum {
991
1062
  envoy_config_route_v3_RouteMatch_path_specifier_connect_matcher = 12,
992
1063
  envoy_config_route_v3_RouteMatch_path_specifier_NOT_SET = 0
993
1064
  } envoy_config_route_v3_RouteMatch_path_specifier_oneofcases;
994
- UPB_INLINE envoy_config_route_v3_RouteMatch_path_specifier_oneofcases envoy_config_route_v3_RouteMatch_path_specifier_case(const envoy_config_route_v3_RouteMatch* msg) { return (envoy_config_route_v3_RouteMatch_path_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(36, 72), int32_t); }
1065
+ UPB_INLINE envoy_config_route_v3_RouteMatch_path_specifier_oneofcases envoy_config_route_v3_RouteMatch_path_specifier_case(const envoy_config_route_v3_RouteMatch* msg) { return (envoy_config_route_v3_RouteMatch_path_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(40, 80), int32_t); }
995
1066
 
996
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_prefix(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(36, 72)) == 1; }
997
- UPB_INLINE upb_strview envoy_config_route_v3_RouteMatch_prefix(const envoy_config_route_v3_RouteMatch *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(28, 56), UPB_SIZE(36, 72), 1, upb_strview_make("", strlen(""))); }
998
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_path(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(36, 72)) == 2; }
999
- UPB_INLINE upb_strview envoy_config_route_v3_RouteMatch_path(const envoy_config_route_v3_RouteMatch *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(28, 56), UPB_SIZE(36, 72), 2, upb_strview_make("", strlen(""))); }
1067
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_prefix(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(40, 80)) == 1; }
1068
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteMatch_prefix(const envoy_config_route_v3_RouteMatch *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(32, 64), UPB_SIZE(40, 80), 1, upb_strview_make("", strlen(""))); }
1069
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_path(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(40, 80)) == 2; }
1070
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteMatch_path(const envoy_config_route_v3_RouteMatch *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(32, 64), UPB_SIZE(40, 80), 2, upb_strview_make("", strlen(""))); }
1000
1071
  UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_case_sensitive(const envoy_config_route_v3_RouteMatch *msg) { return _upb_hasbit(msg, 1); }
1001
1072
  UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_case_sensitive(const envoy_config_route_v3_RouteMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_BoolValue*); }
1002
1073
  UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_headers(const envoy_config_route_v3_RouteMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 40)); }
@@ -1007,18 +1078,20 @@ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_grpc(const envoy_config_rou
1007
1078
  UPB_INLINE const envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions* envoy_config_route_v3_RouteMatch_grpc(const envoy_config_route_v3_RouteMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions*); }
1008
1079
  UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_runtime_fraction(const envoy_config_route_v3_RouteMatch *msg) { return _upb_hasbit(msg, 3); }
1009
1080
  UPB_INLINE const struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_RouteMatch_runtime_fraction(const envoy_config_route_v3_RouteMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_config_core_v3_RuntimeFractionalPercent*); }
1010
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_safe_regex(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(36, 72)) == 10; }
1011
- UPB_INLINE const struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_RouteMatch_safe_regex(const envoy_config_route_v3_RouteMatch *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_RegexMatcher*, UPB_SIZE(28, 56), UPB_SIZE(36, 72), 10, NULL); }
1081
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_safe_regex(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(40, 80)) == 10; }
1082
+ UPB_INLINE const struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_RouteMatch_safe_regex(const envoy_config_route_v3_RouteMatch *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_RegexMatcher*, UPB_SIZE(32, 64), UPB_SIZE(40, 80), 10, NULL); }
1012
1083
  UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_tls_context(const envoy_config_route_v3_RouteMatch *msg) { return _upb_hasbit(msg, 4); }
1013
1084
  UPB_INLINE const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions* envoy_config_route_v3_RouteMatch_tls_context(const envoy_config_route_v3_RouteMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions*); }
1014
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_connect_matcher(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(36, 72)) == 12; }
1015
- UPB_INLINE const envoy_config_route_v3_RouteMatch_ConnectMatcher* envoy_config_route_v3_RouteMatch_connect_matcher(const envoy_config_route_v3_RouteMatch *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RouteMatch_ConnectMatcher*, UPB_SIZE(28, 56), UPB_SIZE(36, 72), 12, NULL); }
1085
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_connect_matcher(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(40, 80)) == 12; }
1086
+ UPB_INLINE const envoy_config_route_v3_RouteMatch_ConnectMatcher* envoy_config_route_v3_RouteMatch_connect_matcher(const envoy_config_route_v3_RouteMatch *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RouteMatch_ConnectMatcher*, UPB_SIZE(32, 64), UPB_SIZE(40, 80), 12, NULL); }
1087
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_dynamic_metadata(const envoy_config_route_v3_RouteMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 56)); }
1088
+ UPB_INLINE const struct envoy_type_matcher_v3_MetadataMatcher* const* envoy_config_route_v3_RouteMatch_dynamic_metadata(const envoy_config_route_v3_RouteMatch *msg, size_t *len) { return (const struct envoy_type_matcher_v3_MetadataMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len); }
1016
1089
 
1017
1090
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_prefix(envoy_config_route_v3_RouteMatch *msg, upb_strview value) {
1018
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(28, 56), value, UPB_SIZE(36, 72), 1);
1091
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(32, 64), value, UPB_SIZE(40, 80), 1);
1019
1092
  }
1020
1093
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_path(envoy_config_route_v3_RouteMatch *msg, upb_strview value) {
1021
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(28, 56), value, UPB_SIZE(36, 72), 2);
1094
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(32, 64), value, UPB_SIZE(40, 80), 2);
1022
1095
  }
1023
1096
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_case_sensitive(envoy_config_route_v3_RouteMatch *msg, struct google_protobuf_BoolValue* value) {
1024
1097
  _upb_sethas(msg, 1);
@@ -1086,7 +1159,7 @@ UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_ro
1086
1159
  return sub;
1087
1160
  }
1088
1161
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_safe_regex(envoy_config_route_v3_RouteMatch *msg, struct envoy_type_matcher_v3_RegexMatcher* value) {
1089
- UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_RegexMatcher*, UPB_SIZE(28, 56), value, UPB_SIZE(36, 72), 10);
1162
+ UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_RegexMatcher*, UPB_SIZE(32, 64), value, UPB_SIZE(40, 80), 10);
1090
1163
  }
1091
1164
  UPB_INLINE struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_RouteMatch_mutable_safe_regex(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
1092
1165
  struct envoy_type_matcher_v3_RegexMatcher* sub = (struct envoy_type_matcher_v3_RegexMatcher*)envoy_config_route_v3_RouteMatch_safe_regex(msg);
@@ -1111,7 +1184,7 @@ UPB_INLINE struct envoy_config_route_v3_RouteMatch_TlsContextMatchOptions* envoy
1111
1184
  return sub;
1112
1185
  }
1113
1186
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_connect_matcher(envoy_config_route_v3_RouteMatch *msg, envoy_config_route_v3_RouteMatch_ConnectMatcher* value) {
1114
- UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RouteMatch_ConnectMatcher*, UPB_SIZE(28, 56), value, UPB_SIZE(36, 72), 12);
1187
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RouteMatch_ConnectMatcher*, UPB_SIZE(32, 64), value, UPB_SIZE(40, 80), 12);
1115
1188
  }
1116
1189
  UPB_INLINE struct envoy_config_route_v3_RouteMatch_ConnectMatcher* envoy_config_route_v3_RouteMatch_mutable_connect_matcher(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
1117
1190
  struct envoy_config_route_v3_RouteMatch_ConnectMatcher* sub = (struct envoy_config_route_v3_RouteMatch_ConnectMatcher*)envoy_config_route_v3_RouteMatch_connect_matcher(msg);
@@ -1122,6 +1195,19 @@ UPB_INLINE struct envoy_config_route_v3_RouteMatch_ConnectMatcher* envoy_config_
1122
1195
  }
1123
1196
  return sub;
1124
1197
  }
1198
+ UPB_INLINE struct envoy_type_matcher_v3_MetadataMatcher** envoy_config_route_v3_RouteMatch_mutable_dynamic_metadata(envoy_config_route_v3_RouteMatch *msg, size_t *len) {
1199
+ return (struct envoy_type_matcher_v3_MetadataMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len);
1200
+ }
1201
+ UPB_INLINE struct envoy_type_matcher_v3_MetadataMatcher** envoy_config_route_v3_RouteMatch_resize_dynamic_metadata(envoy_config_route_v3_RouteMatch *msg, size_t len, upb_arena *arena) {
1202
+ return (struct envoy_type_matcher_v3_MetadataMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(28, 56), len, UPB_SIZE(2, 3), arena);
1203
+ }
1204
+ UPB_INLINE struct envoy_type_matcher_v3_MetadataMatcher* envoy_config_route_v3_RouteMatch_add_dynamic_metadata(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
1205
+ struct envoy_type_matcher_v3_MetadataMatcher* sub = (struct envoy_type_matcher_v3_MetadataMatcher*)_upb_msg_new(&envoy_type_matcher_v3_MetadataMatcher_msginit, arena);
1206
+ bool ok = _upb_array_append_accessor2(
1207
+ msg, UPB_SIZE(28, 56), UPB_SIZE(2, 3), &sub, arena);
1208
+ if (!ok) return NULL;
1209
+ return sub;
1210
+ }
1125
1211
 
1126
1212
  /* envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions */
1127
1213
 
@@ -1131,13 +1217,19 @@ UPB_INLINE envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *envoy_config_
1131
1217
  UPB_INLINE envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_parse(const char *buf, size_t size,
1132
1218
  upb_arena *arena) {
1133
1219
  envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *ret = envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_new(arena);
1134
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_msginit, arena)) ? ret : NULL;
1220
+ if (!ret) return NULL;
1221
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_msginit, arena)) return NULL;
1222
+ return ret;
1135
1223
  }
1136
1224
  UPB_INLINE envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_parse_ex(const char *buf, size_t size,
1137
- upb_arena *arena, int options) {
1225
+ const upb_extreg *extreg, int options,
1226
+ upb_arena *arena) {
1138
1227
  envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *ret = envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_new(arena);
1139
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_msginit, arena, options))
1140
- ? ret : NULL;
1228
+ if (!ret) return NULL;
1229
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_msginit, extreg, options, arena)) {
1230
+ return NULL;
1231
+ }
1232
+ return ret;
1141
1233
  }
1142
1234
  UPB_INLINE char *envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_serialize(const envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *msg, upb_arena *arena, size_t *len) {
1143
1235
  return upb_encode(msg, &envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_msginit, arena, len);
@@ -1153,13 +1245,19 @@ UPB_INLINE envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *envoy_config
1153
1245
  UPB_INLINE envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_parse(const char *buf, size_t size,
1154
1246
  upb_arena *arena) {
1155
1247
  envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *ret = envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_new(arena);
1156
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_msginit, arena)) ? ret : NULL;
1248
+ if (!ret) return NULL;
1249
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_msginit, arena)) return NULL;
1250
+ return ret;
1157
1251
  }
1158
1252
  UPB_INLINE envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_parse_ex(const char *buf, size_t size,
1159
- upb_arena *arena, int options) {
1253
+ const upb_extreg *extreg, int options,
1254
+ upb_arena *arena) {
1160
1255
  envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *ret = envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_new(arena);
1161
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_msginit, arena, options))
1162
- ? ret : NULL;
1256
+ if (!ret) return NULL;
1257
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_msginit, extreg, options, arena)) {
1258
+ return NULL;
1259
+ }
1260
+ return ret;
1163
1261
  }
1164
1262
  UPB_INLINE char *envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_serialize(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg, upb_arena *arena, size_t *len) {
1165
1263
  return upb_encode(msg, &envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_msginit, arena, len);
@@ -1205,13 +1303,19 @@ UPB_INLINE envoy_config_route_v3_RouteMatch_ConnectMatcher *envoy_config_route_v
1205
1303
  UPB_INLINE envoy_config_route_v3_RouteMatch_ConnectMatcher *envoy_config_route_v3_RouteMatch_ConnectMatcher_parse(const char *buf, size_t size,
1206
1304
  upb_arena *arena) {
1207
1305
  envoy_config_route_v3_RouteMatch_ConnectMatcher *ret = envoy_config_route_v3_RouteMatch_ConnectMatcher_new(arena);
1208
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_ConnectMatcher_msginit, arena)) ? ret : NULL;
1306
+ if (!ret) return NULL;
1307
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_ConnectMatcher_msginit, arena)) return NULL;
1308
+ return ret;
1209
1309
  }
1210
1310
  UPB_INLINE envoy_config_route_v3_RouteMatch_ConnectMatcher *envoy_config_route_v3_RouteMatch_ConnectMatcher_parse_ex(const char *buf, size_t size,
1211
- upb_arena *arena, int options) {
1311
+ const upb_extreg *extreg, int options,
1312
+ upb_arena *arena) {
1212
1313
  envoy_config_route_v3_RouteMatch_ConnectMatcher *ret = envoy_config_route_v3_RouteMatch_ConnectMatcher_new(arena);
1213
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_ConnectMatcher_msginit, arena, options))
1214
- ? ret : NULL;
1314
+ if (!ret) return NULL;
1315
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteMatch_ConnectMatcher_msginit, extreg, options, arena)) {
1316
+ return NULL;
1317
+ }
1318
+ return ret;
1215
1319
  }
1216
1320
  UPB_INLINE char *envoy_config_route_v3_RouteMatch_ConnectMatcher_serialize(const envoy_config_route_v3_RouteMatch_ConnectMatcher *msg, upb_arena *arena, size_t *len) {
1217
1321
  return upb_encode(msg, &envoy_config_route_v3_RouteMatch_ConnectMatcher_msginit, arena, len);
@@ -1227,13 +1331,19 @@ UPB_INLINE envoy_config_route_v3_CorsPolicy *envoy_config_route_v3_CorsPolicy_ne
1227
1331
  UPB_INLINE envoy_config_route_v3_CorsPolicy *envoy_config_route_v3_CorsPolicy_parse(const char *buf, size_t size,
1228
1332
  upb_arena *arena) {
1229
1333
  envoy_config_route_v3_CorsPolicy *ret = envoy_config_route_v3_CorsPolicy_new(arena);
1230
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_CorsPolicy_msginit, arena)) ? ret : NULL;
1334
+ if (!ret) return NULL;
1335
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_CorsPolicy_msginit, arena)) return NULL;
1336
+ return ret;
1231
1337
  }
1232
1338
  UPB_INLINE envoy_config_route_v3_CorsPolicy *envoy_config_route_v3_CorsPolicy_parse_ex(const char *buf, size_t size,
1233
- upb_arena *arena, int options) {
1339
+ const upb_extreg *extreg, int options,
1340
+ upb_arena *arena) {
1234
1341
  envoy_config_route_v3_CorsPolicy *ret = envoy_config_route_v3_CorsPolicy_new(arena);
1235
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_CorsPolicy_msginit, arena, options))
1236
- ? ret : NULL;
1342
+ if (!ret) return NULL;
1343
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_CorsPolicy_msginit, extreg, options, arena)) {
1344
+ return NULL;
1345
+ }
1346
+ return ret;
1237
1347
  }
1238
1348
  UPB_INLINE char *envoy_config_route_v3_CorsPolicy_serialize(const envoy_config_route_v3_CorsPolicy *msg, upb_arena *arena, size_t *len) {
1239
1349
  return upb_encode(msg, &envoy_config_route_v3_CorsPolicy_msginit, arena, len);
@@ -1330,13 +1440,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction *envoy_config_route_v3_RouteAction_
1330
1440
  UPB_INLINE envoy_config_route_v3_RouteAction *envoy_config_route_v3_RouteAction_parse(const char *buf, size_t size,
1331
1441
  upb_arena *arena) {
1332
1442
  envoy_config_route_v3_RouteAction *ret = envoy_config_route_v3_RouteAction_new(arena);
1333
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_msginit, arena)) ? ret : NULL;
1443
+ if (!ret) return NULL;
1444
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_msginit, arena)) return NULL;
1445
+ return ret;
1334
1446
  }
1335
1447
  UPB_INLINE envoy_config_route_v3_RouteAction *envoy_config_route_v3_RouteAction_parse_ex(const char *buf, size_t size,
1336
- upb_arena *arena, int options) {
1448
+ const upb_extreg *extreg, int options,
1449
+ upb_arena *arena) {
1337
1450
  envoy_config_route_v3_RouteAction *ret = envoy_config_route_v3_RouteAction_new(arena);
1338
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_msginit, arena, options))
1339
- ? ret : NULL;
1451
+ if (!ret) return NULL;
1452
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_msginit, extreg, options, arena)) {
1453
+ return NULL;
1454
+ }
1455
+ return ret;
1340
1456
  }
1341
1457
  UPB_INLINE char *envoy_config_route_v3_RouteAction_serialize(const envoy_config_route_v3_RouteAction *msg, upb_arena *arena, size_t *len) {
1342
1458
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_msginit, arena, len);
@@ -1346,6 +1462,7 @@ typedef enum {
1346
1462
  envoy_config_route_v3_RouteAction_cluster_specifier_cluster = 1,
1347
1463
  envoy_config_route_v3_RouteAction_cluster_specifier_cluster_header = 2,
1348
1464
  envoy_config_route_v3_RouteAction_cluster_specifier_weighted_clusters = 3,
1465
+ envoy_config_route_v3_RouteAction_cluster_specifier_cluster_specifier_plugin = 37,
1349
1466
  envoy_config_route_v3_RouteAction_cluster_specifier_NOT_SET = 0
1350
1467
  } envoy_config_route_v3_RouteAction_cluster_specifier_oneofcases;
1351
1468
  UPB_INLINE envoy_config_route_v3_RouteAction_cluster_specifier_oneofcases envoy_config_route_v3_RouteAction_cluster_specifier_case(const envoy_config_route_v3_RouteAction* msg) { return (envoy_config_route_v3_RouteAction_cluster_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(104, 192), int32_t); }
@@ -1413,6 +1530,8 @@ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_host_rewrite_path_regex(co
1413
1530
  UPB_INLINE const struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_host_rewrite_path_regex(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_RegexMatchAndSubstitute*, UPB_SIZE(108, 200), UPB_SIZE(116, 216), 35, NULL); }
1414
1531
  UPB_INLINE bool envoy_config_route_v3_RouteAction_has_max_stream_duration(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 14); }
1415
1532
  UPB_INLINE const envoy_config_route_v3_RouteAction_MaxStreamDuration* envoy_config_route_v3_RouteAction_max_stream_duration(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(76, 136), const envoy_config_route_v3_RouteAction_MaxStreamDuration*); }
1533
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_cluster_specifier_plugin(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(104, 192)) == 37; }
1534
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_cluster_specifier_plugin(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), UPB_SIZE(104, 192), 37, upb_strview_make("", strlen(""))); }
1416
1535
 
1417
1536
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_cluster(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1418
1537
  UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), value, UPB_SIZE(104, 192), 1);
@@ -1708,6 +1827,9 @@ UPB_INLINE struct envoy_config_route_v3_RouteAction_MaxStreamDuration* envoy_con
1708
1827
  }
1709
1828
  return sub;
1710
1829
  }
1830
+ UPB_INLINE void envoy_config_route_v3_RouteAction_set_cluster_specifier_plugin(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1831
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), value, UPB_SIZE(104, 192), 37);
1832
+ }
1711
1833
 
1712
1834
  /* envoy.config.route.v3.RouteAction.RequestMirrorPolicy */
1713
1835
 
@@ -1717,13 +1839,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_RequestMirrorPolicy *envoy_config_r
1717
1839
  UPB_INLINE envoy_config_route_v3_RouteAction_RequestMirrorPolicy *envoy_config_route_v3_RouteAction_RequestMirrorPolicy_parse(const char *buf, size_t size,
1718
1840
  upb_arena *arena) {
1719
1841
  envoy_config_route_v3_RouteAction_RequestMirrorPolicy *ret = envoy_config_route_v3_RouteAction_RequestMirrorPolicy_new(arena);
1720
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_RequestMirrorPolicy_msginit, arena)) ? ret : NULL;
1842
+ if (!ret) return NULL;
1843
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_RequestMirrorPolicy_msginit, arena)) return NULL;
1844
+ return ret;
1721
1845
  }
1722
1846
  UPB_INLINE envoy_config_route_v3_RouteAction_RequestMirrorPolicy *envoy_config_route_v3_RouteAction_RequestMirrorPolicy_parse_ex(const char *buf, size_t size,
1723
- upb_arena *arena, int options) {
1847
+ const upb_extreg *extreg, int options,
1848
+ upb_arena *arena) {
1724
1849
  envoy_config_route_v3_RouteAction_RequestMirrorPolicy *ret = envoy_config_route_v3_RouteAction_RequestMirrorPolicy_new(arena);
1725
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_RequestMirrorPolicy_msginit, arena, options))
1726
- ? ret : NULL;
1850
+ if (!ret) return NULL;
1851
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_RequestMirrorPolicy_msginit, extreg, options, arena)) {
1852
+ return NULL;
1853
+ }
1854
+ return ret;
1727
1855
  }
1728
1856
  UPB_INLINE char *envoy_config_route_v3_RouteAction_RequestMirrorPolicy_serialize(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg, upb_arena *arena, size_t *len) {
1729
1857
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_RequestMirrorPolicy_msginit, arena, len);
@@ -1773,13 +1901,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy *envoy_config_route_v3_R
1773
1901
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy *envoy_config_route_v3_RouteAction_HashPolicy_parse(const char *buf, size_t size,
1774
1902
  upb_arena *arena) {
1775
1903
  envoy_config_route_v3_RouteAction_HashPolicy *ret = envoy_config_route_v3_RouteAction_HashPolicy_new(arena);
1776
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_msginit, arena)) ? ret : NULL;
1904
+ if (!ret) return NULL;
1905
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_msginit, arena)) return NULL;
1906
+ return ret;
1777
1907
  }
1778
1908
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy *envoy_config_route_v3_RouteAction_HashPolicy_parse_ex(const char *buf, size_t size,
1779
- upb_arena *arena, int options) {
1909
+ const upb_extreg *extreg, int options,
1910
+ upb_arena *arena) {
1780
1911
  envoy_config_route_v3_RouteAction_HashPolicy *ret = envoy_config_route_v3_RouteAction_HashPolicy_new(arena);
1781
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_msginit, arena, options))
1782
- ? ret : NULL;
1912
+ if (!ret) return NULL;
1913
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_msginit, extreg, options, arena)) {
1914
+ return NULL;
1915
+ }
1916
+ return ret;
1783
1917
  }
1784
1918
  UPB_INLINE char *envoy_config_route_v3_RouteAction_HashPolicy_serialize(const envoy_config_route_v3_RouteAction_HashPolicy *msg, upb_arena *arena, size_t *len) {
1785
1919
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_msginit, arena, len);
@@ -1879,13 +2013,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Header *envoy_config_rou
1879
2013
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Header *envoy_config_route_v3_RouteAction_HashPolicy_Header_parse(const char *buf, size_t size,
1880
2014
  upb_arena *arena) {
1881
2015
  envoy_config_route_v3_RouteAction_HashPolicy_Header *ret = envoy_config_route_v3_RouteAction_HashPolicy_Header_new(arena);
1882
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_Header_msginit, arena)) ? ret : NULL;
2016
+ if (!ret) return NULL;
2017
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_Header_msginit, arena)) return NULL;
2018
+ return ret;
1883
2019
  }
1884
2020
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Header *envoy_config_route_v3_RouteAction_HashPolicy_Header_parse_ex(const char *buf, size_t size,
1885
- upb_arena *arena, int options) {
2021
+ const upb_extreg *extreg, int options,
2022
+ upb_arena *arena) {
1886
2023
  envoy_config_route_v3_RouteAction_HashPolicy_Header *ret = envoy_config_route_v3_RouteAction_HashPolicy_Header_new(arena);
1887
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_Header_msginit, arena, options))
1888
- ? ret : NULL;
2024
+ if (!ret) return NULL;
2025
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_Header_msginit, extreg, options, arena)) {
2026
+ return NULL;
2027
+ }
2028
+ return ret;
1889
2029
  }
1890
2030
  UPB_INLINE char *envoy_config_route_v3_RouteAction_HashPolicy_Header_serialize(const envoy_config_route_v3_RouteAction_HashPolicy_Header *msg, upb_arena *arena, size_t *len) {
1891
2031
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_Header_msginit, arena, len);
@@ -1920,13 +2060,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Cookie *envoy_config_rou
1920
2060
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Cookie *envoy_config_route_v3_RouteAction_HashPolicy_Cookie_parse(const char *buf, size_t size,
1921
2061
  upb_arena *arena) {
1922
2062
  envoy_config_route_v3_RouteAction_HashPolicy_Cookie *ret = envoy_config_route_v3_RouteAction_HashPolicy_Cookie_new(arena);
1923
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_Cookie_msginit, arena)) ? ret : NULL;
2063
+ if (!ret) return NULL;
2064
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_Cookie_msginit, arena)) return NULL;
2065
+ return ret;
1924
2066
  }
1925
2067
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Cookie *envoy_config_route_v3_RouteAction_HashPolicy_Cookie_parse_ex(const char *buf, size_t size,
1926
- upb_arena *arena, int options) {
2068
+ const upb_extreg *extreg, int options,
2069
+ upb_arena *arena) {
1927
2070
  envoy_config_route_v3_RouteAction_HashPolicy_Cookie *ret = envoy_config_route_v3_RouteAction_HashPolicy_Cookie_new(arena);
1928
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_Cookie_msginit, arena, options))
1929
- ? ret : NULL;
2071
+ if (!ret) return NULL;
2072
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_Cookie_msginit, extreg, options, arena)) {
2073
+ return NULL;
2074
+ }
2075
+ return ret;
1930
2076
  }
1931
2077
  UPB_INLINE char *envoy_config_route_v3_RouteAction_HashPolicy_Cookie_serialize(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg, upb_arena *arena, size_t *len) {
1932
2078
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_Cookie_msginit, arena, len);
@@ -1965,13 +2111,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *en
1965
2111
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_parse(const char *buf, size_t size,
1966
2112
  upb_arena *arena) {
1967
2113
  envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *ret = envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_new(arena);
1968
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_msginit, arena)) ? ret : NULL;
2114
+ if (!ret) return NULL;
2115
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_msginit, arena)) return NULL;
2116
+ return ret;
1969
2117
  }
1970
2118
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_parse_ex(const char *buf, size_t size,
1971
- upb_arena *arena, int options) {
2119
+ const upb_extreg *extreg, int options,
2120
+ upb_arena *arena) {
1972
2121
  envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *ret = envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_new(arena);
1973
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_msginit, arena, options))
1974
- ? ret : NULL;
2122
+ if (!ret) return NULL;
2123
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_msginit, extreg, options, arena)) {
2124
+ return NULL;
2125
+ }
2126
+ return ret;
1975
2127
  }
1976
2128
  UPB_INLINE char *envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_serialize(const envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *msg, upb_arena *arena, size_t *len) {
1977
2129
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_msginit, arena, len);
@@ -1991,13 +2143,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *envoy_co
1991
2143
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_parse(const char *buf, size_t size,
1992
2144
  upb_arena *arena) {
1993
2145
  envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *ret = envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_new(arena);
1994
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_msginit, arena)) ? ret : NULL;
2146
+ if (!ret) return NULL;
2147
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_msginit, arena)) return NULL;
2148
+ return ret;
1995
2149
  }
1996
2150
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_parse_ex(const char *buf, size_t size,
1997
- upb_arena *arena, int options) {
2151
+ const upb_extreg *extreg, int options,
2152
+ upb_arena *arena) {
1998
2153
  envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *ret = envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_new(arena);
1999
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_msginit, arena, options))
2000
- ? ret : NULL;
2154
+ if (!ret) return NULL;
2155
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_msginit, extreg, options, arena)) {
2156
+ return NULL;
2157
+ }
2158
+ return ret;
2001
2159
  }
2002
2160
  UPB_INLINE char *envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_serialize(const envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *msg, upb_arena *arena, size_t *len) {
2003
2161
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_msginit, arena, len);
@@ -2017,13 +2175,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_FilterState *envoy_confi
2017
2175
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_FilterState *envoy_config_route_v3_RouteAction_HashPolicy_FilterState_parse(const char *buf, size_t size,
2018
2176
  upb_arena *arena) {
2019
2177
  envoy_config_route_v3_RouteAction_HashPolicy_FilterState *ret = envoy_config_route_v3_RouteAction_HashPolicy_FilterState_new(arena);
2020
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_FilterState_msginit, arena)) ? ret : NULL;
2178
+ if (!ret) return NULL;
2179
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_FilterState_msginit, arena)) return NULL;
2180
+ return ret;
2021
2181
  }
2022
2182
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_FilterState *envoy_config_route_v3_RouteAction_HashPolicy_FilterState_parse_ex(const char *buf, size_t size,
2023
- upb_arena *arena, int options) {
2183
+ const upb_extreg *extreg, int options,
2184
+ upb_arena *arena) {
2024
2185
  envoy_config_route_v3_RouteAction_HashPolicy_FilterState *ret = envoy_config_route_v3_RouteAction_HashPolicy_FilterState_new(arena);
2025
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_FilterState_msginit, arena, options))
2026
- ? ret : NULL;
2186
+ if (!ret) return NULL;
2187
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_HashPolicy_FilterState_msginit, extreg, options, arena)) {
2188
+ return NULL;
2189
+ }
2190
+ return ret;
2027
2191
  }
2028
2192
  UPB_INLINE char *envoy_config_route_v3_RouteAction_HashPolicy_FilterState_serialize(const envoy_config_route_v3_RouteAction_HashPolicy_FilterState *msg, upb_arena *arena, size_t *len) {
2029
2193
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_FilterState_msginit, arena, len);
@@ -2043,13 +2207,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig *envoy_config_route_v
2043
2207
  UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig *envoy_config_route_v3_RouteAction_UpgradeConfig_parse(const char *buf, size_t size,
2044
2208
  upb_arena *arena) {
2045
2209
  envoy_config_route_v3_RouteAction_UpgradeConfig *ret = envoy_config_route_v3_RouteAction_UpgradeConfig_new(arena);
2046
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_UpgradeConfig_msginit, arena)) ? ret : NULL;
2210
+ if (!ret) return NULL;
2211
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_UpgradeConfig_msginit, arena)) return NULL;
2212
+ return ret;
2047
2213
  }
2048
2214
  UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig *envoy_config_route_v3_RouteAction_UpgradeConfig_parse_ex(const char *buf, size_t size,
2049
- upb_arena *arena, int options) {
2215
+ const upb_extreg *extreg, int options,
2216
+ upb_arena *arena) {
2050
2217
  envoy_config_route_v3_RouteAction_UpgradeConfig *ret = envoy_config_route_v3_RouteAction_UpgradeConfig_new(arena);
2051
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_UpgradeConfig_msginit, arena, options))
2052
- ? ret : NULL;
2218
+ if (!ret) return NULL;
2219
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_UpgradeConfig_msginit, extreg, options, arena)) {
2220
+ return NULL;
2221
+ }
2222
+ return ret;
2053
2223
  }
2054
2224
  UPB_INLINE char *envoy_config_route_v3_RouteAction_UpgradeConfig_serialize(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg, upb_arena *arena, size_t *len) {
2055
2225
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_UpgradeConfig_msginit, arena, len);
@@ -2099,13 +2269,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *envoy_
2099
2269
  UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_parse(const char *buf, size_t size,
2100
2270
  upb_arena *arena) {
2101
2271
  envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *ret = envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_new(arena);
2102
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_msginit, arena)) ? ret : NULL;
2272
+ if (!ret) return NULL;
2273
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_msginit, arena)) return NULL;
2274
+ return ret;
2103
2275
  }
2104
2276
  UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_parse_ex(const char *buf, size_t size,
2105
- upb_arena *arena, int options) {
2277
+ const upb_extreg *extreg, int options,
2278
+ upb_arena *arena) {
2106
2279
  envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *ret = envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_new(arena);
2107
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_msginit, arena, options))
2108
- ? ret : NULL;
2280
+ if (!ret) return NULL;
2281
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_msginit, extreg, options, arena)) {
2282
+ return NULL;
2283
+ }
2284
+ return ret;
2109
2285
  }
2110
2286
  UPB_INLINE char *envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_serialize(const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg, upb_arena *arena, size_t *len) {
2111
2287
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_msginit, arena, len);
@@ -2140,13 +2316,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_MaxStreamDuration *envoy_config_rou
2140
2316
  UPB_INLINE envoy_config_route_v3_RouteAction_MaxStreamDuration *envoy_config_route_v3_RouteAction_MaxStreamDuration_parse(const char *buf, size_t size,
2141
2317
  upb_arena *arena) {
2142
2318
  envoy_config_route_v3_RouteAction_MaxStreamDuration *ret = envoy_config_route_v3_RouteAction_MaxStreamDuration_new(arena);
2143
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_MaxStreamDuration_msginit, arena)) ? ret : NULL;
2319
+ if (!ret) return NULL;
2320
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_MaxStreamDuration_msginit, arena)) return NULL;
2321
+ return ret;
2144
2322
  }
2145
2323
  UPB_INLINE envoy_config_route_v3_RouteAction_MaxStreamDuration *envoy_config_route_v3_RouteAction_MaxStreamDuration_parse_ex(const char *buf, size_t size,
2146
- upb_arena *arena, int options) {
2324
+ const upb_extreg *extreg, int options,
2325
+ upb_arena *arena) {
2147
2326
  envoy_config_route_v3_RouteAction_MaxStreamDuration *ret = envoy_config_route_v3_RouteAction_MaxStreamDuration_new(arena);
2148
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_MaxStreamDuration_msginit, arena, options))
2149
- ? ret : NULL;
2327
+ if (!ret) return NULL;
2328
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RouteAction_MaxStreamDuration_msginit, extreg, options, arena)) {
2329
+ return NULL;
2330
+ }
2331
+ return ret;
2150
2332
  }
2151
2333
  UPB_INLINE char *envoy_config_route_v3_RouteAction_MaxStreamDuration_serialize(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg, upb_arena *arena, size_t *len) {
2152
2334
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_MaxStreamDuration_msginit, arena, len);
@@ -2207,13 +2389,19 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy *envoy_config_route_v3_RetryPolicy_
2207
2389
  UPB_INLINE envoy_config_route_v3_RetryPolicy *envoy_config_route_v3_RetryPolicy_parse(const char *buf, size_t size,
2208
2390
  upb_arena *arena) {
2209
2391
  envoy_config_route_v3_RetryPolicy *ret = envoy_config_route_v3_RetryPolicy_new(arena);
2210
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_msginit, arena)) ? ret : NULL;
2392
+ if (!ret) return NULL;
2393
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_msginit, arena)) return NULL;
2394
+ return ret;
2211
2395
  }
2212
2396
  UPB_INLINE envoy_config_route_v3_RetryPolicy *envoy_config_route_v3_RetryPolicy_parse_ex(const char *buf, size_t size,
2213
- upb_arena *arena, int options) {
2397
+ const upb_extreg *extreg, int options,
2398
+ upb_arena *arena) {
2214
2399
  envoy_config_route_v3_RetryPolicy *ret = envoy_config_route_v3_RetryPolicy_new(arena);
2215
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_msginit, arena, options))
2216
- ? ret : NULL;
2400
+ if (!ret) return NULL;
2401
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_msginit, extreg, options, arena)) {
2402
+ return NULL;
2403
+ }
2404
+ return ret;
2217
2405
  }
2218
2406
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_serialize(const envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena, size_t *len) {
2219
2407
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_msginit, arena, len);
@@ -2368,13 +2556,19 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryPriority *envoy_config_route_v
2368
2556
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryPriority *envoy_config_route_v3_RetryPolicy_RetryPriority_parse(const char *buf, size_t size,
2369
2557
  upb_arena *arena) {
2370
2558
  envoy_config_route_v3_RetryPolicy_RetryPriority *ret = envoy_config_route_v3_RetryPolicy_RetryPriority_new(arena);
2371
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, arena)) ? ret : NULL;
2559
+ if (!ret) return NULL;
2560
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, arena)) return NULL;
2561
+ return ret;
2372
2562
  }
2373
2563
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryPriority *envoy_config_route_v3_RetryPolicy_RetryPriority_parse_ex(const char *buf, size_t size,
2374
- upb_arena *arena, int options) {
2564
+ const upb_extreg *extreg, int options,
2565
+ upb_arena *arena) {
2375
2566
  envoy_config_route_v3_RetryPolicy_RetryPriority *ret = envoy_config_route_v3_RetryPolicy_RetryPriority_new(arena);
2376
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, arena, options))
2377
- ? ret : NULL;
2567
+ if (!ret) return NULL;
2568
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, extreg, options, arena)) {
2569
+ return NULL;
2570
+ }
2571
+ return ret;
2378
2572
  }
2379
2573
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_RetryPriority_serialize(const envoy_config_route_v3_RetryPolicy_RetryPriority *msg, upb_arena *arena, size_t *len) {
2380
2574
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, arena, len);
@@ -2414,13 +2608,19 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryHostPredicate *envoy_config_ro
2414
2608
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryHostPredicate *envoy_config_route_v3_RetryPolicy_RetryHostPredicate_parse(const char *buf, size_t size,
2415
2609
  upb_arena *arena) {
2416
2610
  envoy_config_route_v3_RetryPolicy_RetryHostPredicate *ret = envoy_config_route_v3_RetryPolicy_RetryHostPredicate_new(arena);
2417
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, arena)) ? ret : NULL;
2611
+ if (!ret) return NULL;
2612
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, arena)) return NULL;
2613
+ return ret;
2418
2614
  }
2419
2615
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryHostPredicate *envoy_config_route_v3_RetryPolicy_RetryHostPredicate_parse_ex(const char *buf, size_t size,
2420
- upb_arena *arena, int options) {
2616
+ const upb_extreg *extreg, int options,
2617
+ upb_arena *arena) {
2421
2618
  envoy_config_route_v3_RetryPolicy_RetryHostPredicate *ret = envoy_config_route_v3_RetryPolicy_RetryHostPredicate_new(arena);
2422
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, arena, options))
2423
- ? ret : NULL;
2619
+ if (!ret) return NULL;
2620
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, extreg, options, arena)) {
2621
+ return NULL;
2622
+ }
2623
+ return ret;
2424
2624
  }
2425
2625
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_RetryHostPredicate_serialize(const envoy_config_route_v3_RetryPolicy_RetryHostPredicate *msg, upb_arena *arena, size_t *len) {
2426
2626
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, arena, len);
@@ -2460,13 +2660,19 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryBackOff *envoy_config_route_v3
2460
2660
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryBackOff *envoy_config_route_v3_RetryPolicy_RetryBackOff_parse(const char *buf, size_t size,
2461
2661
  upb_arena *arena) {
2462
2662
  envoy_config_route_v3_RetryPolicy_RetryBackOff *ret = envoy_config_route_v3_RetryPolicy_RetryBackOff_new(arena);
2463
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, arena)) ? ret : NULL;
2663
+ if (!ret) return NULL;
2664
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, arena)) return NULL;
2665
+ return ret;
2464
2666
  }
2465
2667
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryBackOff *envoy_config_route_v3_RetryPolicy_RetryBackOff_parse_ex(const char *buf, size_t size,
2466
- upb_arena *arena, int options) {
2668
+ const upb_extreg *extreg, int options,
2669
+ upb_arena *arena) {
2467
2670
  envoy_config_route_v3_RetryPolicy_RetryBackOff *ret = envoy_config_route_v3_RetryPolicy_RetryBackOff_new(arena);
2468
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, arena, options))
2469
- ? ret : NULL;
2671
+ if (!ret) return NULL;
2672
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, extreg, options, arena)) {
2673
+ return NULL;
2674
+ }
2675
+ return ret;
2470
2676
  }
2471
2677
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_RetryBackOff_serialize(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg, upb_arena *arena, size_t *len) {
2472
2678
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, arena, len);
@@ -2512,13 +2718,19 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_ResetHeader *envoy_config_route_v3_
2512
2718
  UPB_INLINE envoy_config_route_v3_RetryPolicy_ResetHeader *envoy_config_route_v3_RetryPolicy_ResetHeader_parse(const char *buf, size_t size,
2513
2719
  upb_arena *arena) {
2514
2720
  envoy_config_route_v3_RetryPolicy_ResetHeader *ret = envoy_config_route_v3_RetryPolicy_ResetHeader_new(arena);
2515
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, arena)) ? ret : NULL;
2721
+ if (!ret) return NULL;
2722
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, arena)) return NULL;
2723
+ return ret;
2516
2724
  }
2517
2725
  UPB_INLINE envoy_config_route_v3_RetryPolicy_ResetHeader *envoy_config_route_v3_RetryPolicy_ResetHeader_parse_ex(const char *buf, size_t size,
2518
- upb_arena *arena, int options) {
2726
+ const upb_extreg *extreg, int options,
2727
+ upb_arena *arena) {
2519
2728
  envoy_config_route_v3_RetryPolicy_ResetHeader *ret = envoy_config_route_v3_RetryPolicy_ResetHeader_new(arena);
2520
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, arena, options))
2521
- ? ret : NULL;
2729
+ if (!ret) return NULL;
2730
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, extreg, options, arena)) {
2731
+ return NULL;
2732
+ }
2733
+ return ret;
2522
2734
  }
2523
2735
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_ResetHeader_serialize(const envoy_config_route_v3_RetryPolicy_ResetHeader *msg, upb_arena *arena, size_t *len) {
2524
2736
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, arena, len);
@@ -2542,13 +2754,19 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *envoy_conf
2542
2754
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_parse(const char *buf, size_t size,
2543
2755
  upb_arena *arena) {
2544
2756
  envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *ret = envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_new(arena);
2545
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, arena)) ? ret : NULL;
2757
+ if (!ret) return NULL;
2758
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, arena)) return NULL;
2759
+ return ret;
2546
2760
  }
2547
2761
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_parse_ex(const char *buf, size_t size,
2548
- upb_arena *arena, int options) {
2762
+ const upb_extreg *extreg, int options,
2763
+ upb_arena *arena) {
2549
2764
  envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *ret = envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_new(arena);
2550
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, arena, options))
2551
- ? ret : NULL;
2765
+ if (!ret) return NULL;
2766
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, extreg, options, arena)) {
2767
+ return NULL;
2768
+ }
2769
+ return ret;
2552
2770
  }
2553
2771
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_serialize(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, upb_arena *arena, size_t *len) {
2554
2772
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, arena, len);
@@ -2594,13 +2812,19 @@ UPB_INLINE envoy_config_route_v3_HedgePolicy *envoy_config_route_v3_HedgePolicy_
2594
2812
  UPB_INLINE envoy_config_route_v3_HedgePolicy *envoy_config_route_v3_HedgePolicy_parse(const char *buf, size_t size,
2595
2813
  upb_arena *arena) {
2596
2814
  envoy_config_route_v3_HedgePolicy *ret = envoy_config_route_v3_HedgePolicy_new(arena);
2597
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_HedgePolicy_msginit, arena)) ? ret : NULL;
2815
+ if (!ret) return NULL;
2816
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_HedgePolicy_msginit, arena)) return NULL;
2817
+ return ret;
2598
2818
  }
2599
2819
  UPB_INLINE envoy_config_route_v3_HedgePolicy *envoy_config_route_v3_HedgePolicy_parse_ex(const char *buf, size_t size,
2600
- upb_arena *arena, int options) {
2820
+ const upb_extreg *extreg, int options,
2821
+ upb_arena *arena) {
2601
2822
  envoy_config_route_v3_HedgePolicy *ret = envoy_config_route_v3_HedgePolicy_new(arena);
2602
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_HedgePolicy_msginit, arena, options))
2603
- ? ret : NULL;
2823
+ if (!ret) return NULL;
2824
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_HedgePolicy_msginit, extreg, options, arena)) {
2825
+ return NULL;
2826
+ }
2827
+ return ret;
2604
2828
  }
2605
2829
  UPB_INLINE char *envoy_config_route_v3_HedgePolicy_serialize(const envoy_config_route_v3_HedgePolicy *msg, upb_arena *arena, size_t *len) {
2606
2830
  return upb_encode(msg, &envoy_config_route_v3_HedgePolicy_msginit, arena, len);
@@ -2650,13 +2874,19 @@ UPB_INLINE envoy_config_route_v3_RedirectAction *envoy_config_route_v3_RedirectA
2650
2874
  UPB_INLINE envoy_config_route_v3_RedirectAction *envoy_config_route_v3_RedirectAction_parse(const char *buf, size_t size,
2651
2875
  upb_arena *arena) {
2652
2876
  envoy_config_route_v3_RedirectAction *ret = envoy_config_route_v3_RedirectAction_new(arena);
2653
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RedirectAction_msginit, arena)) ? ret : NULL;
2877
+ if (!ret) return NULL;
2878
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RedirectAction_msginit, arena)) return NULL;
2879
+ return ret;
2654
2880
  }
2655
2881
  UPB_INLINE envoy_config_route_v3_RedirectAction *envoy_config_route_v3_RedirectAction_parse_ex(const char *buf, size_t size,
2656
- upb_arena *arena, int options) {
2882
+ const upb_extreg *extreg, int options,
2883
+ upb_arena *arena) {
2657
2884
  envoy_config_route_v3_RedirectAction *ret = envoy_config_route_v3_RedirectAction_new(arena);
2658
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RedirectAction_msginit, arena, options))
2659
- ? ret : NULL;
2885
+ if (!ret) return NULL;
2886
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RedirectAction_msginit, extreg, options, arena)) {
2887
+ return NULL;
2888
+ }
2889
+ return ret;
2660
2890
  }
2661
2891
  UPB_INLINE char *envoy_config_route_v3_RedirectAction_serialize(const envoy_config_route_v3_RedirectAction *msg, upb_arena *arena, size_t *len) {
2662
2892
  return upb_encode(msg, &envoy_config_route_v3_RedirectAction_msginit, arena, len);
@@ -2737,13 +2967,19 @@ UPB_INLINE envoy_config_route_v3_DirectResponseAction *envoy_config_route_v3_Dir
2737
2967
  UPB_INLINE envoy_config_route_v3_DirectResponseAction *envoy_config_route_v3_DirectResponseAction_parse(const char *buf, size_t size,
2738
2968
  upb_arena *arena) {
2739
2969
  envoy_config_route_v3_DirectResponseAction *ret = envoy_config_route_v3_DirectResponseAction_new(arena);
2740
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_DirectResponseAction_msginit, arena)) ? ret : NULL;
2970
+ if (!ret) return NULL;
2971
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_DirectResponseAction_msginit, arena)) return NULL;
2972
+ return ret;
2741
2973
  }
2742
2974
  UPB_INLINE envoy_config_route_v3_DirectResponseAction *envoy_config_route_v3_DirectResponseAction_parse_ex(const char *buf, size_t size,
2743
- upb_arena *arena, int options) {
2975
+ const upb_extreg *extreg, int options,
2976
+ upb_arena *arena) {
2744
2977
  envoy_config_route_v3_DirectResponseAction *ret = envoy_config_route_v3_DirectResponseAction_new(arena);
2745
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_DirectResponseAction_msginit, arena, options))
2746
- ? ret : NULL;
2978
+ if (!ret) return NULL;
2979
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_DirectResponseAction_msginit, extreg, options, arena)) {
2980
+ return NULL;
2981
+ }
2982
+ return ret;
2747
2983
  }
2748
2984
  UPB_INLINE char *envoy_config_route_v3_DirectResponseAction_serialize(const envoy_config_route_v3_DirectResponseAction *msg, upb_arena *arena, size_t *len) {
2749
2985
  return upb_encode(msg, &envoy_config_route_v3_DirectResponseAction_msginit, arena, len);
@@ -2770,6 +3006,34 @@ UPB_INLINE struct envoy_config_core_v3_DataSource* envoy_config_route_v3_DirectR
2770
3006
  return sub;
2771
3007
  }
2772
3008
 
3009
+ /* envoy.config.route.v3.NonForwardingAction */
3010
+
3011
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_new(upb_arena *arena) {
3012
+ return (envoy_config_route_v3_NonForwardingAction *)_upb_msg_new(&envoy_config_route_v3_NonForwardingAction_msginit, arena);
3013
+ }
3014
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_parse(const char *buf, size_t size,
3015
+ upb_arena *arena) {
3016
+ envoy_config_route_v3_NonForwardingAction *ret = envoy_config_route_v3_NonForwardingAction_new(arena);
3017
+ if (!ret) return NULL;
3018
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_NonForwardingAction_msginit, arena)) return NULL;
3019
+ return ret;
3020
+ }
3021
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_parse_ex(const char *buf, size_t size,
3022
+ const upb_extreg *extreg, int options,
3023
+ upb_arena *arena) {
3024
+ envoy_config_route_v3_NonForwardingAction *ret = envoy_config_route_v3_NonForwardingAction_new(arena);
3025
+ if (!ret) return NULL;
3026
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_NonForwardingAction_msginit, extreg, options, arena)) {
3027
+ return NULL;
3028
+ }
3029
+ return ret;
3030
+ }
3031
+ UPB_INLINE char *envoy_config_route_v3_NonForwardingAction_serialize(const envoy_config_route_v3_NonForwardingAction *msg, upb_arena *arena, size_t *len) {
3032
+ return upb_encode(msg, &envoy_config_route_v3_NonForwardingAction_msginit, arena, len);
3033
+ }
3034
+
3035
+
3036
+
2773
3037
  /* envoy.config.route.v3.Decorator */
2774
3038
 
2775
3039
  UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_new(upb_arena *arena) {
@@ -2778,13 +3042,19 @@ UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_new(
2778
3042
  UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_parse(const char *buf, size_t size,
2779
3043
  upb_arena *arena) {
2780
3044
  envoy_config_route_v3_Decorator *ret = envoy_config_route_v3_Decorator_new(arena);
2781
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_Decorator_msginit, arena)) ? ret : NULL;
3045
+ if (!ret) return NULL;
3046
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_Decorator_msginit, arena)) return NULL;
3047
+ return ret;
2782
3048
  }
2783
3049
  UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_parse_ex(const char *buf, size_t size,
2784
- upb_arena *arena, int options) {
3050
+ const upb_extreg *extreg, int options,
3051
+ upb_arena *arena) {
2785
3052
  envoy_config_route_v3_Decorator *ret = envoy_config_route_v3_Decorator_new(arena);
2786
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_Decorator_msginit, arena, options))
2787
- ? ret : NULL;
3053
+ if (!ret) return NULL;
3054
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_Decorator_msginit, extreg, options, arena)) {
3055
+ return NULL;
3056
+ }
3057
+ return ret;
2788
3058
  }
2789
3059
  UPB_INLINE char *envoy_config_route_v3_Decorator_serialize(const envoy_config_route_v3_Decorator *msg, upb_arena *arena, size_t *len) {
2790
3060
  return upb_encode(msg, &envoy_config_route_v3_Decorator_msginit, arena, len);
@@ -2819,13 +3089,19 @@ UPB_INLINE envoy_config_route_v3_Tracing *envoy_config_route_v3_Tracing_new(upb_
2819
3089
  UPB_INLINE envoy_config_route_v3_Tracing *envoy_config_route_v3_Tracing_parse(const char *buf, size_t size,
2820
3090
  upb_arena *arena) {
2821
3091
  envoy_config_route_v3_Tracing *ret = envoy_config_route_v3_Tracing_new(arena);
2822
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_Tracing_msginit, arena)) ? ret : NULL;
3092
+ if (!ret) return NULL;
3093
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_Tracing_msginit, arena)) return NULL;
3094
+ return ret;
2823
3095
  }
2824
3096
  UPB_INLINE envoy_config_route_v3_Tracing *envoy_config_route_v3_Tracing_parse_ex(const char *buf, size_t size,
2825
- upb_arena *arena, int options) {
3097
+ const upb_extreg *extreg, int options,
3098
+ upb_arena *arena) {
2826
3099
  envoy_config_route_v3_Tracing *ret = envoy_config_route_v3_Tracing_new(arena);
2827
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_Tracing_msginit, arena, options))
2828
- ? ret : NULL;
3100
+ if (!ret) return NULL;
3101
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_Tracing_msginit, extreg, options, arena)) {
3102
+ return NULL;
3103
+ }
3104
+ return ret;
2829
3105
  }
2830
3106
  UPB_INLINE char *envoy_config_route_v3_Tracing_serialize(const envoy_config_route_v3_Tracing *msg, upb_arena *arena, size_t *len) {
2831
3107
  return upb_encode(msg, &envoy_config_route_v3_Tracing_msginit, arena, len);
@@ -2901,13 +3177,19 @@ UPB_INLINE envoy_config_route_v3_VirtualCluster *envoy_config_route_v3_VirtualCl
2901
3177
  UPB_INLINE envoy_config_route_v3_VirtualCluster *envoy_config_route_v3_VirtualCluster_parse(const char *buf, size_t size,
2902
3178
  upb_arena *arena) {
2903
3179
  envoy_config_route_v3_VirtualCluster *ret = envoy_config_route_v3_VirtualCluster_new(arena);
2904
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualCluster_msginit, arena)) ? ret : NULL;
3180
+ if (!ret) return NULL;
3181
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualCluster_msginit, arena)) return NULL;
3182
+ return ret;
2905
3183
  }
2906
3184
  UPB_INLINE envoy_config_route_v3_VirtualCluster *envoy_config_route_v3_VirtualCluster_parse_ex(const char *buf, size_t size,
2907
- upb_arena *arena, int options) {
3185
+ const upb_extreg *extreg, int options,
3186
+ upb_arena *arena) {
2908
3187
  envoy_config_route_v3_VirtualCluster *ret = envoy_config_route_v3_VirtualCluster_new(arena);
2909
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualCluster_msginit, arena, options))
2910
- ? ret : NULL;
3188
+ if (!ret) return NULL;
3189
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualCluster_msginit, extreg, options, arena)) {
3190
+ return NULL;
3191
+ }
3192
+ return ret;
2911
3193
  }
2912
3194
  UPB_INLINE char *envoy_config_route_v3_VirtualCluster_serialize(const envoy_config_route_v3_VirtualCluster *msg, upb_arena *arena, size_t *len) {
2913
3195
  return upb_encode(msg, &envoy_config_route_v3_VirtualCluster_msginit, arena, len);
@@ -2942,13 +3224,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit *envoy_config_route_v3_RateLimit_new(
2942
3224
  UPB_INLINE envoy_config_route_v3_RateLimit *envoy_config_route_v3_RateLimit_parse(const char *buf, size_t size,
2943
3225
  upb_arena *arena) {
2944
3226
  envoy_config_route_v3_RateLimit *ret = envoy_config_route_v3_RateLimit_new(arena);
2945
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_msginit, arena)) ? ret : NULL;
3227
+ if (!ret) return NULL;
3228
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_msginit, arena)) return NULL;
3229
+ return ret;
2946
3230
  }
2947
3231
  UPB_INLINE envoy_config_route_v3_RateLimit *envoy_config_route_v3_RateLimit_parse_ex(const char *buf, size_t size,
2948
- upb_arena *arena, int options) {
3232
+ const upb_extreg *extreg, int options,
3233
+ upb_arena *arena) {
2949
3234
  envoy_config_route_v3_RateLimit *ret = envoy_config_route_v3_RateLimit_new(arena);
2950
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_msginit, arena, options))
2951
- ? ret : NULL;
3235
+ if (!ret) return NULL;
3236
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_msginit, extreg, options, arena)) {
3237
+ return NULL;
3238
+ }
3239
+ return ret;
2952
3240
  }
2953
3241
  UPB_INLINE char *envoy_config_route_v3_RateLimit_serialize(const envoy_config_route_v3_RateLimit *msg, upb_arena *arena, size_t *len) {
2954
3242
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_msginit, arena, len);
@@ -3013,13 +3301,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action *envoy_config_route_v3_RateLim
3013
3301
  UPB_INLINE envoy_config_route_v3_RateLimit_Action *envoy_config_route_v3_RateLimit_Action_parse(const char *buf, size_t size,
3014
3302
  upb_arena *arena) {
3015
3303
  envoy_config_route_v3_RateLimit_Action *ret = envoy_config_route_v3_RateLimit_Action_new(arena);
3016
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_msginit, arena)) ? ret : NULL;
3304
+ if (!ret) return NULL;
3305
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_msginit, arena)) return NULL;
3306
+ return ret;
3017
3307
  }
3018
3308
  UPB_INLINE envoy_config_route_v3_RateLimit_Action *envoy_config_route_v3_RateLimit_Action_parse_ex(const char *buf, size_t size,
3019
- upb_arena *arena, int options) {
3309
+ const upb_extreg *extreg, int options,
3310
+ upb_arena *arena) {
3020
3311
  envoy_config_route_v3_RateLimit_Action *ret = envoy_config_route_v3_RateLimit_Action_new(arena);
3021
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_msginit, arena, options))
3022
- ? ret : NULL;
3312
+ if (!ret) return NULL;
3313
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_msginit, extreg, options, arena)) {
3314
+ return NULL;
3315
+ }
3316
+ return ret;
3023
3317
  }
3024
3318
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_serialize(const envoy_config_route_v3_RateLimit_Action *msg, upb_arena *arena, size_t *len) {
3025
3319
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_msginit, arena, len);
@@ -3175,13 +3469,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_SourceCluster *envoy_config_ro
3175
3469
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_SourceCluster *envoy_config_route_v3_RateLimit_Action_SourceCluster_parse(const char *buf, size_t size,
3176
3470
  upb_arena *arena) {
3177
3471
  envoy_config_route_v3_RateLimit_Action_SourceCluster *ret = envoy_config_route_v3_RateLimit_Action_SourceCluster_new(arena);
3178
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, arena)) ? ret : NULL;
3472
+ if (!ret) return NULL;
3473
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, arena)) return NULL;
3474
+ return ret;
3179
3475
  }
3180
3476
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_SourceCluster *envoy_config_route_v3_RateLimit_Action_SourceCluster_parse_ex(const char *buf, size_t size,
3181
- upb_arena *arena, int options) {
3477
+ const upb_extreg *extreg, int options,
3478
+ upb_arena *arena) {
3182
3479
  envoy_config_route_v3_RateLimit_Action_SourceCluster *ret = envoy_config_route_v3_RateLimit_Action_SourceCluster_new(arena);
3183
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, arena, options))
3184
- ? ret : NULL;
3480
+ if (!ret) return NULL;
3481
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, extreg, options, arena)) {
3482
+ return NULL;
3483
+ }
3484
+ return ret;
3185
3485
  }
3186
3486
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_SourceCluster_serialize(const envoy_config_route_v3_RateLimit_Action_SourceCluster *msg, upb_arena *arena, size_t *len) {
3187
3487
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, arena, len);
@@ -3197,13 +3497,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_DestinationCluster *envoy_conf
3197
3497
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_DestinationCluster *envoy_config_route_v3_RateLimit_Action_DestinationCluster_parse(const char *buf, size_t size,
3198
3498
  upb_arena *arena) {
3199
3499
  envoy_config_route_v3_RateLimit_Action_DestinationCluster *ret = envoy_config_route_v3_RateLimit_Action_DestinationCluster_new(arena);
3200
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, arena)) ? ret : NULL;
3500
+ if (!ret) return NULL;
3501
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, arena)) return NULL;
3502
+ return ret;
3201
3503
  }
3202
3504
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_DestinationCluster *envoy_config_route_v3_RateLimit_Action_DestinationCluster_parse_ex(const char *buf, size_t size,
3203
- upb_arena *arena, int options) {
3505
+ const upb_extreg *extreg, int options,
3506
+ upb_arena *arena) {
3204
3507
  envoy_config_route_v3_RateLimit_Action_DestinationCluster *ret = envoy_config_route_v3_RateLimit_Action_DestinationCluster_new(arena);
3205
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, arena, options))
3206
- ? ret : NULL;
3508
+ if (!ret) return NULL;
3509
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, extreg, options, arena)) {
3510
+ return NULL;
3511
+ }
3512
+ return ret;
3207
3513
  }
3208
3514
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_DestinationCluster_serialize(const envoy_config_route_v3_RateLimit_Action_DestinationCluster *msg, upb_arena *arena, size_t *len) {
3209
3515
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, arena, len);
@@ -3219,13 +3525,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_RequestHeaders *envoy_config_r
3219
3525
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_RequestHeaders *envoy_config_route_v3_RateLimit_Action_RequestHeaders_parse(const char *buf, size_t size,
3220
3526
  upb_arena *arena) {
3221
3527
  envoy_config_route_v3_RateLimit_Action_RequestHeaders *ret = envoy_config_route_v3_RateLimit_Action_RequestHeaders_new(arena);
3222
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, arena)) ? ret : NULL;
3528
+ if (!ret) return NULL;
3529
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, arena)) return NULL;
3530
+ return ret;
3223
3531
  }
3224
3532
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_RequestHeaders *envoy_config_route_v3_RateLimit_Action_RequestHeaders_parse_ex(const char *buf, size_t size,
3225
- upb_arena *arena, int options) {
3533
+ const upb_extreg *extreg, int options,
3534
+ upb_arena *arena) {
3226
3535
  envoy_config_route_v3_RateLimit_Action_RequestHeaders *ret = envoy_config_route_v3_RateLimit_Action_RequestHeaders_new(arena);
3227
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, arena, options))
3228
- ? ret : NULL;
3536
+ if (!ret) return NULL;
3537
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, extreg, options, arena)) {
3538
+ return NULL;
3539
+ }
3540
+ return ret;
3229
3541
  }
3230
3542
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_RequestHeaders_serialize(const envoy_config_route_v3_RateLimit_Action_RequestHeaders *msg, upb_arena *arena, size_t *len) {
3231
3543
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, arena, len);
@@ -3253,13 +3565,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_RemoteAddress *envoy_config_ro
3253
3565
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_RemoteAddress *envoy_config_route_v3_RateLimit_Action_RemoteAddress_parse(const char *buf, size_t size,
3254
3566
  upb_arena *arena) {
3255
3567
  envoy_config_route_v3_RateLimit_Action_RemoteAddress *ret = envoy_config_route_v3_RateLimit_Action_RemoteAddress_new(arena);
3256
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, arena)) ? ret : NULL;
3568
+ if (!ret) return NULL;
3569
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, arena)) return NULL;
3570
+ return ret;
3257
3571
  }
3258
3572
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_RemoteAddress *envoy_config_route_v3_RateLimit_Action_RemoteAddress_parse_ex(const char *buf, size_t size,
3259
- upb_arena *arena, int options) {
3573
+ const upb_extreg *extreg, int options,
3574
+ upb_arena *arena) {
3260
3575
  envoy_config_route_v3_RateLimit_Action_RemoteAddress *ret = envoy_config_route_v3_RateLimit_Action_RemoteAddress_new(arena);
3261
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, arena, options))
3262
- ? ret : NULL;
3576
+ if (!ret) return NULL;
3577
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, extreg, options, arena)) {
3578
+ return NULL;
3579
+ }
3580
+ return ret;
3263
3581
  }
3264
3582
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_RemoteAddress_serialize(const envoy_config_route_v3_RateLimit_Action_RemoteAddress *msg, upb_arena *arena, size_t *len) {
3265
3583
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, arena, len);
@@ -3275,13 +3593,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_GenericKey *envoy_config_route
3275
3593
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_GenericKey *envoy_config_route_v3_RateLimit_Action_GenericKey_parse(const char *buf, size_t size,
3276
3594
  upb_arena *arena) {
3277
3595
  envoy_config_route_v3_RateLimit_Action_GenericKey *ret = envoy_config_route_v3_RateLimit_Action_GenericKey_new(arena);
3278
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, arena)) ? ret : NULL;
3596
+ if (!ret) return NULL;
3597
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, arena)) return NULL;
3598
+ return ret;
3279
3599
  }
3280
3600
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_GenericKey *envoy_config_route_v3_RateLimit_Action_GenericKey_parse_ex(const char *buf, size_t size,
3281
- upb_arena *arena, int options) {
3601
+ const upb_extreg *extreg, int options,
3602
+ upb_arena *arena) {
3282
3603
  envoy_config_route_v3_RateLimit_Action_GenericKey *ret = envoy_config_route_v3_RateLimit_Action_GenericKey_new(arena);
3283
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, arena, options))
3284
- ? ret : NULL;
3604
+ if (!ret) return NULL;
3605
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, extreg, options, arena)) {
3606
+ return NULL;
3607
+ }
3608
+ return ret;
3285
3609
  }
3286
3610
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_GenericKey_serialize(const envoy_config_route_v3_RateLimit_Action_GenericKey *msg, upb_arena *arena, size_t *len) {
3287
3611
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, arena, len);
@@ -3305,13 +3629,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *envoy_config
3305
3629
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_parse(const char *buf, size_t size,
3306
3630
  upb_arena *arena) {
3307
3631
  envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *ret = envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_new(arena);
3308
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, arena)) ? ret : NULL;
3632
+ if (!ret) return NULL;
3633
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, arena)) return NULL;
3634
+ return ret;
3309
3635
  }
3310
3636
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_parse_ex(const char *buf, size_t size,
3311
- upb_arena *arena, int options) {
3637
+ const upb_extreg *extreg, int options,
3638
+ upb_arena *arena) {
3312
3639
  envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *ret = envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_new(arena);
3313
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, arena, options))
3314
- ? ret : NULL;
3640
+ if (!ret) return NULL;
3641
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, extreg, options, arena)) {
3642
+ return NULL;
3643
+ }
3644
+ return ret;
3315
3645
  }
3316
3646
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_serialize(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, upb_arena *arena, size_t *len) {
3317
3647
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, arena, len);
@@ -3361,13 +3691,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_DynamicMetaData *envoy_config_
3361
3691
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_DynamicMetaData *envoy_config_route_v3_RateLimit_Action_DynamicMetaData_parse(const char *buf, size_t size,
3362
3692
  upb_arena *arena) {
3363
3693
  envoy_config_route_v3_RateLimit_Action_DynamicMetaData *ret = envoy_config_route_v3_RateLimit_Action_DynamicMetaData_new(arena);
3364
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, arena)) ? ret : NULL;
3694
+ if (!ret) return NULL;
3695
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, arena)) return NULL;
3696
+ return ret;
3365
3697
  }
3366
3698
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_DynamicMetaData *envoy_config_route_v3_RateLimit_Action_DynamicMetaData_parse_ex(const char *buf, size_t size,
3367
- upb_arena *arena, int options) {
3699
+ const upb_extreg *extreg, int options,
3700
+ upb_arena *arena) {
3368
3701
  envoy_config_route_v3_RateLimit_Action_DynamicMetaData *ret = envoy_config_route_v3_RateLimit_Action_DynamicMetaData_new(arena);
3369
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, arena, options))
3370
- ? ret : NULL;
3702
+ if (!ret) return NULL;
3703
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, extreg, options, arena)) {
3704
+ return NULL;
3705
+ }
3706
+ return ret;
3371
3707
  }
3372
3708
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_DynamicMetaData_serialize(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg, upb_arena *arena, size_t *len) {
3373
3709
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, arena, len);
@@ -3406,13 +3742,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_MetaData *envoy_config_route_v
3406
3742
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_MetaData *envoy_config_route_v3_RateLimit_Action_MetaData_parse(const char *buf, size_t size,
3407
3743
  upb_arena *arena) {
3408
3744
  envoy_config_route_v3_RateLimit_Action_MetaData *ret = envoy_config_route_v3_RateLimit_Action_MetaData_new(arena);
3409
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_MetaData_msginit, arena)) ? ret : NULL;
3745
+ if (!ret) return NULL;
3746
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_MetaData_msginit, arena)) return NULL;
3747
+ return ret;
3410
3748
  }
3411
3749
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_MetaData *envoy_config_route_v3_RateLimit_Action_MetaData_parse_ex(const char *buf, size_t size,
3412
- upb_arena *arena, int options) {
3750
+ const upb_extreg *extreg, int options,
3751
+ upb_arena *arena) {
3413
3752
  envoy_config_route_v3_RateLimit_Action_MetaData *ret = envoy_config_route_v3_RateLimit_Action_MetaData_new(arena);
3414
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_MetaData_msginit, arena, options))
3415
- ? ret : NULL;
3753
+ if (!ret) return NULL;
3754
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_MetaData_msginit, extreg, options, arena)) {
3755
+ return NULL;
3756
+ }
3757
+ return ret;
3416
3758
  }
3417
3759
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_MetaData_serialize(const envoy_config_route_v3_RateLimit_Action_MetaData *msg, upb_arena *arena, size_t *len) {
3418
3760
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_MetaData_msginit, arena, len);
@@ -3455,13 +3797,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Override *envoy_config_route_v3_RateL
3455
3797
  UPB_INLINE envoy_config_route_v3_RateLimit_Override *envoy_config_route_v3_RateLimit_Override_parse(const char *buf, size_t size,
3456
3798
  upb_arena *arena) {
3457
3799
  envoy_config_route_v3_RateLimit_Override *ret = envoy_config_route_v3_RateLimit_Override_new(arena);
3458
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_msginit, arena)) ? ret : NULL;
3800
+ if (!ret) return NULL;
3801
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_msginit, arena)) return NULL;
3802
+ return ret;
3459
3803
  }
3460
3804
  UPB_INLINE envoy_config_route_v3_RateLimit_Override *envoy_config_route_v3_RateLimit_Override_parse_ex(const char *buf, size_t size,
3461
- upb_arena *arena, int options) {
3805
+ const upb_extreg *extreg, int options,
3806
+ upb_arena *arena) {
3462
3807
  envoy_config_route_v3_RateLimit_Override *ret = envoy_config_route_v3_RateLimit_Override_new(arena);
3463
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_msginit, arena, options))
3464
- ? ret : NULL;
3808
+ if (!ret) return NULL;
3809
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_msginit, extreg, options, arena)) {
3810
+ return NULL;
3811
+ }
3812
+ return ret;
3465
3813
  }
3466
3814
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Override_serialize(const envoy_config_route_v3_RateLimit_Override *msg, upb_arena *arena, size_t *len) {
3467
3815
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Override_msginit, arena, len);
@@ -3497,13 +3845,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Override_DynamicMetadata *envoy_confi
3497
3845
  UPB_INLINE envoy_config_route_v3_RateLimit_Override_DynamicMetadata *envoy_config_route_v3_RateLimit_Override_DynamicMetadata_parse(const char *buf, size_t size,
3498
3846
  upb_arena *arena) {
3499
3847
  envoy_config_route_v3_RateLimit_Override_DynamicMetadata *ret = envoy_config_route_v3_RateLimit_Override_DynamicMetadata_new(arena);
3500
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, arena)) ? ret : NULL;
3848
+ if (!ret) return NULL;
3849
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, arena)) return NULL;
3850
+ return ret;
3501
3851
  }
3502
3852
  UPB_INLINE envoy_config_route_v3_RateLimit_Override_DynamicMetadata *envoy_config_route_v3_RateLimit_Override_DynamicMetadata_parse_ex(const char *buf, size_t size,
3503
- upb_arena *arena, int options) {
3853
+ const upb_extreg *extreg, int options,
3854
+ upb_arena *arena) {
3504
3855
  envoy_config_route_v3_RateLimit_Override_DynamicMetadata *ret = envoy_config_route_v3_RateLimit_Override_DynamicMetadata_new(arena);
3505
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, arena, options))
3506
- ? ret : NULL;
3856
+ if (!ret) return NULL;
3857
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, extreg, options, arena)) {
3858
+ return NULL;
3859
+ }
3860
+ return ret;
3507
3861
  }
3508
3862
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Override_DynamicMetadata_serialize(const envoy_config_route_v3_RateLimit_Override_DynamicMetadata *msg, upb_arena *arena, size_t *len) {
3509
3863
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, arena, len);
@@ -3534,13 +3888,19 @@ UPB_INLINE envoy_config_route_v3_HeaderMatcher *envoy_config_route_v3_HeaderMatc
3534
3888
  UPB_INLINE envoy_config_route_v3_HeaderMatcher *envoy_config_route_v3_HeaderMatcher_parse(const char *buf, size_t size,
3535
3889
  upb_arena *arena) {
3536
3890
  envoy_config_route_v3_HeaderMatcher *ret = envoy_config_route_v3_HeaderMatcher_new(arena);
3537
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_HeaderMatcher_msginit, arena)) ? ret : NULL;
3891
+ if (!ret) return NULL;
3892
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_HeaderMatcher_msginit, arena)) return NULL;
3893
+ return ret;
3538
3894
  }
3539
3895
  UPB_INLINE envoy_config_route_v3_HeaderMatcher *envoy_config_route_v3_HeaderMatcher_parse_ex(const char *buf, size_t size,
3540
- upb_arena *arena, int options) {
3896
+ const upb_extreg *extreg, int options,
3897
+ upb_arena *arena) {
3541
3898
  envoy_config_route_v3_HeaderMatcher *ret = envoy_config_route_v3_HeaderMatcher_new(arena);
3542
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_HeaderMatcher_msginit, arena, options))
3543
- ? ret : NULL;
3899
+ if (!ret) return NULL;
3900
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_HeaderMatcher_msginit, extreg, options, arena)) {
3901
+ return NULL;
3902
+ }
3903
+ return ret;
3544
3904
  }
3545
3905
  UPB_INLINE char *envoy_config_route_v3_HeaderMatcher_serialize(const envoy_config_route_v3_HeaderMatcher *msg, upb_arena *arena, size_t *len) {
3546
3906
  return upb_encode(msg, &envoy_config_route_v3_HeaderMatcher_msginit, arena, len);
@@ -3554,6 +3914,7 @@ typedef enum {
3554
3914
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_prefix_match = 9,
3555
3915
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_suffix_match = 10,
3556
3916
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_contains_match = 12,
3917
+ envoy_config_route_v3_HeaderMatcher_header_match_specifier_string_match = 13,
3557
3918
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_NOT_SET = 0
3558
3919
  } envoy_config_route_v3_HeaderMatcher_header_match_specifier_oneofcases;
3559
3920
  UPB_INLINE envoy_config_route_v3_HeaderMatcher_header_match_specifier_oneofcases envoy_config_route_v3_HeaderMatcher_header_match_specifier_case(const envoy_config_route_v3_HeaderMatcher* msg) { return (envoy_config_route_v3_HeaderMatcher_header_match_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(20, 40), int32_t); }
@@ -3574,6 +3935,8 @@ UPB_INLINE bool envoy_config_route_v3_HeaderMatcher_has_safe_regex_match(const e
3574
3935
  UPB_INLINE const struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_HeaderMatcher_safe_regex_match(const envoy_config_route_v3_HeaderMatcher *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_RegexMatcher*, UPB_SIZE(12, 24), UPB_SIZE(20, 40), 11, NULL); }
3575
3936
  UPB_INLINE bool envoy_config_route_v3_HeaderMatcher_has_contains_match(const envoy_config_route_v3_HeaderMatcher *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 12; }
3576
3937
  UPB_INLINE upb_strview envoy_config_route_v3_HeaderMatcher_contains_match(const envoy_config_route_v3_HeaderMatcher *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(12, 24), UPB_SIZE(20, 40), 12, upb_strview_make("", strlen(""))); }
3938
+ UPB_INLINE bool envoy_config_route_v3_HeaderMatcher_has_string_match(const envoy_config_route_v3_HeaderMatcher *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 13; }
3939
+ UPB_INLINE const struct envoy_type_matcher_v3_StringMatcher* envoy_config_route_v3_HeaderMatcher_string_match(const envoy_config_route_v3_HeaderMatcher *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_StringMatcher*, UPB_SIZE(12, 24), UPB_SIZE(20, 40), 13, NULL); }
3577
3940
 
3578
3941
  UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_name(envoy_config_route_v3_HeaderMatcher *msg, upb_strview value) {
3579
3942
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
@@ -3620,6 +3983,18 @@ UPB_INLINE struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_Head
3620
3983
  UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_contains_match(envoy_config_route_v3_HeaderMatcher *msg, upb_strview value) {
3621
3984
  UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(12, 24), value, UPB_SIZE(20, 40), 12);
3622
3985
  }
3986
+ UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_string_match(envoy_config_route_v3_HeaderMatcher *msg, struct envoy_type_matcher_v3_StringMatcher* value) {
3987
+ UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_StringMatcher*, UPB_SIZE(12, 24), value, UPB_SIZE(20, 40), 13);
3988
+ }
3989
+ UPB_INLINE struct envoy_type_matcher_v3_StringMatcher* envoy_config_route_v3_HeaderMatcher_mutable_string_match(envoy_config_route_v3_HeaderMatcher *msg, upb_arena *arena) {
3990
+ struct envoy_type_matcher_v3_StringMatcher* sub = (struct envoy_type_matcher_v3_StringMatcher*)envoy_config_route_v3_HeaderMatcher_string_match(msg);
3991
+ if (sub == NULL) {
3992
+ sub = (struct envoy_type_matcher_v3_StringMatcher*)_upb_msg_new(&envoy_type_matcher_v3_StringMatcher_msginit, arena);
3993
+ if (!sub) return NULL;
3994
+ envoy_config_route_v3_HeaderMatcher_set_string_match(msg, sub);
3995
+ }
3996
+ return sub;
3997
+ }
3623
3998
 
3624
3999
  /* envoy.config.route.v3.QueryParameterMatcher */
3625
4000
 
@@ -3629,13 +4004,19 @@ UPB_INLINE envoy_config_route_v3_QueryParameterMatcher *envoy_config_route_v3_Qu
3629
4004
  UPB_INLINE envoy_config_route_v3_QueryParameterMatcher *envoy_config_route_v3_QueryParameterMatcher_parse(const char *buf, size_t size,
3630
4005
  upb_arena *arena) {
3631
4006
  envoy_config_route_v3_QueryParameterMatcher *ret = envoy_config_route_v3_QueryParameterMatcher_new(arena);
3632
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_QueryParameterMatcher_msginit, arena)) ? ret : NULL;
4007
+ if (!ret) return NULL;
4008
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_QueryParameterMatcher_msginit, arena)) return NULL;
4009
+ return ret;
3633
4010
  }
3634
4011
  UPB_INLINE envoy_config_route_v3_QueryParameterMatcher *envoy_config_route_v3_QueryParameterMatcher_parse_ex(const char *buf, size_t size,
3635
- upb_arena *arena, int options) {
4012
+ const upb_extreg *extreg, int options,
4013
+ upb_arena *arena) {
3636
4014
  envoy_config_route_v3_QueryParameterMatcher *ret = envoy_config_route_v3_QueryParameterMatcher_new(arena);
3637
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_QueryParameterMatcher_msginit, arena, options))
3638
- ? ret : NULL;
4015
+ if (!ret) return NULL;
4016
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_QueryParameterMatcher_msginit, extreg, options, arena)) {
4017
+ return NULL;
4018
+ }
4019
+ return ret;
3639
4020
  }
3640
4021
  UPB_INLINE char *envoy_config_route_v3_QueryParameterMatcher_serialize(const envoy_config_route_v3_QueryParameterMatcher *msg, upb_arena *arena, size_t *len) {
3641
4022
  return upb_encode(msg, &envoy_config_route_v3_QueryParameterMatcher_msginit, arena, len);
@@ -3681,13 +4062,19 @@ UPB_INLINE envoy_config_route_v3_InternalRedirectPolicy *envoy_config_route_v3_I
3681
4062
  UPB_INLINE envoy_config_route_v3_InternalRedirectPolicy *envoy_config_route_v3_InternalRedirectPolicy_parse(const char *buf, size_t size,
3682
4063
  upb_arena *arena) {
3683
4064
  envoy_config_route_v3_InternalRedirectPolicy *ret = envoy_config_route_v3_InternalRedirectPolicy_new(arena);
3684
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_InternalRedirectPolicy_msginit, arena)) ? ret : NULL;
4065
+ if (!ret) return NULL;
4066
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_InternalRedirectPolicy_msginit, arena)) return NULL;
4067
+ return ret;
3685
4068
  }
3686
4069
  UPB_INLINE envoy_config_route_v3_InternalRedirectPolicy *envoy_config_route_v3_InternalRedirectPolicy_parse_ex(const char *buf, size_t size,
3687
- upb_arena *arena, int options) {
4070
+ const upb_extreg *extreg, int options,
4071
+ upb_arena *arena) {
3688
4072
  envoy_config_route_v3_InternalRedirectPolicy *ret = envoy_config_route_v3_InternalRedirectPolicy_new(arena);
3689
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_InternalRedirectPolicy_msginit, arena, options))
3690
- ? ret : NULL;
4073
+ if (!ret) return NULL;
4074
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_InternalRedirectPolicy_msginit, extreg, options, arena)) {
4075
+ return NULL;
4076
+ }
4077
+ return ret;
3691
4078
  }
3692
4079
  UPB_INLINE char *envoy_config_route_v3_InternalRedirectPolicy_serialize(const envoy_config_route_v3_InternalRedirectPolicy *msg, upb_arena *arena, size_t *len) {
3693
4080
  return upb_encode(msg, &envoy_config_route_v3_InternalRedirectPolicy_msginit, arena, len);
@@ -3748,13 +4135,19 @@ UPB_INLINE envoy_config_route_v3_FilterConfig *envoy_config_route_v3_FilterConfi
3748
4135
  UPB_INLINE envoy_config_route_v3_FilterConfig *envoy_config_route_v3_FilterConfig_parse(const char *buf, size_t size,
3749
4136
  upb_arena *arena) {
3750
4137
  envoy_config_route_v3_FilterConfig *ret = envoy_config_route_v3_FilterConfig_new(arena);
3751
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_FilterConfig_msginit, arena)) ? ret : NULL;
4138
+ if (!ret) return NULL;
4139
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_FilterConfig_msginit, arena)) return NULL;
4140
+ return ret;
3752
4141
  }
3753
4142
  UPB_INLINE envoy_config_route_v3_FilterConfig *envoy_config_route_v3_FilterConfig_parse_ex(const char *buf, size_t size,
3754
- upb_arena *arena, int options) {
4143
+ const upb_extreg *extreg, int options,
4144
+ upb_arena *arena) {
3755
4145
  envoy_config_route_v3_FilterConfig *ret = envoy_config_route_v3_FilterConfig_new(arena);
3756
- return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_FilterConfig_msginit, arena, options))
3757
- ? ret : NULL;
4146
+ if (!ret) return NULL;
4147
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_FilterConfig_msginit, extreg, options, arena)) {
4148
+ return NULL;
4149
+ }
4150
+ return ret;
3758
4151
  }
3759
4152
  UPB_INLINE char *envoy_config_route_v3_FilterConfig_serialize(const envoy_config_route_v3_FilterConfig *msg, upb_arena *arena, size_t *len) {
3760
4153
  return upb_encode(msg, &envoy_config_route_v3_FilterConfig_msginit, arena, len);