grpc 1.34.0 → 1.42.0

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

Potentially problematic release.


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

Files changed (1545) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +978 -2868
  3. data/etc/roots.pem +592 -899
  4. data/include/grpc/byte_buffer.h +1 -1
  5. data/include/grpc/byte_buffer_reader.h +1 -1
  6. data/include/grpc/compression.h +1 -1
  7. data/include/grpc/event_engine/README.md +38 -0
  8. data/include/grpc/event_engine/endpoint_config.h +43 -0
  9. data/include/grpc/event_engine/event_engine.h +375 -0
  10. data/include/grpc/event_engine/internal/memory_allocator_impl.h +98 -0
  11. data/include/grpc/event_engine/memory_allocator.h +210 -0
  12. data/include/grpc/event_engine/port.h +39 -0
  13. data/include/grpc/fork.h +1 -1
  14. data/include/grpc/grpc.h +49 -4
  15. data/include/grpc/grpc_posix.h +5 -2
  16. data/include/grpc/grpc_security.h +127 -14
  17. data/include/grpc/grpc_security_constants.h +16 -0
  18. data/include/grpc/impl/codegen/atm.h +5 -3
  19. data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
  20. data/include/grpc/impl/codegen/atm_gcc_sync.h +2 -0
  21. data/include/grpc/impl/codegen/atm_windows.h +6 -0
  22. data/include/grpc/impl/codegen/byte_buffer.h +3 -1
  23. data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -0
  24. data/include/grpc/impl/codegen/compression_types.h +2 -0
  25. data/include/grpc/impl/codegen/connectivity_state.h +2 -0
  26. data/include/grpc/impl/codegen/fork.h +2 -0
  27. data/include/grpc/impl/codegen/gpr_slice.h +2 -0
  28. data/include/grpc/impl/codegen/gpr_types.h +2 -0
  29. data/include/grpc/impl/codegen/grpc_types.h +49 -25
  30. data/include/grpc/impl/codegen/log.h +2 -2
  31. data/include/grpc/impl/codegen/port_platform.h +81 -22
  32. data/include/grpc/impl/codegen/propagation_bits.h +2 -0
  33. data/include/grpc/impl/codegen/slice.h +2 -0
  34. data/include/grpc/impl/codegen/status.h +2 -0
  35. data/include/grpc/impl/codegen/sync.h +8 -5
  36. data/include/grpc/impl/codegen/sync_abseil.h +2 -0
  37. data/include/grpc/impl/codegen/sync_custom.h +2 -0
  38. data/include/grpc/impl/codegen/sync_generic.h +3 -0
  39. data/include/grpc/impl/codegen/sync_posix.h +4 -2
  40. data/include/grpc/impl/codegen/sync_windows.h +6 -0
  41. data/include/grpc/module.modulemap +14 -14
  42. data/include/grpc/slice.h +1 -1
  43. data/include/grpc/slice_buffer.h +3 -3
  44. data/include/grpc/status.h +1 -1
  45. data/include/grpc/support/atm.h +1 -1
  46. data/include/grpc/support/atm_gcc_atomic.h +1 -1
  47. data/include/grpc/support/atm_gcc_sync.h +1 -1
  48. data/include/grpc/support/atm_windows.h +1 -1
  49. data/include/grpc/support/log.h +1 -1
  50. data/include/grpc/support/port_platform.h +1 -1
  51. data/include/grpc/support/sync.h +4 -4
  52. data/include/grpc/support/sync_abseil.h +1 -1
  53. data/include/grpc/support/sync_custom.h +1 -1
  54. data/include/grpc/support/sync_generic.h +1 -1
  55. data/include/grpc/support/sync_posix.h +1 -1
  56. data/include/grpc/support/sync_windows.h +1 -1
  57. data/include/grpc/support/time.h +9 -9
  58. data/src/core/ext/filters/census/grpc_context.cc +1 -0
  59. data/src/core/ext/filters/client_channel/backend_metric.cc +20 -24
  60. data/src/core/ext/filters/client_channel/backup_poller.cc +5 -4
  61. data/src/core/ext/filters/client_channel/backup_poller.h +1 -0
  62. data/src/core/ext/filters/client_channel/channel_connectivity.cc +158 -202
  63. data/src/core/ext/filters/client_channel/client_channel.cc +2009 -3145
  64. data/src/core/ext/filters/client_channel/client_channel.h +559 -60
  65. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +6 -5
  66. data/src/core/ext/filters/client_channel/client_channel_channelz.h +2 -2
  67. data/src/core/ext/filters/client_channel/client_channel_factory.cc +2 -1
  68. data/src/core/ext/filters/client_channel/client_channel_factory.h +18 -19
  69. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +18 -14
  70. data/src/core/ext/filters/client_channel/config_selector.cc +2 -1
  71. data/src/core/ext/filters/client_channel/config_selector.h +33 -9
  72. data/src/core/ext/filters/client_channel/connector.h +19 -19
  73. data/src/core/ext/filters/client_channel/dynamic_filters.cc +190 -0
  74. data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
  75. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -142
  76. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -11
  77. data/src/core/ext/filters/client_channel/health/health_check_client.cc +53 -50
  78. data/src/core/ext/filters/client_channel/health/health_check_client.h +35 -33
  79. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +37 -34
  80. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +10 -2
  81. data/src/core/ext/filters/client_channel/http_proxy.cc +36 -20
  82. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +6 -2
  83. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +12 -21
  84. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +246 -166
  85. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +4 -0
  86. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +1 -1
  87. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -2
  88. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +3 -5
  89. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +2 -2
  90. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +4 -3
  91. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +5 -6
  92. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
  93. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +37 -30
  94. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +53 -55
  95. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +757 -0
  96. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +37 -0
  97. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2502 -0
  98. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +16 -18
  99. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +3 -3
  100. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +24 -27
  101. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +385 -135
  102. data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -8
  103. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +29 -0
  104. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +57 -71
  105. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +43 -64
  106. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1362 -0
  107. data/src/core/ext/filters/client_channel/lb_policy.cc +6 -17
  108. data/src/core/ext/filters/client_channel/lb_policy.h +93 -93
  109. data/src/core/ext/filters/client_channel/lb_policy_factory.h +2 -1
  110. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +8 -11
  111. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  112. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
  113. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +10 -9
  114. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +139 -0
  115. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +76 -88
  116. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +3 -33
  117. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc +31 -0
  118. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +10 -9
  119. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +26 -23
  120. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +473 -74
  121. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +27 -2
  122. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc +28 -0
  123. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  124. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +45 -35
  125. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +43 -46
  126. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
  127. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +384 -0
  128. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +22 -35
  129. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +466 -254
  130. data/src/core/ext/filters/client_channel/resolver.cc +5 -5
  131. data/src/core/ext/filters/client_channel/resolver.h +4 -15
  132. data/src/core/ext/filters/client_channel/resolver_factory.h +8 -6
  133. data/src/core/ext/filters/client_channel/resolver_registry.cc +43 -44
  134. data/src/core/ext/filters/client_channel/resolver_registry.h +2 -2
  135. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +42 -252
  136. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +25 -54
  137. data/src/core/ext/filters/client_channel/retry_filter.cc +2573 -0
  138. data/src/core/ext/filters/{workarounds/workaround_cronet_compression_filter.h → client_channel/retry_filter.h} +9 -6
  139. data/src/core/ext/filters/client_channel/retry_service_config.cc +316 -0
  140. data/src/core/ext/filters/client_channel/retry_service_config.h +96 -0
  141. data/src/core/ext/filters/client_channel/retry_throttle.cc +20 -49
  142. data/src/core/ext/filters/client_channel/retry_throttle.h +3 -1
  143. data/src/core/ext/filters/client_channel/server_address.cc +10 -1
  144. data/src/core/ext/filters/client_channel/server_address.h +31 -0
  145. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +54 -40
  146. data/src/core/ext/filters/client_channel/subchannel.cc +179 -329
  147. data/src/core/ext/filters/client_channel/subchannel.h +101 -158
  148. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +38 -9
  149. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +21 -10
  150. data/src/core/ext/filters/client_idle/client_idle_filter.cc +47 -223
  151. data/src/core/ext/filters/client_idle/idle_filter_state.cc +96 -0
  152. data/src/core/ext/filters/client_idle/idle_filter_state.h +66 -0
  153. data/src/core/ext/filters/deadline/deadline_filter.cc +33 -34
  154. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +503 -0
  155. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
  156. data/src/core/ext/filters/fault_injection/service_config_parser.cc +181 -0
  157. data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
  158. data/src/core/ext/filters/http/client/http_client_filter.cc +77 -69
  159. data/src/core/ext/filters/http/client_authority_filter.cc +19 -19
  160. data/src/core/ext/filters/http/http_filters_plugin.cc +53 -68
  161. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +42 -35
  162. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +29 -30
  163. data/src/core/ext/filters/http/server/http_server_filter.cc +104 -95
  164. data/src/core/ext/filters/max_age/max_age_filter.cc +71 -68
  165. data/src/core/ext/filters/message_size/message_size_filter.cc +43 -41
  166. data/src/core/ext/filters/message_size/message_size_filter.h +2 -2
  167. data/src/core/ext/{filters/client_channel → service_config}/service_config.cc +17 -16
  168. data/src/core/ext/{filters/client_channel → service_config}/service_config.h +11 -10
  169. data/src/core/ext/{filters/client_channel → service_config}/service_config_call_data.h +23 -19
  170. data/src/core/ext/{filters/client_channel → service_config}/service_config_parser.cc +9 -9
  171. data/src/core/ext/{filters/client_channel → service_config}/service_config_parser.h +15 -10
  172. data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
  173. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +37 -23
  174. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +9 -7
  175. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +42 -35
  176. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +32 -16
  177. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +51 -62
  178. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +664 -236
  179. data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -2
  180. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +13 -5
  181. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +25 -11
  182. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +61 -22
  183. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +4 -2
  184. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -1
  185. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -0
  186. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +264 -223
  187. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +16 -2
  188. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
  189. data/src/core/ext/transport/chttp2/transport/context_list.h +5 -6
  190. data/src/core/ext/transport/chttp2/transport/flow_control.cc +59 -40
  191. data/src/core/ext/transport/chttp2/transport/flow_control.h +23 -17
  192. data/src/core/ext/transport/chttp2/transport/frame_data.cc +28 -24
  193. data/src/core/ext/transport/chttp2/transport/frame_data.h +11 -10
  194. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +21 -20
  195. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +7 -6
  196. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +13 -13
  197. data/src/core/ext/transport/chttp2/transport/frame_ping.h +8 -6
  198. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +12 -15
  199. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +7 -6
  200. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +49 -17
  201. data/src/core/ext/transport/chttp2/transport/frame_settings.h +9 -7
  202. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +22 -19
  203. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -6
  204. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +41 -0
  205. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +311 -665
  206. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +240 -70
  207. data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +107 -0
  208. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +86 -0
  209. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +69 -0
  210. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +865 -1172
  211. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +100 -81
  212. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +146 -0
  213. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +137 -0
  214. data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +46 -0
  215. data/src/core/{lib/transport/authority_override.h → ext/transport/chttp2/transport/hpack_utils.h} +8 -12
  216. data/src/core/ext/transport/chttp2/transport/internal.h +40 -33
  217. data/src/core/ext/transport/chttp2/transport/parsing.cc +156 -286
  218. data/src/core/ext/transport/chttp2/transport/popularity_count.h +60 -0
  219. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -2
  220. data/src/core/ext/transport/chttp2/transport/varint.cc +13 -7
  221. data/src/core/ext/transport/chttp2/transport/varint.h +39 -28
  222. data/src/core/ext/transport/chttp2/transport/writing.cc +69 -54
  223. data/src/core/ext/transport/inproc/inproc_transport.cc +204 -160
  224. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
  225. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1591 -0
  226. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +1 -1
  227. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +2 -1
  228. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +3 -3
  229. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +15 -2
  230. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +48 -49
  231. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +245 -56
  232. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +371 -0
  233. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1554 -0
  234. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +16 -16
  235. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +66 -21
  236. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +178 -142
  237. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +795 -314
  238. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +4 -4
  239. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +21 -7
  240. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +25 -24
  241. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +70 -23
  242. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +29 -29
  243. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +138 -47
  244. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +5 -5
  245. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +23 -8
  246. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +147 -75
  247. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +522 -96
  248. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +27 -27
  249. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +116 -49
  250. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +3 -3
  251. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +15 -2
  252. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +9 -9
  253. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +42 -14
  254. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +63 -63
  255. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +228 -63
  256. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +57 -56
  257. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +244 -98
  258. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +5 -5
  259. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +25 -11
  260. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +125 -57
  261. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +533 -89
  262. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +3 -4
  263. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +15 -2
  264. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +46 -0
  265. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +133 -0
  266. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +8 -8
  267. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +17 -4
  268. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +15 -8
  269. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +56 -9
  270. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +35 -0
  271. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +96 -0
  272. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +16 -17
  273. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +81 -40
  274. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +56 -22
  275. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +223 -34
  276. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
  277. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +137 -72
  278. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +3 -3
  279. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +19 -5
  280. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +48 -38
  281. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +276 -103
  282. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +51 -45
  283. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +203 -62
  284. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -0
  285. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +177 -0
  286. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +10 -9
  287. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +55 -22
  288. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
  289. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +536 -0
  290. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +153 -0
  291. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +550 -0
  292. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +51 -44
  293. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +165 -43
  294. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +35 -16
  295. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +148 -40
  296. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +339 -279
  297. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +1466 -543
  298. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +10 -10
  299. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +48 -10
  300. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +6 -7
  301. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +32 -6
  302. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +29 -0
  303. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -0
  304. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
  305. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +298 -0
  306. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +79 -0
  307. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +303 -0
  308. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +42 -0
  309. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +123 -0
  310. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +151 -112
  311. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +693 -244
  312. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +1 -2
  313. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -1
  314. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +52 -32
  315. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +231 -59
  316. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +15 -18
  317. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +51 -28
  318. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +45 -44
  319. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +178 -74
  320. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +2 -2
  321. data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +15 -2
  322. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +2 -2
  323. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +15 -2
  324. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +58 -51
  325. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +221 -135
  326. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +2 -5
  327. data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +15 -2
  328. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +2 -5
  329. data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +15 -2
  330. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +9 -10
  331. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +46 -19
  332. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +2 -4
  333. data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +15 -2
  334. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +2 -2
  335. data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +15 -2
  336. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +121 -0
  337. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +468 -0
  338. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +60 -0
  339. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +205 -0
  340. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +9 -8
  341. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +44 -14
  342. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
  343. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +96 -0
  344. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +4 -4
  345. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +15 -2
  346. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +3 -3
  347. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +15 -2
  348. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +10 -9
  349. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +51 -12
  350. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +10 -11
  351. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +31 -6
  352. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
  353. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +136 -0
  354. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +11 -11
  355. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +41 -4
  356. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +15 -15
  357. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +96 -11
  358. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +19 -19
  359. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +77 -14
  360. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +1 -1
  361. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -1
  362. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +6 -6
  363. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +30 -5
  364. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +10 -10
  365. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +41 -4
  366. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +5 -5
  367. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +15 -2
  368. data/src/core/ext/upb-generated/google/api/annotations.upb.c +1 -1
  369. data/src/core/ext/upb-generated/google/api/annotations.upb.h +2 -1
  370. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +62 -62
  371. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +227 -84
  372. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +86 -69
  373. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +256 -72
  374. data/src/core/ext/upb-generated/google/api/http.upb.c +18 -18
  375. data/src/core/ext/upb-generated/google/api/http.upb.h +47 -10
  376. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +4 -4
  377. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +15 -2
  378. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +154 -154
  379. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +645 -320
  380. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +4 -4
  381. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +15 -2
  382. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +2 -2
  383. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +15 -2
  384. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
  385. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +44 -7
  386. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +4 -4
  387. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +15 -2
  388. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +19 -19
  389. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +119 -10
  390. data/src/core/ext/upb-generated/google/rpc/status.upb.c +5 -5
  391. data/src/core/ext/upb-generated/google/rpc/status.upb.h +18 -5
  392. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
  393. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +19 -5
  394. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +63 -63
  395. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +220 -87
  396. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +8 -8
  397. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +36 -9
  398. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +5 -5
  399. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +28 -3
  400. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
  401. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +146 -35
  402. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +55 -0
  403. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +154 -0
  404. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +8 -8
  405. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +41 -4
  406. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +4 -6
  407. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +15 -2
  408. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +1 -1
  409. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +2 -1
  410. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +4 -4
  411. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +17 -4
  412. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +3 -3
  413. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +15 -2
  414. data/src/core/ext/upb-generated/validate/validate.upb.c +243 -227
  415. data/src/core/ext/upb-generated/validate/validate.upb.h +626 -253
  416. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +58 -0
  417. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +182 -0
  418. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +28 -0
  419. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +66 -0
  420. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +52 -0
  421. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +155 -0
  422. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +42 -0
  423. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +90 -0
  424. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +36 -0
  425. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +100 -0
  426. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +54 -0
  427. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +178 -0
  428. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +36 -0
  429. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +91 -0
  430. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +58 -0
  431. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +130 -0
  432. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +33 -0
  433. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +83 -0
  434. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
  435. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
  436. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +15 -7
  437. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +168 -170
  438. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +424 -0
  439. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +120 -0
  440. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +467 -429
  441. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +12 -2
  442. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +12 -9
  443. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +156 -109
  444. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +25 -0
  445. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +89 -88
  446. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +156 -153
  447. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +240 -168
  448. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +20 -0
  449. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +4 -7
  450. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +59 -0
  451. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +40 -0
  452. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +37 -20
  453. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +52 -0
  454. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
  455. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +56 -59
  456. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +90 -63
  457. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +10 -0
  458. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +137 -122
  459. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  460. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +136 -120
  461. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +90 -0
  462. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
  463. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +31 -26
  464. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
  465. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
  466. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +152 -0
  467. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +75 -0
  468. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +69 -51
  469. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +5 -0
  470. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +748 -681
  471. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +15 -0
  472. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +22 -25
  473. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +51 -0
  474. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +35 -0
  475. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
  476. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
  477. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +123 -0
  478. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
  479. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +79 -0
  480. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
  481. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +435 -379
  482. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +10 -0
  483. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +12 -16
  484. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +121 -91
  485. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -0
  486. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +45 -53
  487. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +182 -180
  488. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +92 -102
  489. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +5 -0
  490. data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +32 -42
  491. data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +30 -40
  492. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +4 -7
  493. data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +38 -44
  494. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +163 -0
  495. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +55 -0
  496. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +64 -0
  497. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
  498. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +14 -13
  499. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
  500. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
  501. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +35 -32
  502. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +30 -33
  503. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
  504. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
  505. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +8 -7
  506. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +100 -100
  507. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +9 -8
  508. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +8 -8
  509. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +8 -8
  510. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +9 -8
  511. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +8 -8
  512. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  513. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +5 -4
  514. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +19 -23
  515. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +4 -3
  516. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +5 -3
  517. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +5 -4
  518. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +182 -157
  519. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +75 -0
  520. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
  521. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +43 -0
  522. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +35 -0
  523. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +63 -0
  524. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +40 -0
  525. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +46 -0
  526. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +40 -0
  527. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +50 -0
  528. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +35 -0
  529. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +68 -0
  530. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +40 -0
  531. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +51 -0
  532. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +35 -0
  533. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +45 -0
  534. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
  535. data/src/core/ext/xds/certificate_provider_factory.h +1 -1
  536. data/src/core/ext/xds/certificate_provider_registry.cc +2 -2
  537. data/src/core/ext/xds/certificate_provider_store.cc +10 -7
  538. data/src/core/ext/xds/certificate_provider_store.h +15 -10
  539. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +28 -3
  540. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +3 -6
  541. data/src/core/ext/xds/xds_api.cc +2654 -808
  542. data/src/core/ext/xds/xds_api.h +460 -154
  543. data/src/core/ext/xds/xds_bootstrap.cc +139 -188
  544. data/src/core/ext/xds/xds_bootstrap.h +34 -18
  545. data/src/core/ext/xds/xds_certificate_provider.cc +237 -72
  546. data/src/core/ext/xds/xds_certificate_provider.h +104 -27
  547. data/src/core/ext/xds/xds_channel_args.h +5 -2
  548. data/src/core/ext/xds/xds_channel_stack_modifier.cc +113 -0
  549. data/src/core/ext/xds/xds_channel_stack_modifier.h +52 -0
  550. data/src/core/ext/xds/xds_client.cc +985 -429
  551. data/src/core/ext/xds/xds_client.h +100 -51
  552. data/src/core/ext/xds/xds_client_stats.cc +18 -16
  553. data/src/core/ext/xds/xds_client_stats.h +12 -11
  554. data/src/core/ext/xds/xds_http_fault_filter.cc +227 -0
  555. data/src/core/ext/xds/xds_http_fault_filter.h +64 -0
  556. data/src/core/ext/xds/xds_http_filters.cc +116 -0
  557. data/src/core/ext/xds/xds_http_filters.h +133 -0
  558. data/src/core/ext/xds/xds_server_config_fetcher.cc +544 -0
  559. data/src/core/lib/{iomgr → address_utils}/parse_address.cc +72 -68
  560. data/src/core/lib/{iomgr → address_utils}/parse_address.h +20 -16
  561. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +131 -15
  562. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +37 -7
  563. data/src/core/lib/avl/avl.cc +5 -5
  564. data/src/core/lib/backoff/backoff.cc +1 -1
  565. data/src/core/lib/channel/call_tracer.h +85 -0
  566. data/src/core/lib/channel/channel_args.cc +34 -15
  567. data/src/core/lib/channel/channel_args.h +9 -0
  568. data/src/core/lib/channel/channel_stack.cc +27 -12
  569. data/src/core/lib/channel/channel_stack.h +18 -10
  570. data/src/core/lib/channel/channel_stack_builder.cc +6 -16
  571. data/src/core/lib/channel/channel_stack_builder.h +1 -9
  572. data/src/core/lib/channel/channel_trace.cc +5 -4
  573. data/src/core/lib/channel/channel_trace.h +3 -2
  574. data/src/core/lib/channel/channelz.cc +162 -63
  575. data/src/core/lib/channel/channelz.h +62 -31
  576. data/src/core/lib/channel/channelz_registry.cc +22 -7
  577. data/src/core/lib/channel/channelz_registry.h +1 -2
  578. data/src/core/lib/channel/connected_channel.cc +6 -7
  579. data/src/core/lib/channel/connected_channel.h +1 -2
  580. data/src/core/lib/channel/context.h +3 -0
  581. data/src/core/lib/channel/handshaker.cc +13 -53
  582. data/src/core/lib/channel/handshaker.h +7 -25
  583. data/src/core/lib/channel/handshaker_factory.h +10 -2
  584. data/src/core/lib/channel/handshaker_registry.cc +15 -70
  585. data/src/core/lib/channel/handshaker_registry.h +29 -12
  586. data/src/core/lib/channel/status_util.cc +12 -2
  587. data/src/core/lib/channel/status_util.h +11 -2
  588. data/src/core/lib/compression/algorithm_metadata.h +1 -0
  589. data/src/core/lib/compression/compression.cc +2 -2
  590. data/src/core/lib/compression/compression_args.cc +11 -7
  591. data/src/core/lib/compression/compression_internal.cc +4 -6
  592. data/src/core/lib/compression/compression_internal.h +1 -1
  593. data/src/core/lib/compression/message_compress.cc +2 -2
  594. data/src/core/lib/compression/stream_compression.cc +2 -1
  595. data/src/core/lib/compression/stream_compression.h +3 -2
  596. data/src/core/lib/compression/stream_compression_gzip.cc +2 -1
  597. data/src/core/lib/compression/stream_compression_gzip.h +1 -1
  598. data/src/core/lib/compression/stream_compression_identity.cc +2 -1
  599. data/src/core/lib/compression/stream_compression_identity.h +1 -1
  600. data/src/core/lib/config/core_configuration.cc +96 -0
  601. data/src/core/lib/config/core_configuration.h +146 -0
  602. data/src/core/lib/debug/stats.cc +1 -1
  603. data/src/core/lib/debug/stats.h +4 -3
  604. data/src/core/lib/debug/stats_data.cc +15 -14
  605. data/src/core/lib/debug/stats_data.h +14 -13
  606. data/src/core/lib/debug/trace.cc +1 -0
  607. data/src/core/lib/debug/trace.h +2 -1
  608. data/src/core/lib/event_engine/endpoint_config.cc +45 -0
  609. data/src/core/lib/event_engine/endpoint_config_internal.h +42 -0
  610. data/src/core/lib/event_engine/event_engine.cc +50 -0
  611. data/src/core/lib/event_engine/sockaddr.cc +40 -0
  612. data/src/core/lib/event_engine/sockaddr.h +44 -0
  613. data/src/core/lib/gpr/alloc.cc +7 -5
  614. data/src/core/lib/gpr/atm.cc +1 -1
  615. data/src/core/lib/gpr/cpu_posix.cc +1 -1
  616. data/src/core/lib/gpr/env_linux.cc +1 -2
  617. data/src/core/lib/gpr/env_posix.cc +2 -3
  618. data/src/core/lib/gpr/log.cc +61 -19
  619. data/src/core/lib/gpr/log_android.cc +3 -2
  620. data/src/core/lib/gpr/log_linux.cc +10 -5
  621. data/src/core/lib/gpr/log_posix.cc +9 -4
  622. data/src/core/lib/gpr/log_windows.cc +3 -1
  623. data/src/core/lib/gpr/murmur_hash.cc +4 -2
  624. data/src/core/lib/gpr/spinlock.h +10 -2
  625. data/src/core/lib/gpr/string.cc +24 -23
  626. data/src/core/lib/gpr/string.h +7 -8
  627. data/src/core/lib/gpr/sync.cc +6 -6
  628. data/src/core/lib/gpr/sync_abseil.cc +10 -12
  629. data/src/core/lib/gpr/sync_posix.cc +3 -3
  630. data/src/core/lib/gpr/sync_windows.cc +2 -2
  631. data/src/core/lib/gpr/time.cc +15 -14
  632. data/src/core/lib/gpr/time_windows.cc +3 -2
  633. data/src/core/lib/gpr/tls.h +119 -40
  634. data/src/core/lib/gpr/tmpfile_posix.cc +1 -2
  635. data/src/core/lib/gpr/useful.h +79 -32
  636. data/src/core/lib/gpr/wrap_memcpy.cc +2 -1
  637. data/src/core/lib/gprpp/arena.cc +2 -1
  638. data/src/core/lib/gprpp/arena.h +18 -7
  639. data/src/core/lib/gprpp/atomic_utils.h +47 -0
  640. data/src/core/lib/gprpp/bitset.h +188 -0
  641. data/src/core/lib/gprpp/chunked_vector.h +211 -0
  642. data/src/core/lib/gprpp/construct_destruct.h +39 -0
  643. data/src/core/lib/gprpp/dual_ref_counted.h +28 -29
  644. data/src/core/lib/gprpp/fork.cc +14 -12
  645. data/src/core/lib/gprpp/fork.h +4 -4
  646. data/src/core/lib/gprpp/global_config.h +1 -2
  647. data/src/core/lib/gprpp/global_config_env.cc +7 -7
  648. data/src/core/lib/gprpp/global_config_generic.h +2 -2
  649. data/src/core/lib/gprpp/manual_constructor.h +9 -6
  650. data/src/core/lib/gprpp/match.h +73 -0
  651. data/src/core/lib/gprpp/memory.h +9 -3
  652. data/src/core/lib/gprpp/mpscq.cc +9 -9
  653. data/src/core/lib/gprpp/mpscq.h +6 -5
  654. data/src/core/lib/gprpp/orphanable.h +6 -6
  655. data/src/core/lib/gprpp/overload.h +59 -0
  656. data/src/core/lib/gprpp/ref_counted.h +48 -34
  657. data/src/core/lib/gprpp/ref_counted_ptr.h +11 -1
  658. data/src/core/lib/gprpp/status_helper.cc +427 -0
  659. data/src/core/lib/gprpp/status_helper.h +194 -0
  660. data/src/core/lib/gprpp/sync.h +106 -43
  661. data/src/core/lib/gprpp/table.h +411 -0
  662. data/src/core/lib/gprpp/thd.h +1 -1
  663. data/src/core/lib/gprpp/thd_posix.cc +11 -6
  664. data/src/core/lib/gprpp/thd_windows.cc +7 -12
  665. data/src/core/lib/gprpp/time_util.cc +77 -0
  666. data/src/core/lib/gprpp/time_util.h +42 -0
  667. data/src/core/lib/http/format_request.cc +1 -0
  668. data/src/core/lib/http/format_request.h +1 -0
  669. data/src/core/lib/http/httpcli.cc +203 -185
  670. data/src/core/lib/http/httpcli.h +5 -3
  671. data/src/core/lib/http/httpcli_security_connector.cc +19 -18
  672. data/src/core/lib/http/parser.cc +19 -20
  673. data/src/core/lib/http/parser.h +5 -4
  674. data/src/core/lib/iomgr/buffer_list.cc +10 -11
  675. data/src/core/lib/iomgr/buffer_list.h +6 -8
  676. data/src/core/lib/iomgr/call_combiner.cc +46 -21
  677. data/src/core/lib/iomgr/call_combiner.h +12 -14
  678. data/src/core/lib/iomgr/cfstream_handle.cc +6 -6
  679. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  680. data/src/core/lib/iomgr/closure.h +7 -6
  681. data/src/core/lib/iomgr/combiner.cc +25 -36
  682. data/src/core/lib/iomgr/combiner.h +3 -2
  683. data/src/core/lib/iomgr/dualstack_socket_posix.cc +1 -0
  684. data/src/core/lib/iomgr/endpoint.cc +1 -5
  685. data/src/core/lib/iomgr/endpoint.h +3 -5
  686. data/src/core/lib/iomgr/endpoint_cfstream.cc +27 -39
  687. data/src/core/lib/iomgr/endpoint_cfstream.h +1 -1
  688. data/src/core/lib/iomgr/endpoint_pair.h +1 -0
  689. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +32 -0
  690. data/src/core/lib/iomgr/endpoint_pair_posix.cc +15 -11
  691. data/src/core/lib/iomgr/endpoint_pair_windows.cc +17 -9
  692. data/src/core/lib/iomgr/error.cc +277 -105
  693. data/src/core/lib/iomgr/error.h +280 -114
  694. data/src/core/lib/iomgr/error_cfstream.cc +10 -4
  695. data/src/core/lib/iomgr/error_cfstream.h +2 -2
  696. data/src/core/lib/iomgr/error_internal.h +7 -2
  697. data/src/core/lib/iomgr/ev_apple.cc +16 -13
  698. data/src/core/lib/iomgr/ev_apple.h +1 -1
  699. data/src/core/lib/iomgr/ev_epoll1_linux.cc +53 -53
  700. data/src/core/lib/iomgr/ev_epollex_linux.cc +81 -81
  701. data/src/core/lib/iomgr/ev_poll_posix.cc +70 -68
  702. data/src/core/lib/iomgr/ev_posix.cc +13 -13
  703. data/src/core/lib/iomgr/ev_posix.h +9 -9
  704. data/src/core/lib/iomgr/event_engine/closure.cc +77 -0
  705. data/src/core/lib/iomgr/event_engine/closure.h +42 -0
  706. data/src/core/lib/iomgr/event_engine/endpoint.cc +173 -0
  707. data/src/core/lib/iomgr/event_engine/endpoint.h +52 -0
  708. data/src/core/lib/iomgr/event_engine/iomgr.cc +104 -0
  709. data/src/core/lib/iomgr/event_engine/iomgr.h +42 -0
  710. data/src/core/lib/iomgr/event_engine/pollset.cc +88 -0
  711. data/src/core/lib/iomgr/event_engine/pollset.h +25 -0
  712. data/src/core/lib/iomgr/event_engine/promise.h +51 -0
  713. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +41 -0
  714. data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +35 -0
  715. data/src/core/lib/iomgr/event_engine/resolver.cc +114 -0
  716. data/src/core/lib/iomgr/event_engine/tcp.cc +293 -0
  717. data/src/core/lib/iomgr/event_engine/timer.cc +62 -0
  718. data/src/core/lib/iomgr/exec_ctx.cc +14 -11
  719. data/src/core/lib/iomgr/exec_ctx.h +21 -28
  720. data/src/core/lib/iomgr/executor/mpmcqueue.cc +15 -16
  721. data/src/core/lib/iomgr/executor/mpmcqueue.h +7 -11
  722. data/src/core/lib/iomgr/executor/threadpool.cc +4 -5
  723. data/src/core/lib/iomgr/executor/threadpool.h +5 -4
  724. data/src/core/lib/iomgr/executor.cc +19 -33
  725. data/src/core/lib/iomgr/executor.h +3 -3
  726. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -2
  727. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +2 -2
  728. data/src/core/lib/iomgr/internal_errqueue.cc +3 -2
  729. data/src/core/lib/iomgr/iocp_windows.cc +1 -0
  730. data/src/core/lib/iomgr/iomgr.cc +6 -4
  731. data/src/core/lib/iomgr/iomgr.h +3 -3
  732. data/src/core/lib/iomgr/iomgr_custom.cc +3 -3
  733. data/src/core/lib/iomgr/iomgr_custom.h +2 -2
  734. data/src/core/lib/iomgr/iomgr_internal.cc +8 -12
  735. data/src/core/lib/iomgr/iomgr_internal.h +6 -5
  736. data/src/core/lib/iomgr/iomgr_posix.cc +3 -2
  737. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +42 -13
  738. data/src/core/lib/iomgr/iomgr_windows.cc +2 -3
  739. data/src/core/lib/iomgr/is_epollexclusive_available.cc +4 -4
  740. data/src/core/lib/iomgr/load_file.cc +6 -6
  741. data/src/core/lib/iomgr/load_file.h +2 -2
  742. data/src/core/lib/iomgr/lockfree_event.cc +38 -15
  743. data/src/core/lib/iomgr/lockfree_event.h +2 -2
  744. data/src/core/lib/iomgr/polling_entity.cc +2 -2
  745. data/src/core/lib/iomgr/pollset.cc +5 -5
  746. data/src/core/lib/iomgr/pollset.h +9 -9
  747. data/src/core/lib/iomgr/pollset_custom.cc +10 -11
  748. data/src/core/lib/iomgr/pollset_custom.h +3 -1
  749. data/src/core/lib/iomgr/pollset_set_custom.cc +2 -3
  750. data/src/core/lib/iomgr/pollset_set_windows.cc +1 -0
  751. data/src/core/lib/iomgr/pollset_windows.cc +5 -5
  752. data/src/core/lib/iomgr/port.h +7 -10
  753. data/src/core/lib/iomgr/python_util.h +4 -3
  754. data/src/core/lib/iomgr/resolve_address.cc +14 -9
  755. data/src/core/lib/iomgr/resolve_address.h +12 -10
  756. data/src/core/lib/iomgr/resolve_address_custom.cc +14 -13
  757. data/src/core/lib/iomgr/resolve_address_custom.h +3 -4
  758. data/src/core/lib/iomgr/resolve_address_posix.cc +10 -14
  759. data/src/core/lib/iomgr/resolve_address_windows.cc +10 -12
  760. data/src/core/lib/iomgr/resource_quota.cc +152 -62
  761. data/src/core/lib/iomgr/resource_quota.h +66 -17
  762. data/src/core/lib/iomgr/sockaddr.h +2 -1
  763. data/src/core/lib/iomgr/socket_factory_posix.cc +8 -7
  764. data/src/core/lib/iomgr/socket_factory_posix.h +1 -0
  765. data/src/core/lib/iomgr/socket_mutator.cc +20 -6
  766. data/src/core/lib/iomgr/socket_mutator.h +27 -3
  767. data/src/core/lib/iomgr/socket_utils_common_posix.cc +29 -27
  768. data/src/core/lib/iomgr/socket_utils_linux.cc +4 -4
  769. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -2
  770. data/src/core/lib/iomgr/socket_utils_posix.h +22 -22
  771. data/src/core/lib/iomgr/socket_utils_windows.cc +2 -2
  772. data/src/core/lib/iomgr/tcp_client.cc +5 -3
  773. data/src/core/lib/iomgr/tcp_client.h +4 -0
  774. data/src/core/lib/iomgr/tcp_client_cfstream.cc +18 -26
  775. data/src/core/lib/iomgr/tcp_client_custom.cc +19 -27
  776. data/src/core/lib/iomgr/tcp_client_posix.cc +56 -47
  777. data/src/core/lib/iomgr/tcp_client_posix.h +8 -6
  778. data/src/core/lib/iomgr/tcp_client_windows.cc +23 -14
  779. data/src/core/lib/iomgr/tcp_custom.cc +46 -55
  780. data/src/core/lib/iomgr/tcp_custom.h +15 -13
  781. data/src/core/lib/iomgr/tcp_posix.cc +119 -145
  782. data/src/core/lib/iomgr/tcp_posix.h +19 -12
  783. data/src/core/lib/iomgr/tcp_server.cc +9 -7
  784. data/src/core/lib/iomgr/tcp_server.h +18 -14
  785. data/src/core/lib/iomgr/tcp_server_custom.cc +63 -73
  786. data/src/core/lib/iomgr/tcp_server_posix.cc +49 -35
  787. data/src/core/lib/iomgr/tcp_server_utils_posix.h +16 -12
  788. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +22 -20
  789. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +11 -12
  790. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  791. data/src/core/lib/iomgr/tcp_server_windows.cc +40 -36
  792. data/src/core/lib/iomgr/tcp_windows.cc +21 -40
  793. data/src/core/lib/iomgr/tcp_windows.h +4 -3
  794. data/src/core/lib/iomgr/timer.cc +1 -0
  795. data/src/core/lib/iomgr/timer.h +7 -3
  796. data/src/core/lib/iomgr/timer_custom.cc +7 -6
  797. data/src/core/lib/iomgr/timer_custom.h +1 -1
  798. data/src/core/lib/iomgr/timer_generic.cc +32 -62
  799. data/src/core/lib/iomgr/timer_generic.h +1 -0
  800. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  801. data/src/core/lib/iomgr/timer_manager.cc +4 -4
  802. data/src/core/lib/iomgr/unix_sockets_posix.cc +21 -24
  803. data/src/core/lib/iomgr/unix_sockets_posix.h +4 -5
  804. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
  805. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
  806. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +2 -1
  807. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +6 -7
  808. data/src/core/lib/iomgr/wakeup_fd_posix.cc +4 -3
  809. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
  810. data/src/core/lib/iomgr/work_serializer.cc +4 -4
  811. data/src/core/lib/iomgr/work_serializer.h +18 -2
  812. data/src/core/lib/json/json.h +11 -1
  813. data/src/core/lib/json/json_reader.cc +14 -23
  814. data/src/core/lib/json/json_util.cc +68 -0
  815. data/src/core/lib/json/json_util.h +65 -115
  816. data/src/core/lib/json/json_writer.cc +0 -3
  817. data/src/core/lib/matchers/matchers.cc +327 -0
  818. data/src/core/lib/matchers/matchers.h +160 -0
  819. data/src/core/lib/profiling/basic_timers.cc +8 -6
  820. data/src/core/lib/profiling/stap_timers.cc +2 -2
  821. data/src/core/lib/security/authorization/authorization_engine.h +13 -53
  822. data/src/core/lib/security/authorization/authorization_policy_provider.h +33 -0
  823. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +46 -0
  824. data/src/core/lib/security/authorization/evaluate_args.cc +126 -66
  825. data/src/core/lib/security/authorization/evaluate_args.h +47 -15
  826. data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +171 -0
  827. data/src/core/lib/security/authorization/sdk_server_authz_filter.h +67 -0
  828. data/src/core/lib/security/context/security_context.cc +15 -11
  829. data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -1
  830. data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
  831. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
  832. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +2 -2
  833. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -2
  834. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +2 -2
  835. data/src/core/lib/security/credentials/composite/composite_credentials.cc +9 -8
  836. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
  837. data/src/core/lib/security/credentials/credentials.cc +16 -14
  838. data/src/core/lib/security/credentials/credentials.h +11 -5
  839. data/src/core/lib/security/credentials/credentials_metadata.cc +2 -3
  840. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +404 -0
  841. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +81 -0
  842. data/src/core/lib/security/credentials/external/aws_request_signer.cc +20 -14
  843. data/src/core/lib/security/credentials/external/aws_request_signer.h +2 -3
  844. data/src/core/lib/security/credentials/external/external_account_credentials.cc +270 -54
  845. data/src/core/lib/security/credentials/external/external_account_credentials.h +16 -12
  846. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +8 -8
  847. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +6 -6
  848. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +26 -26
  849. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +13 -12
  850. data/src/core/lib/security/credentials/fake/fake_credentials.cc +5 -4
  851. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
  852. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -2
  853. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +92 -31
  854. data/src/core/lib/security/credentials/iam/iam_credentials.cc +4 -3
  855. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
  856. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +18 -5
  857. data/src/core/lib/security/credentials/jwt/json_token.cc +4 -7
  858. data/src/core/lib/security/credentials/jwt/json_token.h +2 -1
  859. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +34 -17
  860. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +13 -5
  861. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +15 -22
  862. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +3 -3
  863. data/src/core/lib/security/credentials/local/local_credentials.cc +2 -1
  864. data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
  865. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +57 -66
  866. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +11 -9
  867. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +10 -12
  868. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
  869. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +11 -10
  870. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +2 -3
  871. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +12 -15
  872. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +20 -21
  873. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +382 -5
  874. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +74 -1
  875. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +5 -1
  876. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +2 -3
  877. data/src/core/lib/security/credentials/tls/tls_credentials.cc +3 -2
  878. data/src/core/lib/security/credentials/tls/tls_credentials.h +1 -1
  879. data/src/core/lib/security/credentials/tls/tls_utils.cc +123 -0
  880. data/src/core/lib/security/credentials/tls/tls_utils.h +51 -0
  881. data/src/core/lib/security/credentials/xds/xds_credentials.cc +209 -10
  882. data/src/core/lib/security/credentials/xds/xds_credentials.h +27 -9
  883. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +14 -4
  884. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +20 -12
  885. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +50 -17
  886. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +35 -8
  887. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +1 -0
  888. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +4 -4
  889. data/src/core/lib/security/security_connector/local/local_security_connector.cc +23 -10
  890. data/src/core/lib/security/security_connector/security_connector.cc +12 -6
  891. data/src/core/lib/security/security_connector/security_connector.h +10 -5
  892. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +24 -17
  893. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +1 -2
  894. data/src/core/lib/security/security_connector/ssl_utils.cc +41 -14
  895. data/src/core/lib/security/security_connector/ssl_utils.h +16 -23
  896. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +156 -113
  897. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +67 -52
  898. data/src/core/lib/security/transport/auth_filters.h +1 -0
  899. data/src/core/lib/security/transport/client_auth_filter.cc +27 -21
  900. data/src/core/lib/security/transport/secure_endpoint.cc +10 -20
  901. data/src/core/lib/security/transport/secure_endpoint.h +1 -0
  902. data/src/core/lib/security/transport/security_handshaker.cc +158 -90
  903. data/src/core/lib/security/transport/security_handshaker.h +2 -1
  904. data/src/core/lib/security/transport/server_auth_filter.cc +20 -16
  905. data/src/core/lib/security/transport/tsi_error.cc +5 -6
  906. data/src/core/lib/security/transport/tsi_error.h +2 -1
  907. data/src/core/lib/security/util/json_util.cc +8 -10
  908. data/src/core/lib/security/util/json_util.h +1 -1
  909. data/src/core/lib/slice/percent_encoding.cc +73 -30
  910. data/src/core/lib/slice/percent_encoding.h +29 -28
  911. data/src/core/lib/slice/slice.cc +14 -21
  912. data/src/core/lib/{gpr/tls_pthread.cc → slice/slice_api.cc} +15 -6
  913. data/src/core/lib/slice/slice_buffer.cc +6 -7
  914. data/src/core/lib/slice/slice_intern.cc +19 -27
  915. data/src/core/lib/slice/slice_internal.h +4 -246
  916. data/src/core/lib/slice/slice_refcount.cc +17 -0
  917. data/src/core/lib/slice/slice_refcount.h +121 -0
  918. data/src/core/lib/slice/slice_refcount_base.h +173 -0
  919. data/src/core/lib/slice/slice_split.cc +100 -0
  920. data/src/core/lib/slice/slice_split.h +40 -0
  921. data/src/core/lib/slice/slice_string_helpers.cc +0 -83
  922. data/src/core/lib/slice/slice_string_helpers.h +0 -11
  923. data/src/core/lib/slice/static_slice.cc +529 -0
  924. data/src/core/lib/slice/static_slice.h +331 -0
  925. data/src/core/lib/surface/api_trace.cc +2 -1
  926. data/src/core/lib/surface/api_trace.h +1 -0
  927. data/src/core/lib/surface/builtins.cc +49 -0
  928. data/src/core/lib/surface/builtins.h +26 -0
  929. data/src/core/lib/surface/byte_buffer_reader.cc +1 -1
  930. data/src/core/lib/surface/call.cc +198 -186
  931. data/src/core/lib/surface/call.h +10 -5
  932. data/src/core/lib/surface/call_details.cc +10 -10
  933. data/src/core/lib/surface/call_log_batch.cc +2 -2
  934. data/src/core/lib/surface/channel.cc +57 -51
  935. data/src/core/lib/surface/channel.h +19 -14
  936. data/src/core/lib/surface/channel_init.cc +23 -76
  937. data/src/core/lib/surface/channel_init.h +52 -44
  938. data/src/core/lib/surface/channel_ping.cc +2 -3
  939. data/src/core/lib/surface/channel_stack_type.cc +2 -1
  940. data/src/core/lib/surface/completion_queue.cc +140 -145
  941. data/src/core/lib/surface/completion_queue.h +18 -17
  942. data/src/core/lib/surface/completion_queue_factory.cc +3 -3
  943. data/src/core/lib/surface/completion_queue_factory.h +1 -0
  944. data/src/core/lib/surface/event_string.cc +1 -0
  945. data/src/core/lib/surface/init.cc +18 -65
  946. data/src/core/lib/surface/init.h +10 -2
  947. data/src/core/lib/surface/init_secure.cc +36 -14
  948. data/src/core/lib/surface/lame_client.cc +62 -61
  949. data/src/core/lib/surface/lame_client.h +5 -0
  950. data/src/core/lib/surface/metadata_array.cc +2 -2
  951. data/src/core/lib/surface/server.cc +167 -116
  952. data/src/core/lib/surface/server.h +140 -40
  953. data/src/core/lib/surface/validate_metadata.cc +55 -24
  954. data/src/core/lib/surface/validate_metadata.h +3 -2
  955. data/src/core/lib/surface/version.cc +2 -2
  956. data/src/core/lib/transport/bdp_estimator.cc +1 -1
  957. data/src/core/lib/transport/byte_stream.cc +5 -5
  958. data/src/core/lib/transport/byte_stream.h +9 -8
  959. data/src/core/lib/transport/connectivity_state.cc +9 -6
  960. data/src/core/lib/transport/connectivity_state.h +8 -6
  961. data/src/core/lib/transport/error_utils.cc +64 -27
  962. data/src/core/lib/transport/error_utils.h +13 -7
  963. data/src/core/lib/transport/metadata.cc +47 -22
  964. data/src/core/lib/transport/metadata.h +15 -12
  965. data/src/core/lib/transport/metadata_batch.cc +41 -339
  966. data/src/core/lib/transport/metadata_batch.h +932 -68
  967. data/src/core/lib/transport/parsed_metadata.h +263 -0
  968. data/src/core/lib/transport/pid_controller.cc +4 -4
  969. data/src/core/lib/transport/static_metadata.cc +715 -847
  970. data/src/core/lib/transport/static_metadata.h +115 -379
  971. data/src/core/lib/transport/status_metadata.cc +5 -3
  972. data/src/core/lib/transport/transport.cc +8 -8
  973. data/src/core/lib/transport/transport.h +12 -10
  974. data/src/core/lib/transport/transport_op_string.cc +46 -26
  975. data/src/core/lib/uri/uri_parser.cc +131 -249
  976. data/src/core/lib/uri/uri_parser.h +57 -21
  977. data/src/core/plugin_registry/grpc_plugin_registry.cc +101 -44
  978. data/src/core/tsi/alts/crypt/aes_gcm.cc +6 -3
  979. data/src/core/tsi/alts/crypt/gsec.cc +5 -4
  980. data/src/core/tsi/alts/crypt/gsec.h +5 -0
  981. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -12
  982. data/src/core/tsi/alts/frame_protector/frame_handler.cc +18 -17
  983. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +27 -33
  984. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +2 -3
  985. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +57 -51
  986. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  987. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
  988. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -3
  989. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +2 -2
  990. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  991. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +8 -6
  992. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +6 -6
  993. data/src/core/tsi/fake_transport_security.cc +31 -12
  994. data/src/core/tsi/local_transport_security.cc +36 -73
  995. data/src/core/tsi/ssl/session_cache/ssl_session.h +0 -3
  996. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
  997. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +20 -55
  998. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +6 -7
  999. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +2 -2
  1000. data/src/core/tsi/ssl_transport_security.cc +115 -77
  1001. data/src/core/tsi/ssl_transport_security.h +12 -14
  1002. data/src/core/tsi/transport_security.cc +21 -9
  1003. data/src/core/tsi/transport_security.h +16 -1
  1004. data/src/core/tsi/transport_security_grpc.h +1 -0
  1005. data/src/core/tsi/transport_security_interface.h +27 -1
  1006. data/src/ruby/bin/math_services_pb.rb +1 -1
  1007. data/src/ruby/ext/grpc/extconf.rb +21 -8
  1008. data/src/ruby/ext/grpc/rb_byte_buffer.c +2 -1
  1009. data/src/ruby/ext/grpc/rb_call.c +5 -5
  1010. data/src/ruby/ext/grpc/rb_call_credentials.c +5 -5
  1011. data/src/ruby/ext/grpc/rb_channel.c +19 -8
  1012. data/src/ruby/ext/grpc/rb_channel_args.c +2 -2
  1013. data/src/ruby/ext/grpc/rb_channel_credentials.c +15 -5
  1014. data/src/ruby/ext/grpc/rb_channel_credentials.h +5 -0
  1015. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -2
  1016. data/src/ruby/ext/grpc/rb_compression_options.c +6 -5
  1017. data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
  1018. data/src/ruby/ext/grpc/rb_event_thread.c +4 -2
  1019. data/src/ruby/ext/grpc/rb_grpc.c +9 -4
  1020. data/src/ruby/ext/grpc/rb_grpc.h +1 -0
  1021. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +24 -0
  1022. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +50 -14
  1023. data/src/ruby/ext/grpc/rb_server.c +19 -6
  1024. data/src/ruby/ext/grpc/rb_server_credentials.c +22 -6
  1025. data/src/ruby/ext/grpc/rb_server_credentials.h +5 -0
  1026. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +218 -0
  1027. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +37 -0
  1028. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +170 -0
  1029. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +37 -0
  1030. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
  1031. data/src/ruby/lib/grpc/version.rb +1 -1
  1032. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
  1033. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +35 -0
  1034. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +2 -2
  1035. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +23 -5
  1036. data/src/ruby/spec/call_spec.rb +1 -1
  1037. data/src/ruby/spec/channel_credentials_spec.rb +32 -0
  1038. data/src/ruby/spec/channel_spec.rb +17 -6
  1039. data/src/ruby/spec/client_auth_spec.rb +27 -1
  1040. data/src/ruby/spec/client_server_spec.rb +1 -1
  1041. data/src/ruby/spec/errors_spec.rb +1 -1
  1042. data/src/ruby/spec/generic/active_call_spec.rb +2 -2
  1043. data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
  1044. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  1045. data/src/ruby/spec/pb/codegen/package_option_spec.rb +2 -6
  1046. data/src/ruby/spec/server_credentials_spec.rb +25 -0
  1047. data/src/ruby/spec/server_spec.rb +22 -0
  1048. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
  1049. data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
  1050. data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
  1051. data/third_party/abseil-cpp/absl/base/config.h +37 -9
  1052. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
  1053. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
  1054. data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
  1055. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
  1056. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
  1057. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
  1058. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
  1059. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
  1060. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
  1061. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
  1062. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
  1063. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
  1064. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
  1065. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
  1066. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +9 -6
  1067. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +54 -48
  1068. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
  1069. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
  1070. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
  1071. data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
  1072. data/third_party/abseil-cpp/absl/base/macros.h +11 -0
  1073. data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
  1074. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  1075. data/third_party/abseil-cpp/absl/base/port.h +0 -1
  1076. data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
  1077. data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
  1078. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
  1079. data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
  1080. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
  1081. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
  1082. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
  1083. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
  1084. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
  1085. data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
  1086. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
  1087. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
  1088. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
  1089. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
  1090. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
  1091. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
  1092. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
  1093. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
  1094. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
  1095. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
  1096. data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
  1097. data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
  1098. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
  1099. data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
  1100. data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
  1101. data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
  1102. data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
  1103. data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
  1104. data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
  1105. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  1106. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  1107. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  1108. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +396 -0
  1109. data/third_party/abseil-cpp/absl/status/status.cc +29 -22
  1110. data/third_party/abseil-cpp/absl/status/status.h +81 -20
  1111. data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
  1112. data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
  1113. data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
  1114. data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
  1115. data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
  1116. data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
  1117. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
  1118. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
  1119. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
  1120. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
  1121. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
  1122. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
  1123. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
  1124. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
  1125. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
  1126. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
  1127. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
  1128. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
  1129. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
  1130. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
  1131. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
  1132. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
  1133. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
  1134. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
  1135. data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
  1136. data/third_party/abseil-cpp/absl/strings/match.h +16 -6
  1137. data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
  1138. data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
  1139. data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
  1140. data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
  1141. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
  1142. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +1 -0
  1143. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
  1144. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
  1145. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
  1146. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
  1147. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
  1148. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
  1149. data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
  1150. data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
  1151. data/third_party/abseil-cpp/absl/time/clock.h +2 -2
  1152. data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
  1153. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
  1154. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
  1155. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
  1156. data/third_party/abseil-cpp/absl/time/time.cc +4 -3
  1157. data/third_party/abseil-cpp/absl/time/time.h +26 -24
  1158. data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
  1159. data/third_party/abseil-cpp/absl/types/variant.h +9 -4
  1160. data/third_party/address_sorting/address_sorting_posix.c +1 -0
  1161. data/third_party/boringssl-with-bazel/err_data.c +756 -724
  1162. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +55 -50
  1163. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +22 -23
  1164. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +0 -2
  1165. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +2 -2
  1166. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +6 -1
  1167. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +5 -5
  1168. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +16 -23
  1169. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +26 -24
  1170. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +3 -3
  1171. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c +19 -29
  1172. data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/a_strex.c +269 -272
  1173. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +106 -153
  1174. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +3 -3
  1175. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +22 -10
  1176. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +3 -42
  1177. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +1 -1
  1178. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +16 -16
  1179. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +1 -1
  1180. data/third_party/boringssl-with-bazel/src/crypto/{x509 → asn1}/charmap.h +0 -0
  1181. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +196 -0
  1182. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +35 -86
  1183. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +326 -281
  1184. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +15 -26
  1185. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +20 -75
  1186. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +0 -2
  1187. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +3 -2
  1188. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +1 -1
  1189. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +11 -8
  1190. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +1 -7
  1191. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +1 -5
  1192. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +0 -4
  1193. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +1 -7
  1194. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +1 -6
  1195. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -17
  1196. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +4 -0
  1197. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +156 -0
  1198. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c +3 -10
  1199. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +8 -9
  1200. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +9 -0
  1201. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +68 -45
  1202. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +38 -47
  1203. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c +49 -65
  1204. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +6 -81
  1205. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
  1206. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +101 -3
  1207. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
  1208. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +14 -3
  1209. data/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c +41 -0
  1210. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
  1211. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
  1212. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +1 -1
  1213. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
  1214. data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/dh_asn1.c +0 -0
  1215. data/third_party/boringssl-with-bazel/src/crypto/{dh → dh_extra}/params.c +179 -0
  1216. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +31 -3
  1217. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +2 -17
  1218. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
  1219. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +9 -0
  1220. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
  1221. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +4 -1
  1222. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +13 -20
  1223. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +28 -12
  1224. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +3 -2
  1225. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +15 -4
  1226. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +0 -4
  1227. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +5 -9
  1228. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +32 -16
  1229. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +35 -2
  1230. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
  1231. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
  1232. data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/check.c +0 -0
  1233. data/third_party/boringssl-with-bazel/src/crypto/{dh → fipsmodule/dh}/dh.c +136 -213
  1234. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +9 -0
  1235. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
  1236. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +87 -160
  1237. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +16 -0
  1238. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +9 -2
  1239. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
  1240. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
  1241. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
  1242. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +56 -72
  1243. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +56 -73
  1244. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
  1245. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
  1246. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
  1247. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
  1248. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +1 -1
  1249. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
  1250. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
  1251. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +30 -9
  1252. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +123 -44
  1253. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +30 -20
  1254. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +50 -33
  1255. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +65 -41
  1256. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
  1257. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +161 -9
  1258. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +93 -107
  1259. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +91 -113
  1260. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +50 -86
  1261. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +400 -325
  1262. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +219 -121
  1263. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +9 -2
  1264. data/third_party/boringssl-with-bazel/src/crypto/internal.h +125 -0
  1265. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +253 -0
  1266. data/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c +28 -23
  1267. data/third_party/boringssl-with-bazel/src/crypto/mem.c +28 -9
  1268. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +10 -6
  1269. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +0 -9
  1270. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +0 -2
  1271. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +0 -8
  1272. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +0 -2
  1273. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +0 -4
  1274. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +16 -7
  1275. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +9 -4
  1276. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +156 -15
  1277. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
  1278. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +11 -8
  1279. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +13 -11
  1280. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +4 -0
  1281. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +1 -0
  1282. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +4 -0
  1283. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c +4 -0
  1284. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/is_fips.c → rand_extra/passive.c} +16 -11
  1285. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +5 -1
  1286. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +4 -0
  1287. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c +1 -2
  1288. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +6 -6
  1289. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +7 -13
  1290. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
  1291. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +15 -11
  1292. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +1 -1
  1293. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +1 -0
  1294. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +2 -0
  1295. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +345 -13
  1296. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +246 -0
  1297. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +20 -5
  1298. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +10 -5
  1299. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
  1300. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +0 -179
  1301. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +7 -2
  1302. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +24 -47
  1303. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +4 -31
  1304. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +12 -9
  1305. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +1 -5
  1306. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +1 -0
  1307. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +42 -89
  1308. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +17 -24
  1309. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +2 -0
  1310. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +26 -23
  1311. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +25 -69
  1312. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +54 -74
  1313. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +61 -23
  1314. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +2 -4
  1315. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +3 -0
  1316. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -19
  1317. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +3 -16
  1318. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +21 -34
  1319. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +15 -13
  1320. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +2 -0
  1321. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +23 -21
  1322. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +2 -2
  1323. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
  1324. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +5 -8
  1325. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +5 -0
  1326. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
  1327. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +50 -14
  1328. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +5 -2
  1329. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +23 -0
  1330. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +1 -0
  1331. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +1 -1
  1332. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +1 -1
  1333. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +1 -0
  1334. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +4 -3
  1335. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +27 -8
  1336. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +28 -18
  1337. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +6 -3
  1338. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +26 -25
  1339. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +10 -12
  1340. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +4 -2
  1341. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +7 -1
  1342. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +40 -20
  1343. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +3 -4
  1344. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +27 -36
  1345. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +112 -55
  1346. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +2 -1
  1347. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +14 -13
  1348. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +2 -2
  1349. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +7 -6
  1350. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +86 -44
  1351. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +1 -4
  1352. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +69 -4
  1353. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +1026 -615
  1354. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +2 -176
  1355. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +63 -13
  1356. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +3 -1
  1357. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +62 -0
  1358. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +3 -3
  1359. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +32 -7
  1360. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  1361. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +23 -6
  1362. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +8 -5
  1363. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
  1364. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
  1365. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +56 -26
  1366. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +10 -2
  1367. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +20 -2
  1368. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +33 -0
  1369. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
  1370. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +38 -51
  1371. data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
  1372. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +4 -0
  1373. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +350 -0
  1374. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +14 -12
  1375. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +4 -205
  1376. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +12 -3
  1377. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +26 -6
  1378. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +0 -20
  1379. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +33 -8
  1380. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
  1381. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +5 -2
  1382. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +104 -63
  1383. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +39 -16
  1384. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +406 -108
  1385. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +48 -36
  1386. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1425 -377
  1387. data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -679
  1388. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +188 -49
  1389. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +16 -18
  1390. data/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc +1 -1
  1391. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +1084 -0
  1392. data/third_party/boringssl-with-bazel/src/ssl/{t1_lib.cc → extensions.cc} +847 -622
  1393. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +298 -22
  1394. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +92 -44
  1395. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +314 -217
  1396. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +177 -35
  1397. data/third_party/boringssl-with-bazel/src/ssl/internal.h +491 -152
  1398. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +9 -3
  1399. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -2
  1400. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +14 -19
  1401. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +7 -8
  1402. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
  1403. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +2 -2
  1404. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +34 -31
  1405. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +60 -112
  1406. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +2 -0
  1407. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +136 -104
  1408. data/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc +3 -0
  1409. data/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc +12 -17
  1410. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +7 -3
  1411. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +28 -23
  1412. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +5 -7
  1413. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +79 -34
  1414. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +235 -178
  1415. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +160 -91
  1416. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +269 -118
  1417. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
  1418. data/third_party/re2/re2/compile.cc +91 -109
  1419. data/third_party/re2/re2/dfa.cc +27 -39
  1420. data/third_party/re2/re2/filtered_re2.cc +18 -2
  1421. data/third_party/re2/re2/filtered_re2.h +10 -5
  1422. data/third_party/re2/re2/nfa.cc +1 -1
  1423. data/third_party/re2/re2/parse.cc +42 -23
  1424. data/third_party/re2/re2/perl_groups.cc +34 -34
  1425. data/third_party/re2/re2/prefilter.cc +3 -2
  1426. data/third_party/re2/re2/prog.cc +182 -4
  1427. data/third_party/re2/re2/prog.h +28 -9
  1428. data/third_party/re2/re2/re2.cc +87 -118
  1429. data/third_party/re2/re2/re2.h +156 -141
  1430. data/third_party/re2/re2/regexp.cc +12 -5
  1431. data/third_party/re2/re2/regexp.h +8 -2
  1432. data/third_party/re2/re2/set.cc +31 -9
  1433. data/third_party/re2/re2/set.h +9 -4
  1434. data/third_party/re2/re2/simplify.cc +11 -3
  1435. data/third_party/re2/re2/tostring.cc +1 -1
  1436. data/third_party/re2/re2/walker-inl.h +1 -1
  1437. data/third_party/re2/util/mutex.h +2 -2
  1438. data/third_party/re2/util/pcre.h +3 -3
  1439. data/third_party/upb/upb/decode.c +354 -204
  1440. data/third_party/upb/upb/decode.h +50 -3
  1441. data/third_party/upb/upb/decode_fast.c +1053 -0
  1442. data/third_party/upb/upb/decode_fast.h +153 -0
  1443. data/third_party/upb/upb/decode_internal.h +193 -0
  1444. data/third_party/upb/upb/def.c +609 -610
  1445. data/third_party/upb/upb/def.h +57 -50
  1446. data/third_party/upb/upb/def.hpp +66 -123
  1447. data/third_party/upb/upb/encode.c +267 -176
  1448. data/third_party/upb/upb/encode.h +56 -4
  1449. data/third_party/upb/upb/msg.c +304 -84
  1450. data/third_party/upb/upb/msg.h +76 -441
  1451. data/third_party/upb/upb/msg_internal.h +687 -0
  1452. data/third_party/upb/upb/port_def.inc +156 -82
  1453. data/third_party/upb/upb/port_undef.inc +41 -8
  1454. data/third_party/upb/upb/reflection.c +64 -55
  1455. data/third_party/upb/upb/reflection.h +36 -8
  1456. data/third_party/upb/upb/reflection.hpp +37 -0
  1457. data/third_party/upb/upb/table.c +238 -276
  1458. data/third_party/upb/upb/{table.int.h → table_internal.h} +66 -181
  1459. data/third_party/upb/upb/text_encode.c +77 -26
  1460. data/third_party/upb/upb/text_encode.h +30 -1
  1461. data/third_party/upb/upb/upb.c +75 -47
  1462. data/third_party/upb/upb/upb.h +72 -13
  1463. data/third_party/upb/upb/upb.hpp +28 -4
  1464. data/third_party/upb/upb/upb_internal.h +58 -0
  1465. data/third_party/xxhash/xxhash.h +5325 -0
  1466. metadata +287 -137
  1467. data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +0 -909
  1468. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -485
  1469. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +0 -179
  1470. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -68
  1471. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +0 -38
  1472. data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -355
  1473. data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -138
  1474. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -210
  1475. data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
  1476. data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
  1477. data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
  1478. data/src/core/ext/transport/chttp2/client/authority.h +0 -36
  1479. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +0 -242
  1480. data/src/core/ext/transport/chttp2/transport/hpack_table.h +0 -148
  1481. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
  1482. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
  1483. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.c +0 -28
  1484. data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +0 -53
  1485. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +0 -52
  1486. data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +0 -129
  1487. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +0 -42
  1488. data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +0 -77
  1489. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +0 -36
  1490. data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +0 -85
  1491. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +0 -54
  1492. data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +0 -160
  1493. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +0 -36
  1494. data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +0 -84
  1495. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
  1496. data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -117
  1497. data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.c +0 -42
  1498. data/src/core/ext/upbdefs-generated/udpa/core/v1/authority.upbdefs.h +0 -35
  1499. data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.c +0 -62
  1500. data/src/core/ext/upbdefs-generated/udpa/core/v1/collection_entry.upbdefs.h +0 -40
  1501. data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.c +0 -45
  1502. data/src/core/ext/upbdefs-generated/udpa/core/v1/context_params.upbdefs.h +0 -40
  1503. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.c +0 -49
  1504. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource.upbdefs.h +0 -35
  1505. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.c +0 -68
  1506. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_locator.upbdefs.h +0 -40
  1507. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.c +0 -51
  1508. data/src/core/ext/upbdefs-generated/udpa/core/v1/resource_name.upbdefs.h +0 -35
  1509. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +0 -265
  1510. data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +0 -104
  1511. data/src/core/lib/gpr/arena.h +0 -47
  1512. data/src/core/lib/gpr/tls_gcc.h +0 -52
  1513. data/src/core/lib/gpr/tls_msvc.h +0 -54
  1514. data/src/core/lib/gpr/tls_pthread.h +0 -56
  1515. data/src/core/lib/gpr/tls_stdcpp.h +0 -48
  1516. data/src/core/lib/gprpp/atomic.h +0 -104
  1517. data/src/core/lib/gprpp/map.h +0 -53
  1518. data/src/core/lib/iomgr/endpoint_pair_uv.cc +0 -40
  1519. data/src/core/lib/iomgr/iomgr_posix.h +0 -26
  1520. data/src/core/lib/iomgr/iomgr_uv.cc +0 -43
  1521. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
  1522. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
  1523. data/src/core/lib/iomgr/pollset_uv.cc +0 -93
  1524. data/src/core/lib/iomgr/pollset_uv.h +0 -32
  1525. data/src/core/lib/iomgr/sockaddr_custom.h +0 -54
  1526. data/src/core/lib/iomgr/socket_utils_uv.cc +0 -49
  1527. data/src/core/lib/iomgr/tcp_uv.cc +0 -419
  1528. data/src/core/lib/iomgr/timer_uv.cc +0 -66
  1529. data/src/core/lib/iomgr/udp_server.cc +0 -748
  1530. data/src/core/lib/iomgr/udp_server.h +0 -104
  1531. data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
  1532. data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
  1533. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -44
  1534. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -69
  1535. data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -97
  1536. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
  1537. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -57
  1538. data/src/core/lib/transport/authority_override.cc +0 -38
  1539. data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
  1540. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -504
  1541. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
  1542. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +0 -104
  1543. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +0 -237
  1544. data/third_party/boringssl-with-bazel/src/crypto/x509/vpm_int.h +0 -71
  1545. data/third_party/upb/upb/port.c +0 -26
@@ -9,8 +9,9 @@
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
+ #include "upb/decode_fast.h"
14
15
  #include "upb/encode.h"
15
16
 
16
17
  #include "upb/port_def.inc"
@@ -52,6 +53,7 @@ struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff;
52
53
  struct envoy_config_route_v3_HedgePolicy;
53
54
  struct envoy_config_route_v3_RedirectAction;
54
55
  struct envoy_config_route_v3_DirectResponseAction;
56
+ struct envoy_config_route_v3_NonForwardingAction;
55
57
  struct envoy_config_route_v3_Decorator;
56
58
  struct envoy_config_route_v3_Tracing;
57
59
  struct envoy_config_route_v3_VirtualCluster;
@@ -64,11 +66,13 @@ struct envoy_config_route_v3_RateLimit_Action_RemoteAddress;
64
66
  struct envoy_config_route_v3_RateLimit_Action_GenericKey;
65
67
  struct envoy_config_route_v3_RateLimit_Action_HeaderValueMatch;
66
68
  struct envoy_config_route_v3_RateLimit_Action_DynamicMetaData;
69
+ struct envoy_config_route_v3_RateLimit_Action_MetaData;
67
70
  struct envoy_config_route_v3_RateLimit_Override;
68
71
  struct envoy_config_route_v3_RateLimit_Override_DynamicMetadata;
69
72
  struct envoy_config_route_v3_HeaderMatcher;
70
73
  struct envoy_config_route_v3_QueryParameterMatcher;
71
74
  struct envoy_config_route_v3_InternalRedirectPolicy;
75
+ struct envoy_config_route_v3_FilterConfig;
72
76
  typedef struct envoy_config_route_v3_VirtualHost envoy_config_route_v3_VirtualHost;
73
77
  typedef struct envoy_config_route_v3_VirtualHost_TypedPerFilterConfigEntry envoy_config_route_v3_VirtualHost_TypedPerFilterConfigEntry;
74
78
  typedef struct envoy_config_route_v3_FilterAction envoy_config_route_v3_FilterAction;
@@ -102,6 +106,7 @@ typedef struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff envoy_c
102
106
  typedef struct envoy_config_route_v3_HedgePolicy envoy_config_route_v3_HedgePolicy;
103
107
  typedef struct envoy_config_route_v3_RedirectAction envoy_config_route_v3_RedirectAction;
104
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;
105
110
  typedef struct envoy_config_route_v3_Decorator envoy_config_route_v3_Decorator;
106
111
  typedef struct envoy_config_route_v3_Tracing envoy_config_route_v3_Tracing;
107
112
  typedef struct envoy_config_route_v3_VirtualCluster envoy_config_route_v3_VirtualCluster;
@@ -114,11 +119,13 @@ typedef struct envoy_config_route_v3_RateLimit_Action_RemoteAddress envoy_config
114
119
  typedef struct envoy_config_route_v3_RateLimit_Action_GenericKey envoy_config_route_v3_RateLimit_Action_GenericKey;
115
120
  typedef struct envoy_config_route_v3_RateLimit_Action_HeaderValueMatch envoy_config_route_v3_RateLimit_Action_HeaderValueMatch;
116
121
  typedef struct envoy_config_route_v3_RateLimit_Action_DynamicMetaData envoy_config_route_v3_RateLimit_Action_DynamicMetaData;
122
+ typedef struct envoy_config_route_v3_RateLimit_Action_MetaData envoy_config_route_v3_RateLimit_Action_MetaData;
117
123
  typedef struct envoy_config_route_v3_RateLimit_Override envoy_config_route_v3_RateLimit_Override;
118
124
  typedef struct envoy_config_route_v3_RateLimit_Override_DynamicMetadata envoy_config_route_v3_RateLimit_Override_DynamicMetadata;
119
125
  typedef struct envoy_config_route_v3_HeaderMatcher envoy_config_route_v3_HeaderMatcher;
120
126
  typedef struct envoy_config_route_v3_QueryParameterMatcher envoy_config_route_v3_QueryParameterMatcher;
121
127
  typedef struct envoy_config_route_v3_InternalRedirectPolicy envoy_config_route_v3_InternalRedirectPolicy;
128
+ typedef struct envoy_config_route_v3_FilterConfig envoy_config_route_v3_FilterConfig;
122
129
  extern const upb_msglayout envoy_config_route_v3_VirtualHost_msginit;
123
130
  extern const upb_msglayout envoy_config_route_v3_VirtualHost_TypedPerFilterConfigEntry_msginit;
124
131
  extern const upb_msglayout envoy_config_route_v3_FilterAction_msginit;
@@ -152,6 +159,7 @@ extern const upb_msglayout envoy_config_route_v3_RetryPolicy_RateLimitedRetryBac
152
159
  extern const upb_msglayout envoy_config_route_v3_HedgePolicy_msginit;
153
160
  extern const upb_msglayout envoy_config_route_v3_RedirectAction_msginit;
154
161
  extern const upb_msglayout envoy_config_route_v3_DirectResponseAction_msginit;
162
+ extern const upb_msglayout envoy_config_route_v3_NonForwardingAction_msginit;
155
163
  extern const upb_msglayout envoy_config_route_v3_Decorator_msginit;
156
164
  extern const upb_msglayout envoy_config_route_v3_Tracing_msginit;
157
165
  extern const upb_msglayout envoy_config_route_v3_VirtualCluster_msginit;
@@ -164,17 +172,20 @@ extern const upb_msglayout envoy_config_route_v3_RateLimit_Action_RemoteAddress_
164
172
  extern const upb_msglayout envoy_config_route_v3_RateLimit_Action_GenericKey_msginit;
165
173
  extern const upb_msglayout envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit;
166
174
  extern const upb_msglayout envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit;
175
+ extern const upb_msglayout envoy_config_route_v3_RateLimit_Action_MetaData_msginit;
167
176
  extern const upb_msglayout envoy_config_route_v3_RateLimit_Override_msginit;
168
177
  extern const upb_msglayout envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit;
169
178
  extern const upb_msglayout envoy_config_route_v3_HeaderMatcher_msginit;
170
179
  extern const upb_msglayout envoy_config_route_v3_QueryParameterMatcher_msginit;
171
180
  extern const upb_msglayout envoy_config_route_v3_InternalRedirectPolicy_msginit;
181
+ extern const upb_msglayout envoy_config_route_v3_FilterConfig_msginit;
172
182
  struct envoy_config_core_v3_DataSource;
173
183
  struct envoy_config_core_v3_HeaderValueOption;
174
184
  struct envoy_config_core_v3_Metadata;
175
185
  struct envoy_config_core_v3_ProxyProtocolConfig;
176
186
  struct envoy_config_core_v3_RuntimeFractionalPercent;
177
187
  struct envoy_config_core_v3_TypedExtensionConfig;
188
+ struct envoy_type_matcher_v3_MetadataMatcher;
178
189
  struct envoy_type_matcher_v3_RegexMatchAndSubstitute;
179
190
  struct envoy_type_matcher_v3_RegexMatcher;
180
191
  struct envoy_type_matcher_v3_StringMatcher;
@@ -192,6 +203,7 @@ extern const upb_msglayout envoy_config_core_v3_Metadata_msginit;
192
203
  extern const upb_msglayout envoy_config_core_v3_ProxyProtocolConfig_msginit;
193
204
  extern const upb_msglayout envoy_config_core_v3_RuntimeFractionalPercent_msginit;
194
205
  extern const upb_msglayout envoy_config_core_v3_TypedExtensionConfig_msginit;
206
+ extern const upb_msglayout envoy_type_matcher_v3_MetadataMatcher_msginit;
195
207
  extern const upb_msglayout envoy_type_matcher_v3_RegexMatchAndSubstitute_msginit;
196
208
  extern const upb_msglayout envoy_type_matcher_v3_RegexMatcher_msginit;
197
209
  extern const upb_msglayout envoy_type_matcher_v3_StringMatcher_msginit;
@@ -204,6 +216,11 @@ extern const upb_msglayout google_protobuf_BoolValue_msginit;
204
216
  extern const upb_msglayout google_protobuf_Duration_msginit;
205
217
  extern const upb_msglayout google_protobuf_UInt32Value_msginit;
206
218
 
219
+ typedef enum {
220
+ envoy_config_route_v3_RateLimit_Action_MetaData_DYNAMIC = 0,
221
+ envoy_config_route_v3_RateLimit_Action_MetaData_ROUTE_ENTRY = 1
222
+ } envoy_config_route_v3_RateLimit_Action_MetaData_Source;
223
+
207
224
  typedef enum {
208
225
  envoy_config_route_v3_RedirectAction_MOVED_PERMANENTLY = 0,
209
226
  envoy_config_route_v3_RedirectAction_FOUND = 1,
@@ -242,7 +259,19 @@ UPB_INLINE envoy_config_route_v3_VirtualHost *envoy_config_route_v3_VirtualHost_
242
259
  UPB_INLINE envoy_config_route_v3_VirtualHost *envoy_config_route_v3_VirtualHost_parse(const char *buf, size_t size,
243
260
  upb_arena *arena) {
244
261
  envoy_config_route_v3_VirtualHost *ret = envoy_config_route_v3_VirtualHost_new(arena);
245
- 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;
265
+ }
266
+ UPB_INLINE envoy_config_route_v3_VirtualHost *envoy_config_route_v3_VirtualHost_parse_ex(const char *buf, size_t size,
267
+ const upb_extreg *extreg, int options,
268
+ upb_arena *arena) {
269
+ envoy_config_route_v3_VirtualHost *ret = envoy_config_route_v3_VirtualHost_new(arena);
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;
246
275
  }
247
276
  UPB_INLINE char *envoy_config_route_v3_VirtualHost_serialize(const envoy_config_route_v3_VirtualHost *msg, upb_arena *arena, size_t *len) {
248
277
  return upb_encode(msg, &envoy_config_route_v3_VirtualHost_msginit, arena, len);
@@ -252,14 +281,14 @@ UPB_INLINE upb_strview envoy_config_route_v3_VirtualHost_name(const envoy_config
252
281
  UPB_INLINE upb_strview const* envoy_config_route_v3_VirtualHost_domains(const envoy_config_route_v3_VirtualHost *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(40, 72), len); }
253
282
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_routes(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(44, 80)); }
254
283
  UPB_INLINE const envoy_config_route_v3_Route* const* envoy_config_route_v3_VirtualHost_routes(const envoy_config_route_v3_VirtualHost *msg, size_t *len) { return (const envoy_config_route_v3_Route* const*)_upb_array_accessor(msg, UPB_SIZE(44, 80), len); }
255
- UPB_INLINE int32_t envoy_config_route_v3_VirtualHost_require_tls(const envoy_config_route_v3_VirtualHost *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); }
284
+ UPB_INLINE int32_t envoy_config_route_v3_VirtualHost_require_tls(const envoy_config_route_v3_VirtualHost *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); }
256
285
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_virtual_clusters(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(48, 88)); }
257
286
  UPB_INLINE const envoy_config_route_v3_VirtualCluster* const* envoy_config_route_v3_VirtualHost_virtual_clusters(const envoy_config_route_v3_VirtualHost *msg, size_t *len) { return (const envoy_config_route_v3_VirtualCluster* const*)_upb_array_accessor(msg, UPB_SIZE(48, 88), len); }
258
287
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_rate_limits(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(52, 96)); }
259
288
  UPB_INLINE const envoy_config_route_v3_RateLimit* const* envoy_config_route_v3_VirtualHost_rate_limits(const envoy_config_route_v3_VirtualHost *msg, size_t *len) { return (const envoy_config_route_v3_RateLimit* const*)_upb_array_accessor(msg, UPB_SIZE(52, 96), len); }
260
289
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_request_headers_to_add(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(56, 104)); }
261
290
  UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_VirtualHost_request_headers_to_add(const envoy_config_route_v3_VirtualHost *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(56, 104), len); }
262
- UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_cors(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 32)); }
291
+ UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_cors(const envoy_config_route_v3_VirtualHost *msg) { return _upb_hasbit(msg, 1); }
263
292
  UPB_INLINE const envoy_config_route_v3_CorsPolicy* envoy_config_route_v3_VirtualHost_cors(const envoy_config_route_v3_VirtualHost *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const envoy_config_route_v3_CorsPolicy*); }
264
293
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_response_headers_to_add(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(60, 112)); }
265
294
  UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_VirtualHost_response_headers_to_add(const envoy_config_route_v3_VirtualHost *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(60, 112), len); }
@@ -270,14 +299,14 @@ UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_typed_per_filter_config(co
270
299
  UPB_INLINE size_t envoy_config_route_v3_VirtualHost_typed_per_filter_config_size(const envoy_config_route_v3_VirtualHost *msg) {return _upb_msg_map_size(msg, UPB_SIZE(72, 136)); }
271
300
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_typed_per_filter_config_get(const envoy_config_route_v3_VirtualHost *msg, upb_strview key, struct google_protobuf_Any* *val) { return _upb_msg_map_get(msg, UPB_SIZE(72, 136), &key, 0, val, sizeof(*val)); }
272
301
  UPB_INLINE const envoy_config_route_v3_VirtualHost_TypedPerFilterConfigEntry* envoy_config_route_v3_VirtualHost_typed_per_filter_config_next(const envoy_config_route_v3_VirtualHost *msg, size_t* iter) { return (const envoy_config_route_v3_VirtualHost_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(72, 136), iter); }
273
- UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_retry_policy(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 40)); }
302
+ UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_retry_policy(const envoy_config_route_v3_VirtualHost *msg) { return _upb_hasbit(msg, 2); }
274
303
  UPB_INLINE const envoy_config_route_v3_RetryPolicy* envoy_config_route_v3_VirtualHost_retry_policy(const envoy_config_route_v3_VirtualHost *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const envoy_config_route_v3_RetryPolicy*); }
275
- UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_hedge_policy(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 48)); }
304
+ UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_hedge_policy(const envoy_config_route_v3_VirtualHost *msg) { return _upb_hasbit(msg, 3); }
276
305
  UPB_INLINE const envoy_config_route_v3_HedgePolicy* envoy_config_route_v3_VirtualHost_hedge_policy(const envoy_config_route_v3_VirtualHost *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const envoy_config_route_v3_HedgePolicy*); }
277
- UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_per_request_buffer_limit_bytes(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 56)); }
306
+ UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_per_request_buffer_limit_bytes(const envoy_config_route_v3_VirtualHost *msg) { return _upb_hasbit(msg, 4); }
278
307
  UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_VirtualHost_per_request_buffer_limit_bytes(const envoy_config_route_v3_VirtualHost *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(32, 56), const struct google_protobuf_UInt32Value*); }
279
308
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_include_attempt_count_in_response(const envoy_config_route_v3_VirtualHost *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(9, 9), bool); }
280
- UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_retry_policy_typed_config(const envoy_config_route_v3_VirtualHost *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(36, 64)); }
309
+ UPB_INLINE bool envoy_config_route_v3_VirtualHost_has_retry_policy_typed_config(const envoy_config_route_v3_VirtualHost *msg) { return _upb_hasbit(msg, 5); }
281
310
  UPB_INLINE const struct google_protobuf_Any* envoy_config_route_v3_VirtualHost_retry_policy_typed_config(const envoy_config_route_v3_VirtualHost *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(36, 64), const struct google_protobuf_Any*); }
282
311
 
283
312
  UPB_INLINE void envoy_config_route_v3_VirtualHost_set_name(envoy_config_route_v3_VirtualHost *msg, upb_strview value) {
@@ -287,38 +316,38 @@ UPB_INLINE upb_strview* envoy_config_route_v3_VirtualHost_mutable_domains(envoy_
287
316
  return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 72), len);
288
317
  }
289
318
  UPB_INLINE upb_strview* envoy_config_route_v3_VirtualHost_resize_domains(envoy_config_route_v3_VirtualHost *msg, size_t len, upb_arena *arena) {
290
- return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(40, 72), len, UPB_TYPE_STRING, arena);
319
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(40, 72), len, UPB_SIZE(3, 4), arena);
291
320
  }
292
321
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_add_domains(envoy_config_route_v3_VirtualHost *msg, upb_strview val, upb_arena *arena) {
293
- return _upb_array_append_accessor(msg, UPB_SIZE(40, 72), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
322
+ return _upb_array_append_accessor2(msg, UPB_SIZE(40, 72), UPB_SIZE(3, 4), &val,
294
323
  arena);
295
324
  }
296
325
  UPB_INLINE envoy_config_route_v3_Route** envoy_config_route_v3_VirtualHost_mutable_routes(envoy_config_route_v3_VirtualHost *msg, size_t *len) {
297
326
  return (envoy_config_route_v3_Route**)_upb_array_mutable_accessor(msg, UPB_SIZE(44, 80), len);
298
327
  }
299
328
  UPB_INLINE envoy_config_route_v3_Route** envoy_config_route_v3_VirtualHost_resize_routes(envoy_config_route_v3_VirtualHost *msg, size_t len, upb_arena *arena) {
300
- return (envoy_config_route_v3_Route**)_upb_array_resize_accessor(msg, UPB_SIZE(44, 80), len, UPB_TYPE_MESSAGE, arena);
329
+ return (envoy_config_route_v3_Route**)_upb_array_resize_accessor2(msg, UPB_SIZE(44, 80), len, UPB_SIZE(2, 3), arena);
301
330
  }
302
331
  UPB_INLINE struct envoy_config_route_v3_Route* envoy_config_route_v3_VirtualHost_add_routes(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
303
332
  struct envoy_config_route_v3_Route* sub = (struct envoy_config_route_v3_Route*)_upb_msg_new(&envoy_config_route_v3_Route_msginit, arena);
304
- bool ok = _upb_array_append_accessor(
305
- msg, UPB_SIZE(44, 80), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
333
+ bool ok = _upb_array_append_accessor2(
334
+ msg, UPB_SIZE(44, 80), UPB_SIZE(2, 3), &sub, arena);
306
335
  if (!ok) return NULL;
307
336
  return sub;
308
337
  }
309
338
  UPB_INLINE void envoy_config_route_v3_VirtualHost_set_require_tls(envoy_config_route_v3_VirtualHost *msg, int32_t value) {
310
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value;
339
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value;
311
340
  }
312
341
  UPB_INLINE envoy_config_route_v3_VirtualCluster** envoy_config_route_v3_VirtualHost_mutable_virtual_clusters(envoy_config_route_v3_VirtualHost *msg, size_t *len) {
313
342
  return (envoy_config_route_v3_VirtualCluster**)_upb_array_mutable_accessor(msg, UPB_SIZE(48, 88), len);
314
343
  }
315
344
  UPB_INLINE envoy_config_route_v3_VirtualCluster** envoy_config_route_v3_VirtualHost_resize_virtual_clusters(envoy_config_route_v3_VirtualHost *msg, size_t len, upb_arena *arena) {
316
- return (envoy_config_route_v3_VirtualCluster**)_upb_array_resize_accessor(msg, UPB_SIZE(48, 88), len, UPB_TYPE_MESSAGE, arena);
345
+ return (envoy_config_route_v3_VirtualCluster**)_upb_array_resize_accessor2(msg, UPB_SIZE(48, 88), len, UPB_SIZE(2, 3), arena);
317
346
  }
318
347
  UPB_INLINE struct envoy_config_route_v3_VirtualCluster* envoy_config_route_v3_VirtualHost_add_virtual_clusters(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
319
348
  struct envoy_config_route_v3_VirtualCluster* sub = (struct envoy_config_route_v3_VirtualCluster*)_upb_msg_new(&envoy_config_route_v3_VirtualCluster_msginit, arena);
320
- bool ok = _upb_array_append_accessor(
321
- msg, UPB_SIZE(48, 88), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
349
+ bool ok = _upb_array_append_accessor2(
350
+ msg, UPB_SIZE(48, 88), UPB_SIZE(2, 3), &sub, arena);
322
351
  if (!ok) return NULL;
323
352
  return sub;
324
353
  }
@@ -326,12 +355,12 @@ UPB_INLINE envoy_config_route_v3_RateLimit** envoy_config_route_v3_VirtualHost_m
326
355
  return (envoy_config_route_v3_RateLimit**)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 96), len);
327
356
  }
328
357
  UPB_INLINE envoy_config_route_v3_RateLimit** envoy_config_route_v3_VirtualHost_resize_rate_limits(envoy_config_route_v3_VirtualHost *msg, size_t len, upb_arena *arena) {
329
- return (envoy_config_route_v3_RateLimit**)_upb_array_resize_accessor(msg, UPB_SIZE(52, 96), len, UPB_TYPE_MESSAGE, arena);
358
+ return (envoy_config_route_v3_RateLimit**)_upb_array_resize_accessor2(msg, UPB_SIZE(52, 96), len, UPB_SIZE(2, 3), arena);
330
359
  }
331
360
  UPB_INLINE struct envoy_config_route_v3_RateLimit* envoy_config_route_v3_VirtualHost_add_rate_limits(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
332
361
  struct envoy_config_route_v3_RateLimit* sub = (struct envoy_config_route_v3_RateLimit*)_upb_msg_new(&envoy_config_route_v3_RateLimit_msginit, arena);
333
- bool ok = _upb_array_append_accessor(
334
- msg, UPB_SIZE(52, 96), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
362
+ bool ok = _upb_array_append_accessor2(
363
+ msg, UPB_SIZE(52, 96), UPB_SIZE(2, 3), &sub, arena);
335
364
  if (!ok) return NULL;
336
365
  return sub;
337
366
  }
@@ -339,16 +368,17 @@ UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3
339
368
  return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 104), len);
340
369
  }
341
370
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_VirtualHost_resize_request_headers_to_add(envoy_config_route_v3_VirtualHost *msg, size_t len, upb_arena *arena) {
342
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor(msg, UPB_SIZE(56, 104), len, UPB_TYPE_MESSAGE, arena);
371
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(56, 104), len, UPB_SIZE(2, 3), arena);
343
372
  }
344
373
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption* envoy_config_route_v3_VirtualHost_add_request_headers_to_add(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
345
374
  struct envoy_config_core_v3_HeaderValueOption* sub = (struct envoy_config_core_v3_HeaderValueOption*)_upb_msg_new(&envoy_config_core_v3_HeaderValueOption_msginit, arena);
346
- bool ok = _upb_array_append_accessor(
347
- msg, UPB_SIZE(56, 104), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
375
+ bool ok = _upb_array_append_accessor2(
376
+ msg, UPB_SIZE(56, 104), UPB_SIZE(2, 3), &sub, arena);
348
377
  if (!ok) return NULL;
349
378
  return sub;
350
379
  }
351
380
  UPB_INLINE void envoy_config_route_v3_VirtualHost_set_cors(envoy_config_route_v3_VirtualHost *msg, envoy_config_route_v3_CorsPolicy* value) {
381
+ _upb_sethas(msg, 1);
352
382
  *UPB_PTR_AT(msg, UPB_SIZE(20, 32), envoy_config_route_v3_CorsPolicy*) = value;
353
383
  }
354
384
  UPB_INLINE struct envoy_config_route_v3_CorsPolicy* envoy_config_route_v3_VirtualHost_mutable_cors(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
@@ -364,12 +394,12 @@ UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3
364
394
  return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(60, 112), len);
365
395
  }
366
396
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_VirtualHost_resize_response_headers_to_add(envoy_config_route_v3_VirtualHost *msg, size_t len, upb_arena *arena) {
367
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor(msg, UPB_SIZE(60, 112), len, UPB_TYPE_MESSAGE, arena);
397
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(60, 112), len, UPB_SIZE(2, 3), arena);
368
398
  }
369
399
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption* envoy_config_route_v3_VirtualHost_add_response_headers_to_add(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
370
400
  struct envoy_config_core_v3_HeaderValueOption* sub = (struct envoy_config_core_v3_HeaderValueOption*)_upb_msg_new(&envoy_config_core_v3_HeaderValueOption_msginit, arena);
371
- bool ok = _upb_array_append_accessor(
372
- msg, UPB_SIZE(60, 112), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
401
+ bool ok = _upb_array_append_accessor2(
402
+ msg, UPB_SIZE(60, 112), UPB_SIZE(2, 3), &sub, arena);
373
403
  if (!ok) return NULL;
374
404
  return sub;
375
405
  }
@@ -377,20 +407,20 @@ UPB_INLINE upb_strview* envoy_config_route_v3_VirtualHost_mutable_response_heade
377
407
  return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(64, 120), len);
378
408
  }
379
409
  UPB_INLINE upb_strview* envoy_config_route_v3_VirtualHost_resize_response_headers_to_remove(envoy_config_route_v3_VirtualHost *msg, size_t len, upb_arena *arena) {
380
- return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(64, 120), len, UPB_TYPE_STRING, arena);
410
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(64, 120), len, UPB_SIZE(3, 4), arena);
381
411
  }
382
412
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_add_response_headers_to_remove(envoy_config_route_v3_VirtualHost *msg, upb_strview val, upb_arena *arena) {
383
- return _upb_array_append_accessor(msg, UPB_SIZE(64, 120), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
413
+ return _upb_array_append_accessor2(msg, UPB_SIZE(64, 120), UPB_SIZE(3, 4), &val,
384
414
  arena);
385
415
  }
386
416
  UPB_INLINE upb_strview* envoy_config_route_v3_VirtualHost_mutable_request_headers_to_remove(envoy_config_route_v3_VirtualHost *msg, size_t *len) {
387
417
  return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(68, 128), len);
388
418
  }
389
419
  UPB_INLINE upb_strview* envoy_config_route_v3_VirtualHost_resize_request_headers_to_remove(envoy_config_route_v3_VirtualHost *msg, size_t len, upb_arena *arena) {
390
- return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(68, 128), len, UPB_TYPE_STRING, arena);
420
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(68, 128), len, UPB_SIZE(3, 4), arena);
391
421
  }
392
422
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_add_request_headers_to_remove(envoy_config_route_v3_VirtualHost *msg, upb_strview val, upb_arena *arena) {
393
- return _upb_array_append_accessor(msg, UPB_SIZE(68, 128), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
423
+ return _upb_array_append_accessor2(msg, UPB_SIZE(68, 128), UPB_SIZE(3, 4), &val,
394
424
  arena);
395
425
  }
396
426
  UPB_INLINE void envoy_config_route_v3_VirtualHost_set_include_request_attempt_count(envoy_config_route_v3_VirtualHost *msg, bool value) {
@@ -401,6 +431,7 @@ UPB_INLINE bool envoy_config_route_v3_VirtualHost_typed_per_filter_config_set(en
401
431
  UPB_INLINE bool envoy_config_route_v3_VirtualHost_typed_per_filter_config_delete(envoy_config_route_v3_VirtualHost *msg, upb_strview key) { return _upb_msg_map_delete(msg, UPB_SIZE(72, 136), &key, 0); }
402
432
  UPB_INLINE envoy_config_route_v3_VirtualHost_TypedPerFilterConfigEntry* envoy_config_route_v3_VirtualHost_typed_per_filter_config_nextmutable(envoy_config_route_v3_VirtualHost *msg, size_t* iter) { return (envoy_config_route_v3_VirtualHost_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(72, 136), iter); }
403
433
  UPB_INLINE void envoy_config_route_v3_VirtualHost_set_retry_policy(envoy_config_route_v3_VirtualHost *msg, envoy_config_route_v3_RetryPolicy* value) {
434
+ _upb_sethas(msg, 2);
404
435
  *UPB_PTR_AT(msg, UPB_SIZE(24, 40), envoy_config_route_v3_RetryPolicy*) = value;
405
436
  }
406
437
  UPB_INLINE struct envoy_config_route_v3_RetryPolicy* envoy_config_route_v3_VirtualHost_mutable_retry_policy(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
@@ -413,6 +444,7 @@ UPB_INLINE struct envoy_config_route_v3_RetryPolicy* envoy_config_route_v3_Virtu
413
444
  return sub;
414
445
  }
415
446
  UPB_INLINE void envoy_config_route_v3_VirtualHost_set_hedge_policy(envoy_config_route_v3_VirtualHost *msg, envoy_config_route_v3_HedgePolicy* value) {
447
+ _upb_sethas(msg, 3);
416
448
  *UPB_PTR_AT(msg, UPB_SIZE(28, 48), envoy_config_route_v3_HedgePolicy*) = value;
417
449
  }
418
450
  UPB_INLINE struct envoy_config_route_v3_HedgePolicy* envoy_config_route_v3_VirtualHost_mutable_hedge_policy(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
@@ -425,6 +457,7 @@ UPB_INLINE struct envoy_config_route_v3_HedgePolicy* envoy_config_route_v3_Virtu
425
457
  return sub;
426
458
  }
427
459
  UPB_INLINE void envoy_config_route_v3_VirtualHost_set_per_request_buffer_limit_bytes(envoy_config_route_v3_VirtualHost *msg, struct google_protobuf_UInt32Value* value) {
460
+ _upb_sethas(msg, 4);
428
461
  *UPB_PTR_AT(msg, UPB_SIZE(32, 56), struct google_protobuf_UInt32Value*) = value;
429
462
  }
430
463
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_VirtualHost_mutable_per_request_buffer_limit_bytes(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
@@ -440,6 +473,7 @@ UPB_INLINE void envoy_config_route_v3_VirtualHost_set_include_attempt_count_in_r
440
473
  *UPB_PTR_AT(msg, UPB_SIZE(9, 9), bool) = value;
441
474
  }
442
475
  UPB_INLINE void envoy_config_route_v3_VirtualHost_set_retry_policy_typed_config(envoy_config_route_v3_VirtualHost *msg, struct google_protobuf_Any* value) {
476
+ _upb_sethas(msg, 5);
443
477
  *UPB_PTR_AT(msg, UPB_SIZE(36, 64), struct google_protobuf_Any*) = value;
444
478
  }
445
479
  UPB_INLINE struct google_protobuf_Any* envoy_config_route_v3_VirtualHost_mutable_retry_policy_typed_config(envoy_config_route_v3_VirtualHost *msg, upb_arena *arena) {
@@ -478,17 +512,30 @@ UPB_INLINE envoy_config_route_v3_FilterAction *envoy_config_route_v3_FilterActio
478
512
  UPB_INLINE envoy_config_route_v3_FilterAction *envoy_config_route_v3_FilterAction_parse(const char *buf, size_t size,
479
513
  upb_arena *arena) {
480
514
  envoy_config_route_v3_FilterAction *ret = envoy_config_route_v3_FilterAction_new(arena);
481
- 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;
518
+ }
519
+ UPB_INLINE envoy_config_route_v3_FilterAction *envoy_config_route_v3_FilterAction_parse_ex(const char *buf, size_t size,
520
+ const upb_extreg *extreg, int options,
521
+ upb_arena *arena) {
522
+ envoy_config_route_v3_FilterAction *ret = envoy_config_route_v3_FilterAction_new(arena);
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;
482
528
  }
483
529
  UPB_INLINE char *envoy_config_route_v3_FilterAction_serialize(const envoy_config_route_v3_FilterAction *msg, upb_arena *arena, size_t *len) {
484
530
  return upb_encode(msg, &envoy_config_route_v3_FilterAction_msginit, arena, len);
485
531
  }
486
532
 
487
- UPB_INLINE bool envoy_config_route_v3_FilterAction_has_action(const envoy_config_route_v3_FilterAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
488
- UPB_INLINE const struct google_protobuf_Any* envoy_config_route_v3_FilterAction_action(const envoy_config_route_v3_FilterAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct google_protobuf_Any*); }
533
+ UPB_INLINE bool envoy_config_route_v3_FilterAction_has_action(const envoy_config_route_v3_FilterAction *msg) { return _upb_hasbit(msg, 1); }
534
+ UPB_INLINE const struct google_protobuf_Any* envoy_config_route_v3_FilterAction_action(const envoy_config_route_v3_FilterAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Any*); }
489
535
 
490
536
  UPB_INLINE void envoy_config_route_v3_FilterAction_set_action(envoy_config_route_v3_FilterAction *msg, struct google_protobuf_Any* value) {
491
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct google_protobuf_Any*) = value;
537
+ _upb_sethas(msg, 1);
538
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Any*) = value;
492
539
  }
493
540
  UPB_INLINE struct google_protobuf_Any* envoy_config_route_v3_FilterAction_mutable_action(envoy_config_route_v3_FilterAction *msg, upb_arena *arena) {
494
541
  struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_route_v3_FilterAction_action(msg);
@@ -508,7 +555,19 @@ UPB_INLINE envoy_config_route_v3_Route *envoy_config_route_v3_Route_new(upb_aren
508
555
  UPB_INLINE envoy_config_route_v3_Route *envoy_config_route_v3_Route_parse(const char *buf, size_t size,
509
556
  upb_arena *arena) {
510
557
  envoy_config_route_v3_Route *ret = envoy_config_route_v3_Route_new(arena);
511
- 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;
561
+ }
562
+ UPB_INLINE envoy_config_route_v3_Route *envoy_config_route_v3_Route_parse_ex(const char *buf, size_t size,
563
+ const upb_extreg *extreg, int options,
564
+ upb_arena *arena) {
565
+ envoy_config_route_v3_Route *ret = envoy_config_route_v3_Route_new(arena);
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;
512
571
  }
513
572
  UPB_INLINE char *envoy_config_route_v3_Route_serialize(const envoy_config_route_v3_Route *msg, upb_arena *arena, size_t *len) {
514
573
  return upb_encode(msg, &envoy_config_route_v3_Route_msginit, arena, len);
@@ -519,42 +578,46 @@ typedef enum {
519
578
  envoy_config_route_v3_Route_action_redirect = 3,
520
579
  envoy_config_route_v3_Route_action_direct_response = 7,
521
580
  envoy_config_route_v3_Route_action_filter_action = 17,
581
+ envoy_config_route_v3_Route_action_non_forwarding_action = 18,
522
582
  envoy_config_route_v3_Route_action_NOT_SET = 0
523
583
  } envoy_config_route_v3_Route_action_oneofcases;
524
- 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(52, 104), int32_t); }
525
-
526
- UPB_INLINE bool envoy_config_route_v3_Route_has_match(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
527
- UPB_INLINE const envoy_config_route_v3_RouteMatch* envoy_config_route_v3_Route_match(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const envoy_config_route_v3_RouteMatch*); }
528
- UPB_INLINE bool envoy_config_route_v3_Route_has_route(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(52, 104)) == 2; }
529
- UPB_INLINE const envoy_config_route_v3_RouteAction* envoy_config_route_v3_Route_route(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RouteAction*, UPB_SIZE(48, 96), UPB_SIZE(52, 104), 2, NULL); }
530
- UPB_INLINE bool envoy_config_route_v3_Route_has_redirect(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(52, 104)) == 3; }
531
- UPB_INLINE const envoy_config_route_v3_RedirectAction* envoy_config_route_v3_Route_redirect(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RedirectAction*, UPB_SIZE(48, 96), UPB_SIZE(52, 104), 3, NULL); }
532
- UPB_INLINE bool envoy_config_route_v3_Route_has_metadata(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
533
- UPB_INLINE const struct envoy_config_core_v3_Metadata* envoy_config_route_v3_Route_metadata(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_config_core_v3_Metadata*); }
534
- UPB_INLINE bool envoy_config_route_v3_Route_has_decorator(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
535
- UPB_INLINE const envoy_config_route_v3_Decorator* envoy_config_route_v3_Route_decorator(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const envoy_config_route_v3_Decorator*); }
536
- UPB_INLINE bool envoy_config_route_v3_Route_has_direct_response(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(52, 104)) == 7; }
537
- UPB_INLINE const envoy_config_route_v3_DirectResponseAction* envoy_config_route_v3_Route_direct_response(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_DirectResponseAction*, UPB_SIZE(48, 96), UPB_SIZE(52, 104), 7, NULL); }
538
- UPB_INLINE bool envoy_config_route_v3_Route_has_request_headers_to_add(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 56)); }
539
- UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_Route_request_headers_to_add(const envoy_config_route_v3_Route *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(28, 56), len); }
540
- UPB_INLINE bool envoy_config_route_v3_Route_has_response_headers_to_add(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 64)); }
541
- UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_Route_response_headers_to_add(const envoy_config_route_v3_Route *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(32, 64), len); }
542
- UPB_INLINE upb_strview const* envoy_config_route_v3_Route_response_headers_to_remove(const envoy_config_route_v3_Route *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(36, 72), len); }
543
- UPB_INLINE upb_strview const* envoy_config_route_v3_Route_request_headers_to_remove(const envoy_config_route_v3_Route *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(40, 80), len); }
544
- UPB_INLINE bool envoy_config_route_v3_Route_has_typed_per_filter_config(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(44, 88)); }
545
- UPB_INLINE size_t envoy_config_route_v3_Route_typed_per_filter_config_size(const envoy_config_route_v3_Route *msg) {return _upb_msg_map_size(msg, UPB_SIZE(44, 88)); }
546
- UPB_INLINE bool envoy_config_route_v3_Route_typed_per_filter_config_get(const envoy_config_route_v3_Route *msg, upb_strview key, struct google_protobuf_Any* *val) { return _upb_msg_map_get(msg, UPB_SIZE(44, 88), &key, 0, val, sizeof(*val)); }
547
- UPB_INLINE const envoy_config_route_v3_Route_TypedPerFilterConfigEntry* envoy_config_route_v3_Route_typed_per_filter_config_next(const envoy_config_route_v3_Route *msg, size_t* iter) { return (const envoy_config_route_v3_Route_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(44, 88), iter); }
548
- UPB_INLINE upb_strview envoy_config_route_v3_Route_name(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
549
- UPB_INLINE bool envoy_config_route_v3_Route_has_tracing(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 40)); }
550
- UPB_INLINE const envoy_config_route_v3_Tracing* envoy_config_route_v3_Route_tracing(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const envoy_config_route_v3_Tracing*); }
551
- UPB_INLINE bool envoy_config_route_v3_Route_has_per_request_buffer_limit_bytes(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48)); }
552
- 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(24, 48), const struct google_protobuf_UInt32Value*); }
553
- UPB_INLINE bool envoy_config_route_v3_Route_has_filter_action(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(52, 104)) == 17; }
554
- 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(48, 96), UPB_SIZE(52, 104), 17, NULL); }
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); }
585
+
586
+ UPB_INLINE bool envoy_config_route_v3_Route_has_match(const envoy_config_route_v3_Route *msg) { return _upb_hasbit(msg, 1); }
587
+ UPB_INLINE const envoy_config_route_v3_RouteMatch* envoy_config_route_v3_Route_match(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const envoy_config_route_v3_RouteMatch*); }
588
+ UPB_INLINE bool envoy_config_route_v3_Route_has_route(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(56, 112)) == 2; }
589
+ UPB_INLINE const envoy_config_route_v3_RouteAction* envoy_config_route_v3_Route_route(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RouteAction*, UPB_SIZE(52, 104), UPB_SIZE(56, 112), 2, NULL); }
590
+ UPB_INLINE bool envoy_config_route_v3_Route_has_redirect(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(56, 112)) == 3; }
591
+ UPB_INLINE const envoy_config_route_v3_RedirectAction* envoy_config_route_v3_Route_redirect(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RedirectAction*, UPB_SIZE(52, 104), UPB_SIZE(56, 112), 3, NULL); }
592
+ UPB_INLINE bool envoy_config_route_v3_Route_has_metadata(const envoy_config_route_v3_Route *msg) { return _upb_hasbit(msg, 2); }
593
+ UPB_INLINE const struct envoy_config_core_v3_Metadata* envoy_config_route_v3_Route_metadata(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct envoy_config_core_v3_Metadata*); }
594
+ UPB_INLINE bool envoy_config_route_v3_Route_has_decorator(const envoy_config_route_v3_Route *msg) { return _upb_hasbit(msg, 3); }
595
+ UPB_INLINE const envoy_config_route_v3_Decorator* envoy_config_route_v3_Route_decorator(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const envoy_config_route_v3_Decorator*); }
596
+ UPB_INLINE bool envoy_config_route_v3_Route_has_direct_response(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(56, 112)) == 7; }
597
+ UPB_INLINE const envoy_config_route_v3_DirectResponseAction* envoy_config_route_v3_Route_direct_response(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_DirectResponseAction*, UPB_SIZE(52, 104), UPB_SIZE(56, 112), 7, NULL); }
598
+ UPB_INLINE bool envoy_config_route_v3_Route_has_request_headers_to_add(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 64)); }
599
+ UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_Route_request_headers_to_add(const envoy_config_route_v3_Route *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(32, 64), len); }
600
+ UPB_INLINE bool envoy_config_route_v3_Route_has_response_headers_to_add(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(36, 72)); }
601
+ UPB_INLINE const struct envoy_config_core_v3_HeaderValueOption* const* envoy_config_route_v3_Route_response_headers_to_add(const envoy_config_route_v3_Route *msg, size_t *len) { return (const struct envoy_config_core_v3_HeaderValueOption* const*)_upb_array_accessor(msg, UPB_SIZE(36, 72), len); }
602
+ UPB_INLINE upb_strview const* envoy_config_route_v3_Route_response_headers_to_remove(const envoy_config_route_v3_Route *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(40, 80), len); }
603
+ UPB_INLINE upb_strview const* envoy_config_route_v3_Route_request_headers_to_remove(const envoy_config_route_v3_Route *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(44, 88), len); }
604
+ UPB_INLINE bool envoy_config_route_v3_Route_has_typed_per_filter_config(const envoy_config_route_v3_Route *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(48, 96)); }
605
+ UPB_INLINE size_t envoy_config_route_v3_Route_typed_per_filter_config_size(const envoy_config_route_v3_Route *msg) {return _upb_msg_map_size(msg, UPB_SIZE(48, 96)); }
606
+ UPB_INLINE bool envoy_config_route_v3_Route_typed_per_filter_config_get(const envoy_config_route_v3_Route *msg, upb_strview key, struct google_protobuf_Any* *val) { return _upb_msg_map_get(msg, UPB_SIZE(48, 96), &key, 0, val, sizeof(*val)); }
607
+ UPB_INLINE const envoy_config_route_v3_Route_TypedPerFilterConfigEntry* envoy_config_route_v3_Route_typed_per_filter_config_next(const envoy_config_route_v3_Route *msg, size_t* iter) { return (const envoy_config_route_v3_Route_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(48, 96), iter); }
608
+ UPB_INLINE upb_strview envoy_config_route_v3_Route_name(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
609
+ UPB_INLINE bool envoy_config_route_v3_Route_has_tracing(const envoy_config_route_v3_Route *msg) { return _upb_hasbit(msg, 4); }
610
+ UPB_INLINE const envoy_config_route_v3_Tracing* envoy_config_route_v3_Route_tracing(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 48), const envoy_config_route_v3_Tracing*); }
611
+ UPB_INLINE bool envoy_config_route_v3_Route_has_per_request_buffer_limit_bytes(const envoy_config_route_v3_Route *msg) { return _upb_hasbit(msg, 5); }
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*); }
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; }
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); }
555
617
 
556
618
  UPB_INLINE void envoy_config_route_v3_Route_set_match(envoy_config_route_v3_Route *msg, envoy_config_route_v3_RouteMatch* value) {
557
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), envoy_config_route_v3_RouteMatch*) = value;
619
+ _upb_sethas(msg, 1);
620
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), envoy_config_route_v3_RouteMatch*) = value;
558
621
  }
559
622
  UPB_INLINE struct envoy_config_route_v3_RouteMatch* envoy_config_route_v3_Route_mutable_match(envoy_config_route_v3_Route *msg, upb_arena *arena) {
560
623
  struct envoy_config_route_v3_RouteMatch* sub = (struct envoy_config_route_v3_RouteMatch*)envoy_config_route_v3_Route_match(msg);
@@ -566,7 +629,7 @@ UPB_INLINE struct envoy_config_route_v3_RouteMatch* envoy_config_route_v3_Route_
566
629
  return sub;
567
630
  }
568
631
  UPB_INLINE void envoy_config_route_v3_Route_set_route(envoy_config_route_v3_Route *msg, envoy_config_route_v3_RouteAction* value) {
569
- UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RouteAction*, UPB_SIZE(48, 96), value, UPB_SIZE(52, 104), 2);
632
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RouteAction*, UPB_SIZE(52, 104), value, UPB_SIZE(56, 112), 2);
570
633
  }
571
634
  UPB_INLINE struct envoy_config_route_v3_RouteAction* envoy_config_route_v3_Route_mutable_route(envoy_config_route_v3_Route *msg, upb_arena *arena) {
572
635
  struct envoy_config_route_v3_RouteAction* sub = (struct envoy_config_route_v3_RouteAction*)envoy_config_route_v3_Route_route(msg);
@@ -578,7 +641,7 @@ UPB_INLINE struct envoy_config_route_v3_RouteAction* envoy_config_route_v3_Route
578
641
  return sub;
579
642
  }
580
643
  UPB_INLINE void envoy_config_route_v3_Route_set_redirect(envoy_config_route_v3_Route *msg, envoy_config_route_v3_RedirectAction* value) {
581
- UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RedirectAction*, UPB_SIZE(48, 96), value, UPB_SIZE(52, 104), 3);
644
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RedirectAction*, UPB_SIZE(52, 104), value, UPB_SIZE(56, 112), 3);
582
645
  }
583
646
  UPB_INLINE struct envoy_config_route_v3_RedirectAction* envoy_config_route_v3_Route_mutable_redirect(envoy_config_route_v3_Route *msg, upb_arena *arena) {
584
647
  struct envoy_config_route_v3_RedirectAction* sub = (struct envoy_config_route_v3_RedirectAction*)envoy_config_route_v3_Route_redirect(msg);
@@ -590,7 +653,8 @@ UPB_INLINE struct envoy_config_route_v3_RedirectAction* envoy_config_route_v3_Ro
590
653
  return sub;
591
654
  }
592
655
  UPB_INLINE void envoy_config_route_v3_Route_set_metadata(envoy_config_route_v3_Route *msg, struct envoy_config_core_v3_Metadata* value) {
593
- *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_config_core_v3_Metadata*) = value;
656
+ _upb_sethas(msg, 2);
657
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct envoy_config_core_v3_Metadata*) = value;
594
658
  }
595
659
  UPB_INLINE struct envoy_config_core_v3_Metadata* envoy_config_route_v3_Route_mutable_metadata(envoy_config_route_v3_Route *msg, upb_arena *arena) {
596
660
  struct envoy_config_core_v3_Metadata* sub = (struct envoy_config_core_v3_Metadata*)envoy_config_route_v3_Route_metadata(msg);
@@ -602,7 +666,8 @@ UPB_INLINE struct envoy_config_core_v3_Metadata* envoy_config_route_v3_Route_mut
602
666
  return sub;
603
667
  }
604
668
  UPB_INLINE void envoy_config_route_v3_Route_set_decorator(envoy_config_route_v3_Route *msg, envoy_config_route_v3_Decorator* value) {
605
- *UPB_PTR_AT(msg, UPB_SIZE(16, 32), envoy_config_route_v3_Decorator*) = value;
669
+ _upb_sethas(msg, 3);
670
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), envoy_config_route_v3_Decorator*) = value;
606
671
  }
607
672
  UPB_INLINE struct envoy_config_route_v3_Decorator* envoy_config_route_v3_Route_mutable_decorator(envoy_config_route_v3_Route *msg, upb_arena *arena) {
608
673
  struct envoy_config_route_v3_Decorator* sub = (struct envoy_config_route_v3_Decorator*)envoy_config_route_v3_Route_decorator(msg);
@@ -614,7 +679,7 @@ UPB_INLINE struct envoy_config_route_v3_Decorator* envoy_config_route_v3_Route_m
614
679
  return sub;
615
680
  }
616
681
  UPB_INLINE void envoy_config_route_v3_Route_set_direct_response(envoy_config_route_v3_Route *msg, envoy_config_route_v3_DirectResponseAction* value) {
617
- UPB_WRITE_ONEOF(msg, envoy_config_route_v3_DirectResponseAction*, UPB_SIZE(48, 96), value, UPB_SIZE(52, 104), 7);
682
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_DirectResponseAction*, UPB_SIZE(52, 104), value, UPB_SIZE(56, 112), 7);
618
683
  }
619
684
  UPB_INLINE struct envoy_config_route_v3_DirectResponseAction* envoy_config_route_v3_Route_mutable_direct_response(envoy_config_route_v3_Route *msg, upb_arena *arena) {
620
685
  struct envoy_config_route_v3_DirectResponseAction* sub = (struct envoy_config_route_v3_DirectResponseAction*)envoy_config_route_v3_Route_direct_response(msg);
@@ -626,60 +691,61 @@ UPB_INLINE struct envoy_config_route_v3_DirectResponseAction* envoy_config_route
626
691
  return sub;
627
692
  }
628
693
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_Route_mutable_request_headers_to_add(envoy_config_route_v3_Route *msg, size_t *len) {
629
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len);
694
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 64), len);
630
695
  }
631
696
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_Route_resize_request_headers_to_add(envoy_config_route_v3_Route *msg, size_t len, upb_arena *arena) {
632
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor(msg, UPB_SIZE(28, 56), len, UPB_TYPE_MESSAGE, arena);
697
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(32, 64), len, UPB_SIZE(2, 3), arena);
633
698
  }
634
699
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption* envoy_config_route_v3_Route_add_request_headers_to_add(envoy_config_route_v3_Route *msg, upb_arena *arena) {
635
700
  struct envoy_config_core_v3_HeaderValueOption* sub = (struct envoy_config_core_v3_HeaderValueOption*)_upb_msg_new(&envoy_config_core_v3_HeaderValueOption_msginit, arena);
636
- bool ok = _upb_array_append_accessor(
637
- msg, UPB_SIZE(28, 56), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
701
+ bool ok = _upb_array_append_accessor2(
702
+ msg, UPB_SIZE(32, 64), UPB_SIZE(2, 3), &sub, arena);
638
703
  if (!ok) return NULL;
639
704
  return sub;
640
705
  }
641
706
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_Route_mutable_response_headers_to_add(envoy_config_route_v3_Route *msg, size_t *len) {
642
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 64), len);
707
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(36, 72), len);
643
708
  }
644
709
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption** envoy_config_route_v3_Route_resize_response_headers_to_add(envoy_config_route_v3_Route *msg, size_t len, upb_arena *arena) {
645
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor(msg, UPB_SIZE(32, 64), len, UPB_TYPE_MESSAGE, arena);
710
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(36, 72), len, UPB_SIZE(2, 3), arena);
646
711
  }
647
712
  UPB_INLINE struct envoy_config_core_v3_HeaderValueOption* envoy_config_route_v3_Route_add_response_headers_to_add(envoy_config_route_v3_Route *msg, upb_arena *arena) {
648
713
  struct envoy_config_core_v3_HeaderValueOption* sub = (struct envoy_config_core_v3_HeaderValueOption*)_upb_msg_new(&envoy_config_core_v3_HeaderValueOption_msginit, arena);
649
- bool ok = _upb_array_append_accessor(
650
- msg, UPB_SIZE(32, 64), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
714
+ bool ok = _upb_array_append_accessor2(
715
+ msg, UPB_SIZE(36, 72), UPB_SIZE(2, 3), &sub, arena);
651
716
  if (!ok) return NULL;
652
717
  return sub;
653
718
  }
654
719
  UPB_INLINE upb_strview* envoy_config_route_v3_Route_mutable_response_headers_to_remove(envoy_config_route_v3_Route *msg, size_t *len) {
655
- return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(36, 72), len);
720
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 80), len);
656
721
  }
657
722
  UPB_INLINE upb_strview* envoy_config_route_v3_Route_resize_response_headers_to_remove(envoy_config_route_v3_Route *msg, size_t len, upb_arena *arena) {
658
- return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(36, 72), len, UPB_TYPE_STRING, arena);
723
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(40, 80), len, UPB_SIZE(3, 4), arena);
659
724
  }
660
725
  UPB_INLINE bool envoy_config_route_v3_Route_add_response_headers_to_remove(envoy_config_route_v3_Route *msg, upb_strview val, upb_arena *arena) {
661
- return _upb_array_append_accessor(msg, UPB_SIZE(36, 72), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
726
+ return _upb_array_append_accessor2(msg, UPB_SIZE(40, 80), UPB_SIZE(3, 4), &val,
662
727
  arena);
663
728
  }
664
729
  UPB_INLINE upb_strview* envoy_config_route_v3_Route_mutable_request_headers_to_remove(envoy_config_route_v3_Route *msg, size_t *len) {
665
- return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 80), len);
730
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(44, 88), len);
666
731
  }
667
732
  UPB_INLINE upb_strview* envoy_config_route_v3_Route_resize_request_headers_to_remove(envoy_config_route_v3_Route *msg, size_t len, upb_arena *arena) {
668
- return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(40, 80), len, UPB_TYPE_STRING, arena);
733
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(44, 88), len, UPB_SIZE(3, 4), arena);
669
734
  }
670
735
  UPB_INLINE bool envoy_config_route_v3_Route_add_request_headers_to_remove(envoy_config_route_v3_Route *msg, upb_strview val, upb_arena *arena) {
671
- return _upb_array_append_accessor(msg, UPB_SIZE(40, 80), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
736
+ return _upb_array_append_accessor2(msg, UPB_SIZE(44, 88), UPB_SIZE(3, 4), &val,
672
737
  arena);
673
738
  }
674
- UPB_INLINE void envoy_config_route_v3_Route_typed_per_filter_config_clear(envoy_config_route_v3_Route *msg) { _upb_msg_map_clear(msg, UPB_SIZE(44, 88)); }
675
- UPB_INLINE bool envoy_config_route_v3_Route_typed_per_filter_config_set(envoy_config_route_v3_Route *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); }
676
- UPB_INLINE bool envoy_config_route_v3_Route_typed_per_filter_config_delete(envoy_config_route_v3_Route *msg, upb_strview key) { return _upb_msg_map_delete(msg, UPB_SIZE(44, 88), &key, 0); }
677
- UPB_INLINE envoy_config_route_v3_Route_TypedPerFilterConfigEntry* envoy_config_route_v3_Route_typed_per_filter_config_nextmutable(envoy_config_route_v3_Route *msg, size_t* iter) { return (envoy_config_route_v3_Route_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(44, 88), iter); }
739
+ UPB_INLINE void envoy_config_route_v3_Route_typed_per_filter_config_clear(envoy_config_route_v3_Route *msg) { _upb_msg_map_clear(msg, UPB_SIZE(48, 96)); }
740
+ UPB_INLINE bool envoy_config_route_v3_Route_typed_per_filter_config_set(envoy_config_route_v3_Route *msg, upb_strview key, struct google_protobuf_Any* val, upb_arena *a) { return _upb_msg_map_set(msg, UPB_SIZE(48, 96), &key, 0, &val, sizeof(val), a); }
741
+ UPB_INLINE bool envoy_config_route_v3_Route_typed_per_filter_config_delete(envoy_config_route_v3_Route *msg, upb_strview key) { return _upb_msg_map_delete(msg, UPB_SIZE(48, 96), &key, 0); }
742
+ UPB_INLINE envoy_config_route_v3_Route_TypedPerFilterConfigEntry* envoy_config_route_v3_Route_typed_per_filter_config_nextmutable(envoy_config_route_v3_Route *msg, size_t* iter) { return (envoy_config_route_v3_Route_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(48, 96), iter); }
678
743
  UPB_INLINE void envoy_config_route_v3_Route_set_name(envoy_config_route_v3_Route *msg, upb_strview value) {
679
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
744
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
680
745
  }
681
746
  UPB_INLINE void envoy_config_route_v3_Route_set_tracing(envoy_config_route_v3_Route *msg, envoy_config_route_v3_Tracing* value) {
682
- *UPB_PTR_AT(msg, UPB_SIZE(20, 40), envoy_config_route_v3_Tracing*) = value;
747
+ _upb_sethas(msg, 4);
748
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 48), envoy_config_route_v3_Tracing*) = value;
683
749
  }
684
750
  UPB_INLINE struct envoy_config_route_v3_Tracing* envoy_config_route_v3_Route_mutable_tracing(envoy_config_route_v3_Route *msg, upb_arena *arena) {
685
751
  struct envoy_config_route_v3_Tracing* sub = (struct envoy_config_route_v3_Tracing*)envoy_config_route_v3_Route_tracing(msg);
@@ -691,7 +757,8 @@ UPB_INLINE struct envoy_config_route_v3_Tracing* envoy_config_route_v3_Route_mut
691
757
  return sub;
692
758
  }
693
759
  UPB_INLINE void envoy_config_route_v3_Route_set_per_request_buffer_limit_bytes(envoy_config_route_v3_Route *msg, struct google_protobuf_UInt32Value* value) {
694
- *UPB_PTR_AT(msg, UPB_SIZE(24, 48), struct google_protobuf_UInt32Value*) = value;
760
+ _upb_sethas(msg, 5);
761
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 56), struct google_protobuf_UInt32Value*) = value;
695
762
  }
696
763
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_Route_mutable_per_request_buffer_limit_bytes(envoy_config_route_v3_Route *msg, upb_arena *arena) {
697
764
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_route_v3_Route_per_request_buffer_limit_bytes(msg);
@@ -703,7 +770,7 @@ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_Route_mutab
703
770
  return sub;
704
771
  }
705
772
  UPB_INLINE void envoy_config_route_v3_Route_set_filter_action(envoy_config_route_v3_Route *msg, envoy_config_route_v3_FilterAction* value) {
706
- UPB_WRITE_ONEOF(msg, envoy_config_route_v3_FilterAction*, UPB_SIZE(48, 96), value, UPB_SIZE(52, 104), 17);
773
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_FilterAction*, UPB_SIZE(52, 104), value, UPB_SIZE(56, 112), 17);
707
774
  }
708
775
  UPB_INLINE struct envoy_config_route_v3_FilterAction* envoy_config_route_v3_Route_mutable_filter_action(envoy_config_route_v3_Route *msg, upb_arena *arena) {
709
776
  struct envoy_config_route_v3_FilterAction* sub = (struct envoy_config_route_v3_FilterAction*)envoy_config_route_v3_Route_filter_action(msg);
@@ -714,6 +781,18 @@ UPB_INLINE struct envoy_config_route_v3_FilterAction* envoy_config_route_v3_Rout
714
781
  }
715
782
  return sub;
716
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
+ }
717
796
 
718
797
  /* envoy.config.route.v3.Route.TypedPerFilterConfigEntry */
719
798
 
@@ -741,36 +820,49 @@ UPB_INLINE envoy_config_route_v3_WeightedCluster *envoy_config_route_v3_Weighted
741
820
  UPB_INLINE envoy_config_route_v3_WeightedCluster *envoy_config_route_v3_WeightedCluster_parse(const char *buf, size_t size,
742
821
  upb_arena *arena) {
743
822
  envoy_config_route_v3_WeightedCluster *ret = envoy_config_route_v3_WeightedCluster_new(arena);
744
- 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;
826
+ }
827
+ UPB_INLINE envoy_config_route_v3_WeightedCluster *envoy_config_route_v3_WeightedCluster_parse_ex(const char *buf, size_t size,
828
+ const upb_extreg *extreg, int options,
829
+ upb_arena *arena) {
830
+ envoy_config_route_v3_WeightedCluster *ret = envoy_config_route_v3_WeightedCluster_new(arena);
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;
745
836
  }
746
837
  UPB_INLINE char *envoy_config_route_v3_WeightedCluster_serialize(const envoy_config_route_v3_WeightedCluster *msg, upb_arena *arena, size_t *len) {
747
838
  return upb_encode(msg, &envoy_config_route_v3_WeightedCluster_msginit, arena, len);
748
839
  }
749
840
 
750
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_has_clusters(const envoy_config_route_v3_WeightedCluster *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
751
- UPB_INLINE const envoy_config_route_v3_WeightedCluster_ClusterWeight* const* envoy_config_route_v3_WeightedCluster_clusters(const envoy_config_route_v3_WeightedCluster *msg, size_t *len) { return (const envoy_config_route_v3_WeightedCluster_ClusterWeight* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); }
752
- UPB_INLINE upb_strview envoy_config_route_v3_WeightedCluster_runtime_key_prefix(const envoy_config_route_v3_WeightedCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
753
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_has_total_weight(const envoy_config_route_v3_WeightedCluster *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
754
- UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedCluster_total_weight(const envoy_config_route_v3_WeightedCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_UInt32Value*); }
841
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_has_clusters(const envoy_config_route_v3_WeightedCluster *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
842
+ UPB_INLINE const envoy_config_route_v3_WeightedCluster_ClusterWeight* const* envoy_config_route_v3_WeightedCluster_clusters(const envoy_config_route_v3_WeightedCluster *msg, size_t *len) { return (const envoy_config_route_v3_WeightedCluster_ClusterWeight* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); }
843
+ UPB_INLINE upb_strview envoy_config_route_v3_WeightedCluster_runtime_key_prefix(const envoy_config_route_v3_WeightedCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
844
+ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_has_total_weight(const envoy_config_route_v3_WeightedCluster *msg) { return _upb_hasbit(msg, 1); }
845
+ UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedCluster_total_weight(const envoy_config_route_v3_WeightedCluster *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_UInt32Value*); }
755
846
 
756
847
  UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight** envoy_config_route_v3_WeightedCluster_mutable_clusters(envoy_config_route_v3_WeightedCluster *msg, size_t *len) {
757
- return (envoy_config_route_v3_WeightedCluster_ClusterWeight**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len);
848
+ return (envoy_config_route_v3_WeightedCluster_ClusterWeight**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len);
758
849
  }
759
850
  UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight** envoy_config_route_v3_WeightedCluster_resize_clusters(envoy_config_route_v3_WeightedCluster *msg, size_t len, upb_arena *arena) {
760
- return (envoy_config_route_v3_WeightedCluster_ClusterWeight**)_upb_array_resize_accessor(msg, UPB_SIZE(12, 24), len, UPB_TYPE_MESSAGE, arena);
851
+ return (envoy_config_route_v3_WeightedCluster_ClusterWeight**)_upb_array_resize_accessor2(msg, UPB_SIZE(16, 32), len, UPB_SIZE(2, 3), arena);
761
852
  }
762
853
  UPB_INLINE struct envoy_config_route_v3_WeightedCluster_ClusterWeight* envoy_config_route_v3_WeightedCluster_add_clusters(envoy_config_route_v3_WeightedCluster *msg, upb_arena *arena) {
763
854
  struct envoy_config_route_v3_WeightedCluster_ClusterWeight* sub = (struct envoy_config_route_v3_WeightedCluster_ClusterWeight*)_upb_msg_new(&envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit, arena);
764
- bool ok = _upb_array_append_accessor(
765
- msg, UPB_SIZE(12, 24), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
855
+ bool ok = _upb_array_append_accessor2(
856
+ msg, UPB_SIZE(16, 32), UPB_SIZE(2, 3), &sub, arena);
766
857
  if (!ok) return NULL;
767
858
  return sub;
768
859
  }
769
860
  UPB_INLINE void envoy_config_route_v3_WeightedCluster_set_runtime_key_prefix(envoy_config_route_v3_WeightedCluster *msg, upb_strview value) {
770
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
861
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
771
862
  }
772
863
  UPB_INLINE void envoy_config_route_v3_WeightedCluster_set_total_weight(envoy_config_route_v3_WeightedCluster *msg, struct google_protobuf_UInt32Value* value) {
773
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_UInt32Value*) = value;
864
+ _upb_sethas(msg, 1);
865
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_UInt32Value*) = value;
774
866
  }
775
867
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedCluster_mutable_total_weight(envoy_config_route_v3_WeightedCluster *msg, upb_arena *arena) {
776
868
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_route_v3_WeightedCluster_total_weight(msg);
@@ -790,33 +882,55 @@ UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight *envoy_config_rou
790
882
  UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight *envoy_config_route_v3_WeightedCluster_ClusterWeight_parse(const char *buf, size_t size,
791
883
  upb_arena *arena) {
792
884
  envoy_config_route_v3_WeightedCluster_ClusterWeight *ret = envoy_config_route_v3_WeightedCluster_ClusterWeight_new(arena);
793
- 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;
888
+ }
889
+ UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight *envoy_config_route_v3_WeightedCluster_ClusterWeight_parse_ex(const char *buf, size_t size,
890
+ const upb_extreg *extreg, int options,
891
+ upb_arena *arena) {
892
+ envoy_config_route_v3_WeightedCluster_ClusterWeight *ret = envoy_config_route_v3_WeightedCluster_ClusterWeight_new(arena);
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;
794
898
  }
795
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) {
796
900
  return upb_encode(msg, &envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit, arena, len);
797
901
  }
798
902
 
799
- 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(0, 0), upb_strview); }
800
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_weight(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
801
- 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(8, 16), const struct google_protobuf_UInt32Value*); }
802
- UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_metadata_match(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
803
- 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(12, 24), const struct envoy_config_core_v3_Metadata*); }
804
- 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(16, 32)); }
805
- 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(16, 32), len); }
806
- 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(20, 40)); }
807
- 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(20, 40), len); }
808
- 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(24, 48), len); }
809
- 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(28, 56), len); }
810
- 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(32, 64)); }
811
- 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(32, 64)); }
812
- 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(32, 64), &key, 0, val, sizeof(*val)); }
813
- 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(32, 64), iter); }
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
+
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); }
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); }
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*); }
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); }
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); }
814
927
 
815
928
  UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_name(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview value) {
816
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
929
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
817
930
  }
818
931
  UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_weight(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, struct google_protobuf_UInt32Value* value) {
819
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_UInt32Value*) = value;
932
+ _upb_sethas(msg, 1);
933
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct google_protobuf_UInt32Value*) = value;
820
934
  }
821
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) {
822
936
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_route_v3_WeightedCluster_ClusterWeight_weight(msg);
@@ -828,7 +942,8 @@ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedClu
828
942
  return sub;
829
943
  }
830
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) {
831
- *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_config_core_v3_Metadata*) = value;
945
+ _upb_sethas(msg, 2);
946
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 48), struct envoy_config_core_v3_Metadata*) = value;
832
947
  }
833
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) {
834
949
  struct envoy_config_core_v3_Metadata* sub = (struct envoy_config_core_v3_Metadata*)envoy_config_route_v3_WeightedCluster_ClusterWeight_metadata_match(msg);
@@ -840,55 +955,61 @@ UPB_INLINE struct envoy_config_core_v3_Metadata* envoy_config_route_v3_WeightedC
840
955
  return sub;
841
956
  }
842
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) {
843
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len);
958
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len);
844
959
  }
845
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) {
846
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor(msg, UPB_SIZE(16, 32), len, UPB_TYPE_MESSAGE, arena);
961
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(28, 56), len, UPB_SIZE(2, 3), arena);
847
962
  }
848
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) {
849
964
  struct envoy_config_core_v3_HeaderValueOption* sub = (struct envoy_config_core_v3_HeaderValueOption*)_upb_msg_new(&envoy_config_core_v3_HeaderValueOption_msginit, arena);
850
- bool ok = _upb_array_append_accessor(
851
- msg, UPB_SIZE(16, 32), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
965
+ bool ok = _upb_array_append_accessor2(
966
+ msg, UPB_SIZE(28, 56), UPB_SIZE(2, 3), &sub, arena);
852
967
  if (!ok) return NULL;
853
968
  return sub;
854
969
  }
855
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) {
856
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(20, 40), len);
971
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 64), len);
857
972
  }
858
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) {
859
- return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor(msg, UPB_SIZE(20, 40), len, UPB_TYPE_MESSAGE, arena);
974
+ return (struct envoy_config_core_v3_HeaderValueOption**)_upb_array_resize_accessor2(msg, UPB_SIZE(32, 64), len, UPB_SIZE(2, 3), arena);
860
975
  }
861
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) {
862
977
  struct envoy_config_core_v3_HeaderValueOption* sub = (struct envoy_config_core_v3_HeaderValueOption*)_upb_msg_new(&envoy_config_core_v3_HeaderValueOption_msginit, arena);
863
- bool ok = _upb_array_append_accessor(
864
- msg, UPB_SIZE(20, 40), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
978
+ bool ok = _upb_array_append_accessor2(
979
+ msg, UPB_SIZE(32, 64), UPB_SIZE(2, 3), &sub, arena);
865
980
  if (!ok) return NULL;
866
981
  return sub;
867
982
  }
868
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) {
869
- return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(24, 48), len);
984
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(36, 72), len);
870
985
  }
871
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) {
872
- return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(24, 48), len, UPB_TYPE_STRING, arena);
987
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(36, 72), len, UPB_SIZE(3, 4), arena);
873
988
  }
874
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) {
875
- return _upb_array_append_accessor(msg, UPB_SIZE(24, 48), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
990
+ return _upb_array_append_accessor2(msg, UPB_SIZE(36, 72), UPB_SIZE(3, 4), &val,
876
991
  arena);
877
992
  }
878
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) {
879
- return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 56), len);
994
+ return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 80), len);
880
995
  }
881
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) {
882
- return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(28, 56), len, UPB_TYPE_STRING, arena);
997
+ return (upb_strview*)_upb_array_resize_accessor2(msg, UPB_SIZE(40, 80), len, UPB_SIZE(3, 4), arena);
883
998
  }
884
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) {
885
- return _upb_array_append_accessor(msg, UPB_SIZE(28, 56), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
1000
+ return _upb_array_append_accessor2(msg, UPB_SIZE(40, 80), UPB_SIZE(3, 4), &val,
886
1001
  arena);
887
1002
  }
888
- 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(32, 64)); }
889
- 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(32, 64), &key, 0, &val, sizeof(val), a); }
890
- 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(32, 64), &key, 0); }
891
- 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(32, 64), 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
+ }
892
1013
 
893
1014
  /* envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry */
894
1015
 
@@ -916,7 +1037,19 @@ UPB_INLINE envoy_config_route_v3_RouteMatch *envoy_config_route_v3_RouteMatch_ne
916
1037
  UPB_INLINE envoy_config_route_v3_RouteMatch *envoy_config_route_v3_RouteMatch_parse(const char *buf, size_t size,
917
1038
  upb_arena *arena) {
918
1039
  envoy_config_route_v3_RouteMatch *ret = envoy_config_route_v3_RouteMatch_new(arena);
919
- 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;
1043
+ }
1044
+ UPB_INLINE envoy_config_route_v3_RouteMatch *envoy_config_route_v3_RouteMatch_parse_ex(const char *buf, size_t size,
1045
+ const upb_extreg *extreg, int options,
1046
+ upb_arena *arena) {
1047
+ envoy_config_route_v3_RouteMatch *ret = envoy_config_route_v3_RouteMatch_new(arena);
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;
920
1053
  }
921
1054
  UPB_INLINE char *envoy_config_route_v3_RouteMatch_serialize(const envoy_config_route_v3_RouteMatch *msg, upb_arena *arena, size_t *len) {
922
1055
  return upb_encode(msg, &envoy_config_route_v3_RouteMatch_msginit, arena, len);
@@ -929,37 +1062,40 @@ typedef enum {
929
1062
  envoy_config_route_v3_RouteMatch_path_specifier_connect_matcher = 12,
930
1063
  envoy_config_route_v3_RouteMatch_path_specifier_NOT_SET = 0
931
1064
  } envoy_config_route_v3_RouteMatch_path_specifier_oneofcases;
932
- 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(32, 64), int32_t); }
933
-
934
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_prefix(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(32, 64)) == 1; }
935
- 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(24, 48), UPB_SIZE(32, 64), 1, upb_strview_make("", strlen(""))); }
936
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_path(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(32, 64)) == 2; }
937
- 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(24, 48), UPB_SIZE(32, 64), 2, upb_strview_make("", strlen(""))); }
938
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_case_sensitive(const envoy_config_route_v3_RouteMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
939
- 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(0, 0), const struct google_protobuf_BoolValue*); }
940
- 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(16, 32)); }
941
- UPB_INLINE const envoy_config_route_v3_HeaderMatcher* const* envoy_config_route_v3_RouteMatch_headers(const envoy_config_route_v3_RouteMatch *msg, size_t *len) { return (const envoy_config_route_v3_HeaderMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); }
942
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_query_parameters(const envoy_config_route_v3_RouteMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 40)); }
943
- UPB_INLINE const envoy_config_route_v3_QueryParameterMatcher* const* envoy_config_route_v3_RouteMatch_query_parameters(const envoy_config_route_v3_RouteMatch *msg, size_t *len) { return (const envoy_config_route_v3_QueryParameterMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(20, 40), len); }
944
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_grpc(const envoy_config_route_v3_RouteMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
945
- 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(4, 8), const envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions*); }
946
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_runtime_fraction(const envoy_config_route_v3_RouteMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
947
- 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(8, 16), const struct envoy_config_core_v3_RuntimeFractionalPercent*); }
948
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_safe_regex(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(32, 64)) == 10; }
949
- 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(24, 48), UPB_SIZE(32, 64), 10, NULL); }
950
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_tls_context(const envoy_config_route_v3_RouteMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
951
- 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(12, 24), const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions*); }
952
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_connect_matcher(const envoy_config_route_v3_RouteMatch *msg) { return _upb_getoneofcase(msg, UPB_SIZE(32, 64)) == 12; }
953
- 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(24, 48), UPB_SIZE(32, 64), 12, NULL); }
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); }
1066
+
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(""))); }
1071
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_case_sensitive(const envoy_config_route_v3_RouteMatch *msg) { return _upb_hasbit(msg, 1); }
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*); }
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)); }
1074
+ UPB_INLINE const envoy_config_route_v3_HeaderMatcher* const* envoy_config_route_v3_RouteMatch_headers(const envoy_config_route_v3_RouteMatch *msg, size_t *len) { return (const envoy_config_route_v3_HeaderMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(20, 40), len); }
1075
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_query_parameters(const envoy_config_route_v3_RouteMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 48)); }
1076
+ UPB_INLINE const envoy_config_route_v3_QueryParameterMatcher* const* envoy_config_route_v3_RouteMatch_query_parameters(const envoy_config_route_v3_RouteMatch *msg, size_t *len) { return (const envoy_config_route_v3_QueryParameterMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(24, 48), len); }
1077
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_grpc(const envoy_config_route_v3_RouteMatch *msg) { return _upb_hasbit(msg, 2); }
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*); }
1079
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_runtime_fraction(const envoy_config_route_v3_RouteMatch *msg) { return _upb_hasbit(msg, 3); }
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*); }
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); }
1083
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_has_tls_context(const envoy_config_route_v3_RouteMatch *msg) { return _upb_hasbit(msg, 4); }
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*); }
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); }
954
1089
 
955
1090
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_prefix(envoy_config_route_v3_RouteMatch *msg, upb_strview value) {
956
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(24, 48), value, UPB_SIZE(32, 64), 1);
1091
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(32, 64), value, UPB_SIZE(40, 80), 1);
957
1092
  }
958
1093
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_path(envoy_config_route_v3_RouteMatch *msg, upb_strview value) {
959
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(24, 48), value, UPB_SIZE(32, 64), 2);
1094
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(32, 64), value, UPB_SIZE(40, 80), 2);
960
1095
  }
961
1096
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_case_sensitive(envoy_config_route_v3_RouteMatch *msg, struct google_protobuf_BoolValue* value) {
962
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct google_protobuf_BoolValue*) = value;
1097
+ _upb_sethas(msg, 1);
1098
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_BoolValue*) = value;
963
1099
  }
964
1100
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_mutable_case_sensitive(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
965
1101
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_RouteMatch_case_sensitive(msg);
@@ -971,33 +1107,34 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_mu
971
1107
  return sub;
972
1108
  }
973
1109
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_RouteMatch_mutable_headers(envoy_config_route_v3_RouteMatch *msg, size_t *len) {
974
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len);
1110
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(20, 40), len);
975
1111
  }
976
1112
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_RouteMatch_resize_headers(envoy_config_route_v3_RouteMatch *msg, size_t len, upb_arena *arena) {
977
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor(msg, UPB_SIZE(16, 32), len, UPB_TYPE_MESSAGE, arena);
1113
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(20, 40), len, UPB_SIZE(2, 3), arena);
978
1114
  }
979
1115
  UPB_INLINE struct envoy_config_route_v3_HeaderMatcher* envoy_config_route_v3_RouteMatch_add_headers(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
980
1116
  struct envoy_config_route_v3_HeaderMatcher* sub = (struct envoy_config_route_v3_HeaderMatcher*)_upb_msg_new(&envoy_config_route_v3_HeaderMatcher_msginit, arena);
981
- bool ok = _upb_array_append_accessor(
982
- msg, UPB_SIZE(16, 32), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
1117
+ bool ok = _upb_array_append_accessor2(
1118
+ msg, UPB_SIZE(20, 40), UPB_SIZE(2, 3), &sub, arena);
983
1119
  if (!ok) return NULL;
984
1120
  return sub;
985
1121
  }
986
1122
  UPB_INLINE envoy_config_route_v3_QueryParameterMatcher** envoy_config_route_v3_RouteMatch_mutable_query_parameters(envoy_config_route_v3_RouteMatch *msg, size_t *len) {
987
- return (envoy_config_route_v3_QueryParameterMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(20, 40), len);
1123
+ return (envoy_config_route_v3_QueryParameterMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(24, 48), len);
988
1124
  }
989
1125
  UPB_INLINE envoy_config_route_v3_QueryParameterMatcher** envoy_config_route_v3_RouteMatch_resize_query_parameters(envoy_config_route_v3_RouteMatch *msg, size_t len, upb_arena *arena) {
990
- return (envoy_config_route_v3_QueryParameterMatcher**)_upb_array_resize_accessor(msg, UPB_SIZE(20, 40), len, UPB_TYPE_MESSAGE, arena);
1126
+ return (envoy_config_route_v3_QueryParameterMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(24, 48), len, UPB_SIZE(2, 3), arena);
991
1127
  }
992
1128
  UPB_INLINE struct envoy_config_route_v3_QueryParameterMatcher* envoy_config_route_v3_RouteMatch_add_query_parameters(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
993
1129
  struct envoy_config_route_v3_QueryParameterMatcher* sub = (struct envoy_config_route_v3_QueryParameterMatcher*)_upb_msg_new(&envoy_config_route_v3_QueryParameterMatcher_msginit, arena);
994
- bool ok = _upb_array_append_accessor(
995
- msg, UPB_SIZE(20, 40), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
1130
+ bool ok = _upb_array_append_accessor2(
1131
+ msg, UPB_SIZE(24, 48), UPB_SIZE(2, 3), &sub, arena);
996
1132
  if (!ok) return NULL;
997
1133
  return sub;
998
1134
  }
999
1135
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_grpc(envoy_config_route_v3_RouteMatch *msg, envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions* value) {
1000
- *UPB_PTR_AT(msg, UPB_SIZE(4, 8), envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions*) = value;
1136
+ _upb_sethas(msg, 2);
1137
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions*) = value;
1001
1138
  }
1002
1139
  UPB_INLINE struct envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions* envoy_config_route_v3_RouteMatch_mutable_grpc(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
1003
1140
  struct envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions* sub = (struct envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions*)envoy_config_route_v3_RouteMatch_grpc(msg);
@@ -1009,7 +1146,8 @@ UPB_INLINE struct envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions* envoy_
1009
1146
  return sub;
1010
1147
  }
1011
1148
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_runtime_fraction(envoy_config_route_v3_RouteMatch *msg, struct envoy_config_core_v3_RuntimeFractionalPercent* value) {
1012
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct envoy_config_core_v3_RuntimeFractionalPercent*) = value;
1149
+ _upb_sethas(msg, 3);
1150
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_config_core_v3_RuntimeFractionalPercent*) = value;
1013
1151
  }
1014
1152
  UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_RouteMatch_mutable_runtime_fraction(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
1015
1153
  struct envoy_config_core_v3_RuntimeFractionalPercent* sub = (struct envoy_config_core_v3_RuntimeFractionalPercent*)envoy_config_route_v3_RouteMatch_runtime_fraction(msg);
@@ -1021,7 +1159,7 @@ UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_ro
1021
1159
  return sub;
1022
1160
  }
1023
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) {
1024
- UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_RegexMatcher*, UPB_SIZE(24, 48), value, UPB_SIZE(32, 64), 10);
1162
+ UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_RegexMatcher*, UPB_SIZE(32, 64), value, UPB_SIZE(40, 80), 10);
1025
1163
  }
1026
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) {
1027
1165
  struct envoy_type_matcher_v3_RegexMatcher* sub = (struct envoy_type_matcher_v3_RegexMatcher*)envoy_config_route_v3_RouteMatch_safe_regex(msg);
@@ -1033,7 +1171,8 @@ UPB_INLINE struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_Rout
1033
1171
  return sub;
1034
1172
  }
1035
1173
  UPB_INLINE void envoy_config_route_v3_RouteMatch_set_tls_context(envoy_config_route_v3_RouteMatch *msg, envoy_config_route_v3_RouteMatch_TlsContextMatchOptions* value) {
1036
- *UPB_PTR_AT(msg, UPB_SIZE(12, 24), envoy_config_route_v3_RouteMatch_TlsContextMatchOptions*) = value;
1174
+ _upb_sethas(msg, 4);
1175
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 32), envoy_config_route_v3_RouteMatch_TlsContextMatchOptions*) = value;
1037
1176
  }
1038
1177
  UPB_INLINE struct envoy_config_route_v3_RouteMatch_TlsContextMatchOptions* envoy_config_route_v3_RouteMatch_mutable_tls_context(envoy_config_route_v3_RouteMatch *msg, upb_arena *arena) {
1039
1178
  struct envoy_config_route_v3_RouteMatch_TlsContextMatchOptions* sub = (struct envoy_config_route_v3_RouteMatch_TlsContextMatchOptions*)envoy_config_route_v3_RouteMatch_tls_context(msg);
@@ -1045,7 +1184,7 @@ UPB_INLINE struct envoy_config_route_v3_RouteMatch_TlsContextMatchOptions* envoy
1045
1184
  return sub;
1046
1185
  }
1047
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) {
1048
- UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RouteMatch_ConnectMatcher*, UPB_SIZE(24, 48), value, UPB_SIZE(32, 64), 12);
1187
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RouteMatch_ConnectMatcher*, UPB_SIZE(32, 64), value, UPB_SIZE(40, 80), 12);
1049
1188
  }
1050
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) {
1051
1190
  struct envoy_config_route_v3_RouteMatch_ConnectMatcher* sub = (struct envoy_config_route_v3_RouteMatch_ConnectMatcher*)envoy_config_route_v3_RouteMatch_connect_matcher(msg);
@@ -1056,6 +1195,19 @@ UPB_INLINE struct envoy_config_route_v3_RouteMatch_ConnectMatcher* envoy_config_
1056
1195
  }
1057
1196
  return sub;
1058
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
+ }
1059
1211
 
1060
1212
  /* envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions */
1061
1213
 
@@ -1065,7 +1217,19 @@ UPB_INLINE envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *envoy_config_
1065
1217
  UPB_INLINE envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_parse(const char *buf, size_t size,
1066
1218
  upb_arena *arena) {
1067
1219
  envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *ret = envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_new(arena);
1068
- 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;
1223
+ }
1224
+ UPB_INLINE envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_parse_ex(const char *buf, size_t size,
1225
+ const upb_extreg *extreg, int options,
1226
+ upb_arena *arena) {
1227
+ envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions *ret = envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_new(arena);
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;
1069
1233
  }
1070
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) {
1071
1235
  return upb_encode(msg, &envoy_config_route_v3_RouteMatch_GrpcRouteMatchOptions_msginit, arena, len);
@@ -1081,19 +1245,32 @@ UPB_INLINE envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *envoy_config
1081
1245
  UPB_INLINE envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_parse(const char *buf, size_t size,
1082
1246
  upb_arena *arena) {
1083
1247
  envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *ret = envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_new(arena);
1084
- 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;
1251
+ }
1252
+ UPB_INLINE envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_parse_ex(const char *buf, size_t size,
1253
+ const upb_extreg *extreg, int options,
1254
+ upb_arena *arena) {
1255
+ envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *ret = envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_new(arena);
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;
1085
1261
  }
1086
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) {
1087
1263
  return upb_encode(msg, &envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_msginit, arena, len);
1088
1264
  }
1089
1265
 
1090
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_has_presented(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
1091
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_presented(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct google_protobuf_BoolValue*); }
1092
- UPB_INLINE bool envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_has_validated(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
1093
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_validated(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_BoolValue*); }
1266
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_has_presented(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg) { return _upb_hasbit(msg, 1); }
1267
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_presented(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_BoolValue*); }
1268
+ UPB_INLINE bool envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_has_validated(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg) { return _upb_hasbit(msg, 2); }
1269
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_validated(const envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_BoolValue*); }
1094
1270
 
1095
1271
  UPB_INLINE void envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_set_presented(envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg, struct google_protobuf_BoolValue* value) {
1096
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct google_protobuf_BoolValue*) = value;
1272
+ _upb_sethas(msg, 1);
1273
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_BoolValue*) = value;
1097
1274
  }
1098
1275
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_mutable_presented(envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg, upb_arena *arena) {
1099
1276
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_presented(msg);
@@ -1105,7 +1282,8 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_Tl
1105
1282
  return sub;
1106
1283
  }
1107
1284
  UPB_INLINE void envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_set_validated(envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg, struct google_protobuf_BoolValue* value) {
1108
- *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_BoolValue*) = value;
1285
+ _upb_sethas(msg, 2);
1286
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_BoolValue*) = value;
1109
1287
  }
1110
1288
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_mutable_validated(envoy_config_route_v3_RouteMatch_TlsContextMatchOptions *msg, upb_arena *arena) {
1111
1289
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_RouteMatch_TlsContextMatchOptions_validated(msg);
@@ -1125,7 +1303,19 @@ UPB_INLINE envoy_config_route_v3_RouteMatch_ConnectMatcher *envoy_config_route_v
1125
1303
  UPB_INLINE envoy_config_route_v3_RouteMatch_ConnectMatcher *envoy_config_route_v3_RouteMatch_ConnectMatcher_parse(const char *buf, size_t size,
1126
1304
  upb_arena *arena) {
1127
1305
  envoy_config_route_v3_RouteMatch_ConnectMatcher *ret = envoy_config_route_v3_RouteMatch_ConnectMatcher_new(arena);
1128
- 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;
1309
+ }
1310
+ UPB_INLINE envoy_config_route_v3_RouteMatch_ConnectMatcher *envoy_config_route_v3_RouteMatch_ConnectMatcher_parse_ex(const char *buf, size_t size,
1311
+ const upb_extreg *extreg, int options,
1312
+ upb_arena *arena) {
1313
+ envoy_config_route_v3_RouteMatch_ConnectMatcher *ret = envoy_config_route_v3_RouteMatch_ConnectMatcher_new(arena);
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;
1129
1319
  }
1130
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) {
1131
1321
  return upb_encode(msg, &envoy_config_route_v3_RouteMatch_ConnectMatcher_msginit, arena, len);
@@ -1141,7 +1331,19 @@ UPB_INLINE envoy_config_route_v3_CorsPolicy *envoy_config_route_v3_CorsPolicy_ne
1141
1331
  UPB_INLINE envoy_config_route_v3_CorsPolicy *envoy_config_route_v3_CorsPolicy_parse(const char *buf, size_t size,
1142
1332
  upb_arena *arena) {
1143
1333
  envoy_config_route_v3_CorsPolicy *ret = envoy_config_route_v3_CorsPolicy_new(arena);
1144
- 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;
1337
+ }
1338
+ UPB_INLINE envoy_config_route_v3_CorsPolicy *envoy_config_route_v3_CorsPolicy_parse_ex(const char *buf, size_t size,
1339
+ const upb_extreg *extreg, int options,
1340
+ upb_arena *arena) {
1341
+ envoy_config_route_v3_CorsPolicy *ret = envoy_config_route_v3_CorsPolicy_new(arena);
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;
1145
1347
  }
1146
1348
  UPB_INLINE char *envoy_config_route_v3_CorsPolicy_serialize(const envoy_config_route_v3_CorsPolicy *msg, upb_arena *arena, size_t *len) {
1147
1349
  return upb_encode(msg, &envoy_config_route_v3_CorsPolicy_msginit, arena, len);
@@ -1151,35 +1353,36 @@ typedef enum {
1151
1353
  envoy_config_route_v3_CorsPolicy_enabled_specifier_filter_enabled = 9,
1152
1354
  envoy_config_route_v3_CorsPolicy_enabled_specifier_NOT_SET = 0
1153
1355
  } envoy_config_route_v3_CorsPolicy_enabled_specifier_oneofcases;
1154
- UPB_INLINE envoy_config_route_v3_CorsPolicy_enabled_specifier_oneofcases envoy_config_route_v3_CorsPolicy_enabled_specifier_case(const envoy_config_route_v3_CorsPolicy* msg) { return (envoy_config_route_v3_CorsPolicy_enabled_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(48, 96), int32_t); }
1155
-
1156
- UPB_INLINE upb_strview envoy_config_route_v3_CorsPolicy_allow_methods(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
1157
- UPB_INLINE upb_strview envoy_config_route_v3_CorsPolicy_allow_headers(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), upb_strview); }
1158
- UPB_INLINE upb_strview envoy_config_route_v3_CorsPolicy_expose_headers(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), upb_strview); }
1159
- UPB_INLINE upb_strview envoy_config_route_v3_CorsPolicy_max_age(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 48), upb_strview); }
1160
- UPB_INLINE bool envoy_config_route_v3_CorsPolicy_has_allow_credentials(const envoy_config_route_v3_CorsPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 64)); }
1161
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_CorsPolicy_allow_credentials(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(32, 64), const struct google_protobuf_BoolValue*); }
1162
- UPB_INLINE bool envoy_config_route_v3_CorsPolicy_has_filter_enabled(const envoy_config_route_v3_CorsPolicy *msg) { return _upb_getoneofcase(msg, UPB_SIZE(48, 96)) == 9; }
1163
- UPB_INLINE const struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_CorsPolicy_filter_enabled(const envoy_config_route_v3_CorsPolicy *msg) { return UPB_READ_ONEOF(msg, const struct envoy_config_core_v3_RuntimeFractionalPercent*, UPB_SIZE(44, 88), UPB_SIZE(48, 96), 9, NULL); }
1164
- UPB_INLINE bool envoy_config_route_v3_CorsPolicy_has_shadow_enabled(const envoy_config_route_v3_CorsPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(36, 72)); }
1165
- UPB_INLINE const struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_CorsPolicy_shadow_enabled(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(36, 72), const struct envoy_config_core_v3_RuntimeFractionalPercent*); }
1166
- UPB_INLINE bool envoy_config_route_v3_CorsPolicy_has_allow_origin_string_match(const envoy_config_route_v3_CorsPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(40, 80)); }
1167
- UPB_INLINE const struct envoy_type_matcher_v3_StringMatcher* const* envoy_config_route_v3_CorsPolicy_allow_origin_string_match(const envoy_config_route_v3_CorsPolicy *msg, size_t *len) { return (const struct envoy_type_matcher_v3_StringMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(40, 80), len); }
1356
+ UPB_INLINE envoy_config_route_v3_CorsPolicy_enabled_specifier_oneofcases envoy_config_route_v3_CorsPolicy_enabled_specifier_case(const envoy_config_route_v3_CorsPolicy* msg) { return (envoy_config_route_v3_CorsPolicy_enabled_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(52, 104), int32_t); }
1357
+
1358
+ UPB_INLINE upb_strview envoy_config_route_v3_CorsPolicy_allow_methods(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
1359
+ UPB_INLINE upb_strview envoy_config_route_v3_CorsPolicy_allow_headers(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); }
1360
+ UPB_INLINE upb_strview envoy_config_route_v3_CorsPolicy_expose_headers(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), upb_strview); }
1361
+ UPB_INLINE upb_strview envoy_config_route_v3_CorsPolicy_max_age(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 56), upb_strview); }
1362
+ UPB_INLINE bool envoy_config_route_v3_CorsPolicy_has_allow_credentials(const envoy_config_route_v3_CorsPolicy *msg) { return _upb_hasbit(msg, 1); }
1363
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_CorsPolicy_allow_credentials(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(36, 72), const struct google_protobuf_BoolValue*); }
1364
+ UPB_INLINE bool envoy_config_route_v3_CorsPolicy_has_filter_enabled(const envoy_config_route_v3_CorsPolicy *msg) { return _upb_getoneofcase(msg, UPB_SIZE(52, 104)) == 9; }
1365
+ UPB_INLINE const struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_CorsPolicy_filter_enabled(const envoy_config_route_v3_CorsPolicy *msg) { return UPB_READ_ONEOF(msg, const struct envoy_config_core_v3_RuntimeFractionalPercent*, UPB_SIZE(48, 96), UPB_SIZE(52, 104), 9, NULL); }
1366
+ UPB_INLINE bool envoy_config_route_v3_CorsPolicy_has_shadow_enabled(const envoy_config_route_v3_CorsPolicy *msg) { return _upb_hasbit(msg, 2); }
1367
+ UPB_INLINE const struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_CorsPolicy_shadow_enabled(const envoy_config_route_v3_CorsPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(40, 80), const struct envoy_config_core_v3_RuntimeFractionalPercent*); }
1368
+ UPB_INLINE bool envoy_config_route_v3_CorsPolicy_has_allow_origin_string_match(const envoy_config_route_v3_CorsPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(44, 88)); }
1369
+ UPB_INLINE const struct envoy_type_matcher_v3_StringMatcher* const* envoy_config_route_v3_CorsPolicy_allow_origin_string_match(const envoy_config_route_v3_CorsPolicy *msg, size_t *len) { return (const struct envoy_type_matcher_v3_StringMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(44, 88), len); }
1168
1370
 
1169
1371
  UPB_INLINE void envoy_config_route_v3_CorsPolicy_set_allow_methods(envoy_config_route_v3_CorsPolicy *msg, upb_strview value) {
1170
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
1372
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
1171
1373
  }
1172
1374
  UPB_INLINE void envoy_config_route_v3_CorsPolicy_set_allow_headers(envoy_config_route_v3_CorsPolicy *msg, upb_strview value) {
1173
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), upb_strview) = value;
1375
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value;
1174
1376
  }
1175
1377
  UPB_INLINE void envoy_config_route_v3_CorsPolicy_set_expose_headers(envoy_config_route_v3_CorsPolicy *msg, upb_strview value) {
1176
- *UPB_PTR_AT(msg, UPB_SIZE(16, 32), upb_strview) = value;
1378
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), upb_strview) = value;
1177
1379
  }
1178
1380
  UPB_INLINE void envoy_config_route_v3_CorsPolicy_set_max_age(envoy_config_route_v3_CorsPolicy *msg, upb_strview value) {
1179
- *UPB_PTR_AT(msg, UPB_SIZE(24, 48), upb_strview) = value;
1381
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 56), upb_strview) = value;
1180
1382
  }
1181
1383
  UPB_INLINE void envoy_config_route_v3_CorsPolicy_set_allow_credentials(envoy_config_route_v3_CorsPolicy *msg, struct google_protobuf_BoolValue* value) {
1182
- *UPB_PTR_AT(msg, UPB_SIZE(32, 64), struct google_protobuf_BoolValue*) = value;
1384
+ _upb_sethas(msg, 1);
1385
+ *UPB_PTR_AT(msg, UPB_SIZE(36, 72), struct google_protobuf_BoolValue*) = value;
1183
1386
  }
1184
1387
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_CorsPolicy_mutable_allow_credentials(envoy_config_route_v3_CorsPolicy *msg, upb_arena *arena) {
1185
1388
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_CorsPolicy_allow_credentials(msg);
@@ -1191,7 +1394,7 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_CorsPolicy_mu
1191
1394
  return sub;
1192
1395
  }
1193
1396
  UPB_INLINE void envoy_config_route_v3_CorsPolicy_set_filter_enabled(envoy_config_route_v3_CorsPolicy *msg, struct envoy_config_core_v3_RuntimeFractionalPercent* value) {
1194
- UPB_WRITE_ONEOF(msg, struct envoy_config_core_v3_RuntimeFractionalPercent*, UPB_SIZE(44, 88), value, UPB_SIZE(48, 96), 9);
1397
+ UPB_WRITE_ONEOF(msg, struct envoy_config_core_v3_RuntimeFractionalPercent*, UPB_SIZE(48, 96), value, UPB_SIZE(52, 104), 9);
1195
1398
  }
1196
1399
  UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_CorsPolicy_mutable_filter_enabled(envoy_config_route_v3_CorsPolicy *msg, upb_arena *arena) {
1197
1400
  struct envoy_config_core_v3_RuntimeFractionalPercent* sub = (struct envoy_config_core_v3_RuntimeFractionalPercent*)envoy_config_route_v3_CorsPolicy_filter_enabled(msg);
@@ -1203,7 +1406,8 @@ UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_ro
1203
1406
  return sub;
1204
1407
  }
1205
1408
  UPB_INLINE void envoy_config_route_v3_CorsPolicy_set_shadow_enabled(envoy_config_route_v3_CorsPolicy *msg, struct envoy_config_core_v3_RuntimeFractionalPercent* value) {
1206
- *UPB_PTR_AT(msg, UPB_SIZE(36, 72), struct envoy_config_core_v3_RuntimeFractionalPercent*) = value;
1409
+ _upb_sethas(msg, 2);
1410
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 80), struct envoy_config_core_v3_RuntimeFractionalPercent*) = value;
1207
1411
  }
1208
1412
  UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_CorsPolicy_mutable_shadow_enabled(envoy_config_route_v3_CorsPolicy *msg, upb_arena *arena) {
1209
1413
  struct envoy_config_core_v3_RuntimeFractionalPercent* sub = (struct envoy_config_core_v3_RuntimeFractionalPercent*)envoy_config_route_v3_CorsPolicy_shadow_enabled(msg);
@@ -1215,15 +1419,15 @@ UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_ro
1215
1419
  return sub;
1216
1420
  }
1217
1421
  UPB_INLINE struct envoy_type_matcher_v3_StringMatcher** envoy_config_route_v3_CorsPolicy_mutable_allow_origin_string_match(envoy_config_route_v3_CorsPolicy *msg, size_t *len) {
1218
- return (struct envoy_type_matcher_v3_StringMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 80), len);
1422
+ return (struct envoy_type_matcher_v3_StringMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(44, 88), len);
1219
1423
  }
1220
1424
  UPB_INLINE struct envoy_type_matcher_v3_StringMatcher** envoy_config_route_v3_CorsPolicy_resize_allow_origin_string_match(envoy_config_route_v3_CorsPolicy *msg, size_t len, upb_arena *arena) {
1221
- return (struct envoy_type_matcher_v3_StringMatcher**)_upb_array_resize_accessor(msg, UPB_SIZE(40, 80), len, UPB_TYPE_MESSAGE, arena);
1425
+ return (struct envoy_type_matcher_v3_StringMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(44, 88), len, UPB_SIZE(2, 3), arena);
1222
1426
  }
1223
1427
  UPB_INLINE struct envoy_type_matcher_v3_StringMatcher* envoy_config_route_v3_CorsPolicy_add_allow_origin_string_match(envoy_config_route_v3_CorsPolicy *msg, upb_arena *arena) {
1224
1428
  struct envoy_type_matcher_v3_StringMatcher* sub = (struct envoy_type_matcher_v3_StringMatcher*)_upb_msg_new(&envoy_type_matcher_v3_StringMatcher_msginit, arena);
1225
- bool ok = _upb_array_append_accessor(
1226
- msg, UPB_SIZE(40, 80), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
1429
+ bool ok = _upb_array_append_accessor2(
1430
+ msg, UPB_SIZE(44, 88), UPB_SIZE(2, 3), &sub, arena);
1227
1431
  if (!ok) return NULL;
1228
1432
  return sub;
1229
1433
  }
@@ -1236,7 +1440,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction *envoy_config_route_v3_RouteAction_
1236
1440
  UPB_INLINE envoy_config_route_v3_RouteAction *envoy_config_route_v3_RouteAction_parse(const char *buf, size_t size,
1237
1441
  upb_arena *arena) {
1238
1442
  envoy_config_route_v3_RouteAction *ret = envoy_config_route_v3_RouteAction_new(arena);
1239
- 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;
1446
+ }
1447
+ UPB_INLINE envoy_config_route_v3_RouteAction *envoy_config_route_v3_RouteAction_parse_ex(const char *buf, size_t size,
1448
+ const upb_extreg *extreg, int options,
1449
+ upb_arena *arena) {
1450
+ envoy_config_route_v3_RouteAction *ret = envoy_config_route_v3_RouteAction_new(arena);
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;
1240
1456
  }
1241
1457
  UPB_INLINE char *envoy_config_route_v3_RouteAction_serialize(const envoy_config_route_v3_RouteAction *msg, upb_arena *arena, size_t *len) {
1242
1458
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_msginit, arena, len);
@@ -1246,9 +1462,10 @@ typedef enum {
1246
1462
  envoy_config_route_v3_RouteAction_cluster_specifier_cluster = 1,
1247
1463
  envoy_config_route_v3_RouteAction_cluster_specifier_cluster_header = 2,
1248
1464
  envoy_config_route_v3_RouteAction_cluster_specifier_weighted_clusters = 3,
1465
+ envoy_config_route_v3_RouteAction_cluster_specifier_cluster_specifier_plugin = 37,
1249
1466
  envoy_config_route_v3_RouteAction_cluster_specifier_NOT_SET = 0
1250
1467
  } envoy_config_route_v3_RouteAction_cluster_specifier_oneofcases;
1251
- 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(112, 200), int32_t); }
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); }
1252
1469
 
1253
1470
  typedef enum {
1254
1471
  envoy_config_route_v3_RouteAction_host_rewrite_specifier_host_rewrite_literal = 6,
@@ -1257,71 +1474,73 @@ typedef enum {
1257
1474
  envoy_config_route_v3_RouteAction_host_rewrite_specifier_host_rewrite_path_regex = 35,
1258
1475
  envoy_config_route_v3_RouteAction_host_rewrite_specifier_NOT_SET = 0
1259
1476
  } envoy_config_route_v3_RouteAction_host_rewrite_specifier_oneofcases;
1260
- UPB_INLINE envoy_config_route_v3_RouteAction_host_rewrite_specifier_oneofcases envoy_config_route_v3_RouteAction_host_rewrite_specifier_case(const envoy_config_route_v3_RouteAction* msg) { return (envoy_config_route_v3_RouteAction_host_rewrite_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(124, 224), int32_t); }
1261
-
1262
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_cluster(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(112, 200)) == 1; }
1263
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_cluster(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(104, 184), UPB_SIZE(112, 200), 1, upb_strview_make("", strlen(""))); }
1264
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_cluster_header(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(112, 200)) == 2; }
1265
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_cluster_header(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(104, 184), UPB_SIZE(112, 200), 2, upb_strview_make("", strlen(""))); }
1266
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_weighted_clusters(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(112, 200)) == 3; }
1267
- UPB_INLINE const envoy_config_route_v3_WeightedCluster* envoy_config_route_v3_RouteAction_weighted_clusters(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_WeightedCluster*, UPB_SIZE(104, 184), UPB_SIZE(112, 200), 3, NULL); }
1268
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_metadata_match(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 40)); }
1269
- UPB_INLINE const struct envoy_config_core_v3_Metadata* envoy_config_route_v3_RouteAction_metadata_match(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(32, 40), const struct envoy_config_core_v3_Metadata*); }
1270
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_prefix_rewrite(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 24), upb_strview); }
1271
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_host_rewrite_literal(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(124, 224)) == 6; }
1272
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_host_rewrite_literal(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(116, 208), UPB_SIZE(124, 224), 6, upb_strview_make("", strlen(""))); }
1273
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_auto_host_rewrite(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(124, 224)) == 7; }
1274
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_auto_host_rewrite(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_BoolValue*, UPB_SIZE(116, 208), UPB_SIZE(124, 224), 7, NULL); }
1275
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_timeout(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(36, 48)); }
1276
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_timeout(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(36, 48), const struct google_protobuf_Duration*); }
1277
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_retry_policy(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(40, 56)); }
1278
- UPB_INLINE const envoy_config_route_v3_RetryPolicy* envoy_config_route_v3_RouteAction_retry_policy(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(40, 56), const envoy_config_route_v3_RetryPolicy*); }
1279
- UPB_INLINE int32_t envoy_config_route_v3_RouteAction_priority(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); }
1280
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_rate_limits(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(88, 152)); }
1281
- UPB_INLINE const envoy_config_route_v3_RateLimit* const* envoy_config_route_v3_RouteAction_rate_limits(const envoy_config_route_v3_RouteAction *msg, size_t *len) { return (const envoy_config_route_v3_RateLimit* const*)_upb_array_accessor(msg, UPB_SIZE(88, 152), len); }
1282
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_include_vh_rate_limits(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(44, 64)); }
1283
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_include_vh_rate_limits(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(44, 64), const struct google_protobuf_BoolValue*); }
1284
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_hash_policy(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(92, 160)); }
1285
- UPB_INLINE const envoy_config_route_v3_RouteAction_HashPolicy* const* envoy_config_route_v3_RouteAction_hash_policy(const envoy_config_route_v3_RouteAction *msg, size_t *len) { return (const envoy_config_route_v3_RouteAction_HashPolicy* const*)_upb_array_accessor(msg, UPB_SIZE(92, 160), len); }
1286
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_cors(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(48, 72)); }
1287
- UPB_INLINE const envoy_config_route_v3_CorsPolicy* envoy_config_route_v3_RouteAction_cors(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(48, 72), const envoy_config_route_v3_CorsPolicy*); }
1477
+ UPB_INLINE envoy_config_route_v3_RouteAction_host_rewrite_specifier_oneofcases envoy_config_route_v3_RouteAction_host_rewrite_specifier_case(const envoy_config_route_v3_RouteAction* msg) { return (envoy_config_route_v3_RouteAction_host_rewrite_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(116, 216), int32_t); }
1478
+
1479
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_cluster(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(104, 192)) == 1; }
1480
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_cluster(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), UPB_SIZE(104, 192), 1, upb_strview_make("", strlen(""))); }
1481
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_cluster_header(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(104, 192)) == 2; }
1482
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_cluster_header(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), UPB_SIZE(104, 192), 2, upb_strview_make("", strlen(""))); }
1483
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_weighted_clusters(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(104, 192)) == 3; }
1484
+ UPB_INLINE const envoy_config_route_v3_WeightedCluster* envoy_config_route_v3_RouteAction_weighted_clusters(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_WeightedCluster*, UPB_SIZE(96, 176), UPB_SIZE(104, 192), 3, NULL); }
1485
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_metadata_match(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 1); }
1486
+ UPB_INLINE const struct envoy_config_core_v3_Metadata* envoy_config_route_v3_RouteAction_metadata_match(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), const struct envoy_config_core_v3_Metadata*); }
1487
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_prefix_rewrite(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_strview); }
1488
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_host_rewrite_literal(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(116, 216)) == 6; }
1489
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_host_rewrite_literal(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(108, 200), UPB_SIZE(116, 216), 6, upb_strview_make("", strlen(""))); }
1490
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_auto_host_rewrite(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(116, 216)) == 7; }
1491
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_auto_host_rewrite(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_BoolValue*, UPB_SIZE(108, 200), UPB_SIZE(116, 216), 7, NULL); }
1492
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_timeout(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 2); }
1493
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_timeout(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 40), const struct google_protobuf_Duration*); }
1494
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_retry_policy(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 3); }
1495
+ UPB_INLINE const envoy_config_route_v3_RetryPolicy* envoy_config_route_v3_RouteAction_retry_policy(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(32, 48), const envoy_config_route_v3_RetryPolicy*); }
1496
+ UPB_INLINE int32_t envoy_config_route_v3_RouteAction_priority(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); }
1497
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_rate_limits(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(80, 144)); }
1498
+ UPB_INLINE const envoy_config_route_v3_RateLimit* const* envoy_config_route_v3_RouteAction_rate_limits(const envoy_config_route_v3_RouteAction *msg, size_t *len) { return (const envoy_config_route_v3_RateLimit* const*)_upb_array_accessor(msg, UPB_SIZE(80, 144), len); }
1499
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_include_vh_rate_limits(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 4); }
1500
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_include_vh_rate_limits(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(36, 56), const struct google_protobuf_BoolValue*); }
1501
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_hash_policy(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(84, 152)); }
1502
+ UPB_INLINE const envoy_config_route_v3_RouteAction_HashPolicy* const* envoy_config_route_v3_RouteAction_hash_policy(const envoy_config_route_v3_RouteAction *msg, size_t *len) { return (const envoy_config_route_v3_RouteAction_HashPolicy* const*)_upb_array_accessor(msg, UPB_SIZE(84, 152), len); }
1503
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_cors(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 5); }
1504
+ UPB_INLINE const envoy_config_route_v3_CorsPolicy* envoy_config_route_v3_RouteAction_cors(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(40, 64), const envoy_config_route_v3_CorsPolicy*); }
1288
1505
  UPB_INLINE int32_t envoy_config_route_v3_RouteAction_cluster_not_found_response_code(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t); }
1289
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_max_grpc_timeout(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(52, 80)); }
1290
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_max_grpc_timeout(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(52, 80), const struct google_protobuf_Duration*); }
1291
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_idle_timeout(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(56, 88)); }
1292
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_idle_timeout(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(56, 88), const struct google_protobuf_Duration*); }
1293
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_upgrade_configs(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(96, 168)); }
1294
- UPB_INLINE const envoy_config_route_v3_RouteAction_UpgradeConfig* const* envoy_config_route_v3_RouteAction_upgrade_configs(const envoy_config_route_v3_RouteAction *msg, size_t *len) { return (const envoy_config_route_v3_RouteAction_UpgradeConfig* const*)_upb_array_accessor(msg, UPB_SIZE(96, 168), len); }
1295
- UPB_INLINE int32_t envoy_config_route_v3_RouteAction_internal_redirect_action(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t); }
1296
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_hedge_policy(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(60, 96)); }
1297
- UPB_INLINE const envoy_config_route_v3_HedgePolicy* envoy_config_route_v3_RouteAction_hedge_policy(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(60, 96), const envoy_config_route_v3_HedgePolicy*); }
1298
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_grpc_timeout_offset(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(64, 104)); }
1299
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_grpc_timeout_offset(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(64, 104), const struct google_protobuf_Duration*); }
1300
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_host_rewrite_header(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(124, 224)) == 29; }
1301
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_host_rewrite_header(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(116, 208), UPB_SIZE(124, 224), 29, upb_strview_make("", strlen(""))); }
1302
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_request_mirror_policies(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(100, 176)); }
1303
- UPB_INLINE const envoy_config_route_v3_RouteAction_RequestMirrorPolicy* const* envoy_config_route_v3_RouteAction_request_mirror_policies(const envoy_config_route_v3_RouteAction *msg, size_t *len) { return (const envoy_config_route_v3_RouteAction_RequestMirrorPolicy* const*)_upb_array_accessor(msg, UPB_SIZE(100, 176), len); }
1304
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_max_internal_redirects(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(68, 112)); }
1305
- UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_RouteAction_max_internal_redirects(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(68, 112), const struct google_protobuf_UInt32Value*); }
1306
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_regex_rewrite(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(72, 120)); }
1307
- UPB_INLINE const struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_regex_rewrite(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(72, 120), const struct envoy_type_matcher_v3_RegexMatchAndSubstitute*); }
1308
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_retry_policy_typed_config(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(76, 128)); }
1309
- UPB_INLINE const struct google_protobuf_Any* envoy_config_route_v3_RouteAction_retry_policy_typed_config(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(76, 128), const struct google_protobuf_Any*); }
1310
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_internal_redirect_policy(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(80, 136)); }
1311
- UPB_INLINE const envoy_config_route_v3_InternalRedirectPolicy* envoy_config_route_v3_RouteAction_internal_redirect_policy(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(80, 136), const envoy_config_route_v3_InternalRedirectPolicy*); }
1312
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_host_rewrite_path_regex(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(124, 224)) == 35; }
1313
- 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(116, 208), UPB_SIZE(124, 224), 35, NULL); }
1314
- UPB_INLINE bool envoy_config_route_v3_RouteAction_has_max_stream_duration(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(84, 144)); }
1315
- 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(84, 144), const envoy_config_route_v3_RouteAction_MaxStreamDuration*); }
1506
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_max_grpc_timeout(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 6); }
1507
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_max_grpc_timeout(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(44, 72), const struct google_protobuf_Duration*); }
1508
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_idle_timeout(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 7); }
1509
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_idle_timeout(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(48, 80), const struct google_protobuf_Duration*); }
1510
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_upgrade_configs(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(88, 160)); }
1511
+ UPB_INLINE const envoy_config_route_v3_RouteAction_UpgradeConfig* const* envoy_config_route_v3_RouteAction_upgrade_configs(const envoy_config_route_v3_RouteAction *msg, size_t *len) { return (const envoy_config_route_v3_RouteAction_UpgradeConfig* const*)_upb_array_accessor(msg, UPB_SIZE(88, 160), len); }
1512
+ UPB_INLINE int32_t envoy_config_route_v3_RouteAction_internal_redirect_action(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t); }
1513
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_hedge_policy(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 8); }
1514
+ UPB_INLINE const envoy_config_route_v3_HedgePolicy* envoy_config_route_v3_RouteAction_hedge_policy(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(52, 88), const envoy_config_route_v3_HedgePolicy*); }
1515
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_grpc_timeout_offset(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 9); }
1516
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_grpc_timeout_offset(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(56, 96), const struct google_protobuf_Duration*); }
1517
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_host_rewrite_header(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(116, 216)) == 29; }
1518
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_host_rewrite_header(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(108, 200), UPB_SIZE(116, 216), 29, upb_strview_make("", strlen(""))); }
1519
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_request_mirror_policies(const envoy_config_route_v3_RouteAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(92, 168)); }
1520
+ UPB_INLINE const envoy_config_route_v3_RouteAction_RequestMirrorPolicy* const* envoy_config_route_v3_RouteAction_request_mirror_policies(const envoy_config_route_v3_RouteAction *msg, size_t *len) { return (const envoy_config_route_v3_RouteAction_RequestMirrorPolicy* const*)_upb_array_accessor(msg, UPB_SIZE(92, 168), len); }
1521
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_max_internal_redirects(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 10); }
1522
+ UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_RouteAction_max_internal_redirects(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(60, 104), const struct google_protobuf_UInt32Value*); }
1523
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_regex_rewrite(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 11); }
1524
+ UPB_INLINE const struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_regex_rewrite(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(64, 112), const struct envoy_type_matcher_v3_RegexMatchAndSubstitute*); }
1525
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_retry_policy_typed_config(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 12); }
1526
+ UPB_INLINE const struct google_protobuf_Any* envoy_config_route_v3_RouteAction_retry_policy_typed_config(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(68, 120), const struct google_protobuf_Any*); }
1527
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_internal_redirect_policy(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 13); }
1528
+ UPB_INLINE const envoy_config_route_v3_InternalRedirectPolicy* envoy_config_route_v3_RouteAction_internal_redirect_policy(const envoy_config_route_v3_RouteAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(72, 128), const envoy_config_route_v3_InternalRedirectPolicy*); }
1529
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_host_rewrite_path_regex(const envoy_config_route_v3_RouteAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(116, 216)) == 35; }
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); }
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); }
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(""))); }
1316
1535
 
1317
1536
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_cluster(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1318
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(104, 184), value, UPB_SIZE(112, 200), 1);
1537
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), value, UPB_SIZE(104, 192), 1);
1319
1538
  }
1320
1539
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_cluster_header(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1321
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(104, 184), value, UPB_SIZE(112, 200), 2);
1540
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), value, UPB_SIZE(104, 192), 2);
1322
1541
  }
1323
1542
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_weighted_clusters(envoy_config_route_v3_RouteAction *msg, envoy_config_route_v3_WeightedCluster* value) {
1324
- UPB_WRITE_ONEOF(msg, envoy_config_route_v3_WeightedCluster*, UPB_SIZE(104, 184), value, UPB_SIZE(112, 200), 3);
1543
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_WeightedCluster*, UPB_SIZE(96, 176), value, UPB_SIZE(104, 192), 3);
1325
1544
  }
1326
1545
  UPB_INLINE struct envoy_config_route_v3_WeightedCluster* envoy_config_route_v3_RouteAction_mutable_weighted_clusters(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1327
1546
  struct envoy_config_route_v3_WeightedCluster* sub = (struct envoy_config_route_v3_WeightedCluster*)envoy_config_route_v3_RouteAction_weighted_clusters(msg);
@@ -1333,7 +1552,8 @@ UPB_INLINE struct envoy_config_route_v3_WeightedCluster* envoy_config_route_v3_R
1333
1552
  return sub;
1334
1553
  }
1335
1554
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_metadata_match(envoy_config_route_v3_RouteAction *msg, struct envoy_config_core_v3_Metadata* value) {
1336
- *UPB_PTR_AT(msg, UPB_SIZE(32, 40), struct envoy_config_core_v3_Metadata*) = value;
1555
+ _upb_sethas(msg, 1);
1556
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), struct envoy_config_core_v3_Metadata*) = value;
1337
1557
  }
1338
1558
  UPB_INLINE struct envoy_config_core_v3_Metadata* envoy_config_route_v3_RouteAction_mutable_metadata_match(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1339
1559
  struct envoy_config_core_v3_Metadata* sub = (struct envoy_config_core_v3_Metadata*)envoy_config_route_v3_RouteAction_metadata_match(msg);
@@ -1345,13 +1565,13 @@ UPB_INLINE struct envoy_config_core_v3_Metadata* envoy_config_route_v3_RouteActi
1345
1565
  return sub;
1346
1566
  }
1347
1567
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_prefix_rewrite(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1348
- *UPB_PTR_AT(msg, UPB_SIZE(24, 24), upb_strview) = value;
1568
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_strview) = value;
1349
1569
  }
1350
1570
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_host_rewrite_literal(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1351
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(116, 208), value, UPB_SIZE(124, 224), 6);
1571
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(108, 200), value, UPB_SIZE(116, 216), 6);
1352
1572
  }
1353
1573
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_auto_host_rewrite(envoy_config_route_v3_RouteAction *msg, struct google_protobuf_BoolValue* value) {
1354
- UPB_WRITE_ONEOF(msg, struct google_protobuf_BoolValue*, UPB_SIZE(116, 208), value, UPB_SIZE(124, 224), 7);
1574
+ UPB_WRITE_ONEOF(msg, struct google_protobuf_BoolValue*, UPB_SIZE(108, 200), value, UPB_SIZE(116, 216), 7);
1355
1575
  }
1356
1576
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_mutable_auto_host_rewrite(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1357
1577
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_RouteAction_auto_host_rewrite(msg);
@@ -1363,7 +1583,8 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_m
1363
1583
  return sub;
1364
1584
  }
1365
1585
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_timeout(envoy_config_route_v3_RouteAction *msg, struct google_protobuf_Duration* value) {
1366
- *UPB_PTR_AT(msg, UPB_SIZE(36, 48), struct google_protobuf_Duration*) = value;
1586
+ _upb_sethas(msg, 2);
1587
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 40), struct google_protobuf_Duration*) = value;
1367
1588
  }
1368
1589
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_mutable_timeout(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1369
1590
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RouteAction_timeout(msg);
@@ -1375,7 +1596,8 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_mu
1375
1596
  return sub;
1376
1597
  }
1377
1598
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_retry_policy(envoy_config_route_v3_RouteAction *msg, envoy_config_route_v3_RetryPolicy* value) {
1378
- *UPB_PTR_AT(msg, UPB_SIZE(40, 56), envoy_config_route_v3_RetryPolicy*) = value;
1599
+ _upb_sethas(msg, 3);
1600
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 48), envoy_config_route_v3_RetryPolicy*) = value;
1379
1601
  }
1380
1602
  UPB_INLINE struct envoy_config_route_v3_RetryPolicy* envoy_config_route_v3_RouteAction_mutable_retry_policy(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1381
1603
  struct envoy_config_route_v3_RetryPolicy* sub = (struct envoy_config_route_v3_RetryPolicy*)envoy_config_route_v3_RouteAction_retry_policy(msg);
@@ -1387,23 +1609,24 @@ UPB_INLINE struct envoy_config_route_v3_RetryPolicy* envoy_config_route_v3_Route
1387
1609
  return sub;
1388
1610
  }
1389
1611
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_priority(envoy_config_route_v3_RouteAction *msg, int32_t value) {
1390
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value;
1612
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value;
1391
1613
  }
1392
1614
  UPB_INLINE envoy_config_route_v3_RateLimit** envoy_config_route_v3_RouteAction_mutable_rate_limits(envoy_config_route_v3_RouteAction *msg, size_t *len) {
1393
- return (envoy_config_route_v3_RateLimit**)_upb_array_mutable_accessor(msg, UPB_SIZE(88, 152), len);
1615
+ return (envoy_config_route_v3_RateLimit**)_upb_array_mutable_accessor(msg, UPB_SIZE(80, 144), len);
1394
1616
  }
1395
1617
  UPB_INLINE envoy_config_route_v3_RateLimit** envoy_config_route_v3_RouteAction_resize_rate_limits(envoy_config_route_v3_RouteAction *msg, size_t len, upb_arena *arena) {
1396
- return (envoy_config_route_v3_RateLimit**)_upb_array_resize_accessor(msg, UPB_SIZE(88, 152), len, UPB_TYPE_MESSAGE, arena);
1618
+ return (envoy_config_route_v3_RateLimit**)_upb_array_resize_accessor2(msg, UPB_SIZE(80, 144), len, UPB_SIZE(2, 3), arena);
1397
1619
  }
1398
1620
  UPB_INLINE struct envoy_config_route_v3_RateLimit* envoy_config_route_v3_RouteAction_add_rate_limits(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1399
1621
  struct envoy_config_route_v3_RateLimit* sub = (struct envoy_config_route_v3_RateLimit*)_upb_msg_new(&envoy_config_route_v3_RateLimit_msginit, arena);
1400
- bool ok = _upb_array_append_accessor(
1401
- msg, UPB_SIZE(88, 152), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
1622
+ bool ok = _upb_array_append_accessor2(
1623
+ msg, UPB_SIZE(80, 144), UPB_SIZE(2, 3), &sub, arena);
1402
1624
  if (!ok) return NULL;
1403
1625
  return sub;
1404
1626
  }
1405
1627
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_include_vh_rate_limits(envoy_config_route_v3_RouteAction *msg, struct google_protobuf_BoolValue* value) {
1406
- *UPB_PTR_AT(msg, UPB_SIZE(44, 64), struct google_protobuf_BoolValue*) = value;
1628
+ _upb_sethas(msg, 4);
1629
+ *UPB_PTR_AT(msg, UPB_SIZE(36, 56), struct google_protobuf_BoolValue*) = value;
1407
1630
  }
1408
1631
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_mutable_include_vh_rate_limits(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1409
1632
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_RouteAction_include_vh_rate_limits(msg);
@@ -1415,20 +1638,21 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_m
1415
1638
  return sub;
1416
1639
  }
1417
1640
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy** envoy_config_route_v3_RouteAction_mutable_hash_policy(envoy_config_route_v3_RouteAction *msg, size_t *len) {
1418
- return (envoy_config_route_v3_RouteAction_HashPolicy**)_upb_array_mutable_accessor(msg, UPB_SIZE(92, 160), len);
1641
+ return (envoy_config_route_v3_RouteAction_HashPolicy**)_upb_array_mutable_accessor(msg, UPB_SIZE(84, 152), len);
1419
1642
  }
1420
1643
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy** envoy_config_route_v3_RouteAction_resize_hash_policy(envoy_config_route_v3_RouteAction *msg, size_t len, upb_arena *arena) {
1421
- return (envoy_config_route_v3_RouteAction_HashPolicy**)_upb_array_resize_accessor(msg, UPB_SIZE(92, 160), len, UPB_TYPE_MESSAGE, arena);
1644
+ return (envoy_config_route_v3_RouteAction_HashPolicy**)_upb_array_resize_accessor2(msg, UPB_SIZE(84, 152), len, UPB_SIZE(2, 3), arena);
1422
1645
  }
1423
1646
  UPB_INLINE struct envoy_config_route_v3_RouteAction_HashPolicy* envoy_config_route_v3_RouteAction_add_hash_policy(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1424
1647
  struct envoy_config_route_v3_RouteAction_HashPolicy* sub = (struct envoy_config_route_v3_RouteAction_HashPolicy*)_upb_msg_new(&envoy_config_route_v3_RouteAction_HashPolicy_msginit, arena);
1425
- bool ok = _upb_array_append_accessor(
1426
- msg, UPB_SIZE(92, 160), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
1648
+ bool ok = _upb_array_append_accessor2(
1649
+ msg, UPB_SIZE(84, 152), UPB_SIZE(2, 3), &sub, arena);
1427
1650
  if (!ok) return NULL;
1428
1651
  return sub;
1429
1652
  }
1430
1653
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_cors(envoy_config_route_v3_RouteAction *msg, envoy_config_route_v3_CorsPolicy* value) {
1431
- *UPB_PTR_AT(msg, UPB_SIZE(48, 72), envoy_config_route_v3_CorsPolicy*) = value;
1654
+ _upb_sethas(msg, 5);
1655
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 64), envoy_config_route_v3_CorsPolicy*) = value;
1432
1656
  }
1433
1657
  UPB_INLINE struct envoy_config_route_v3_CorsPolicy* envoy_config_route_v3_RouteAction_mutable_cors(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1434
1658
  struct envoy_config_route_v3_CorsPolicy* sub = (struct envoy_config_route_v3_CorsPolicy*)envoy_config_route_v3_RouteAction_cors(msg);
@@ -1443,7 +1667,8 @@ UPB_INLINE void envoy_config_route_v3_RouteAction_set_cluster_not_found_response
1443
1667
  *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = value;
1444
1668
  }
1445
1669
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_max_grpc_timeout(envoy_config_route_v3_RouteAction *msg, struct google_protobuf_Duration* value) {
1446
- *UPB_PTR_AT(msg, UPB_SIZE(52, 80), struct google_protobuf_Duration*) = value;
1670
+ _upb_sethas(msg, 6);
1671
+ *UPB_PTR_AT(msg, UPB_SIZE(44, 72), struct google_protobuf_Duration*) = value;
1447
1672
  }
1448
1673
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_mutable_max_grpc_timeout(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1449
1674
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RouteAction_max_grpc_timeout(msg);
@@ -1455,7 +1680,8 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_mu
1455
1680
  return sub;
1456
1681
  }
1457
1682
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_idle_timeout(envoy_config_route_v3_RouteAction *msg, struct google_protobuf_Duration* value) {
1458
- *UPB_PTR_AT(msg, UPB_SIZE(56, 88), struct google_protobuf_Duration*) = value;
1683
+ _upb_sethas(msg, 7);
1684
+ *UPB_PTR_AT(msg, UPB_SIZE(48, 80), struct google_protobuf_Duration*) = value;
1459
1685
  }
1460
1686
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_mutable_idle_timeout(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1461
1687
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RouteAction_idle_timeout(msg);
@@ -1467,23 +1693,24 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_mu
1467
1693
  return sub;
1468
1694
  }
1469
1695
  UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig** envoy_config_route_v3_RouteAction_mutable_upgrade_configs(envoy_config_route_v3_RouteAction *msg, size_t *len) {
1470
- return (envoy_config_route_v3_RouteAction_UpgradeConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(96, 168), len);
1696
+ return (envoy_config_route_v3_RouteAction_UpgradeConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(88, 160), len);
1471
1697
  }
1472
1698
  UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig** envoy_config_route_v3_RouteAction_resize_upgrade_configs(envoy_config_route_v3_RouteAction *msg, size_t len, upb_arena *arena) {
1473
- return (envoy_config_route_v3_RouteAction_UpgradeConfig**)_upb_array_resize_accessor(msg, UPB_SIZE(96, 168), len, UPB_TYPE_MESSAGE, arena);
1699
+ return (envoy_config_route_v3_RouteAction_UpgradeConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(88, 160), len, UPB_SIZE(2, 3), arena);
1474
1700
  }
1475
1701
  UPB_INLINE struct envoy_config_route_v3_RouteAction_UpgradeConfig* envoy_config_route_v3_RouteAction_add_upgrade_configs(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1476
1702
  struct envoy_config_route_v3_RouteAction_UpgradeConfig* sub = (struct envoy_config_route_v3_RouteAction_UpgradeConfig*)_upb_msg_new(&envoy_config_route_v3_RouteAction_UpgradeConfig_msginit, arena);
1477
- bool ok = _upb_array_append_accessor(
1478
- msg, UPB_SIZE(96, 168), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
1703
+ bool ok = _upb_array_append_accessor2(
1704
+ msg, UPB_SIZE(88, 160), UPB_SIZE(2, 3), &sub, arena);
1479
1705
  if (!ok) return NULL;
1480
1706
  return sub;
1481
1707
  }
1482
1708
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_internal_redirect_action(envoy_config_route_v3_RouteAction *msg, int32_t value) {
1483
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), int32_t) = value;
1709
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 12), int32_t) = value;
1484
1710
  }
1485
1711
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_hedge_policy(envoy_config_route_v3_RouteAction *msg, envoy_config_route_v3_HedgePolicy* value) {
1486
- *UPB_PTR_AT(msg, UPB_SIZE(60, 96), envoy_config_route_v3_HedgePolicy*) = value;
1712
+ _upb_sethas(msg, 8);
1713
+ *UPB_PTR_AT(msg, UPB_SIZE(52, 88), envoy_config_route_v3_HedgePolicy*) = value;
1487
1714
  }
1488
1715
  UPB_INLINE struct envoy_config_route_v3_HedgePolicy* envoy_config_route_v3_RouteAction_mutable_hedge_policy(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1489
1716
  struct envoy_config_route_v3_HedgePolicy* sub = (struct envoy_config_route_v3_HedgePolicy*)envoy_config_route_v3_RouteAction_hedge_policy(msg);
@@ -1495,7 +1722,8 @@ UPB_INLINE struct envoy_config_route_v3_HedgePolicy* envoy_config_route_v3_Route
1495
1722
  return sub;
1496
1723
  }
1497
1724
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_grpc_timeout_offset(envoy_config_route_v3_RouteAction *msg, struct google_protobuf_Duration* value) {
1498
- *UPB_PTR_AT(msg, UPB_SIZE(64, 104), struct google_protobuf_Duration*) = value;
1725
+ _upb_sethas(msg, 9);
1726
+ *UPB_PTR_AT(msg, UPB_SIZE(56, 96), struct google_protobuf_Duration*) = value;
1499
1727
  }
1500
1728
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_mutable_grpc_timeout_offset(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1501
1729
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RouteAction_grpc_timeout_offset(msg);
@@ -1507,23 +1735,24 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_mu
1507
1735
  return sub;
1508
1736
  }
1509
1737
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_host_rewrite_header(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1510
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(116, 208), value, UPB_SIZE(124, 224), 29);
1738
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(108, 200), value, UPB_SIZE(116, 216), 29);
1511
1739
  }
1512
1740
  UPB_INLINE envoy_config_route_v3_RouteAction_RequestMirrorPolicy** envoy_config_route_v3_RouteAction_mutable_request_mirror_policies(envoy_config_route_v3_RouteAction *msg, size_t *len) {
1513
- return (envoy_config_route_v3_RouteAction_RequestMirrorPolicy**)_upb_array_mutable_accessor(msg, UPB_SIZE(100, 176), len);
1741
+ return (envoy_config_route_v3_RouteAction_RequestMirrorPolicy**)_upb_array_mutable_accessor(msg, UPB_SIZE(92, 168), len);
1514
1742
  }
1515
1743
  UPB_INLINE envoy_config_route_v3_RouteAction_RequestMirrorPolicy** envoy_config_route_v3_RouteAction_resize_request_mirror_policies(envoy_config_route_v3_RouteAction *msg, size_t len, upb_arena *arena) {
1516
- return (envoy_config_route_v3_RouteAction_RequestMirrorPolicy**)_upb_array_resize_accessor(msg, UPB_SIZE(100, 176), len, UPB_TYPE_MESSAGE, arena);
1744
+ return (envoy_config_route_v3_RouteAction_RequestMirrorPolicy**)_upb_array_resize_accessor2(msg, UPB_SIZE(92, 168), len, UPB_SIZE(2, 3), arena);
1517
1745
  }
1518
1746
  UPB_INLINE struct envoy_config_route_v3_RouteAction_RequestMirrorPolicy* envoy_config_route_v3_RouteAction_add_request_mirror_policies(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1519
1747
  struct envoy_config_route_v3_RouteAction_RequestMirrorPolicy* sub = (struct envoy_config_route_v3_RouteAction_RequestMirrorPolicy*)_upb_msg_new(&envoy_config_route_v3_RouteAction_RequestMirrorPolicy_msginit, arena);
1520
- bool ok = _upb_array_append_accessor(
1521
- msg, UPB_SIZE(100, 176), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
1748
+ bool ok = _upb_array_append_accessor2(
1749
+ msg, UPB_SIZE(92, 168), UPB_SIZE(2, 3), &sub, arena);
1522
1750
  if (!ok) return NULL;
1523
1751
  return sub;
1524
1752
  }
1525
1753
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_max_internal_redirects(envoy_config_route_v3_RouteAction *msg, struct google_protobuf_UInt32Value* value) {
1526
- *UPB_PTR_AT(msg, UPB_SIZE(68, 112), struct google_protobuf_UInt32Value*) = value;
1754
+ _upb_sethas(msg, 10);
1755
+ *UPB_PTR_AT(msg, UPB_SIZE(60, 104), struct google_protobuf_UInt32Value*) = value;
1527
1756
  }
1528
1757
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_RouteAction_mutable_max_internal_redirects(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1529
1758
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_route_v3_RouteAction_max_internal_redirects(msg);
@@ -1535,7 +1764,8 @@ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_RouteAction
1535
1764
  return sub;
1536
1765
  }
1537
1766
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_regex_rewrite(envoy_config_route_v3_RouteAction *msg, struct envoy_type_matcher_v3_RegexMatchAndSubstitute* value) {
1538
- *UPB_PTR_AT(msg, UPB_SIZE(72, 120), struct envoy_type_matcher_v3_RegexMatchAndSubstitute*) = value;
1767
+ _upb_sethas(msg, 11);
1768
+ *UPB_PTR_AT(msg, UPB_SIZE(64, 112), struct envoy_type_matcher_v3_RegexMatchAndSubstitute*) = value;
1539
1769
  }
1540
1770
  UPB_INLINE struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_mutable_regex_rewrite(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1541
1771
  struct envoy_type_matcher_v3_RegexMatchAndSubstitute* sub = (struct envoy_type_matcher_v3_RegexMatchAndSubstitute*)envoy_config_route_v3_RouteAction_regex_rewrite(msg);
@@ -1547,7 +1777,8 @@ UPB_INLINE struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_ro
1547
1777
  return sub;
1548
1778
  }
1549
1779
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_retry_policy_typed_config(envoy_config_route_v3_RouteAction *msg, struct google_protobuf_Any* value) {
1550
- *UPB_PTR_AT(msg, UPB_SIZE(76, 128), struct google_protobuf_Any*) = value;
1780
+ _upb_sethas(msg, 12);
1781
+ *UPB_PTR_AT(msg, UPB_SIZE(68, 120), struct google_protobuf_Any*) = value;
1551
1782
  }
1552
1783
  UPB_INLINE struct google_protobuf_Any* envoy_config_route_v3_RouteAction_mutable_retry_policy_typed_config(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1553
1784
  struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_route_v3_RouteAction_retry_policy_typed_config(msg);
@@ -1559,7 +1790,8 @@ UPB_INLINE struct google_protobuf_Any* envoy_config_route_v3_RouteAction_mutable
1559
1790
  return sub;
1560
1791
  }
1561
1792
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_internal_redirect_policy(envoy_config_route_v3_RouteAction *msg, envoy_config_route_v3_InternalRedirectPolicy* value) {
1562
- *UPB_PTR_AT(msg, UPB_SIZE(80, 136), envoy_config_route_v3_InternalRedirectPolicy*) = value;
1793
+ _upb_sethas(msg, 13);
1794
+ *UPB_PTR_AT(msg, UPB_SIZE(72, 128), envoy_config_route_v3_InternalRedirectPolicy*) = value;
1563
1795
  }
1564
1796
  UPB_INLINE struct envoy_config_route_v3_InternalRedirectPolicy* envoy_config_route_v3_RouteAction_mutable_internal_redirect_policy(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1565
1797
  struct envoy_config_route_v3_InternalRedirectPolicy* sub = (struct envoy_config_route_v3_InternalRedirectPolicy*)envoy_config_route_v3_RouteAction_internal_redirect_policy(msg);
@@ -1571,7 +1803,7 @@ UPB_INLINE struct envoy_config_route_v3_InternalRedirectPolicy* envoy_config_rou
1571
1803
  return sub;
1572
1804
  }
1573
1805
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_host_rewrite_path_regex(envoy_config_route_v3_RouteAction *msg, struct envoy_type_matcher_v3_RegexMatchAndSubstitute* value) {
1574
- UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_RegexMatchAndSubstitute*, UPB_SIZE(116, 208), value, UPB_SIZE(124, 224), 35);
1806
+ UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_RegexMatchAndSubstitute*, UPB_SIZE(108, 200), value, UPB_SIZE(116, 216), 35);
1575
1807
  }
1576
1808
  UPB_INLINE struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_mutable_host_rewrite_path_regex(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1577
1809
  struct envoy_type_matcher_v3_RegexMatchAndSubstitute* sub = (struct envoy_type_matcher_v3_RegexMatchAndSubstitute*)envoy_config_route_v3_RouteAction_host_rewrite_path_regex(msg);
@@ -1583,7 +1815,8 @@ UPB_INLINE struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_ro
1583
1815
  return sub;
1584
1816
  }
1585
1817
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_max_stream_duration(envoy_config_route_v3_RouteAction *msg, envoy_config_route_v3_RouteAction_MaxStreamDuration* value) {
1586
- *UPB_PTR_AT(msg, UPB_SIZE(84, 144), envoy_config_route_v3_RouteAction_MaxStreamDuration*) = value;
1818
+ _upb_sethas(msg, 14);
1819
+ *UPB_PTR_AT(msg, UPB_SIZE(76, 136), envoy_config_route_v3_RouteAction_MaxStreamDuration*) = value;
1587
1820
  }
1588
1821
  UPB_INLINE struct envoy_config_route_v3_RouteAction_MaxStreamDuration* envoy_config_route_v3_RouteAction_mutable_max_stream_duration(envoy_config_route_v3_RouteAction *msg, upb_arena *arena) {
1589
1822
  struct envoy_config_route_v3_RouteAction_MaxStreamDuration* sub = (struct envoy_config_route_v3_RouteAction_MaxStreamDuration*)envoy_config_route_v3_RouteAction_max_stream_duration(msg);
@@ -1594,6 +1827,9 @@ UPB_INLINE struct envoy_config_route_v3_RouteAction_MaxStreamDuration* envoy_con
1594
1827
  }
1595
1828
  return sub;
1596
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
+ }
1597
1833
 
1598
1834
  /* envoy.config.route.v3.RouteAction.RequestMirrorPolicy */
1599
1835
 
@@ -1603,23 +1839,36 @@ UPB_INLINE envoy_config_route_v3_RouteAction_RequestMirrorPolicy *envoy_config_r
1603
1839
  UPB_INLINE envoy_config_route_v3_RouteAction_RequestMirrorPolicy *envoy_config_route_v3_RouteAction_RequestMirrorPolicy_parse(const char *buf, size_t size,
1604
1840
  upb_arena *arena) {
1605
1841
  envoy_config_route_v3_RouteAction_RequestMirrorPolicy *ret = envoy_config_route_v3_RouteAction_RequestMirrorPolicy_new(arena);
1606
- 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;
1845
+ }
1846
+ UPB_INLINE envoy_config_route_v3_RouteAction_RequestMirrorPolicy *envoy_config_route_v3_RouteAction_RequestMirrorPolicy_parse_ex(const char *buf, size_t size,
1847
+ const upb_extreg *extreg, int options,
1848
+ upb_arena *arena) {
1849
+ envoy_config_route_v3_RouteAction_RequestMirrorPolicy *ret = envoy_config_route_v3_RouteAction_RequestMirrorPolicy_new(arena);
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;
1607
1855
  }
1608
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) {
1609
1857
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_RequestMirrorPolicy_msginit, arena, len);
1610
1858
  }
1611
1859
 
1612
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_RequestMirrorPolicy_cluster(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
1613
- UPB_INLINE bool envoy_config_route_v3_RouteAction_RequestMirrorPolicy_has_runtime_fraction(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
1614
- UPB_INLINE const struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_RouteAction_RequestMirrorPolicy_runtime_fraction(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct envoy_config_core_v3_RuntimeFractionalPercent*); }
1615
- UPB_INLINE bool envoy_config_route_v3_RouteAction_RequestMirrorPolicy_has_trace_sampled(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
1616
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_RequestMirrorPolicy_trace_sampled(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_BoolValue*); }
1860
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_RequestMirrorPolicy_cluster(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
1861
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_RequestMirrorPolicy_has_runtime_fraction(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return _upb_hasbit(msg, 1); }
1862
+ UPB_INLINE const struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_RouteAction_RequestMirrorPolicy_runtime_fraction(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_config_core_v3_RuntimeFractionalPercent*); }
1863
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_RequestMirrorPolicy_has_trace_sampled(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return _upb_hasbit(msg, 2); }
1864
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_RequestMirrorPolicy_trace_sampled(const envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct google_protobuf_BoolValue*); }
1617
1865
 
1618
1866
  UPB_INLINE void envoy_config_route_v3_RouteAction_RequestMirrorPolicy_set_cluster(envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg, upb_strview value) {
1619
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
1867
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
1620
1868
  }
1621
1869
  UPB_INLINE void envoy_config_route_v3_RouteAction_RequestMirrorPolicy_set_runtime_fraction(envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg, struct envoy_config_core_v3_RuntimeFractionalPercent* value) {
1622
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct envoy_config_core_v3_RuntimeFractionalPercent*) = value;
1870
+ _upb_sethas(msg, 1);
1871
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_config_core_v3_RuntimeFractionalPercent*) = value;
1623
1872
  }
1624
1873
  UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_route_v3_RouteAction_RequestMirrorPolicy_mutable_runtime_fraction(envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg, upb_arena *arena) {
1625
1874
  struct envoy_config_core_v3_RuntimeFractionalPercent* sub = (struct envoy_config_core_v3_RuntimeFractionalPercent*)envoy_config_route_v3_RouteAction_RequestMirrorPolicy_runtime_fraction(msg);
@@ -1631,7 +1880,8 @@ UPB_INLINE struct envoy_config_core_v3_RuntimeFractionalPercent* envoy_config_ro
1631
1880
  return sub;
1632
1881
  }
1633
1882
  UPB_INLINE void envoy_config_route_v3_RouteAction_RequestMirrorPolicy_set_trace_sampled(envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg, struct google_protobuf_BoolValue* value) {
1634
- *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_BoolValue*) = value;
1883
+ _upb_sethas(msg, 2);
1884
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct google_protobuf_BoolValue*) = value;
1635
1885
  }
1636
1886
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_RequestMirrorPolicy_mutable_trace_sampled(envoy_config_route_v3_RouteAction_RequestMirrorPolicy *msg, upb_arena *arena) {
1637
1887
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_RouteAction_RequestMirrorPolicy_trace_sampled(msg);
@@ -1651,7 +1901,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy *envoy_config_route_v3_R
1651
1901
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy *envoy_config_route_v3_RouteAction_HashPolicy_parse(const char *buf, size_t size,
1652
1902
  upb_arena *arena) {
1653
1903
  envoy_config_route_v3_RouteAction_HashPolicy *ret = envoy_config_route_v3_RouteAction_HashPolicy_new(arena);
1654
- 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;
1907
+ }
1908
+ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy *envoy_config_route_v3_RouteAction_HashPolicy_parse_ex(const char *buf, size_t size,
1909
+ const upb_extreg *extreg, int options,
1910
+ upb_arena *arena) {
1911
+ envoy_config_route_v3_RouteAction_HashPolicy *ret = envoy_config_route_v3_RouteAction_HashPolicy_new(arena);
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;
1655
1917
  }
1656
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) {
1657
1919
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_msginit, arena, len);
@@ -1751,21 +2013,34 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Header *envoy_config_rou
1751
2013
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Header *envoy_config_route_v3_RouteAction_HashPolicy_Header_parse(const char *buf, size_t size,
1752
2014
  upb_arena *arena) {
1753
2015
  envoy_config_route_v3_RouteAction_HashPolicy_Header *ret = envoy_config_route_v3_RouteAction_HashPolicy_Header_new(arena);
1754
- 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;
2019
+ }
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,
2021
+ const upb_extreg *extreg, int options,
2022
+ upb_arena *arena) {
2023
+ envoy_config_route_v3_RouteAction_HashPolicy_Header *ret = envoy_config_route_v3_RouteAction_HashPolicy_Header_new(arena);
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;
1755
2029
  }
1756
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) {
1757
2031
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_Header_msginit, arena, len);
1758
2032
  }
1759
2033
 
1760
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_HashPolicy_Header_header_name(const envoy_config_route_v3_RouteAction_HashPolicy_Header *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
1761
- UPB_INLINE bool envoy_config_route_v3_RouteAction_HashPolicy_Header_has_regex_rewrite(const envoy_config_route_v3_RouteAction_HashPolicy_Header *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
1762
- UPB_INLINE const struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_HashPolicy_Header_regex_rewrite(const envoy_config_route_v3_RouteAction_HashPolicy_Header *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct envoy_type_matcher_v3_RegexMatchAndSubstitute*); }
2034
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_HashPolicy_Header_header_name(const envoy_config_route_v3_RouteAction_HashPolicy_Header *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
2035
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_HashPolicy_Header_has_regex_rewrite(const envoy_config_route_v3_RouteAction_HashPolicy_Header *msg) { return _upb_hasbit(msg, 1); }
2036
+ UPB_INLINE const struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_HashPolicy_Header_regex_rewrite(const envoy_config_route_v3_RouteAction_HashPolicy_Header *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_type_matcher_v3_RegexMatchAndSubstitute*); }
1763
2037
 
1764
2038
  UPB_INLINE void envoy_config_route_v3_RouteAction_HashPolicy_Header_set_header_name(envoy_config_route_v3_RouteAction_HashPolicy_Header *msg, upb_strview value) {
1765
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
2039
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
1766
2040
  }
1767
2041
  UPB_INLINE void envoy_config_route_v3_RouteAction_HashPolicy_Header_set_regex_rewrite(envoy_config_route_v3_RouteAction_HashPolicy_Header *msg, struct envoy_type_matcher_v3_RegexMatchAndSubstitute* value) {
1768
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct envoy_type_matcher_v3_RegexMatchAndSubstitute*) = value;
2042
+ _upb_sethas(msg, 1);
2043
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_type_matcher_v3_RegexMatchAndSubstitute*) = value;
1769
2044
  }
1770
2045
  UPB_INLINE struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_HashPolicy_Header_mutable_regex_rewrite(envoy_config_route_v3_RouteAction_HashPolicy_Header *msg, upb_arena *arena) {
1771
2046
  struct envoy_type_matcher_v3_RegexMatchAndSubstitute* sub = (struct envoy_type_matcher_v3_RegexMatchAndSubstitute*)envoy_config_route_v3_RouteAction_HashPolicy_Header_regex_rewrite(msg);
@@ -1785,22 +2060,35 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Cookie *envoy_config_rou
1785
2060
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_Cookie *envoy_config_route_v3_RouteAction_HashPolicy_Cookie_parse(const char *buf, size_t size,
1786
2061
  upb_arena *arena) {
1787
2062
  envoy_config_route_v3_RouteAction_HashPolicy_Cookie *ret = envoy_config_route_v3_RouteAction_HashPolicy_Cookie_new(arena);
1788
- 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;
2066
+ }
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,
2068
+ const upb_extreg *extreg, int options,
2069
+ upb_arena *arena) {
2070
+ envoy_config_route_v3_RouteAction_HashPolicy_Cookie *ret = envoy_config_route_v3_RouteAction_HashPolicy_Cookie_new(arena);
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;
1789
2076
  }
1790
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) {
1791
2078
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_Cookie_msginit, arena, len);
1792
2079
  }
1793
2080
 
1794
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_HashPolicy_Cookie_name(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
1795
- UPB_INLINE bool envoy_config_route_v3_RouteAction_HashPolicy_Cookie_has_ttl(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
1796
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_HashPolicy_Cookie_ttl(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct google_protobuf_Duration*); }
1797
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_HashPolicy_Cookie_path(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), upb_strview); }
2081
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_HashPolicy_Cookie_name(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
2082
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_HashPolicy_Cookie_has_ttl(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg) { return _upb_hasbit(msg, 1); }
2083
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_HashPolicy_Cookie_ttl(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct google_protobuf_Duration*); }
2084
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_HashPolicy_Cookie_path(const envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); }
1798
2085
 
1799
2086
  UPB_INLINE void envoy_config_route_v3_RouteAction_HashPolicy_Cookie_set_name(envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg, upb_strview value) {
1800
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
2087
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
1801
2088
  }
1802
2089
  UPB_INLINE void envoy_config_route_v3_RouteAction_HashPolicy_Cookie_set_ttl(envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg, struct google_protobuf_Duration* value) {
1803
- *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct google_protobuf_Duration*) = value;
2090
+ _upb_sethas(msg, 1);
2091
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct google_protobuf_Duration*) = value;
1804
2092
  }
1805
2093
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_HashPolicy_Cookie_mutable_ttl(envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg, upb_arena *arena) {
1806
2094
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RouteAction_HashPolicy_Cookie_ttl(msg);
@@ -1812,7 +2100,7 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_Ha
1812
2100
  return sub;
1813
2101
  }
1814
2102
  UPB_INLINE void envoy_config_route_v3_RouteAction_HashPolicy_Cookie_set_path(envoy_config_route_v3_RouteAction_HashPolicy_Cookie *msg, upb_strview value) {
1815
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), upb_strview) = value;
2103
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value;
1816
2104
  }
1817
2105
 
1818
2106
  /* envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties */
@@ -1823,7 +2111,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *en
1823
2111
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_parse(const char *buf, size_t size,
1824
2112
  upb_arena *arena) {
1825
2113
  envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *ret = envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_new(arena);
1826
- 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;
2117
+ }
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,
2119
+ const upb_extreg *extreg, int options,
2120
+ upb_arena *arena) {
2121
+ envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties *ret = envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_new(arena);
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;
1827
2127
  }
1828
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) {
1829
2129
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_ConnectionProperties_msginit, arena, len);
@@ -1843,7 +2143,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *envoy_co
1843
2143
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_parse(const char *buf, size_t size,
1844
2144
  upb_arena *arena) {
1845
2145
  envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *ret = envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_new(arena);
1846
- 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;
2149
+ }
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,
2151
+ const upb_extreg *extreg, int options,
2152
+ upb_arena *arena) {
2153
+ envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter *ret = envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_new(arena);
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;
1847
2159
  }
1848
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) {
1849
2161
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_QueryParameter_msginit, arena, len);
@@ -1863,7 +2175,19 @@ UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_FilterState *envoy_confi
1863
2175
  UPB_INLINE envoy_config_route_v3_RouteAction_HashPolicy_FilterState *envoy_config_route_v3_RouteAction_HashPolicy_FilterState_parse(const char *buf, size_t size,
1864
2176
  upb_arena *arena) {
1865
2177
  envoy_config_route_v3_RouteAction_HashPolicy_FilterState *ret = envoy_config_route_v3_RouteAction_HashPolicy_FilterState_new(arena);
1866
- 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;
2181
+ }
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,
2183
+ const upb_extreg *extreg, int options,
2184
+ upb_arena *arena) {
2185
+ envoy_config_route_v3_RouteAction_HashPolicy_FilterState *ret = envoy_config_route_v3_RouteAction_HashPolicy_FilterState_new(arena);
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;
1867
2191
  }
1868
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) {
1869
2193
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_HashPolicy_FilterState_msginit, arena, len);
@@ -1883,23 +2207,36 @@ UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig *envoy_config_route_v
1883
2207
  UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig *envoy_config_route_v3_RouteAction_UpgradeConfig_parse(const char *buf, size_t size,
1884
2208
  upb_arena *arena) {
1885
2209
  envoy_config_route_v3_RouteAction_UpgradeConfig *ret = envoy_config_route_v3_RouteAction_UpgradeConfig_new(arena);
1886
- 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;
2213
+ }
2214
+ UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig *envoy_config_route_v3_RouteAction_UpgradeConfig_parse_ex(const char *buf, size_t size,
2215
+ const upb_extreg *extreg, int options,
2216
+ upb_arena *arena) {
2217
+ envoy_config_route_v3_RouteAction_UpgradeConfig *ret = envoy_config_route_v3_RouteAction_UpgradeConfig_new(arena);
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;
1887
2223
  }
1888
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) {
1889
2225
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_UpgradeConfig_msginit, arena, len);
1890
2226
  }
1891
2227
 
1892
- UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_UpgradeConfig_upgrade_type(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
1893
- UPB_INLINE bool envoy_config_route_v3_RouteAction_UpgradeConfig_has_enabled(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
1894
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_UpgradeConfig_enabled(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_BoolValue*); }
1895
- UPB_INLINE bool envoy_config_route_v3_RouteAction_UpgradeConfig_has_connect_config(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
1896
- UPB_INLINE const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig* envoy_config_route_v3_RouteAction_UpgradeConfig_connect_config(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig*); }
2228
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_UpgradeConfig_upgrade_type(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
2229
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_UpgradeConfig_has_enabled(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return _upb_hasbit(msg, 1); }
2230
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_UpgradeConfig_enabled(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_BoolValue*); }
2231
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_UpgradeConfig_has_connect_config(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return _upb_hasbit(msg, 2); }
2232
+ UPB_INLINE const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig* envoy_config_route_v3_RouteAction_UpgradeConfig_connect_config(const envoy_config_route_v3_RouteAction_UpgradeConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig*); }
1897
2233
 
1898
2234
  UPB_INLINE void envoy_config_route_v3_RouteAction_UpgradeConfig_set_upgrade_type(envoy_config_route_v3_RouteAction_UpgradeConfig *msg, upb_strview value) {
1899
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
2235
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
1900
2236
  }
1901
2237
  UPB_INLINE void envoy_config_route_v3_RouteAction_UpgradeConfig_set_enabled(envoy_config_route_v3_RouteAction_UpgradeConfig *msg, struct google_protobuf_BoolValue* value) {
1902
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_BoolValue*) = value;
2238
+ _upb_sethas(msg, 1);
2239
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_BoolValue*) = value;
1903
2240
  }
1904
2241
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_UpgradeConfig_mutable_enabled(envoy_config_route_v3_RouteAction_UpgradeConfig *msg, upb_arena *arena) {
1905
2242
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_RouteAction_UpgradeConfig_enabled(msg);
@@ -1911,7 +2248,8 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RouteAction_U
1911
2248
  return sub;
1912
2249
  }
1913
2250
  UPB_INLINE void envoy_config_route_v3_RouteAction_UpgradeConfig_set_connect_config(envoy_config_route_v3_RouteAction_UpgradeConfig *msg, envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig* value) {
1914
- *UPB_PTR_AT(msg, UPB_SIZE(12, 24), envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig*) = value;
2251
+ _upb_sethas(msg, 2);
2252
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 32), envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig*) = value;
1915
2253
  }
1916
2254
  UPB_INLINE struct envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig* envoy_config_route_v3_RouteAction_UpgradeConfig_mutable_connect_config(envoy_config_route_v3_RouteAction_UpgradeConfig *msg, upb_arena *arena) {
1917
2255
  struct envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig* sub = (struct envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig*)envoy_config_route_v3_RouteAction_UpgradeConfig_connect_config(msg);
@@ -1931,17 +2269,31 @@ UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *envoy_
1931
2269
  UPB_INLINE envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_parse(const char *buf, size_t size,
1932
2270
  upb_arena *arena) {
1933
2271
  envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *ret = envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_new(arena);
1934
- 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;
2275
+ }
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,
2277
+ const upb_extreg *extreg, int options,
2278
+ upb_arena *arena) {
2279
+ envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *ret = envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_new(arena);
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;
1935
2285
  }
1936
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) {
1937
2287
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_msginit, arena, len);
1938
2288
  }
1939
2289
 
1940
- UPB_INLINE bool envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_has_proxy_protocol_config(const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
1941
- UPB_INLINE const struct envoy_config_core_v3_ProxyProtocolConfig* envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_proxy_protocol_config(const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct envoy_config_core_v3_ProxyProtocolConfig*); }
2290
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_has_proxy_protocol_config(const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg) { return _upb_hasbit(msg, 1); }
2291
+ UPB_INLINE const struct envoy_config_core_v3_ProxyProtocolConfig* envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_proxy_protocol_config(const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_core_v3_ProxyProtocolConfig*); }
2292
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_allow_post(const envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool); }
1942
2293
 
1943
2294
  UPB_INLINE void envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_set_proxy_protocol_config(envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg, struct envoy_config_core_v3_ProxyProtocolConfig* value) {
1944
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct envoy_config_core_v3_ProxyProtocolConfig*) = value;
2295
+ _upb_sethas(msg, 1);
2296
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_core_v3_ProxyProtocolConfig*) = value;
1945
2297
  }
1946
2298
  UPB_INLINE struct envoy_config_core_v3_ProxyProtocolConfig* envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_mutable_proxy_protocol_config(envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg, upb_arena *arena) {
1947
2299
  struct envoy_config_core_v3_ProxyProtocolConfig* sub = (struct envoy_config_core_v3_ProxyProtocolConfig*)envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_proxy_protocol_config(msg);
@@ -1952,6 +2304,9 @@ UPB_INLINE struct envoy_config_core_v3_ProxyProtocolConfig* envoy_config_route_v
1952
2304
  }
1953
2305
  return sub;
1954
2306
  }
2307
+ UPB_INLINE void envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig_set_allow_post(envoy_config_route_v3_RouteAction_UpgradeConfig_ConnectConfig *msg, bool value) {
2308
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
2309
+ }
1955
2310
 
1956
2311
  /* envoy.config.route.v3.RouteAction.MaxStreamDuration */
1957
2312
 
@@ -1961,21 +2316,34 @@ UPB_INLINE envoy_config_route_v3_RouteAction_MaxStreamDuration *envoy_config_rou
1961
2316
  UPB_INLINE envoy_config_route_v3_RouteAction_MaxStreamDuration *envoy_config_route_v3_RouteAction_MaxStreamDuration_parse(const char *buf, size_t size,
1962
2317
  upb_arena *arena) {
1963
2318
  envoy_config_route_v3_RouteAction_MaxStreamDuration *ret = envoy_config_route_v3_RouteAction_MaxStreamDuration_new(arena);
1964
- 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;
2322
+ }
2323
+ UPB_INLINE envoy_config_route_v3_RouteAction_MaxStreamDuration *envoy_config_route_v3_RouteAction_MaxStreamDuration_parse_ex(const char *buf, size_t size,
2324
+ const upb_extreg *extreg, int options,
2325
+ upb_arena *arena) {
2326
+ envoy_config_route_v3_RouteAction_MaxStreamDuration *ret = envoy_config_route_v3_RouteAction_MaxStreamDuration_new(arena);
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;
1965
2332
  }
1966
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) {
1967
2334
  return upb_encode(msg, &envoy_config_route_v3_RouteAction_MaxStreamDuration_msginit, arena, len);
1968
2335
  }
1969
2336
 
1970
- UPB_INLINE bool envoy_config_route_v3_RouteAction_MaxStreamDuration_has_max_stream_duration(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
1971
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_max_stream_duration(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct google_protobuf_Duration*); }
1972
- UPB_INLINE bool envoy_config_route_v3_RouteAction_MaxStreamDuration_has_grpc_timeout_header_max(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
1973
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_grpc_timeout_header_max(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*); }
1974
- UPB_INLINE bool envoy_config_route_v3_RouteAction_MaxStreamDuration_has_grpc_timeout_header_offset(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
1975
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_grpc_timeout_header_offset(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Duration*); }
2337
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_MaxStreamDuration_has_max_stream_duration(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return _upb_hasbit(msg, 1); }
2338
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_max_stream_duration(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*); }
2339
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_MaxStreamDuration_has_grpc_timeout_header_max(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return _upb_hasbit(msg, 2); }
2340
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_grpc_timeout_header_max(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Duration*); }
2341
+ UPB_INLINE bool envoy_config_route_v3_RouteAction_MaxStreamDuration_has_grpc_timeout_header_offset(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return _upb_hasbit(msg, 3); }
2342
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_grpc_timeout_header_offset(const envoy_config_route_v3_RouteAction_MaxStreamDuration *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Duration*); }
1976
2343
 
1977
2344
  UPB_INLINE void envoy_config_route_v3_RouteAction_MaxStreamDuration_set_max_stream_duration(envoy_config_route_v3_RouteAction_MaxStreamDuration *msg, struct google_protobuf_Duration* value) {
1978
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct google_protobuf_Duration*) = value;
2345
+ _upb_sethas(msg, 1);
2346
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value;
1979
2347
  }
1980
2348
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_mutable_max_stream_duration(envoy_config_route_v3_RouteAction_MaxStreamDuration *msg, upb_arena *arena) {
1981
2349
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RouteAction_MaxStreamDuration_max_stream_duration(msg);
@@ -1987,7 +2355,8 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_Ma
1987
2355
  return sub;
1988
2356
  }
1989
2357
  UPB_INLINE void envoy_config_route_v3_RouteAction_MaxStreamDuration_set_grpc_timeout_header_max(envoy_config_route_v3_RouteAction_MaxStreamDuration *msg, struct google_protobuf_Duration* value) {
1990
- *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value;
2358
+ _upb_sethas(msg, 2);
2359
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Duration*) = value;
1991
2360
  }
1992
2361
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_mutable_grpc_timeout_header_max(envoy_config_route_v3_RouteAction_MaxStreamDuration *msg, upb_arena *arena) {
1993
2362
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RouteAction_MaxStreamDuration_grpc_timeout_header_max(msg);
@@ -1999,7 +2368,8 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_Ma
1999
2368
  return sub;
2000
2369
  }
2001
2370
  UPB_INLINE void envoy_config_route_v3_RouteAction_MaxStreamDuration_set_grpc_timeout_header_offset(envoy_config_route_v3_RouteAction_MaxStreamDuration *msg, struct google_protobuf_Duration* value) {
2002
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Duration*) = value;
2371
+ _upb_sethas(msg, 3);
2372
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Duration*) = value;
2003
2373
  }
2004
2374
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RouteAction_MaxStreamDuration_mutable_grpc_timeout_header_offset(envoy_config_route_v3_RouteAction_MaxStreamDuration *msg, upb_arena *arena) {
2005
2375
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RouteAction_MaxStreamDuration_grpc_timeout_header_offset(msg);
@@ -2019,37 +2389,54 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy *envoy_config_route_v3_RetryPolicy_
2019
2389
  UPB_INLINE envoy_config_route_v3_RetryPolicy *envoy_config_route_v3_RetryPolicy_parse(const char *buf, size_t size,
2020
2390
  upb_arena *arena) {
2021
2391
  envoy_config_route_v3_RetryPolicy *ret = envoy_config_route_v3_RetryPolicy_new(arena);
2022
- 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;
2395
+ }
2396
+ UPB_INLINE envoy_config_route_v3_RetryPolicy *envoy_config_route_v3_RetryPolicy_parse_ex(const char *buf, size_t size,
2397
+ const upb_extreg *extreg, int options,
2398
+ upb_arena *arena) {
2399
+ envoy_config_route_v3_RetryPolicy *ret = envoy_config_route_v3_RetryPolicy_new(arena);
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;
2023
2405
  }
2024
2406
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_serialize(const envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena, size_t *len) {
2025
2407
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_msginit, arena, len);
2026
2408
  }
2027
2409
 
2028
- UPB_INLINE upb_strview envoy_config_route_v3_RetryPolicy_retry_on(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); }
2029
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_num_retries(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 24)); }
2030
- UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_RetryPolicy_num_retries(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const struct google_protobuf_UInt32Value*); }
2031
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_per_try_timeout(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 32)); }
2032
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_per_try_timeout(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const struct google_protobuf_Duration*); }
2033
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retry_priority(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 40)); }
2034
- UPB_INLINE const envoy_config_route_v3_RetryPolicy_RetryPriority* envoy_config_route_v3_RetryPolicy_retry_priority(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const envoy_config_route_v3_RetryPolicy_RetryPriority*); }
2035
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retry_host_predicate(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(36, 64)); }
2036
- UPB_INLINE const envoy_config_route_v3_RetryPolicy_RetryHostPredicate* const* envoy_config_route_v3_RetryPolicy_retry_host_predicate(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (const envoy_config_route_v3_RetryPolicy_RetryHostPredicate* const*)_upb_array_accessor(msg, UPB_SIZE(36, 64), len); }
2037
- UPB_INLINE int64_t envoy_config_route_v3_RetryPolicy_host_selection_retry_max_attempts(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int64_t); }
2038
- UPB_INLINE uint32_t const* envoy_config_route_v3_RetryPolicy_retriable_status_codes(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(40, 72), len); }
2039
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retry_back_off(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(28, 48)); }
2040
- UPB_INLINE const envoy_config_route_v3_RetryPolicy_RetryBackOff* envoy_config_route_v3_RetryPolicy_retry_back_off(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 48), const envoy_config_route_v3_RetryPolicy_RetryBackOff*); }
2041
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retriable_headers(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(44, 80)); }
2042
- UPB_INLINE const envoy_config_route_v3_HeaderMatcher* const* envoy_config_route_v3_RetryPolicy_retriable_headers(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (const envoy_config_route_v3_HeaderMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(44, 80), len); }
2043
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retriable_request_headers(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(48, 88)); }
2044
- UPB_INLINE const envoy_config_route_v3_HeaderMatcher* const* envoy_config_route_v3_RetryPolicy_retriable_request_headers(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (const envoy_config_route_v3_HeaderMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(48, 88), len); }
2045
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_rate_limited_retry_back_off(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(32, 56)); }
2046
- UPB_INLINE const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff* envoy_config_route_v3_RetryPolicy_rate_limited_retry_back_off(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(32, 56), const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff*); }
2410
+ UPB_INLINE upb_strview envoy_config_route_v3_RetryPolicy_retry_on(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_strview); }
2411
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_num_retries(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_hasbit(msg, 1); }
2412
+ UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_RetryPolicy_num_retries(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 32), const struct google_protobuf_UInt32Value*); }
2413
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_per_try_timeout(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_hasbit(msg, 2); }
2414
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_per_try_timeout(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 40), const struct google_protobuf_Duration*); }
2415
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retry_priority(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_hasbit(msg, 3); }
2416
+ UPB_INLINE const envoy_config_route_v3_RetryPolicy_RetryPriority* envoy_config_route_v3_RetryPolicy_retry_priority(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(32, 48), const envoy_config_route_v3_RetryPolicy_RetryPriority*); }
2417
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retry_host_predicate(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(48, 80)); }
2418
+ UPB_INLINE const envoy_config_route_v3_RetryPolicy_RetryHostPredicate* const* envoy_config_route_v3_RetryPolicy_retry_host_predicate(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (const envoy_config_route_v3_RetryPolicy_RetryHostPredicate* const*)_upb_array_accessor(msg, UPB_SIZE(48, 80), len); }
2419
+ UPB_INLINE int64_t envoy_config_route_v3_RetryPolicy_host_selection_retry_max_attempts(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t); }
2420
+ UPB_INLINE uint32_t const* envoy_config_route_v3_RetryPolicy_retriable_status_codes(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(52, 88), len); }
2421
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retry_back_off(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_hasbit(msg, 4); }
2422
+ UPB_INLINE const envoy_config_route_v3_RetryPolicy_RetryBackOff* envoy_config_route_v3_RetryPolicy_retry_back_off(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(36, 56), const envoy_config_route_v3_RetryPolicy_RetryBackOff*); }
2423
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retriable_headers(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(56, 96)); }
2424
+ UPB_INLINE const envoy_config_route_v3_HeaderMatcher* const* envoy_config_route_v3_RetryPolicy_retriable_headers(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (const envoy_config_route_v3_HeaderMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(56, 96), len); }
2425
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retriable_request_headers(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(60, 104)); }
2426
+ UPB_INLINE const envoy_config_route_v3_HeaderMatcher* const* envoy_config_route_v3_RetryPolicy_retriable_request_headers(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (const envoy_config_route_v3_HeaderMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(60, 104), len); }
2427
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_rate_limited_retry_back_off(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_hasbit(msg, 5); }
2428
+ UPB_INLINE const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff* envoy_config_route_v3_RetryPolicy_rate_limited_retry_back_off(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(40, 64), const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff*); }
2429
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_retry_options_predicates(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(64, 112)); }
2430
+ UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* const* envoy_config_route_v3_RetryPolicy_retry_options_predicates(const envoy_config_route_v3_RetryPolicy *msg, size_t *len) { return (const struct envoy_config_core_v3_TypedExtensionConfig* const*)_upb_array_accessor(msg, UPB_SIZE(64, 112), len); }
2431
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_has_per_try_idle_timeout(const envoy_config_route_v3_RetryPolicy *msg) { return _upb_hasbit(msg, 6); }
2432
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_per_try_idle_timeout(const envoy_config_route_v3_RetryPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(44, 72), const struct google_protobuf_Duration*); }
2047
2433
 
2048
2434
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_set_retry_on(envoy_config_route_v3_RetryPolicy *msg, upb_strview value) {
2049
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value;
2435
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_strview) = value;
2050
2436
  }
2051
2437
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_set_num_retries(envoy_config_route_v3_RetryPolicy *msg, struct google_protobuf_UInt32Value* value) {
2052
- *UPB_PTR_AT(msg, UPB_SIZE(16, 24), struct google_protobuf_UInt32Value*) = value;
2438
+ _upb_sethas(msg, 1);
2439
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 32), struct google_protobuf_UInt32Value*) = value;
2053
2440
  }
2054
2441
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_RetryPolicy_mutable_num_retries(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2055
2442
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_route_v3_RetryPolicy_num_retries(msg);
@@ -2061,7 +2448,8 @@ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_RetryPolicy
2061
2448
  return sub;
2062
2449
  }
2063
2450
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_set_per_try_timeout(envoy_config_route_v3_RetryPolicy *msg, struct google_protobuf_Duration* value) {
2064
- *UPB_PTR_AT(msg, UPB_SIZE(20, 32), struct google_protobuf_Duration*) = value;
2451
+ _upb_sethas(msg, 2);
2452
+ *UPB_PTR_AT(msg, UPB_SIZE(28, 40), struct google_protobuf_Duration*) = value;
2065
2453
  }
2066
2454
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_mutable_per_try_timeout(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2067
2455
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RetryPolicy_per_try_timeout(msg);
@@ -2073,7 +2461,8 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_mu
2073
2461
  return sub;
2074
2462
  }
2075
2463
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_set_retry_priority(envoy_config_route_v3_RetryPolicy *msg, envoy_config_route_v3_RetryPolicy_RetryPriority* value) {
2076
- *UPB_PTR_AT(msg, UPB_SIZE(24, 40), envoy_config_route_v3_RetryPolicy_RetryPriority*) = value;
2464
+ _upb_sethas(msg, 3);
2465
+ *UPB_PTR_AT(msg, UPB_SIZE(32, 48), envoy_config_route_v3_RetryPolicy_RetryPriority*) = value;
2077
2466
  }
2078
2467
  UPB_INLINE struct envoy_config_route_v3_RetryPolicy_RetryPriority* envoy_config_route_v3_RetryPolicy_mutable_retry_priority(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2079
2468
  struct envoy_config_route_v3_RetryPolicy_RetryPriority* sub = (struct envoy_config_route_v3_RetryPolicy_RetryPriority*)envoy_config_route_v3_RetryPolicy_retry_priority(msg);
@@ -2085,33 +2474,34 @@ UPB_INLINE struct envoy_config_route_v3_RetryPolicy_RetryPriority* envoy_config_
2085
2474
  return sub;
2086
2475
  }
2087
2476
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryHostPredicate** envoy_config_route_v3_RetryPolicy_mutable_retry_host_predicate(envoy_config_route_v3_RetryPolicy *msg, size_t *len) {
2088
- return (envoy_config_route_v3_RetryPolicy_RetryHostPredicate**)_upb_array_mutable_accessor(msg, UPB_SIZE(36, 64), len);
2477
+ return (envoy_config_route_v3_RetryPolicy_RetryHostPredicate**)_upb_array_mutable_accessor(msg, UPB_SIZE(48, 80), len);
2089
2478
  }
2090
2479
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryHostPredicate** envoy_config_route_v3_RetryPolicy_resize_retry_host_predicate(envoy_config_route_v3_RetryPolicy *msg, size_t len, upb_arena *arena) {
2091
- return (envoy_config_route_v3_RetryPolicy_RetryHostPredicate**)_upb_array_resize_accessor(msg, UPB_SIZE(36, 64), len, UPB_TYPE_MESSAGE, arena);
2480
+ return (envoy_config_route_v3_RetryPolicy_RetryHostPredicate**)_upb_array_resize_accessor2(msg, UPB_SIZE(48, 80), len, UPB_SIZE(2, 3), arena);
2092
2481
  }
2093
2482
  UPB_INLINE struct envoy_config_route_v3_RetryPolicy_RetryHostPredicate* envoy_config_route_v3_RetryPolicy_add_retry_host_predicate(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2094
2483
  struct envoy_config_route_v3_RetryPolicy_RetryHostPredicate* sub = (struct envoy_config_route_v3_RetryPolicy_RetryHostPredicate*)_upb_msg_new(&envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, arena);
2095
- bool ok = _upb_array_append_accessor(
2096
- msg, UPB_SIZE(36, 64), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
2484
+ bool ok = _upb_array_append_accessor2(
2485
+ msg, UPB_SIZE(48, 80), UPB_SIZE(2, 3), &sub, arena);
2097
2486
  if (!ok) return NULL;
2098
2487
  return sub;
2099
2488
  }
2100
2489
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_set_host_selection_retry_max_attempts(envoy_config_route_v3_RetryPolicy *msg, int64_t value) {
2101
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int64_t) = value;
2490
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int64_t) = value;
2102
2491
  }
2103
2492
  UPB_INLINE uint32_t* envoy_config_route_v3_RetryPolicy_mutable_retriable_status_codes(envoy_config_route_v3_RetryPolicy *msg, size_t *len) {
2104
- return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 72), len);
2493
+ return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(52, 88), len);
2105
2494
  }
2106
2495
  UPB_INLINE uint32_t* envoy_config_route_v3_RetryPolicy_resize_retriable_status_codes(envoy_config_route_v3_RetryPolicy *msg, size_t len, upb_arena *arena) {
2107
- return (uint32_t*)_upb_array_resize_accessor(msg, UPB_SIZE(40, 72), len, UPB_TYPE_UINT32, arena);
2496
+ return (uint32_t*)_upb_array_resize_accessor2(msg, UPB_SIZE(52, 88), len, 2, arena);
2108
2497
  }
2109
2498
  UPB_INLINE bool envoy_config_route_v3_RetryPolicy_add_retriable_status_codes(envoy_config_route_v3_RetryPolicy *msg, uint32_t val, upb_arena *arena) {
2110
- return _upb_array_append_accessor(msg, UPB_SIZE(40, 72), UPB_SIZE(4, 4), UPB_TYPE_UINT32, &val,
2499
+ return _upb_array_append_accessor2(msg, UPB_SIZE(52, 88), 2, &val,
2111
2500
  arena);
2112
2501
  }
2113
2502
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_set_retry_back_off(envoy_config_route_v3_RetryPolicy *msg, envoy_config_route_v3_RetryPolicy_RetryBackOff* value) {
2114
- *UPB_PTR_AT(msg, UPB_SIZE(28, 48), envoy_config_route_v3_RetryPolicy_RetryBackOff*) = value;
2503
+ _upb_sethas(msg, 4);
2504
+ *UPB_PTR_AT(msg, UPB_SIZE(36, 56), envoy_config_route_v3_RetryPolicy_RetryBackOff*) = value;
2115
2505
  }
2116
2506
  UPB_INLINE struct envoy_config_route_v3_RetryPolicy_RetryBackOff* envoy_config_route_v3_RetryPolicy_mutable_retry_back_off(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2117
2507
  struct envoy_config_route_v3_RetryPolicy_RetryBackOff* sub = (struct envoy_config_route_v3_RetryPolicy_RetryBackOff*)envoy_config_route_v3_RetryPolicy_retry_back_off(msg);
@@ -2123,33 +2513,34 @@ UPB_INLINE struct envoy_config_route_v3_RetryPolicy_RetryBackOff* envoy_config_r
2123
2513
  return sub;
2124
2514
  }
2125
2515
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_RetryPolicy_mutable_retriable_headers(envoy_config_route_v3_RetryPolicy *msg, size_t *len) {
2126
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(44, 80), len);
2516
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(56, 96), len);
2127
2517
  }
2128
2518
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_RetryPolicy_resize_retriable_headers(envoy_config_route_v3_RetryPolicy *msg, size_t len, upb_arena *arena) {
2129
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor(msg, UPB_SIZE(44, 80), len, UPB_TYPE_MESSAGE, arena);
2519
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(56, 96), len, UPB_SIZE(2, 3), arena);
2130
2520
  }
2131
2521
  UPB_INLINE struct envoy_config_route_v3_HeaderMatcher* envoy_config_route_v3_RetryPolicy_add_retriable_headers(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2132
2522
  struct envoy_config_route_v3_HeaderMatcher* sub = (struct envoy_config_route_v3_HeaderMatcher*)_upb_msg_new(&envoy_config_route_v3_HeaderMatcher_msginit, arena);
2133
- bool ok = _upb_array_append_accessor(
2134
- msg, UPB_SIZE(44, 80), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
2523
+ bool ok = _upb_array_append_accessor2(
2524
+ msg, UPB_SIZE(56, 96), UPB_SIZE(2, 3), &sub, arena);
2135
2525
  if (!ok) return NULL;
2136
2526
  return sub;
2137
2527
  }
2138
2528
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_RetryPolicy_mutable_retriable_request_headers(envoy_config_route_v3_RetryPolicy *msg, size_t *len) {
2139
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(48, 88), len);
2529
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(60, 104), len);
2140
2530
  }
2141
2531
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_RetryPolicy_resize_retriable_request_headers(envoy_config_route_v3_RetryPolicy *msg, size_t len, upb_arena *arena) {
2142
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor(msg, UPB_SIZE(48, 88), len, UPB_TYPE_MESSAGE, arena);
2532
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(60, 104), len, UPB_SIZE(2, 3), arena);
2143
2533
  }
2144
2534
  UPB_INLINE struct envoy_config_route_v3_HeaderMatcher* envoy_config_route_v3_RetryPolicy_add_retriable_request_headers(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2145
2535
  struct envoy_config_route_v3_HeaderMatcher* sub = (struct envoy_config_route_v3_HeaderMatcher*)_upb_msg_new(&envoy_config_route_v3_HeaderMatcher_msginit, arena);
2146
- bool ok = _upb_array_append_accessor(
2147
- msg, UPB_SIZE(48, 88), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
2536
+ bool ok = _upb_array_append_accessor2(
2537
+ msg, UPB_SIZE(60, 104), UPB_SIZE(2, 3), &sub, arena);
2148
2538
  if (!ok) return NULL;
2149
2539
  return sub;
2150
2540
  }
2151
2541
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_set_rate_limited_retry_back_off(envoy_config_route_v3_RetryPolicy *msg, envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff* value) {
2152
- *UPB_PTR_AT(msg, UPB_SIZE(32, 56), envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff*) = value;
2542
+ _upb_sethas(msg, 5);
2543
+ *UPB_PTR_AT(msg, UPB_SIZE(40, 64), envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff*) = value;
2153
2544
  }
2154
2545
  UPB_INLINE struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff* envoy_config_route_v3_RetryPolicy_mutable_rate_limited_retry_back_off(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2155
2546
  struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff* sub = (struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff*)envoy_config_route_v3_RetryPolicy_rate_limited_retry_back_off(msg);
@@ -2160,6 +2551,32 @@ UPB_INLINE struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff* env
2160
2551
  }
2161
2552
  return sub;
2162
2553
  }
2554
+ UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig** envoy_config_route_v3_RetryPolicy_mutable_retry_options_predicates(envoy_config_route_v3_RetryPolicy *msg, size_t *len) {
2555
+ return (struct envoy_config_core_v3_TypedExtensionConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(64, 112), len);
2556
+ }
2557
+ UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig** envoy_config_route_v3_RetryPolicy_resize_retry_options_predicates(envoy_config_route_v3_RetryPolicy *msg, size_t len, upb_arena *arena) {
2558
+ return (struct envoy_config_core_v3_TypedExtensionConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(64, 112), len, UPB_SIZE(2, 3), arena);
2559
+ }
2560
+ UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_route_v3_RetryPolicy_add_retry_options_predicates(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2561
+ struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_msg_new(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena);
2562
+ bool ok = _upb_array_append_accessor2(
2563
+ msg, UPB_SIZE(64, 112), UPB_SIZE(2, 3), &sub, arena);
2564
+ if (!ok) return NULL;
2565
+ return sub;
2566
+ }
2567
+ UPB_INLINE void envoy_config_route_v3_RetryPolicy_set_per_try_idle_timeout(envoy_config_route_v3_RetryPolicy *msg, struct google_protobuf_Duration* value) {
2568
+ _upb_sethas(msg, 6);
2569
+ *UPB_PTR_AT(msg, UPB_SIZE(44, 72), struct google_protobuf_Duration*) = value;
2570
+ }
2571
+ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_mutable_per_try_idle_timeout(envoy_config_route_v3_RetryPolicy *msg, upb_arena *arena) {
2572
+ struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RetryPolicy_per_try_idle_timeout(msg);
2573
+ if (sub == NULL) {
2574
+ sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena);
2575
+ if (!sub) return NULL;
2576
+ envoy_config_route_v3_RetryPolicy_set_per_try_idle_timeout(msg, sub);
2577
+ }
2578
+ return sub;
2579
+ }
2163
2580
 
2164
2581
  /* envoy.config.route.v3.RetryPolicy.RetryPriority */
2165
2582
 
@@ -2169,7 +2586,19 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryPriority *envoy_config_route_v
2169
2586
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryPriority *envoy_config_route_v3_RetryPolicy_RetryPriority_parse(const char *buf, size_t size,
2170
2587
  upb_arena *arena) {
2171
2588
  envoy_config_route_v3_RetryPolicy_RetryPriority *ret = envoy_config_route_v3_RetryPolicy_RetryPriority_new(arena);
2172
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, arena)) ? ret : NULL;
2589
+ if (!ret) return NULL;
2590
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, arena)) return NULL;
2591
+ return ret;
2592
+ }
2593
+ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryPriority *envoy_config_route_v3_RetryPolicy_RetryPriority_parse_ex(const char *buf, size_t size,
2594
+ const upb_extreg *extreg, int options,
2595
+ upb_arena *arena) {
2596
+ envoy_config_route_v3_RetryPolicy_RetryPriority *ret = envoy_config_route_v3_RetryPolicy_RetryPriority_new(arena);
2597
+ if (!ret) return NULL;
2598
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, extreg, options, arena)) {
2599
+ return NULL;
2600
+ }
2601
+ return ret;
2173
2602
  }
2174
2603
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_RetryPriority_serialize(const envoy_config_route_v3_RetryPolicy_RetryPriority *msg, upb_arena *arena, size_t *len) {
2175
2604
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_RetryPriority_msginit, arena, len);
@@ -2209,7 +2638,19 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryHostPredicate *envoy_config_ro
2209
2638
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryHostPredicate *envoy_config_route_v3_RetryPolicy_RetryHostPredicate_parse(const char *buf, size_t size,
2210
2639
  upb_arena *arena) {
2211
2640
  envoy_config_route_v3_RetryPolicy_RetryHostPredicate *ret = envoy_config_route_v3_RetryPolicy_RetryHostPredicate_new(arena);
2212
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, arena)) ? ret : NULL;
2641
+ if (!ret) return NULL;
2642
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, arena)) return NULL;
2643
+ return ret;
2644
+ }
2645
+ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryHostPredicate *envoy_config_route_v3_RetryPolicy_RetryHostPredicate_parse_ex(const char *buf, size_t size,
2646
+ const upb_extreg *extreg, int options,
2647
+ upb_arena *arena) {
2648
+ envoy_config_route_v3_RetryPolicy_RetryHostPredicate *ret = envoy_config_route_v3_RetryPolicy_RetryHostPredicate_new(arena);
2649
+ if (!ret) return NULL;
2650
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, extreg, options, arena)) {
2651
+ return NULL;
2652
+ }
2653
+ return ret;
2213
2654
  }
2214
2655
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_RetryHostPredicate_serialize(const envoy_config_route_v3_RetryPolicy_RetryHostPredicate *msg, upb_arena *arena, size_t *len) {
2215
2656
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_RetryHostPredicate_msginit, arena, len);
@@ -2249,19 +2690,32 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryBackOff *envoy_config_route_v3
2249
2690
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryBackOff *envoy_config_route_v3_RetryPolicy_RetryBackOff_parse(const char *buf, size_t size,
2250
2691
  upb_arena *arena) {
2251
2692
  envoy_config_route_v3_RetryPolicy_RetryBackOff *ret = envoy_config_route_v3_RetryPolicy_RetryBackOff_new(arena);
2252
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, arena)) ? ret : NULL;
2693
+ if (!ret) return NULL;
2694
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, arena)) return NULL;
2695
+ return ret;
2696
+ }
2697
+ UPB_INLINE envoy_config_route_v3_RetryPolicy_RetryBackOff *envoy_config_route_v3_RetryPolicy_RetryBackOff_parse_ex(const char *buf, size_t size,
2698
+ const upb_extreg *extreg, int options,
2699
+ upb_arena *arena) {
2700
+ envoy_config_route_v3_RetryPolicy_RetryBackOff *ret = envoy_config_route_v3_RetryPolicy_RetryBackOff_new(arena);
2701
+ if (!ret) return NULL;
2702
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, extreg, options, arena)) {
2703
+ return NULL;
2704
+ }
2705
+ return ret;
2253
2706
  }
2254
2707
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_RetryBackOff_serialize(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg, upb_arena *arena, size_t *len) {
2255
2708
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_RetryBackOff_msginit, arena, len);
2256
2709
  }
2257
2710
 
2258
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_RetryBackOff_has_base_interval(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
2259
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RetryBackOff_base_interval(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct google_protobuf_Duration*); }
2260
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_RetryBackOff_has_max_interval(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
2261
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RetryBackOff_max_interval(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*); }
2711
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_RetryBackOff_has_base_interval(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg) { return _upb_hasbit(msg, 1); }
2712
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RetryBackOff_base_interval(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*); }
2713
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_RetryBackOff_has_max_interval(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg) { return _upb_hasbit(msg, 2); }
2714
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RetryBackOff_max_interval(const envoy_config_route_v3_RetryPolicy_RetryBackOff *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_Duration*); }
2262
2715
 
2263
2716
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_RetryBackOff_set_base_interval(envoy_config_route_v3_RetryPolicy_RetryBackOff *msg, struct google_protobuf_Duration* value) {
2264
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct google_protobuf_Duration*) = value;
2717
+ _upb_sethas(msg, 1);
2718
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value;
2265
2719
  }
2266
2720
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RetryBackOff_mutable_base_interval(envoy_config_route_v3_RetryPolicy_RetryBackOff *msg, upb_arena *arena) {
2267
2721
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RetryPolicy_RetryBackOff_base_interval(msg);
@@ -2273,7 +2727,8 @@ UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_Re
2273
2727
  return sub;
2274
2728
  }
2275
2729
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_RetryBackOff_set_max_interval(envoy_config_route_v3_RetryPolicy_RetryBackOff *msg, struct google_protobuf_Duration* value) {
2276
- *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value;
2730
+ _upb_sethas(msg, 2);
2731
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_Duration*) = value;
2277
2732
  }
2278
2733
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RetryBackOff_mutable_max_interval(envoy_config_route_v3_RetryPolicy_RetryBackOff *msg, upb_arena *arena) {
2279
2734
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RetryPolicy_RetryBackOff_max_interval(msg);
@@ -2293,17 +2748,29 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_ResetHeader *envoy_config_route_v3_
2293
2748
  UPB_INLINE envoy_config_route_v3_RetryPolicy_ResetHeader *envoy_config_route_v3_RetryPolicy_ResetHeader_parse(const char *buf, size_t size,
2294
2749
  upb_arena *arena) {
2295
2750
  envoy_config_route_v3_RetryPolicy_ResetHeader *ret = envoy_config_route_v3_RetryPolicy_ResetHeader_new(arena);
2296
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, arena)) ? ret : NULL;
2751
+ if (!ret) return NULL;
2752
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, arena)) return NULL;
2753
+ return ret;
2754
+ }
2755
+ UPB_INLINE envoy_config_route_v3_RetryPolicy_ResetHeader *envoy_config_route_v3_RetryPolicy_ResetHeader_parse_ex(const char *buf, size_t size,
2756
+ const upb_extreg *extreg, int options,
2757
+ upb_arena *arena) {
2758
+ envoy_config_route_v3_RetryPolicy_ResetHeader *ret = envoy_config_route_v3_RetryPolicy_ResetHeader_new(arena);
2759
+ if (!ret) return NULL;
2760
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, extreg, options, arena)) {
2761
+ return NULL;
2762
+ }
2763
+ return ret;
2297
2764
  }
2298
2765
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_ResetHeader_serialize(const envoy_config_route_v3_RetryPolicy_ResetHeader *msg, upb_arena *arena, size_t *len) {
2299
2766
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, arena, len);
2300
2767
  }
2301
2768
 
2302
- UPB_INLINE upb_strview envoy_config_route_v3_RetryPolicy_ResetHeader_name(const envoy_config_route_v3_RetryPolicy_ResetHeader *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); }
2769
+ UPB_INLINE upb_strview envoy_config_route_v3_RetryPolicy_ResetHeader_name(const envoy_config_route_v3_RetryPolicy_ResetHeader *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
2303
2770
  UPB_INLINE int32_t envoy_config_route_v3_RetryPolicy_ResetHeader_format(const envoy_config_route_v3_RetryPolicy_ResetHeader *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); }
2304
2771
 
2305
2772
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_ResetHeader_set_name(envoy_config_route_v3_RetryPolicy_ResetHeader *msg, upb_strview value) {
2306
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value;
2773
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
2307
2774
  }
2308
2775
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_ResetHeader_set_format(envoy_config_route_v3_RetryPolicy_ResetHeader *msg, int32_t value) {
2309
2776
  *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value;
@@ -2317,32 +2784,45 @@ UPB_INLINE envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *envoy_conf
2317
2784
  UPB_INLINE envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_parse(const char *buf, size_t size,
2318
2785
  upb_arena *arena) {
2319
2786
  envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *ret = envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_new(arena);
2320
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, arena)) ? ret : NULL;
2787
+ if (!ret) return NULL;
2788
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, arena)) return NULL;
2789
+ return ret;
2790
+ }
2791
+ UPB_INLINE envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_parse_ex(const char *buf, size_t size,
2792
+ const upb_extreg *extreg, int options,
2793
+ upb_arena *arena) {
2794
+ envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *ret = envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_new(arena);
2795
+ if (!ret) return NULL;
2796
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, extreg, options, arena)) {
2797
+ return NULL;
2798
+ }
2799
+ return ret;
2321
2800
  }
2322
2801
  UPB_INLINE char *envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_serialize(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, upb_arena *arena, size_t *len) {
2323
2802
  return upb_encode(msg, &envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_msginit, arena, len);
2324
2803
  }
2325
2804
 
2326
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_has_reset_headers(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
2327
- UPB_INLINE const envoy_config_route_v3_RetryPolicy_ResetHeader* const* envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_reset_headers(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, size_t *len) { return (const envoy_config_route_v3_RetryPolicy_ResetHeader* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); }
2328
- UPB_INLINE bool envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_has_max_interval(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
2329
- UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_max_interval(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct google_protobuf_Duration*); }
2805
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_has_reset_headers(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
2806
+ UPB_INLINE const envoy_config_route_v3_RetryPolicy_ResetHeader* const* envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_reset_headers(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, size_t *len) { return (const envoy_config_route_v3_RetryPolicy_ResetHeader* const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); }
2807
+ UPB_INLINE bool envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_has_max_interval(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg) { return _upb_hasbit(msg, 1); }
2808
+ UPB_INLINE const struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_max_interval(const envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Duration*); }
2330
2809
 
2331
2810
  UPB_INLINE envoy_config_route_v3_RetryPolicy_ResetHeader** envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_mutable_reset_headers(envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, size_t *len) {
2332
- return (envoy_config_route_v3_RetryPolicy_ResetHeader**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
2811
+ return (envoy_config_route_v3_RetryPolicy_ResetHeader**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
2333
2812
  }
2334
2813
  UPB_INLINE envoy_config_route_v3_RetryPolicy_ResetHeader** envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_resize_reset_headers(envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, size_t len, upb_arena *arena) {
2335
- return (envoy_config_route_v3_RetryPolicy_ResetHeader**)_upb_array_resize_accessor(msg, UPB_SIZE(4, 8), len, UPB_TYPE_MESSAGE, arena);
2814
+ return (envoy_config_route_v3_RetryPolicy_ResetHeader**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena);
2336
2815
  }
2337
2816
  UPB_INLINE struct envoy_config_route_v3_RetryPolicy_ResetHeader* envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_add_reset_headers(envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, upb_arena *arena) {
2338
2817
  struct envoy_config_route_v3_RetryPolicy_ResetHeader* sub = (struct envoy_config_route_v3_RetryPolicy_ResetHeader*)_upb_msg_new(&envoy_config_route_v3_RetryPolicy_ResetHeader_msginit, arena);
2339
- bool ok = _upb_array_append_accessor(
2340
- msg, UPB_SIZE(4, 8), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
2818
+ bool ok = _upb_array_append_accessor2(
2819
+ msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena);
2341
2820
  if (!ok) return NULL;
2342
2821
  return sub;
2343
2822
  }
2344
2823
  UPB_INLINE void envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_set_max_interval(envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, struct google_protobuf_Duration* value) {
2345
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct google_protobuf_Duration*) = value;
2824
+ _upb_sethas(msg, 1);
2825
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Duration*) = value;
2346
2826
  }
2347
2827
  UPB_INLINE struct google_protobuf_Duration* envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_mutable_max_interval(envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff *msg, upb_arena *arena) {
2348
2828
  struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff_max_interval(msg);
@@ -2362,19 +2842,32 @@ UPB_INLINE envoy_config_route_v3_HedgePolicy *envoy_config_route_v3_HedgePolicy_
2362
2842
  UPB_INLINE envoy_config_route_v3_HedgePolicy *envoy_config_route_v3_HedgePolicy_parse(const char *buf, size_t size,
2363
2843
  upb_arena *arena) {
2364
2844
  envoy_config_route_v3_HedgePolicy *ret = envoy_config_route_v3_HedgePolicy_new(arena);
2365
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_HedgePolicy_msginit, arena)) ? ret : NULL;
2845
+ if (!ret) return NULL;
2846
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_HedgePolicy_msginit, arena)) return NULL;
2847
+ return ret;
2848
+ }
2849
+ UPB_INLINE envoy_config_route_v3_HedgePolicy *envoy_config_route_v3_HedgePolicy_parse_ex(const char *buf, size_t size,
2850
+ const upb_extreg *extreg, int options,
2851
+ upb_arena *arena) {
2852
+ envoy_config_route_v3_HedgePolicy *ret = envoy_config_route_v3_HedgePolicy_new(arena);
2853
+ if (!ret) return NULL;
2854
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_HedgePolicy_msginit, extreg, options, arena)) {
2855
+ return NULL;
2856
+ }
2857
+ return ret;
2366
2858
  }
2367
2859
  UPB_INLINE char *envoy_config_route_v3_HedgePolicy_serialize(const envoy_config_route_v3_HedgePolicy *msg, upb_arena *arena, size_t *len) {
2368
2860
  return upb_encode(msg, &envoy_config_route_v3_HedgePolicy_msginit, arena, len);
2369
2861
  }
2370
2862
 
2371
- UPB_INLINE bool envoy_config_route_v3_HedgePolicy_has_initial_requests(const envoy_config_route_v3_HedgePolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
2863
+ UPB_INLINE bool envoy_config_route_v3_HedgePolicy_has_initial_requests(const envoy_config_route_v3_HedgePolicy *msg) { return _upb_hasbit(msg, 1); }
2372
2864
  UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_HedgePolicy_initial_requests(const envoy_config_route_v3_HedgePolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_UInt32Value*); }
2373
- UPB_INLINE bool envoy_config_route_v3_HedgePolicy_has_additional_request_chance(const envoy_config_route_v3_HedgePolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
2865
+ UPB_INLINE bool envoy_config_route_v3_HedgePolicy_has_additional_request_chance(const envoy_config_route_v3_HedgePolicy *msg) { return _upb_hasbit(msg, 2); }
2374
2866
  UPB_INLINE const struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_HedgePolicy_additional_request_chance(const envoy_config_route_v3_HedgePolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct envoy_type_v3_FractionalPercent*); }
2375
- UPB_INLINE bool envoy_config_route_v3_HedgePolicy_hedge_on_per_try_timeout(const envoy_config_route_v3_HedgePolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool); }
2867
+ UPB_INLINE bool envoy_config_route_v3_HedgePolicy_hedge_on_per_try_timeout(const envoy_config_route_v3_HedgePolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool); }
2376
2868
 
2377
2869
  UPB_INLINE void envoy_config_route_v3_HedgePolicy_set_initial_requests(envoy_config_route_v3_HedgePolicy *msg, struct google_protobuf_UInt32Value* value) {
2870
+ _upb_sethas(msg, 1);
2378
2871
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_UInt32Value*) = value;
2379
2872
  }
2380
2873
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_HedgePolicy_mutable_initial_requests(envoy_config_route_v3_HedgePolicy *msg, upb_arena *arena) {
@@ -2387,6 +2880,7 @@ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_HedgePolicy
2387
2880
  return sub;
2388
2881
  }
2389
2882
  UPB_INLINE void envoy_config_route_v3_HedgePolicy_set_additional_request_chance(envoy_config_route_v3_HedgePolicy *msg, struct envoy_type_v3_FractionalPercent* value) {
2883
+ _upb_sethas(msg, 2);
2390
2884
  *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct envoy_type_v3_FractionalPercent*) = value;
2391
2885
  }
2392
2886
  UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_HedgePolicy_mutable_additional_request_chance(envoy_config_route_v3_HedgePolicy *msg, upb_arena *arena) {
@@ -2399,7 +2893,7 @@ UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_HedgePo
2399
2893
  return sub;
2400
2894
  }
2401
2895
  UPB_INLINE void envoy_config_route_v3_HedgePolicy_set_hedge_on_per_try_timeout(envoy_config_route_v3_HedgePolicy *msg, bool value) {
2402
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool) = value;
2896
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
2403
2897
  }
2404
2898
 
2405
2899
  /* envoy.config.route.v3.RedirectAction */
@@ -2410,7 +2904,19 @@ UPB_INLINE envoy_config_route_v3_RedirectAction *envoy_config_route_v3_RedirectA
2410
2904
  UPB_INLINE envoy_config_route_v3_RedirectAction *envoy_config_route_v3_RedirectAction_parse(const char *buf, size_t size,
2411
2905
  upb_arena *arena) {
2412
2906
  envoy_config_route_v3_RedirectAction *ret = envoy_config_route_v3_RedirectAction_new(arena);
2413
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RedirectAction_msginit, arena)) ? ret : NULL;
2907
+ if (!ret) return NULL;
2908
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RedirectAction_msginit, arena)) return NULL;
2909
+ return ret;
2910
+ }
2911
+ UPB_INLINE envoy_config_route_v3_RedirectAction *envoy_config_route_v3_RedirectAction_parse_ex(const char *buf, size_t size,
2912
+ const upb_extreg *extreg, int options,
2913
+ upb_arena *arena) {
2914
+ envoy_config_route_v3_RedirectAction *ret = envoy_config_route_v3_RedirectAction_new(arena);
2915
+ if (!ret) return NULL;
2916
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RedirectAction_msginit, extreg, options, arena)) {
2917
+ return NULL;
2918
+ }
2919
+ return ret;
2414
2920
  }
2415
2921
  UPB_INLINE char *envoy_config_route_v3_RedirectAction_serialize(const envoy_config_route_v3_RedirectAction *msg, upb_arena *arena, size_t *len) {
2416
2922
  return upb_encode(msg, &envoy_config_route_v3_RedirectAction_msginit, arena, len);
@@ -2421,51 +2927,66 @@ typedef enum {
2421
2927
  envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_scheme_redirect = 7,
2422
2928
  envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_NOT_SET = 0
2423
2929
  } envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_oneofcases;
2424
- UPB_INLINE envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_oneofcases envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_case(const envoy_config_route_v3_RedirectAction* msg) { return (envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(44, 72), int32_t); }
2930
+ UPB_INLINE envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_oneofcases envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_case(const envoy_config_route_v3_RedirectAction* msg) { return (envoy_config_route_v3_RedirectAction_scheme_rewrite_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(40, 72), int32_t); }
2425
2931
 
2426
2932
  typedef enum {
2427
2933
  envoy_config_route_v3_RedirectAction_path_rewrite_specifier_path_redirect = 2,
2428
2934
  envoy_config_route_v3_RedirectAction_path_rewrite_specifier_prefix_rewrite = 5,
2935
+ envoy_config_route_v3_RedirectAction_path_rewrite_specifier_regex_rewrite = 9,
2429
2936
  envoy_config_route_v3_RedirectAction_path_rewrite_specifier_NOT_SET = 0
2430
2937
  } envoy_config_route_v3_RedirectAction_path_rewrite_specifier_oneofcases;
2431
- UPB_INLINE envoy_config_route_v3_RedirectAction_path_rewrite_specifier_oneofcases envoy_config_route_v3_RedirectAction_path_rewrite_specifier_case(const envoy_config_route_v3_RedirectAction* msg) { return (envoy_config_route_v3_RedirectAction_path_rewrite_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(32, 48), int32_t); }
2938
+ UPB_INLINE envoy_config_route_v3_RedirectAction_path_rewrite_specifier_oneofcases envoy_config_route_v3_RedirectAction_path_rewrite_specifier_case(const envoy_config_route_v3_RedirectAction* msg) { return (envoy_config_route_v3_RedirectAction_path_rewrite_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(28, 48), int32_t); }
2432
2939
 
2433
- UPB_INLINE upb_strview envoy_config_route_v3_RedirectAction_host_redirect(const envoy_config_route_v3_RedirectAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_strview); }
2434
- UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_path_redirect(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(32, 48)) == 2; }
2435
- UPB_INLINE upb_strview envoy_config_route_v3_RedirectAction_path_redirect(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(24, 32), UPB_SIZE(32, 48), 2, upb_strview_make("", strlen(""))); }
2940
+ UPB_INLINE upb_strview envoy_config_route_v3_RedirectAction_host_redirect(const envoy_config_route_v3_RedirectAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 16), upb_strview); }
2941
+ UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_path_redirect(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(28, 48)) == 2; }
2942
+ UPB_INLINE upb_strview envoy_config_route_v3_RedirectAction_path_redirect(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(20, 32), UPB_SIZE(28, 48), 2, upb_strview_make("", strlen(""))); }
2436
2943
  UPB_INLINE int32_t envoy_config_route_v3_RedirectAction_response_code(const envoy_config_route_v3_RedirectAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); }
2437
- UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_https_redirect(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(44, 72)) == 4; }
2438
- UPB_INLINE bool envoy_config_route_v3_RedirectAction_https_redirect(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(36, 56), UPB_SIZE(44, 72), 4, false); }
2439
- UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_prefix_rewrite(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(32, 48)) == 5; }
2440
- UPB_INLINE upb_strview envoy_config_route_v3_RedirectAction_prefix_rewrite(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(24, 32), UPB_SIZE(32, 48), 5, upb_strview_make("", strlen(""))); }
2441
- UPB_INLINE bool envoy_config_route_v3_RedirectAction_strip_query(const envoy_config_route_v3_RedirectAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 12), bool); }
2442
- UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_scheme_redirect(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(44, 72)) == 7; }
2443
- UPB_INLINE upb_strview envoy_config_route_v3_RedirectAction_scheme_redirect(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(36, 56), UPB_SIZE(44, 72), 7, upb_strview_make("", strlen(""))); }
2444
- UPB_INLINE uint32_t envoy_config_route_v3_RedirectAction_port_redirect(const envoy_config_route_v3_RedirectAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t); }
2944
+ UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_https_redirect(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(40, 72)) == 4; }
2945
+ UPB_INLINE bool envoy_config_route_v3_RedirectAction_https_redirect(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(32, 56), UPB_SIZE(40, 72), 4, false); }
2946
+ UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_prefix_rewrite(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(28, 48)) == 5; }
2947
+ UPB_INLINE upb_strview envoy_config_route_v3_RedirectAction_prefix_rewrite(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(20, 32), UPB_SIZE(28, 48), 5, upb_strview_make("", strlen(""))); }
2948
+ UPB_INLINE bool envoy_config_route_v3_RedirectAction_strip_query(const envoy_config_route_v3_RedirectAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool); }
2949
+ UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_scheme_redirect(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(40, 72)) == 7; }
2950
+ UPB_INLINE upb_strview envoy_config_route_v3_RedirectAction_scheme_redirect(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(32, 56), UPB_SIZE(40, 72), 7, upb_strview_make("", strlen(""))); }
2951
+ UPB_INLINE uint32_t envoy_config_route_v3_RedirectAction_port_redirect(const envoy_config_route_v3_RedirectAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t); }
2952
+ UPB_INLINE bool envoy_config_route_v3_RedirectAction_has_regex_rewrite(const envoy_config_route_v3_RedirectAction *msg) { return _upb_getoneofcase(msg, UPB_SIZE(28, 48)) == 9; }
2953
+ UPB_INLINE const struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RedirectAction_regex_rewrite(const envoy_config_route_v3_RedirectAction *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_RegexMatchAndSubstitute*, UPB_SIZE(20, 32), UPB_SIZE(28, 48), 9, NULL); }
2445
2954
 
2446
2955
  UPB_INLINE void envoy_config_route_v3_RedirectAction_set_host_redirect(envoy_config_route_v3_RedirectAction *msg, upb_strview value) {
2447
- *UPB_PTR_AT(msg, UPB_SIZE(16, 16), upb_strview) = value;
2956
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 16), upb_strview) = value;
2448
2957
  }
2449
2958
  UPB_INLINE void envoy_config_route_v3_RedirectAction_set_path_redirect(envoy_config_route_v3_RedirectAction *msg, upb_strview value) {
2450
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(24, 32), value, UPB_SIZE(32, 48), 2);
2959
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(20, 32), value, UPB_SIZE(28, 48), 2);
2451
2960
  }
2452
2961
  UPB_INLINE void envoy_config_route_v3_RedirectAction_set_response_code(envoy_config_route_v3_RedirectAction *msg, int32_t value) {
2453
2962
  *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value;
2454
2963
  }
2455
2964
  UPB_INLINE void envoy_config_route_v3_RedirectAction_set_https_redirect(envoy_config_route_v3_RedirectAction *msg, bool value) {
2456
- UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(36, 56), value, UPB_SIZE(44, 72), 4);
2965
+ UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(32, 56), value, UPB_SIZE(40, 72), 4);
2457
2966
  }
2458
2967
  UPB_INLINE void envoy_config_route_v3_RedirectAction_set_prefix_rewrite(envoy_config_route_v3_RedirectAction *msg, upb_strview value) {
2459
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(24, 32), value, UPB_SIZE(32, 48), 5);
2968
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(20, 32), value, UPB_SIZE(28, 48), 5);
2460
2969
  }
2461
2970
  UPB_INLINE void envoy_config_route_v3_RedirectAction_set_strip_query(envoy_config_route_v3_RedirectAction *msg, bool value) {
2462
- *UPB_PTR_AT(msg, UPB_SIZE(12, 12), bool) = value;
2971
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
2463
2972
  }
2464
2973
  UPB_INLINE void envoy_config_route_v3_RedirectAction_set_scheme_redirect(envoy_config_route_v3_RedirectAction *msg, upb_strview value) {
2465
- UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(36, 56), value, UPB_SIZE(44, 72), 7);
2974
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(32, 56), value, UPB_SIZE(40, 72), 7);
2466
2975
  }
2467
2976
  UPB_INLINE void envoy_config_route_v3_RedirectAction_set_port_redirect(envoy_config_route_v3_RedirectAction *msg, uint32_t value) {
2468
- *UPB_PTR_AT(msg, UPB_SIZE(8, 8), uint32_t) = value;
2977
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t) = value;
2978
+ }
2979
+ UPB_INLINE void envoy_config_route_v3_RedirectAction_set_regex_rewrite(envoy_config_route_v3_RedirectAction *msg, struct envoy_type_matcher_v3_RegexMatchAndSubstitute* value) {
2980
+ UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_RegexMatchAndSubstitute*, UPB_SIZE(20, 32), value, UPB_SIZE(28, 48), 9);
2981
+ }
2982
+ UPB_INLINE struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RedirectAction_mutable_regex_rewrite(envoy_config_route_v3_RedirectAction *msg, upb_arena *arena) {
2983
+ struct envoy_type_matcher_v3_RegexMatchAndSubstitute* sub = (struct envoy_type_matcher_v3_RegexMatchAndSubstitute*)envoy_config_route_v3_RedirectAction_regex_rewrite(msg);
2984
+ if (sub == NULL) {
2985
+ sub = (struct envoy_type_matcher_v3_RegexMatchAndSubstitute*)_upb_msg_new(&envoy_type_matcher_v3_RegexMatchAndSubstitute_msginit, arena);
2986
+ if (!sub) return NULL;
2987
+ envoy_config_route_v3_RedirectAction_set_regex_rewrite(msg, sub);
2988
+ }
2989
+ return sub;
2469
2990
  }
2470
2991
 
2471
2992
  /* envoy.config.route.v3.DirectResponseAction */
@@ -2476,21 +2997,34 @@ UPB_INLINE envoy_config_route_v3_DirectResponseAction *envoy_config_route_v3_Dir
2476
2997
  UPB_INLINE envoy_config_route_v3_DirectResponseAction *envoy_config_route_v3_DirectResponseAction_parse(const char *buf, size_t size,
2477
2998
  upb_arena *arena) {
2478
2999
  envoy_config_route_v3_DirectResponseAction *ret = envoy_config_route_v3_DirectResponseAction_new(arena);
2479
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_DirectResponseAction_msginit, arena)) ? ret : NULL;
3000
+ if (!ret) return NULL;
3001
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_DirectResponseAction_msginit, arena)) return NULL;
3002
+ return ret;
3003
+ }
3004
+ UPB_INLINE envoy_config_route_v3_DirectResponseAction *envoy_config_route_v3_DirectResponseAction_parse_ex(const char *buf, size_t size,
3005
+ const upb_extreg *extreg, int options,
3006
+ upb_arena *arena) {
3007
+ envoy_config_route_v3_DirectResponseAction *ret = envoy_config_route_v3_DirectResponseAction_new(arena);
3008
+ if (!ret) return NULL;
3009
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_DirectResponseAction_msginit, extreg, options, arena)) {
3010
+ return NULL;
3011
+ }
3012
+ return ret;
2480
3013
  }
2481
3014
  UPB_INLINE char *envoy_config_route_v3_DirectResponseAction_serialize(const envoy_config_route_v3_DirectResponseAction *msg, upb_arena *arena, size_t *len) {
2482
3015
  return upb_encode(msg, &envoy_config_route_v3_DirectResponseAction_msginit, arena, len);
2483
3016
  }
2484
3017
 
2485
- UPB_INLINE uint32_t envoy_config_route_v3_DirectResponseAction_status(const envoy_config_route_v3_DirectResponseAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), uint32_t); }
2486
- UPB_INLINE bool envoy_config_route_v3_DirectResponseAction_has_body(const envoy_config_route_v3_DirectResponseAction *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
2487
- UPB_INLINE const struct envoy_config_core_v3_DataSource* envoy_config_route_v3_DirectResponseAction_body(const envoy_config_route_v3_DirectResponseAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_core_v3_DataSource*); }
3018
+ UPB_INLINE uint32_t envoy_config_route_v3_DirectResponseAction_status(const envoy_config_route_v3_DirectResponseAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t); }
3019
+ UPB_INLINE bool envoy_config_route_v3_DirectResponseAction_has_body(const envoy_config_route_v3_DirectResponseAction *msg) { return _upb_hasbit(msg, 1); }
3020
+ UPB_INLINE const struct envoy_config_core_v3_DataSource* envoy_config_route_v3_DirectResponseAction_body(const envoy_config_route_v3_DirectResponseAction *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), const struct envoy_config_core_v3_DataSource*); }
2488
3021
 
2489
3022
  UPB_INLINE void envoy_config_route_v3_DirectResponseAction_set_status(envoy_config_route_v3_DirectResponseAction *msg, uint32_t value) {
2490
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), uint32_t) = value;
3023
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), uint32_t) = value;
2491
3024
  }
2492
3025
  UPB_INLINE void envoy_config_route_v3_DirectResponseAction_set_body(envoy_config_route_v3_DirectResponseAction *msg, struct envoy_config_core_v3_DataSource* value) {
2493
- *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_core_v3_DataSource*) = value;
3026
+ _upb_sethas(msg, 1);
3027
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), struct envoy_config_core_v3_DataSource*) = value;
2494
3028
  }
2495
3029
  UPB_INLINE struct envoy_config_core_v3_DataSource* envoy_config_route_v3_DirectResponseAction_mutable_body(envoy_config_route_v3_DirectResponseAction *msg, upb_arena *arena) {
2496
3030
  struct envoy_config_core_v3_DataSource* sub = (struct envoy_config_core_v3_DataSource*)envoy_config_route_v3_DirectResponseAction_body(msg);
@@ -2502,6 +3036,34 @@ UPB_INLINE struct envoy_config_core_v3_DataSource* envoy_config_route_v3_DirectR
2502
3036
  return sub;
2503
3037
  }
2504
3038
 
3039
+ /* envoy.config.route.v3.NonForwardingAction */
3040
+
3041
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_new(upb_arena *arena) {
3042
+ return (envoy_config_route_v3_NonForwardingAction *)_upb_msg_new(&envoy_config_route_v3_NonForwardingAction_msginit, arena);
3043
+ }
3044
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_parse(const char *buf, size_t size,
3045
+ upb_arena *arena) {
3046
+ envoy_config_route_v3_NonForwardingAction *ret = envoy_config_route_v3_NonForwardingAction_new(arena);
3047
+ if (!ret) return NULL;
3048
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_NonForwardingAction_msginit, arena)) return NULL;
3049
+ return ret;
3050
+ }
3051
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_parse_ex(const char *buf, size_t size,
3052
+ const upb_extreg *extreg, int options,
3053
+ upb_arena *arena) {
3054
+ envoy_config_route_v3_NonForwardingAction *ret = envoy_config_route_v3_NonForwardingAction_new(arena);
3055
+ if (!ret) return NULL;
3056
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_NonForwardingAction_msginit, extreg, options, arena)) {
3057
+ return NULL;
3058
+ }
3059
+ return ret;
3060
+ }
3061
+ UPB_INLINE char *envoy_config_route_v3_NonForwardingAction_serialize(const envoy_config_route_v3_NonForwardingAction *msg, upb_arena *arena, size_t *len) {
3062
+ return upb_encode(msg, &envoy_config_route_v3_NonForwardingAction_msginit, arena, len);
3063
+ }
3064
+
3065
+
3066
+
2505
3067
  /* envoy.config.route.v3.Decorator */
2506
3068
 
2507
3069
  UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_new(upb_arena *arena) {
@@ -2510,21 +3072,34 @@ UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_new(
2510
3072
  UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_parse(const char *buf, size_t size,
2511
3073
  upb_arena *arena) {
2512
3074
  envoy_config_route_v3_Decorator *ret = envoy_config_route_v3_Decorator_new(arena);
2513
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_Decorator_msginit, arena)) ? ret : NULL;
3075
+ if (!ret) return NULL;
3076
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_Decorator_msginit, arena)) return NULL;
3077
+ return ret;
3078
+ }
3079
+ UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_parse_ex(const char *buf, size_t size,
3080
+ const upb_extreg *extreg, int options,
3081
+ upb_arena *arena) {
3082
+ envoy_config_route_v3_Decorator *ret = envoy_config_route_v3_Decorator_new(arena);
3083
+ if (!ret) return NULL;
3084
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_Decorator_msginit, extreg, options, arena)) {
3085
+ return NULL;
3086
+ }
3087
+ return ret;
2514
3088
  }
2515
3089
  UPB_INLINE char *envoy_config_route_v3_Decorator_serialize(const envoy_config_route_v3_Decorator *msg, upb_arena *arena, size_t *len) {
2516
3090
  return upb_encode(msg, &envoy_config_route_v3_Decorator_msginit, arena, len);
2517
3091
  }
2518
3092
 
2519
- UPB_INLINE upb_strview envoy_config_route_v3_Decorator_operation(const envoy_config_route_v3_Decorator *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
2520
- UPB_INLINE bool envoy_config_route_v3_Decorator_has_propagate(const envoy_config_route_v3_Decorator *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
2521
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_Decorator_propagate(const envoy_config_route_v3_Decorator *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_BoolValue*); }
3093
+ UPB_INLINE upb_strview envoy_config_route_v3_Decorator_operation(const envoy_config_route_v3_Decorator *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
3094
+ UPB_INLINE bool envoy_config_route_v3_Decorator_has_propagate(const envoy_config_route_v3_Decorator *msg) { return _upb_hasbit(msg, 1); }
3095
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_Decorator_propagate(const envoy_config_route_v3_Decorator *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_BoolValue*); }
2522
3096
 
2523
3097
  UPB_INLINE void envoy_config_route_v3_Decorator_set_operation(envoy_config_route_v3_Decorator *msg, upb_strview value) {
2524
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
3098
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
2525
3099
  }
2526
3100
  UPB_INLINE void envoy_config_route_v3_Decorator_set_propagate(envoy_config_route_v3_Decorator *msg, struct google_protobuf_BoolValue* value) {
2527
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_BoolValue*) = value;
3101
+ _upb_sethas(msg, 1);
3102
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_BoolValue*) = value;
2528
3103
  }
2529
3104
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_Decorator_mutable_propagate(envoy_config_route_v3_Decorator *msg, upb_arena *arena) {
2530
3105
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_Decorator_propagate(msg);
@@ -2544,23 +3119,36 @@ UPB_INLINE envoy_config_route_v3_Tracing *envoy_config_route_v3_Tracing_new(upb_
2544
3119
  UPB_INLINE envoy_config_route_v3_Tracing *envoy_config_route_v3_Tracing_parse(const char *buf, size_t size,
2545
3120
  upb_arena *arena) {
2546
3121
  envoy_config_route_v3_Tracing *ret = envoy_config_route_v3_Tracing_new(arena);
2547
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_Tracing_msginit, arena)) ? ret : NULL;
3122
+ if (!ret) return NULL;
3123
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_Tracing_msginit, arena)) return NULL;
3124
+ return ret;
3125
+ }
3126
+ UPB_INLINE envoy_config_route_v3_Tracing *envoy_config_route_v3_Tracing_parse_ex(const char *buf, size_t size,
3127
+ const upb_extreg *extreg, int options,
3128
+ upb_arena *arena) {
3129
+ envoy_config_route_v3_Tracing *ret = envoy_config_route_v3_Tracing_new(arena);
3130
+ if (!ret) return NULL;
3131
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_Tracing_msginit, extreg, options, arena)) {
3132
+ return NULL;
3133
+ }
3134
+ return ret;
2548
3135
  }
2549
3136
  UPB_INLINE char *envoy_config_route_v3_Tracing_serialize(const envoy_config_route_v3_Tracing *msg, upb_arena *arena, size_t *len) {
2550
3137
  return upb_encode(msg, &envoy_config_route_v3_Tracing_msginit, arena, len);
2551
3138
  }
2552
3139
 
2553
- UPB_INLINE bool envoy_config_route_v3_Tracing_has_client_sampling(const envoy_config_route_v3_Tracing *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
2554
- UPB_INLINE const struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_client_sampling(const envoy_config_route_v3_Tracing *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct envoy_type_v3_FractionalPercent*); }
2555
- UPB_INLINE bool envoy_config_route_v3_Tracing_has_random_sampling(const envoy_config_route_v3_Tracing *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
2556
- UPB_INLINE const struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_random_sampling(const envoy_config_route_v3_Tracing *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_type_v3_FractionalPercent*); }
2557
- UPB_INLINE bool envoy_config_route_v3_Tracing_has_overall_sampling(const envoy_config_route_v3_Tracing *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
2558
- UPB_INLINE const struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_overall_sampling(const envoy_config_route_v3_Tracing *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct envoy_type_v3_FractionalPercent*); }
2559
- UPB_INLINE bool envoy_config_route_v3_Tracing_has_custom_tags(const envoy_config_route_v3_Tracing *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
2560
- UPB_INLINE const struct envoy_type_tracing_v3_CustomTag* const* envoy_config_route_v3_Tracing_custom_tags(const envoy_config_route_v3_Tracing *msg, size_t *len) { return (const struct envoy_type_tracing_v3_CustomTag* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); }
3140
+ UPB_INLINE bool envoy_config_route_v3_Tracing_has_client_sampling(const envoy_config_route_v3_Tracing *msg) { return _upb_hasbit(msg, 1); }
3141
+ UPB_INLINE const struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_client_sampling(const envoy_config_route_v3_Tracing *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_type_v3_FractionalPercent*); }
3142
+ UPB_INLINE bool envoy_config_route_v3_Tracing_has_random_sampling(const envoy_config_route_v3_Tracing *msg) { return _upb_hasbit(msg, 2); }
3143
+ UPB_INLINE const struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_random_sampling(const envoy_config_route_v3_Tracing *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct envoy_type_v3_FractionalPercent*); }
3144
+ UPB_INLINE bool envoy_config_route_v3_Tracing_has_overall_sampling(const envoy_config_route_v3_Tracing *msg) { return _upb_hasbit(msg, 3); }
3145
+ UPB_INLINE const struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_overall_sampling(const envoy_config_route_v3_Tracing *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_type_v3_FractionalPercent*); }
3146
+ UPB_INLINE bool envoy_config_route_v3_Tracing_has_custom_tags(const envoy_config_route_v3_Tracing *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
3147
+ UPB_INLINE const struct envoy_type_tracing_v3_CustomTag* const* envoy_config_route_v3_Tracing_custom_tags(const envoy_config_route_v3_Tracing *msg, size_t *len) { return (const struct envoy_type_tracing_v3_CustomTag* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); }
2561
3148
 
2562
3149
  UPB_INLINE void envoy_config_route_v3_Tracing_set_client_sampling(envoy_config_route_v3_Tracing *msg, struct envoy_type_v3_FractionalPercent* value) {
2563
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct envoy_type_v3_FractionalPercent*) = value;
3150
+ _upb_sethas(msg, 1);
3151
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_type_v3_FractionalPercent*) = value;
2564
3152
  }
2565
3153
  UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_mutable_client_sampling(envoy_config_route_v3_Tracing *msg, upb_arena *arena) {
2566
3154
  struct envoy_type_v3_FractionalPercent* sub = (struct envoy_type_v3_FractionalPercent*)envoy_config_route_v3_Tracing_client_sampling(msg);
@@ -2572,7 +3160,8 @@ UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing
2572
3160
  return sub;
2573
3161
  }
2574
3162
  UPB_INLINE void envoy_config_route_v3_Tracing_set_random_sampling(envoy_config_route_v3_Tracing *msg, struct envoy_type_v3_FractionalPercent* value) {
2575
- *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_type_v3_FractionalPercent*) = value;
3163
+ _upb_sethas(msg, 2);
3164
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct envoy_type_v3_FractionalPercent*) = value;
2576
3165
  }
2577
3166
  UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_mutable_random_sampling(envoy_config_route_v3_Tracing *msg, upb_arena *arena) {
2578
3167
  struct envoy_type_v3_FractionalPercent* sub = (struct envoy_type_v3_FractionalPercent*)envoy_config_route_v3_Tracing_random_sampling(msg);
@@ -2584,7 +3173,8 @@ UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing
2584
3173
  return sub;
2585
3174
  }
2586
3175
  UPB_INLINE void envoy_config_route_v3_Tracing_set_overall_sampling(envoy_config_route_v3_Tracing *msg, struct envoy_type_v3_FractionalPercent* value) {
2587
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct envoy_type_v3_FractionalPercent*) = value;
3176
+ _upb_sethas(msg, 3);
3177
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_type_v3_FractionalPercent*) = value;
2588
3178
  }
2589
3179
  UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing_mutable_overall_sampling(envoy_config_route_v3_Tracing *msg, upb_arena *arena) {
2590
3180
  struct envoy_type_v3_FractionalPercent* sub = (struct envoy_type_v3_FractionalPercent*)envoy_config_route_v3_Tracing_overall_sampling(msg);
@@ -2596,15 +3186,15 @@ UPB_INLINE struct envoy_type_v3_FractionalPercent* envoy_config_route_v3_Tracing
2596
3186
  return sub;
2597
3187
  }
2598
3188
  UPB_INLINE struct envoy_type_tracing_v3_CustomTag** envoy_config_route_v3_Tracing_mutable_custom_tags(envoy_config_route_v3_Tracing *msg, size_t *len) {
2599
- return (struct envoy_type_tracing_v3_CustomTag**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len);
3189
+ return (struct envoy_type_tracing_v3_CustomTag**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len);
2600
3190
  }
2601
3191
  UPB_INLINE struct envoy_type_tracing_v3_CustomTag** envoy_config_route_v3_Tracing_resize_custom_tags(envoy_config_route_v3_Tracing *msg, size_t len, upb_arena *arena) {
2602
- return (struct envoy_type_tracing_v3_CustomTag**)_upb_array_resize_accessor(msg, UPB_SIZE(12, 24), len, UPB_TYPE_MESSAGE, arena);
3192
+ return (struct envoy_type_tracing_v3_CustomTag**)_upb_array_resize_accessor2(msg, UPB_SIZE(16, 32), len, UPB_SIZE(2, 3), arena);
2603
3193
  }
2604
3194
  UPB_INLINE struct envoy_type_tracing_v3_CustomTag* envoy_config_route_v3_Tracing_add_custom_tags(envoy_config_route_v3_Tracing *msg, upb_arena *arena) {
2605
3195
  struct envoy_type_tracing_v3_CustomTag* sub = (struct envoy_type_tracing_v3_CustomTag*)_upb_msg_new(&envoy_type_tracing_v3_CustomTag_msginit, arena);
2606
- bool ok = _upb_array_append_accessor(
2607
- msg, UPB_SIZE(12, 24), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
3196
+ bool ok = _upb_array_append_accessor2(
3197
+ msg, UPB_SIZE(16, 32), UPB_SIZE(2, 3), &sub, arena);
2608
3198
  if (!ok) return NULL;
2609
3199
  return sub;
2610
3200
  }
@@ -2617,7 +3207,19 @@ UPB_INLINE envoy_config_route_v3_VirtualCluster *envoy_config_route_v3_VirtualCl
2617
3207
  UPB_INLINE envoy_config_route_v3_VirtualCluster *envoy_config_route_v3_VirtualCluster_parse(const char *buf, size_t size,
2618
3208
  upb_arena *arena) {
2619
3209
  envoy_config_route_v3_VirtualCluster *ret = envoy_config_route_v3_VirtualCluster_new(arena);
2620
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualCluster_msginit, arena)) ? ret : NULL;
3210
+ if (!ret) return NULL;
3211
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualCluster_msginit, arena)) return NULL;
3212
+ return ret;
3213
+ }
3214
+ UPB_INLINE envoy_config_route_v3_VirtualCluster *envoy_config_route_v3_VirtualCluster_parse_ex(const char *buf, size_t size,
3215
+ const upb_extreg *extreg, int options,
3216
+ upb_arena *arena) {
3217
+ envoy_config_route_v3_VirtualCluster *ret = envoy_config_route_v3_VirtualCluster_new(arena);
3218
+ if (!ret) return NULL;
3219
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_VirtualCluster_msginit, extreg, options, arena)) {
3220
+ return NULL;
3221
+ }
3222
+ return ret;
2621
3223
  }
2622
3224
  UPB_INLINE char *envoy_config_route_v3_VirtualCluster_serialize(const envoy_config_route_v3_VirtualCluster *msg, upb_arena *arena, size_t *len) {
2623
3225
  return upb_encode(msg, &envoy_config_route_v3_VirtualCluster_msginit, arena, len);
@@ -2634,12 +3236,12 @@ UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_VirtualCl
2634
3236
  return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
2635
3237
  }
2636
3238
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_VirtualCluster_resize_headers(envoy_config_route_v3_VirtualCluster *msg, size_t len, upb_arena *arena) {
2637
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor(msg, UPB_SIZE(8, 16), len, UPB_TYPE_MESSAGE, arena);
3239
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, UPB_SIZE(2, 3), arena);
2638
3240
  }
2639
3241
  UPB_INLINE struct envoy_config_route_v3_HeaderMatcher* envoy_config_route_v3_VirtualCluster_add_headers(envoy_config_route_v3_VirtualCluster *msg, upb_arena *arena) {
2640
3242
  struct envoy_config_route_v3_HeaderMatcher* sub = (struct envoy_config_route_v3_HeaderMatcher*)_upb_msg_new(&envoy_config_route_v3_HeaderMatcher_msginit, arena);
2641
- bool ok = _upb_array_append_accessor(
2642
- msg, UPB_SIZE(8, 16), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
3243
+ bool ok = _upb_array_append_accessor2(
3244
+ msg, UPB_SIZE(8, 16), UPB_SIZE(2, 3), &sub, arena);
2643
3245
  if (!ok) return NULL;
2644
3246
  return sub;
2645
3247
  }
@@ -2652,22 +3254,35 @@ UPB_INLINE envoy_config_route_v3_RateLimit *envoy_config_route_v3_RateLimit_new(
2652
3254
  UPB_INLINE envoy_config_route_v3_RateLimit *envoy_config_route_v3_RateLimit_parse(const char *buf, size_t size,
2653
3255
  upb_arena *arena) {
2654
3256
  envoy_config_route_v3_RateLimit *ret = envoy_config_route_v3_RateLimit_new(arena);
2655
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_msginit, arena)) ? ret : NULL;
3257
+ if (!ret) return NULL;
3258
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_msginit, arena)) return NULL;
3259
+ return ret;
3260
+ }
3261
+ UPB_INLINE envoy_config_route_v3_RateLimit *envoy_config_route_v3_RateLimit_parse_ex(const char *buf, size_t size,
3262
+ const upb_extreg *extreg, int options,
3263
+ upb_arena *arena) {
3264
+ envoy_config_route_v3_RateLimit *ret = envoy_config_route_v3_RateLimit_new(arena);
3265
+ if (!ret) return NULL;
3266
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_msginit, extreg, options, arena)) {
3267
+ return NULL;
3268
+ }
3269
+ return ret;
2656
3270
  }
2657
3271
  UPB_INLINE char *envoy_config_route_v3_RateLimit_serialize(const envoy_config_route_v3_RateLimit *msg, upb_arena *arena, size_t *len) {
2658
3272
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_msginit, arena, len);
2659
3273
  }
2660
3274
 
2661
- UPB_INLINE bool envoy_config_route_v3_RateLimit_has_stage(const envoy_config_route_v3_RateLimit *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
2662
- UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_RateLimit_stage(const envoy_config_route_v3_RateLimit *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_UInt32Value*); }
2663
- UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_disable_key(const envoy_config_route_v3_RateLimit *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
2664
- UPB_INLINE bool envoy_config_route_v3_RateLimit_has_actions(const envoy_config_route_v3_RateLimit *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
2665
- UPB_INLINE const envoy_config_route_v3_RateLimit_Action* const* envoy_config_route_v3_RateLimit_actions(const envoy_config_route_v3_RateLimit *msg, size_t *len) { return (const envoy_config_route_v3_RateLimit_Action* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); }
2666
- UPB_INLINE bool envoy_config_route_v3_RateLimit_has_limit(const envoy_config_route_v3_RateLimit *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
2667
- UPB_INLINE const envoy_config_route_v3_RateLimit_Override* envoy_config_route_v3_RateLimit_limit(const envoy_config_route_v3_RateLimit *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const envoy_config_route_v3_RateLimit_Override*); }
3275
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_has_stage(const envoy_config_route_v3_RateLimit *msg) { return _upb_hasbit(msg, 1); }
3276
+ UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_RateLimit_stage(const envoy_config_route_v3_RateLimit *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_UInt32Value*); }
3277
+ UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_disable_key(const envoy_config_route_v3_RateLimit *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
3278
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_has_actions(const envoy_config_route_v3_RateLimit *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 40)); }
3279
+ UPB_INLINE const envoy_config_route_v3_RateLimit_Action* const* envoy_config_route_v3_RateLimit_actions(const envoy_config_route_v3_RateLimit *msg, size_t *len) { return (const envoy_config_route_v3_RateLimit_Action* const*)_upb_array_accessor(msg, UPB_SIZE(20, 40), len); }
3280
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_has_limit(const envoy_config_route_v3_RateLimit *msg) { return _upb_hasbit(msg, 2); }
3281
+ UPB_INLINE const envoy_config_route_v3_RateLimit_Override* envoy_config_route_v3_RateLimit_limit(const envoy_config_route_v3_RateLimit *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const envoy_config_route_v3_RateLimit_Override*); }
2668
3282
 
2669
3283
  UPB_INLINE void envoy_config_route_v3_RateLimit_set_stage(envoy_config_route_v3_RateLimit *msg, struct google_protobuf_UInt32Value* value) {
2670
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_UInt32Value*) = value;
3284
+ _upb_sethas(msg, 1);
3285
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_UInt32Value*) = value;
2671
3286
  }
2672
3287
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_RateLimit_mutable_stage(envoy_config_route_v3_RateLimit *msg, upb_arena *arena) {
2673
3288
  struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_config_route_v3_RateLimit_stage(msg);
@@ -2679,23 +3294,24 @@ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_RateLimit_m
2679
3294
  return sub;
2680
3295
  }
2681
3296
  UPB_INLINE void envoy_config_route_v3_RateLimit_set_disable_key(envoy_config_route_v3_RateLimit *msg, upb_strview value) {
2682
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
3297
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
2683
3298
  }
2684
3299
  UPB_INLINE envoy_config_route_v3_RateLimit_Action** envoy_config_route_v3_RateLimit_mutable_actions(envoy_config_route_v3_RateLimit *msg, size_t *len) {
2685
- return (envoy_config_route_v3_RateLimit_Action**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len);
3300
+ return (envoy_config_route_v3_RateLimit_Action**)_upb_array_mutable_accessor(msg, UPB_SIZE(20, 40), len);
2686
3301
  }
2687
3302
  UPB_INLINE envoy_config_route_v3_RateLimit_Action** envoy_config_route_v3_RateLimit_resize_actions(envoy_config_route_v3_RateLimit *msg, size_t len, upb_arena *arena) {
2688
- return (envoy_config_route_v3_RateLimit_Action**)_upb_array_resize_accessor(msg, UPB_SIZE(16, 32), len, UPB_TYPE_MESSAGE, arena);
3303
+ return (envoy_config_route_v3_RateLimit_Action**)_upb_array_resize_accessor2(msg, UPB_SIZE(20, 40), len, UPB_SIZE(2, 3), arena);
2689
3304
  }
2690
3305
  UPB_INLINE struct envoy_config_route_v3_RateLimit_Action* envoy_config_route_v3_RateLimit_add_actions(envoy_config_route_v3_RateLimit *msg, upb_arena *arena) {
2691
3306
  struct envoy_config_route_v3_RateLimit_Action* sub = (struct envoy_config_route_v3_RateLimit_Action*)_upb_msg_new(&envoy_config_route_v3_RateLimit_Action_msginit, arena);
2692
- bool ok = _upb_array_append_accessor(
2693
- msg, UPB_SIZE(16, 32), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
3307
+ bool ok = _upb_array_append_accessor2(
3308
+ msg, UPB_SIZE(20, 40), UPB_SIZE(2, 3), &sub, arena);
2694
3309
  if (!ok) return NULL;
2695
3310
  return sub;
2696
3311
  }
2697
3312
  UPB_INLINE void envoy_config_route_v3_RateLimit_set_limit(envoy_config_route_v3_RateLimit *msg, envoy_config_route_v3_RateLimit_Override* value) {
2698
- *UPB_PTR_AT(msg, UPB_SIZE(12, 24), envoy_config_route_v3_RateLimit_Override*) = value;
3313
+ _upb_sethas(msg, 2);
3314
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 32), envoy_config_route_v3_RateLimit_Override*) = value;
2699
3315
  }
2700
3316
  UPB_INLINE struct envoy_config_route_v3_RateLimit_Override* envoy_config_route_v3_RateLimit_mutable_limit(envoy_config_route_v3_RateLimit *msg, upb_arena *arena) {
2701
3317
  struct envoy_config_route_v3_RateLimit_Override* sub = (struct envoy_config_route_v3_RateLimit_Override*)envoy_config_route_v3_RateLimit_limit(msg);
@@ -2715,7 +3331,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action *envoy_config_route_v3_RateLim
2715
3331
  UPB_INLINE envoy_config_route_v3_RateLimit_Action *envoy_config_route_v3_RateLimit_Action_parse(const char *buf, size_t size,
2716
3332
  upb_arena *arena) {
2717
3333
  envoy_config_route_v3_RateLimit_Action *ret = envoy_config_route_v3_RateLimit_Action_new(arena);
2718
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_msginit, arena)) ? ret : NULL;
3334
+ if (!ret) return NULL;
3335
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_msginit, arena)) return NULL;
3336
+ return ret;
3337
+ }
3338
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action *envoy_config_route_v3_RateLimit_Action_parse_ex(const char *buf, size_t size,
3339
+ const upb_extreg *extreg, int options,
3340
+ upb_arena *arena) {
3341
+ envoy_config_route_v3_RateLimit_Action *ret = envoy_config_route_v3_RateLimit_Action_new(arena);
3342
+ if (!ret) return NULL;
3343
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_msginit, extreg, options, arena)) {
3344
+ return NULL;
3345
+ }
3346
+ return ret;
2719
3347
  }
2720
3348
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Action_serialize(const envoy_config_route_v3_RateLimit_Action *msg, upb_arena *arena, size_t *len) {
2721
3349
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_msginit, arena, len);
@@ -2729,6 +3357,8 @@ typedef enum {
2729
3357
  envoy_config_route_v3_RateLimit_Action_action_specifier_generic_key = 5,
2730
3358
  envoy_config_route_v3_RateLimit_Action_action_specifier_header_value_match = 6,
2731
3359
  envoy_config_route_v3_RateLimit_Action_action_specifier_dynamic_metadata = 7,
3360
+ envoy_config_route_v3_RateLimit_Action_action_specifier_metadata = 8,
3361
+ envoy_config_route_v3_RateLimit_Action_action_specifier_extension = 9,
2732
3362
  envoy_config_route_v3_RateLimit_Action_action_specifier_NOT_SET = 0
2733
3363
  } envoy_config_route_v3_RateLimit_Action_action_specifier_oneofcases;
2734
3364
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_action_specifier_oneofcases envoy_config_route_v3_RateLimit_Action_action_specifier_case(const envoy_config_route_v3_RateLimit_Action* msg) { return (envoy_config_route_v3_RateLimit_Action_action_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(4, 8), int32_t); }
@@ -2747,6 +3377,10 @@ UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_has_header_value_match(co
2747
3377
  UPB_INLINE const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch* envoy_config_route_v3_RateLimit_Action_header_value_match(const envoy_config_route_v3_RateLimit_Action *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 6, NULL); }
2748
3378
  UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_has_dynamic_metadata(const envoy_config_route_v3_RateLimit_Action *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 7; }
2749
3379
  UPB_INLINE const envoy_config_route_v3_RateLimit_Action_DynamicMetaData* envoy_config_route_v3_RateLimit_Action_dynamic_metadata(const envoy_config_route_v3_RateLimit_Action *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RateLimit_Action_DynamicMetaData*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 7, NULL); }
3380
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_has_metadata(const envoy_config_route_v3_RateLimit_Action *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 8; }
3381
+ UPB_INLINE const envoy_config_route_v3_RateLimit_Action_MetaData* envoy_config_route_v3_RateLimit_Action_metadata(const envoy_config_route_v3_RateLimit_Action *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_RateLimit_Action_MetaData*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 8, NULL); }
3382
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_has_extension(const envoy_config_route_v3_RateLimit_Action *msg) { return _upb_getoneofcase(msg, UPB_SIZE(4, 8)) == 9; }
3383
+ UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_route_v3_RateLimit_Action_extension(const envoy_config_route_v3_RateLimit_Action *msg) { return UPB_READ_ONEOF(msg, const struct envoy_config_core_v3_TypedExtensionConfig*, UPB_SIZE(0, 0), UPB_SIZE(4, 8), 9, NULL); }
2750
3384
 
2751
3385
  UPB_INLINE void envoy_config_route_v3_RateLimit_Action_set_source_cluster(envoy_config_route_v3_RateLimit_Action *msg, envoy_config_route_v3_RateLimit_Action_SourceCluster* value) {
2752
3386
  UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RateLimit_Action_SourceCluster*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 1);
@@ -2832,6 +3466,30 @@ UPB_INLINE struct envoy_config_route_v3_RateLimit_Action_DynamicMetaData* envoy_
2832
3466
  }
2833
3467
  return sub;
2834
3468
  }
3469
+ UPB_INLINE void envoy_config_route_v3_RateLimit_Action_set_metadata(envoy_config_route_v3_RateLimit_Action *msg, envoy_config_route_v3_RateLimit_Action_MetaData* value) {
3470
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_RateLimit_Action_MetaData*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 8);
3471
+ }
3472
+ UPB_INLINE struct envoy_config_route_v3_RateLimit_Action_MetaData* envoy_config_route_v3_RateLimit_Action_mutable_metadata(envoy_config_route_v3_RateLimit_Action *msg, upb_arena *arena) {
3473
+ struct envoy_config_route_v3_RateLimit_Action_MetaData* sub = (struct envoy_config_route_v3_RateLimit_Action_MetaData*)envoy_config_route_v3_RateLimit_Action_metadata(msg);
3474
+ if (sub == NULL) {
3475
+ sub = (struct envoy_config_route_v3_RateLimit_Action_MetaData*)_upb_msg_new(&envoy_config_route_v3_RateLimit_Action_MetaData_msginit, arena);
3476
+ if (!sub) return NULL;
3477
+ envoy_config_route_v3_RateLimit_Action_set_metadata(msg, sub);
3478
+ }
3479
+ return sub;
3480
+ }
3481
+ UPB_INLINE void envoy_config_route_v3_RateLimit_Action_set_extension(envoy_config_route_v3_RateLimit_Action *msg, struct envoy_config_core_v3_TypedExtensionConfig* value) {
3482
+ UPB_WRITE_ONEOF(msg, struct envoy_config_core_v3_TypedExtensionConfig*, UPB_SIZE(0, 0), value, UPB_SIZE(4, 8), 9);
3483
+ }
3484
+ UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_route_v3_RateLimit_Action_mutable_extension(envoy_config_route_v3_RateLimit_Action *msg, upb_arena *arena) {
3485
+ struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)envoy_config_route_v3_RateLimit_Action_extension(msg);
3486
+ if (sub == NULL) {
3487
+ sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_msg_new(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena);
3488
+ if (!sub) return NULL;
3489
+ envoy_config_route_v3_RateLimit_Action_set_extension(msg, sub);
3490
+ }
3491
+ return sub;
3492
+ }
2835
3493
 
2836
3494
  /* envoy.config.route.v3.RateLimit.Action.SourceCluster */
2837
3495
 
@@ -2841,7 +3499,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_SourceCluster *envoy_config_ro
2841
3499
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_SourceCluster *envoy_config_route_v3_RateLimit_Action_SourceCluster_parse(const char *buf, size_t size,
2842
3500
  upb_arena *arena) {
2843
3501
  envoy_config_route_v3_RateLimit_Action_SourceCluster *ret = envoy_config_route_v3_RateLimit_Action_SourceCluster_new(arena);
2844
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, arena)) ? ret : NULL;
3502
+ if (!ret) return NULL;
3503
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, arena)) return NULL;
3504
+ return ret;
3505
+ }
3506
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_SourceCluster *envoy_config_route_v3_RateLimit_Action_SourceCluster_parse_ex(const char *buf, size_t size,
3507
+ const upb_extreg *extreg, int options,
3508
+ upb_arena *arena) {
3509
+ envoy_config_route_v3_RateLimit_Action_SourceCluster *ret = envoy_config_route_v3_RateLimit_Action_SourceCluster_new(arena);
3510
+ if (!ret) return NULL;
3511
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, extreg, options, arena)) {
3512
+ return NULL;
3513
+ }
3514
+ return ret;
2845
3515
  }
2846
3516
  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) {
2847
3517
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_SourceCluster_msginit, arena, len);
@@ -2857,7 +3527,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_DestinationCluster *envoy_conf
2857
3527
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_DestinationCluster *envoy_config_route_v3_RateLimit_Action_DestinationCluster_parse(const char *buf, size_t size,
2858
3528
  upb_arena *arena) {
2859
3529
  envoy_config_route_v3_RateLimit_Action_DestinationCluster *ret = envoy_config_route_v3_RateLimit_Action_DestinationCluster_new(arena);
2860
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, arena)) ? ret : NULL;
3530
+ if (!ret) return NULL;
3531
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, arena)) return NULL;
3532
+ return ret;
3533
+ }
3534
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_DestinationCluster *envoy_config_route_v3_RateLimit_Action_DestinationCluster_parse_ex(const char *buf, size_t size,
3535
+ const upb_extreg *extreg, int options,
3536
+ upb_arena *arena) {
3537
+ envoy_config_route_v3_RateLimit_Action_DestinationCluster *ret = envoy_config_route_v3_RateLimit_Action_DestinationCluster_new(arena);
3538
+ if (!ret) return NULL;
3539
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, extreg, options, arena)) {
3540
+ return NULL;
3541
+ }
3542
+ return ret;
2861
3543
  }
2862
3544
  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) {
2863
3545
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_DestinationCluster_msginit, arena, len);
@@ -2873,7 +3555,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_RequestHeaders *envoy_config_r
2873
3555
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_RequestHeaders *envoy_config_route_v3_RateLimit_Action_RequestHeaders_parse(const char *buf, size_t size,
2874
3556
  upb_arena *arena) {
2875
3557
  envoy_config_route_v3_RateLimit_Action_RequestHeaders *ret = envoy_config_route_v3_RateLimit_Action_RequestHeaders_new(arena);
2876
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, arena)) ? ret : NULL;
3558
+ if (!ret) return NULL;
3559
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, arena)) return NULL;
3560
+ return ret;
3561
+ }
3562
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_RequestHeaders *envoy_config_route_v3_RateLimit_Action_RequestHeaders_parse_ex(const char *buf, size_t size,
3563
+ const upb_extreg *extreg, int options,
3564
+ upb_arena *arena) {
3565
+ envoy_config_route_v3_RateLimit_Action_RequestHeaders *ret = envoy_config_route_v3_RateLimit_Action_RequestHeaders_new(arena);
3566
+ if (!ret) return NULL;
3567
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, extreg, options, arena)) {
3568
+ return NULL;
3569
+ }
3570
+ return ret;
2877
3571
  }
2878
3572
  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) {
2879
3573
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_RequestHeaders_msginit, arena, len);
@@ -2901,7 +3595,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_RemoteAddress *envoy_config_ro
2901
3595
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_RemoteAddress *envoy_config_route_v3_RateLimit_Action_RemoteAddress_parse(const char *buf, size_t size,
2902
3596
  upb_arena *arena) {
2903
3597
  envoy_config_route_v3_RateLimit_Action_RemoteAddress *ret = envoy_config_route_v3_RateLimit_Action_RemoteAddress_new(arena);
2904
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, arena)) ? ret : NULL;
3598
+ if (!ret) return NULL;
3599
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, arena)) return NULL;
3600
+ return ret;
3601
+ }
3602
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_RemoteAddress *envoy_config_route_v3_RateLimit_Action_RemoteAddress_parse_ex(const char *buf, size_t size,
3603
+ const upb_extreg *extreg, int options,
3604
+ upb_arena *arena) {
3605
+ envoy_config_route_v3_RateLimit_Action_RemoteAddress *ret = envoy_config_route_v3_RateLimit_Action_RemoteAddress_new(arena);
3606
+ if (!ret) return NULL;
3607
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, extreg, options, arena)) {
3608
+ return NULL;
3609
+ }
3610
+ return ret;
2905
3611
  }
2906
3612
  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) {
2907
3613
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_RemoteAddress_msginit, arena, len);
@@ -2917,7 +3623,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_GenericKey *envoy_config_route
2917
3623
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_GenericKey *envoy_config_route_v3_RateLimit_Action_GenericKey_parse(const char *buf, size_t size,
2918
3624
  upb_arena *arena) {
2919
3625
  envoy_config_route_v3_RateLimit_Action_GenericKey *ret = envoy_config_route_v3_RateLimit_Action_GenericKey_new(arena);
2920
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, arena)) ? ret : NULL;
3626
+ if (!ret) return NULL;
3627
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, arena)) return NULL;
3628
+ return ret;
3629
+ }
3630
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_GenericKey *envoy_config_route_v3_RateLimit_Action_GenericKey_parse_ex(const char *buf, size_t size,
3631
+ const upb_extreg *extreg, int options,
3632
+ upb_arena *arena) {
3633
+ envoy_config_route_v3_RateLimit_Action_GenericKey *ret = envoy_config_route_v3_RateLimit_Action_GenericKey_new(arena);
3634
+ if (!ret) return NULL;
3635
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, extreg, options, arena)) {
3636
+ return NULL;
3637
+ }
3638
+ return ret;
2921
3639
  }
2922
3640
  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) {
2923
3641
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_GenericKey_msginit, arena, len);
@@ -2941,23 +3659,36 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *envoy_config
2941
3659
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_parse(const char *buf, size_t size,
2942
3660
  upb_arena *arena) {
2943
3661
  envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *ret = envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_new(arena);
2944
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, arena)) ? ret : NULL;
3662
+ if (!ret) return NULL;
3663
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, arena)) return NULL;
3664
+ return ret;
3665
+ }
3666
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_parse_ex(const char *buf, size_t size,
3667
+ const upb_extreg *extreg, int options,
3668
+ upb_arena *arena) {
3669
+ envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *ret = envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_new(arena);
3670
+ if (!ret) return NULL;
3671
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, extreg, options, arena)) {
3672
+ return NULL;
3673
+ }
3674
+ return ret;
2945
3675
  }
2946
3676
  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) {
2947
3677
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_msginit, arena, len);
2948
3678
  }
2949
3679
 
2950
- UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_descriptor_value(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
2951
- UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_has_expect_match(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
2952
- UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_expect_match(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_BoolValue*); }
2953
- UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_has_headers(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
2954
- UPB_INLINE const envoy_config_route_v3_HeaderMatcher* const* envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_headers(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, size_t *len) { return (const envoy_config_route_v3_HeaderMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); }
3680
+ UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_descriptor_value(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
3681
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_has_expect_match(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg) { return _upb_hasbit(msg, 1); }
3682
+ UPB_INLINE const struct google_protobuf_BoolValue* envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_expect_match(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_BoolValue*); }
3683
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_has_headers(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
3684
+ UPB_INLINE const envoy_config_route_v3_HeaderMatcher* const* envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_headers(const envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, size_t *len) { return (const envoy_config_route_v3_HeaderMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(16, 32), len); }
2955
3685
 
2956
3686
  UPB_INLINE void envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_set_descriptor_value(envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, upb_strview value) {
2957
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
3687
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
2958
3688
  }
2959
3689
  UPB_INLINE void envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_set_expect_match(envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, struct google_protobuf_BoolValue* value) {
2960
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_BoolValue*) = value;
3690
+ _upb_sethas(msg, 1);
3691
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_BoolValue*) = value;
2961
3692
  }
2962
3693
  UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_mutable_expect_match(envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, upb_arena *arena) {
2963
3694
  struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_expect_match(msg);
@@ -2969,15 +3700,15 @@ UPB_INLINE struct google_protobuf_BoolValue* envoy_config_route_v3_RateLimit_Act
2969
3700
  return sub;
2970
3701
  }
2971
3702
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_mutable_headers(envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, size_t *len) {
2972
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len);
3703
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 32), len);
2973
3704
  }
2974
3705
  UPB_INLINE envoy_config_route_v3_HeaderMatcher** envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_resize_headers(envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, size_t len, upb_arena *arena) {
2975
- return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor(msg, UPB_SIZE(12, 24), len, UPB_TYPE_MESSAGE, arena);
3706
+ return (envoy_config_route_v3_HeaderMatcher**)_upb_array_resize_accessor2(msg, UPB_SIZE(16, 32), len, UPB_SIZE(2, 3), arena);
2976
3707
  }
2977
3708
  UPB_INLINE struct envoy_config_route_v3_HeaderMatcher* envoy_config_route_v3_RateLimit_Action_HeaderValueMatch_add_headers(envoy_config_route_v3_RateLimit_Action_HeaderValueMatch *msg, upb_arena *arena) {
2978
3709
  struct envoy_config_route_v3_HeaderMatcher* sub = (struct envoy_config_route_v3_HeaderMatcher*)_upb_msg_new(&envoy_config_route_v3_HeaderMatcher_msginit, arena);
2979
- bool ok = _upb_array_append_accessor(
2980
- msg, UPB_SIZE(12, 24), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
3710
+ bool ok = _upb_array_append_accessor2(
3711
+ msg, UPB_SIZE(16, 32), UPB_SIZE(2, 3), &sub, arena);
2981
3712
  if (!ok) return NULL;
2982
3713
  return sub;
2983
3714
  }
@@ -2990,22 +3721,35 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Action_DynamicMetaData *envoy_config_
2990
3721
  UPB_INLINE envoy_config_route_v3_RateLimit_Action_DynamicMetaData *envoy_config_route_v3_RateLimit_Action_DynamicMetaData_parse(const char *buf, size_t size,
2991
3722
  upb_arena *arena) {
2992
3723
  envoy_config_route_v3_RateLimit_Action_DynamicMetaData *ret = envoy_config_route_v3_RateLimit_Action_DynamicMetaData_new(arena);
2993
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, arena)) ? ret : NULL;
3724
+ if (!ret) return NULL;
3725
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, arena)) return NULL;
3726
+ return ret;
3727
+ }
3728
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_DynamicMetaData *envoy_config_route_v3_RateLimit_Action_DynamicMetaData_parse_ex(const char *buf, size_t size,
3729
+ const upb_extreg *extreg, int options,
3730
+ upb_arena *arena) {
3731
+ envoy_config_route_v3_RateLimit_Action_DynamicMetaData *ret = envoy_config_route_v3_RateLimit_Action_DynamicMetaData_new(arena);
3732
+ if (!ret) return NULL;
3733
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, extreg, options, arena)) {
3734
+ return NULL;
3735
+ }
3736
+ return ret;
2994
3737
  }
2995
3738
  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) {
2996
3739
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_DynamicMetaData_msginit, arena, len);
2997
3740
  }
2998
3741
 
2999
- UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_Action_DynamicMetaData_descriptor_key(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
3000
- UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_DynamicMetaData_has_metadata_key(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
3001
- UPB_INLINE const struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_RateLimit_Action_DynamicMetaData_metadata_key(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct envoy_type_metadata_v3_MetadataKey*); }
3002
- UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_Action_DynamicMetaData_default_value(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), upb_strview); }
3742
+ UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_Action_DynamicMetaData_descriptor_key(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
3743
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_DynamicMetaData_has_metadata_key(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg) { return _upb_hasbit(msg, 1); }
3744
+ UPB_INLINE const struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_RateLimit_Action_DynamicMetaData_metadata_key(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct envoy_type_metadata_v3_MetadataKey*); }
3745
+ UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_Action_DynamicMetaData_default_value(const envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview); }
3003
3746
 
3004
3747
  UPB_INLINE void envoy_config_route_v3_RateLimit_Action_DynamicMetaData_set_descriptor_key(envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg, upb_strview value) {
3005
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
3748
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
3006
3749
  }
3007
3750
  UPB_INLINE void envoy_config_route_v3_RateLimit_Action_DynamicMetaData_set_metadata_key(envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg, struct envoy_type_metadata_v3_MetadataKey* value) {
3008
- *UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct envoy_type_metadata_v3_MetadataKey*) = value;
3751
+ _upb_sethas(msg, 1);
3752
+ *UPB_PTR_AT(msg, UPB_SIZE(20, 40), struct envoy_type_metadata_v3_MetadataKey*) = value;
3009
3753
  }
3010
3754
  UPB_INLINE struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_RateLimit_Action_DynamicMetaData_mutable_metadata_key(envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg, upb_arena *arena) {
3011
3755
  struct envoy_type_metadata_v3_MetadataKey* sub = (struct envoy_type_metadata_v3_MetadataKey*)envoy_config_route_v3_RateLimit_Action_DynamicMetaData_metadata_key(msg);
@@ -3017,7 +3761,62 @@ UPB_INLINE struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_Rate
3017
3761
  return sub;
3018
3762
  }
3019
3763
  UPB_INLINE void envoy_config_route_v3_RateLimit_Action_DynamicMetaData_set_default_value(envoy_config_route_v3_RateLimit_Action_DynamicMetaData *msg, upb_strview value) {
3020
- *UPB_PTR_AT(msg, UPB_SIZE(8, 16), upb_strview) = value;
3764
+ *UPB_PTR_AT(msg, UPB_SIZE(12, 24), upb_strview) = value;
3765
+ }
3766
+
3767
+ /* envoy.config.route.v3.RateLimit.Action.MetaData */
3768
+
3769
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_MetaData *envoy_config_route_v3_RateLimit_Action_MetaData_new(upb_arena *arena) {
3770
+ return (envoy_config_route_v3_RateLimit_Action_MetaData *)_upb_msg_new(&envoy_config_route_v3_RateLimit_Action_MetaData_msginit, arena);
3771
+ }
3772
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_MetaData *envoy_config_route_v3_RateLimit_Action_MetaData_parse(const char *buf, size_t size,
3773
+ upb_arena *arena) {
3774
+ envoy_config_route_v3_RateLimit_Action_MetaData *ret = envoy_config_route_v3_RateLimit_Action_MetaData_new(arena);
3775
+ if (!ret) return NULL;
3776
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_MetaData_msginit, arena)) return NULL;
3777
+ return ret;
3778
+ }
3779
+ UPB_INLINE envoy_config_route_v3_RateLimit_Action_MetaData *envoy_config_route_v3_RateLimit_Action_MetaData_parse_ex(const char *buf, size_t size,
3780
+ const upb_extreg *extreg, int options,
3781
+ upb_arena *arena) {
3782
+ envoy_config_route_v3_RateLimit_Action_MetaData *ret = envoy_config_route_v3_RateLimit_Action_MetaData_new(arena);
3783
+ if (!ret) return NULL;
3784
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Action_MetaData_msginit, extreg, options, arena)) {
3785
+ return NULL;
3786
+ }
3787
+ return ret;
3788
+ }
3789
+ 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) {
3790
+ return upb_encode(msg, &envoy_config_route_v3_RateLimit_Action_MetaData_msginit, arena, len);
3791
+ }
3792
+
3793
+ UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_Action_MetaData_descriptor_key(const envoy_config_route_v3_RateLimit_Action_MetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview); }
3794
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_Action_MetaData_has_metadata_key(const envoy_config_route_v3_RateLimit_Action_MetaData *msg) { return _upb_hasbit(msg, 1); }
3795
+ UPB_INLINE const struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_RateLimit_Action_MetaData_metadata_key(const envoy_config_route_v3_RateLimit_Action_MetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const struct envoy_type_metadata_v3_MetadataKey*); }
3796
+ UPB_INLINE upb_strview envoy_config_route_v3_RateLimit_Action_MetaData_default_value(const envoy_config_route_v3_RateLimit_Action_MetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), upb_strview); }
3797
+ UPB_INLINE int32_t envoy_config_route_v3_RateLimit_Action_MetaData_source(const envoy_config_route_v3_RateLimit_Action_MetaData *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t); }
3798
+
3799
+ UPB_INLINE void envoy_config_route_v3_RateLimit_Action_MetaData_set_descriptor_key(envoy_config_route_v3_RateLimit_Action_MetaData *msg, upb_strview value) {
3800
+ *UPB_PTR_AT(msg, UPB_SIZE(8, 8), upb_strview) = value;
3801
+ }
3802
+ UPB_INLINE void envoy_config_route_v3_RateLimit_Action_MetaData_set_metadata_key(envoy_config_route_v3_RateLimit_Action_MetaData *msg, struct envoy_type_metadata_v3_MetadataKey* value) {
3803
+ _upb_sethas(msg, 1);
3804
+ *UPB_PTR_AT(msg, UPB_SIZE(24, 40), struct envoy_type_metadata_v3_MetadataKey*) = value;
3805
+ }
3806
+ UPB_INLINE struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_RateLimit_Action_MetaData_mutable_metadata_key(envoy_config_route_v3_RateLimit_Action_MetaData *msg, upb_arena *arena) {
3807
+ struct envoy_type_metadata_v3_MetadataKey* sub = (struct envoy_type_metadata_v3_MetadataKey*)envoy_config_route_v3_RateLimit_Action_MetaData_metadata_key(msg);
3808
+ if (sub == NULL) {
3809
+ sub = (struct envoy_type_metadata_v3_MetadataKey*)_upb_msg_new(&envoy_type_metadata_v3_MetadataKey_msginit, arena);
3810
+ if (!sub) return NULL;
3811
+ envoy_config_route_v3_RateLimit_Action_MetaData_set_metadata_key(msg, sub);
3812
+ }
3813
+ return sub;
3814
+ }
3815
+ UPB_INLINE void envoy_config_route_v3_RateLimit_Action_MetaData_set_default_value(envoy_config_route_v3_RateLimit_Action_MetaData *msg, upb_strview value) {
3816
+ *UPB_PTR_AT(msg, UPB_SIZE(16, 24), upb_strview) = value;
3817
+ }
3818
+ UPB_INLINE void envoy_config_route_v3_RateLimit_Action_MetaData_set_source(envoy_config_route_v3_RateLimit_Action_MetaData *msg, int32_t value) {
3819
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 4), int32_t) = value;
3021
3820
  }
3022
3821
 
3023
3822
  /* envoy.config.route.v3.RateLimit.Override */
@@ -3028,7 +3827,19 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Override *envoy_config_route_v3_RateL
3028
3827
  UPB_INLINE envoy_config_route_v3_RateLimit_Override *envoy_config_route_v3_RateLimit_Override_parse(const char *buf, size_t size,
3029
3828
  upb_arena *arena) {
3030
3829
  envoy_config_route_v3_RateLimit_Override *ret = envoy_config_route_v3_RateLimit_Override_new(arena);
3031
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_msginit, arena)) ? ret : NULL;
3830
+ if (!ret) return NULL;
3831
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_msginit, arena)) return NULL;
3832
+ return ret;
3833
+ }
3834
+ UPB_INLINE envoy_config_route_v3_RateLimit_Override *envoy_config_route_v3_RateLimit_Override_parse_ex(const char *buf, size_t size,
3835
+ const upb_extreg *extreg, int options,
3836
+ upb_arena *arena) {
3837
+ envoy_config_route_v3_RateLimit_Override *ret = envoy_config_route_v3_RateLimit_Override_new(arena);
3838
+ if (!ret) return NULL;
3839
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_msginit, extreg, options, arena)) {
3840
+ return NULL;
3841
+ }
3842
+ return ret;
3032
3843
  }
3033
3844
  UPB_INLINE char *envoy_config_route_v3_RateLimit_Override_serialize(const envoy_config_route_v3_RateLimit_Override *msg, upb_arena *arena, size_t *len) {
3034
3845
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Override_msginit, arena, len);
@@ -3064,17 +3875,30 @@ UPB_INLINE envoy_config_route_v3_RateLimit_Override_DynamicMetadata *envoy_confi
3064
3875
  UPB_INLINE envoy_config_route_v3_RateLimit_Override_DynamicMetadata *envoy_config_route_v3_RateLimit_Override_DynamicMetadata_parse(const char *buf, size_t size,
3065
3876
  upb_arena *arena) {
3066
3877
  envoy_config_route_v3_RateLimit_Override_DynamicMetadata *ret = envoy_config_route_v3_RateLimit_Override_DynamicMetadata_new(arena);
3067
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, arena)) ? ret : NULL;
3878
+ if (!ret) return NULL;
3879
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, arena)) return NULL;
3880
+ return ret;
3881
+ }
3882
+ UPB_INLINE envoy_config_route_v3_RateLimit_Override_DynamicMetadata *envoy_config_route_v3_RateLimit_Override_DynamicMetadata_parse_ex(const char *buf, size_t size,
3883
+ const upb_extreg *extreg, int options,
3884
+ upb_arena *arena) {
3885
+ envoy_config_route_v3_RateLimit_Override_DynamicMetadata *ret = envoy_config_route_v3_RateLimit_Override_DynamicMetadata_new(arena);
3886
+ if (!ret) return NULL;
3887
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, extreg, options, arena)) {
3888
+ return NULL;
3889
+ }
3890
+ return ret;
3068
3891
  }
3069
3892
  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) {
3070
3893
  return upb_encode(msg, &envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msginit, arena, len);
3071
3894
  }
3072
3895
 
3073
- UPB_INLINE bool envoy_config_route_v3_RateLimit_Override_DynamicMetadata_has_metadata_key(const envoy_config_route_v3_RateLimit_Override_DynamicMetadata *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
3074
- UPB_INLINE const struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_RateLimit_Override_DynamicMetadata_metadata_key(const envoy_config_route_v3_RateLimit_Override_DynamicMetadata *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct envoy_type_metadata_v3_MetadataKey*); }
3896
+ UPB_INLINE bool envoy_config_route_v3_RateLimit_Override_DynamicMetadata_has_metadata_key(const envoy_config_route_v3_RateLimit_Override_DynamicMetadata *msg) { return _upb_hasbit(msg, 1); }
3897
+ UPB_INLINE const struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_RateLimit_Override_DynamicMetadata_metadata_key(const envoy_config_route_v3_RateLimit_Override_DynamicMetadata *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_type_metadata_v3_MetadataKey*); }
3075
3898
 
3076
3899
  UPB_INLINE void envoy_config_route_v3_RateLimit_Override_DynamicMetadata_set_metadata_key(envoy_config_route_v3_RateLimit_Override_DynamicMetadata *msg, struct envoy_type_metadata_v3_MetadataKey* value) {
3077
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct envoy_type_metadata_v3_MetadataKey*) = value;
3900
+ _upb_sethas(msg, 1);
3901
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_type_metadata_v3_MetadataKey*) = value;
3078
3902
  }
3079
3903
  UPB_INLINE struct envoy_type_metadata_v3_MetadataKey* envoy_config_route_v3_RateLimit_Override_DynamicMetadata_mutable_metadata_key(envoy_config_route_v3_RateLimit_Override_DynamicMetadata *msg, upb_arena *arena) {
3080
3904
  struct envoy_type_metadata_v3_MetadataKey* sub = (struct envoy_type_metadata_v3_MetadataKey*)envoy_config_route_v3_RateLimit_Override_DynamicMetadata_metadata_key(msg);
@@ -3094,7 +3918,19 @@ UPB_INLINE envoy_config_route_v3_HeaderMatcher *envoy_config_route_v3_HeaderMatc
3094
3918
  UPB_INLINE envoy_config_route_v3_HeaderMatcher *envoy_config_route_v3_HeaderMatcher_parse(const char *buf, size_t size,
3095
3919
  upb_arena *arena) {
3096
3920
  envoy_config_route_v3_HeaderMatcher *ret = envoy_config_route_v3_HeaderMatcher_new(arena);
3097
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_HeaderMatcher_msginit, arena)) ? ret : NULL;
3921
+ if (!ret) return NULL;
3922
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_HeaderMatcher_msginit, arena)) return NULL;
3923
+ return ret;
3924
+ }
3925
+ UPB_INLINE envoy_config_route_v3_HeaderMatcher *envoy_config_route_v3_HeaderMatcher_parse_ex(const char *buf, size_t size,
3926
+ const upb_extreg *extreg, int options,
3927
+ upb_arena *arena) {
3928
+ envoy_config_route_v3_HeaderMatcher *ret = envoy_config_route_v3_HeaderMatcher_new(arena);
3929
+ if (!ret) return NULL;
3930
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_HeaderMatcher_msginit, extreg, options, arena)) {
3931
+ return NULL;
3932
+ }
3933
+ return ret;
3098
3934
  }
3099
3935
  UPB_INLINE char *envoy_config_route_v3_HeaderMatcher_serialize(const envoy_config_route_v3_HeaderMatcher *msg, upb_arena *arena, size_t *len) {
3100
3936
  return upb_encode(msg, &envoy_config_route_v3_HeaderMatcher_msginit, arena, len);
@@ -3108,6 +3944,7 @@ typedef enum {
3108
3944
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_prefix_match = 9,
3109
3945
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_suffix_match = 10,
3110
3946
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_contains_match = 12,
3947
+ envoy_config_route_v3_HeaderMatcher_header_match_specifier_string_match = 13,
3111
3948
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_NOT_SET = 0
3112
3949
  } envoy_config_route_v3_HeaderMatcher_header_match_specifier_oneofcases;
3113
3950
  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); }
@@ -3128,6 +3965,8 @@ UPB_INLINE bool envoy_config_route_v3_HeaderMatcher_has_safe_regex_match(const e
3128
3965
  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); }
3129
3966
  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; }
3130
3967
  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(""))); }
3968
+ 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; }
3969
+ 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); }
3131
3970
 
3132
3971
  UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_name(envoy_config_route_v3_HeaderMatcher *msg, upb_strview value) {
3133
3972
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
@@ -3174,6 +4013,18 @@ UPB_INLINE struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_Head
3174
4013
  UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_contains_match(envoy_config_route_v3_HeaderMatcher *msg, upb_strview value) {
3175
4014
  UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(12, 24), value, UPB_SIZE(20, 40), 12);
3176
4015
  }
4016
+ UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_string_match(envoy_config_route_v3_HeaderMatcher *msg, struct envoy_type_matcher_v3_StringMatcher* value) {
4017
+ UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_StringMatcher*, UPB_SIZE(12, 24), value, UPB_SIZE(20, 40), 13);
4018
+ }
4019
+ 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) {
4020
+ struct envoy_type_matcher_v3_StringMatcher* sub = (struct envoy_type_matcher_v3_StringMatcher*)envoy_config_route_v3_HeaderMatcher_string_match(msg);
4021
+ if (sub == NULL) {
4022
+ sub = (struct envoy_type_matcher_v3_StringMatcher*)_upb_msg_new(&envoy_type_matcher_v3_StringMatcher_msginit, arena);
4023
+ if (!sub) return NULL;
4024
+ envoy_config_route_v3_HeaderMatcher_set_string_match(msg, sub);
4025
+ }
4026
+ return sub;
4027
+ }
3177
4028
 
3178
4029
  /* envoy.config.route.v3.QueryParameterMatcher */
3179
4030
 
@@ -3183,7 +4034,19 @@ UPB_INLINE envoy_config_route_v3_QueryParameterMatcher *envoy_config_route_v3_Qu
3183
4034
  UPB_INLINE envoy_config_route_v3_QueryParameterMatcher *envoy_config_route_v3_QueryParameterMatcher_parse(const char *buf, size_t size,
3184
4035
  upb_arena *arena) {
3185
4036
  envoy_config_route_v3_QueryParameterMatcher *ret = envoy_config_route_v3_QueryParameterMatcher_new(arena);
3186
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_QueryParameterMatcher_msginit, arena)) ? ret : NULL;
4037
+ if (!ret) return NULL;
4038
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_QueryParameterMatcher_msginit, arena)) return NULL;
4039
+ return ret;
4040
+ }
4041
+ UPB_INLINE envoy_config_route_v3_QueryParameterMatcher *envoy_config_route_v3_QueryParameterMatcher_parse_ex(const char *buf, size_t size,
4042
+ const upb_extreg *extreg, int options,
4043
+ upb_arena *arena) {
4044
+ envoy_config_route_v3_QueryParameterMatcher *ret = envoy_config_route_v3_QueryParameterMatcher_new(arena);
4045
+ if (!ret) return NULL;
4046
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_QueryParameterMatcher_msginit, extreg, options, arena)) {
4047
+ return NULL;
4048
+ }
4049
+ return ret;
3187
4050
  }
3188
4051
  UPB_INLINE char *envoy_config_route_v3_QueryParameterMatcher_serialize(const envoy_config_route_v3_QueryParameterMatcher *msg, upb_arena *arena, size_t *len) {
3189
4052
  return upb_encode(msg, &envoy_config_route_v3_QueryParameterMatcher_msginit, arena, len);
@@ -3229,20 +4092,33 @@ UPB_INLINE envoy_config_route_v3_InternalRedirectPolicy *envoy_config_route_v3_I
3229
4092
  UPB_INLINE envoy_config_route_v3_InternalRedirectPolicy *envoy_config_route_v3_InternalRedirectPolicy_parse(const char *buf, size_t size,
3230
4093
  upb_arena *arena) {
3231
4094
  envoy_config_route_v3_InternalRedirectPolicy *ret = envoy_config_route_v3_InternalRedirectPolicy_new(arena);
3232
- return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_InternalRedirectPolicy_msginit, arena)) ? ret : NULL;
4095
+ if (!ret) return NULL;
4096
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_InternalRedirectPolicy_msginit, arena)) return NULL;
4097
+ return ret;
4098
+ }
4099
+ UPB_INLINE envoy_config_route_v3_InternalRedirectPolicy *envoy_config_route_v3_InternalRedirectPolicy_parse_ex(const char *buf, size_t size,
4100
+ const upb_extreg *extreg, int options,
4101
+ upb_arena *arena) {
4102
+ envoy_config_route_v3_InternalRedirectPolicy *ret = envoy_config_route_v3_InternalRedirectPolicy_new(arena);
4103
+ if (!ret) return NULL;
4104
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_InternalRedirectPolicy_msginit, extreg, options, arena)) {
4105
+ return NULL;
4106
+ }
4107
+ return ret;
3233
4108
  }
3234
4109
  UPB_INLINE char *envoy_config_route_v3_InternalRedirectPolicy_serialize(const envoy_config_route_v3_InternalRedirectPolicy *msg, upb_arena *arena, size_t *len) {
3235
4110
  return upb_encode(msg, &envoy_config_route_v3_InternalRedirectPolicy_msginit, arena, len);
3236
4111
  }
3237
4112
 
3238
- UPB_INLINE bool envoy_config_route_v3_InternalRedirectPolicy_has_max_internal_redirects(const envoy_config_route_v3_InternalRedirectPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
4113
+ UPB_INLINE bool envoy_config_route_v3_InternalRedirectPolicy_has_max_internal_redirects(const envoy_config_route_v3_InternalRedirectPolicy *msg) { return _upb_hasbit(msg, 1); }
3239
4114
  UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_InternalRedirectPolicy_max_internal_redirects(const envoy_config_route_v3_InternalRedirectPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_UInt32Value*); }
3240
4115
  UPB_INLINE uint32_t const* envoy_config_route_v3_InternalRedirectPolicy_redirect_response_codes(const envoy_config_route_v3_InternalRedirectPolicy *msg, size_t *len) { return (uint32_t const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); }
3241
4116
  UPB_INLINE bool envoy_config_route_v3_InternalRedirectPolicy_has_predicates(const envoy_config_route_v3_InternalRedirectPolicy *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
3242
4117
  UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* const* envoy_config_route_v3_InternalRedirectPolicy_predicates(const envoy_config_route_v3_InternalRedirectPolicy *msg, size_t *len) { return (const struct envoy_config_core_v3_TypedExtensionConfig* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); }
3243
- UPB_INLINE bool envoy_config_route_v3_InternalRedirectPolicy_allow_cross_scheme_redirect(const envoy_config_route_v3_InternalRedirectPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool); }
4118
+ UPB_INLINE bool envoy_config_route_v3_InternalRedirectPolicy_allow_cross_scheme_redirect(const envoy_config_route_v3_InternalRedirectPolicy *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool); }
3244
4119
 
3245
4120
  UPB_INLINE void envoy_config_route_v3_InternalRedirectPolicy_set_max_internal_redirects(envoy_config_route_v3_InternalRedirectPolicy *msg, struct google_protobuf_UInt32Value* value) {
4121
+ _upb_sethas(msg, 1);
3246
4122
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_UInt32Value*) = value;
3247
4123
  }
3248
4124
  UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_InternalRedirectPolicy_mutable_max_internal_redirects(envoy_config_route_v3_InternalRedirectPolicy *msg, upb_arena *arena) {
@@ -3258,27 +4134,74 @@ UPB_INLINE uint32_t* envoy_config_route_v3_InternalRedirectPolicy_mutable_redire
3258
4134
  return (uint32_t*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
3259
4135
  }
3260
4136
  UPB_INLINE uint32_t* envoy_config_route_v3_InternalRedirectPolicy_resize_redirect_response_codes(envoy_config_route_v3_InternalRedirectPolicy *msg, size_t len, upb_arena *arena) {
3261
- return (uint32_t*)_upb_array_resize_accessor(msg, UPB_SIZE(8, 16), len, UPB_TYPE_UINT32, arena);
4137
+ return (uint32_t*)_upb_array_resize_accessor2(msg, UPB_SIZE(8, 16), len, 2, arena);
3262
4138
  }
3263
4139
  UPB_INLINE bool envoy_config_route_v3_InternalRedirectPolicy_add_redirect_response_codes(envoy_config_route_v3_InternalRedirectPolicy *msg, uint32_t val, upb_arena *arena) {
3264
- return _upb_array_append_accessor(msg, UPB_SIZE(8, 16), UPB_SIZE(4, 4), UPB_TYPE_UINT32, &val,
4140
+ return _upb_array_append_accessor2(msg, UPB_SIZE(8, 16), 2, &val,
3265
4141
  arena);
3266
4142
  }
3267
4143
  UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig** envoy_config_route_v3_InternalRedirectPolicy_mutable_predicates(envoy_config_route_v3_InternalRedirectPolicy *msg, size_t *len) {
3268
4144
  return (struct envoy_config_core_v3_TypedExtensionConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len);
3269
4145
  }
3270
4146
  UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig** envoy_config_route_v3_InternalRedirectPolicy_resize_predicates(envoy_config_route_v3_InternalRedirectPolicy *msg, size_t len, upb_arena *arena) {
3271
- return (struct envoy_config_core_v3_TypedExtensionConfig**)_upb_array_resize_accessor(msg, UPB_SIZE(12, 24), len, UPB_TYPE_MESSAGE, arena);
4147
+ return (struct envoy_config_core_v3_TypedExtensionConfig**)_upb_array_resize_accessor2(msg, UPB_SIZE(12, 24), len, UPB_SIZE(2, 3), arena);
3272
4148
  }
3273
4149
  UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_route_v3_InternalRedirectPolicy_add_predicates(envoy_config_route_v3_InternalRedirectPolicy *msg, upb_arena *arena) {
3274
4150
  struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_msg_new(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena);
3275
- bool ok = _upb_array_append_accessor(
3276
- msg, UPB_SIZE(12, 24), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
4151
+ bool ok = _upb_array_append_accessor2(
4152
+ msg, UPB_SIZE(12, 24), UPB_SIZE(2, 3), &sub, arena);
3277
4153
  if (!ok) return NULL;
3278
4154
  return sub;
3279
4155
  }
3280
4156
  UPB_INLINE void envoy_config_route_v3_InternalRedirectPolicy_set_allow_cross_scheme_redirect(envoy_config_route_v3_InternalRedirectPolicy *msg, bool value) {
3281
- *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool) = value;
4157
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
4158
+ }
4159
+
4160
+ /* envoy.config.route.v3.FilterConfig */
4161
+
4162
+ UPB_INLINE envoy_config_route_v3_FilterConfig *envoy_config_route_v3_FilterConfig_new(upb_arena *arena) {
4163
+ return (envoy_config_route_v3_FilterConfig *)_upb_msg_new(&envoy_config_route_v3_FilterConfig_msginit, arena);
4164
+ }
4165
+ UPB_INLINE envoy_config_route_v3_FilterConfig *envoy_config_route_v3_FilterConfig_parse(const char *buf, size_t size,
4166
+ upb_arena *arena) {
4167
+ envoy_config_route_v3_FilterConfig *ret = envoy_config_route_v3_FilterConfig_new(arena);
4168
+ if (!ret) return NULL;
4169
+ if (!upb_decode(buf, size, ret, &envoy_config_route_v3_FilterConfig_msginit, arena)) return NULL;
4170
+ return ret;
4171
+ }
4172
+ UPB_INLINE envoy_config_route_v3_FilterConfig *envoy_config_route_v3_FilterConfig_parse_ex(const char *buf, size_t size,
4173
+ const upb_extreg *extreg, int options,
4174
+ upb_arena *arena) {
4175
+ envoy_config_route_v3_FilterConfig *ret = envoy_config_route_v3_FilterConfig_new(arena);
4176
+ if (!ret) return NULL;
4177
+ if (!_upb_decode(buf, size, ret, &envoy_config_route_v3_FilterConfig_msginit, extreg, options, arena)) {
4178
+ return NULL;
4179
+ }
4180
+ return ret;
4181
+ }
4182
+ UPB_INLINE char *envoy_config_route_v3_FilterConfig_serialize(const envoy_config_route_v3_FilterConfig *msg, upb_arena *arena, size_t *len) {
4183
+ return upb_encode(msg, &envoy_config_route_v3_FilterConfig_msginit, arena, len);
4184
+ }
4185
+
4186
+ UPB_INLINE bool envoy_config_route_v3_FilterConfig_has_config(const envoy_config_route_v3_FilterConfig *msg) { return _upb_hasbit(msg, 1); }
4187
+ UPB_INLINE const struct google_protobuf_Any* envoy_config_route_v3_FilterConfig_config(const envoy_config_route_v3_FilterConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_Any*); }
4188
+ UPB_INLINE bool envoy_config_route_v3_FilterConfig_is_optional(const envoy_config_route_v3_FilterConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool); }
4189
+
4190
+ UPB_INLINE void envoy_config_route_v3_FilterConfig_set_config(envoy_config_route_v3_FilterConfig *msg, struct google_protobuf_Any* value) {
4191
+ _upb_sethas(msg, 1);
4192
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_Any*) = value;
4193
+ }
4194
+ UPB_INLINE struct google_protobuf_Any* envoy_config_route_v3_FilterConfig_mutable_config(envoy_config_route_v3_FilterConfig *msg, upb_arena *arena) {
4195
+ struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_config_route_v3_FilterConfig_config(msg);
4196
+ if (sub == NULL) {
4197
+ sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena);
4198
+ if (!sub) return NULL;
4199
+ envoy_config_route_v3_FilterConfig_set_config(msg, sub);
4200
+ }
4201
+ return sub;
4202
+ }
4203
+ UPB_INLINE void envoy_config_route_v3_FilterConfig_set_is_optional(envoy_config_route_v3_FilterConfig *msg, bool value) {
4204
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
3282
4205
  }
3283
4206
 
3284
4207
  #ifdef __cplusplus