grpc 1.39.0 → 1.40.0.pre1

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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +20 -4
  3. data/include/grpc/event_engine/event_engine.h +10 -14
  4. data/include/grpc/event_engine/slice_allocator.h +8 -33
  5. data/include/grpc/impl/codegen/grpc_types.h +18 -8
  6. data/include/grpc/impl/codegen/port_platform.h +24 -0
  7. data/src/core/ext/filters/client_channel/client_channel.cc +413 -247
  8. data/src/core/ext/filters/client_channel/client_channel.h +42 -18
  9. data/src/core/ext/filters/client_channel/config_selector.h +19 -6
  10. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +7 -8
  11. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +12 -21
  12. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -5
  13. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +17 -38
  14. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +8 -15
  15. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -6
  16. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +8 -12
  17. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +14 -22
  18. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +2 -9
  19. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +5 -8
  20. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -15
  21. data/src/core/ext/filters/client_channel/lb_policy.h +70 -46
  22. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +101 -73
  23. data/src/core/ext/filters/client_channel/retry_filter.cc +392 -243
  24. data/src/core/ext/filters/client_channel/retry_service_config.cc +36 -26
  25. data/src/core/ext/filters/client_channel/retry_service_config.h +1 -1
  26. data/src/core/ext/filters/client_channel/service_config_call_data.h +45 -5
  27. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +0 -6
  28. data/src/core/ext/filters/http/client/http_client_filter.cc +5 -2
  29. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +5 -1
  30. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +1 -1
  31. data/src/core/{lib/event_engine/slice_allocator.cc → ext/transport/chttp2/transport/chttp2_slice_allocator.cc} +15 -38
  32. data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +74 -0
  33. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +2 -6
  34. data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -1
  35. data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -4
  36. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +8 -8
  37. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +5 -5
  38. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +639 -752
  39. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +190 -69
  40. data/src/core/ext/transport/chttp2/transport/internal.h +1 -1
  41. data/src/core/ext/transport/chttp2/transport/parsing.cc +70 -54
  42. data/src/core/ext/transport/chttp2/transport/varint.cc +6 -4
  43. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +56 -35
  44. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +180 -76
  45. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +35 -27
  46. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +97 -48
  47. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +45 -9
  48. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +67 -7
  49. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +66 -9
  50. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +227 -0
  51. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +46 -0
  52. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +121 -0
  53. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -0
  54. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +35 -0
  55. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +90 -0
  56. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +32 -24
  57. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +120 -73
  58. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +4 -2
  59. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +15 -0
  60. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -0
  61. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +171 -0
  62. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +8 -6
  63. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +27 -19
  64. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +1 -0
  65. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +24 -7
  66. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +57 -0
  67. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +29 -17
  68. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +72 -0
  69. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +3 -2
  70. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +4 -0
  71. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +6 -5
  72. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +15 -11
  73. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +85 -43
  74. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +274 -91
  75. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +11 -8
  76. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +30 -13
  77. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +33 -5
  78. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +115 -0
  79. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +60 -0
  80. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +181 -0
  81. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +1 -0
  82. data/src/core/ext/upb-generated/validate/validate.upb.c +82 -66
  83. data/src/core/ext/upb-generated/validate/validate.upb.h +220 -124
  84. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +15 -7
  85. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +53 -52
  86. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +318 -277
  87. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -0
  88. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +437 -410
  89. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +198 -170
  90. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +10 -0
  91. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +9 -8
  92. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +219 -163
  93. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +15 -0
  94. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +59 -0
  95. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +40 -0
  96. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +29 -25
  97. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +52 -0
  98. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +35 -0
  99. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +135 -125
  100. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  101. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +131 -123
  102. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +90 -0
  103. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +35 -0
  104. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +32 -24
  105. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +69 -55
  106. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +5 -0
  107. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +684 -664
  108. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +5 -0
  109. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +13 -10
  110. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +13 -10
  111. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +441 -375
  112. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +10 -0
  113. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +122 -114
  114. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +1 -1
  115. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +112 -79
  116. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +5 -0
  117. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +64 -0
  118. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +50 -0
  119. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +35 -32
  120. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +4 -4
  121. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +182 -160
  122. data/src/core/ext/xds/certificate_provider_store.h +1 -1
  123. data/src/core/ext/xds/xds_api.cc +320 -121
  124. data/src/core/ext/xds/xds_api.h +31 -2
  125. data/src/core/ext/xds/xds_bootstrap.cc +4 -1
  126. data/src/core/ext/xds/xds_client.cc +66 -43
  127. data/src/core/ext/xds/xds_client.h +0 -4
  128. data/src/core/ext/xds/xds_http_filters.cc +3 -2
  129. data/src/core/ext/xds/xds_http_filters.h +3 -0
  130. data/src/core/lib/channel/call_tracer.h +85 -0
  131. data/src/core/lib/channel/channel_stack.h +1 -1
  132. data/src/core/lib/channel/context.h +3 -0
  133. data/src/core/lib/channel/status_util.h +4 -0
  134. data/src/core/lib/compression/stream_compression.h +1 -1
  135. data/src/core/lib/compression/stream_compression_gzip.h +1 -1
  136. data/src/core/lib/compression/stream_compression_identity.h +1 -1
  137. data/src/core/lib/debug/stats.h +1 -1
  138. data/src/core/lib/gpr/murmur_hash.cc +4 -2
  139. data/src/core/lib/gprpp/manual_constructor.h +1 -1
  140. data/src/core/lib/gprpp/orphanable.h +3 -3
  141. data/src/core/lib/gprpp/sync.h +2 -30
  142. data/src/core/lib/iomgr/buffer_list.cc +1 -1
  143. data/src/core/lib/iomgr/ev_apple.h +1 -1
  144. data/src/core/lib/iomgr/event_engine/endpoint.cc +6 -8
  145. data/src/core/lib/iomgr/event_engine/tcp.cc +30 -10
  146. data/src/core/lib/iomgr/python_util.h +1 -1
  147. data/src/core/lib/iomgr/resource_quota.cc +2 -0
  148. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -0
  149. data/src/core/lib/iomgr/tcp_server_posix.cc +1 -0
  150. data/src/core/lib/iomgr/timer_manager.cc +1 -1
  151. data/src/core/lib/json/json_reader.cc +1 -2
  152. data/src/core/lib/matchers/matchers.cc +8 -20
  153. data/src/core/lib/matchers/matchers.h +2 -1
  154. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +49 -0
  155. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +7 -0
  156. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +6 -18
  157. data/src/core/lib/security/transport/security_handshaker.cc +12 -4
  158. data/src/core/lib/security/transport/server_auth_filter.cc +0 -7
  159. data/src/core/lib/slice/slice_internal.h +1 -0
  160. data/src/core/lib/surface/call.cc +5 -6
  161. data/src/core/lib/surface/server.cc +3 -1
  162. data/src/core/lib/surface/server.h +3 -3
  163. data/src/core/lib/surface/version.cc +1 -3
  164. data/src/ruby/ext/grpc/extconf.rb +1 -1
  165. data/src/ruby/lib/grpc/version.rb +1 -1
  166. data/third_party/xxhash/xxhash.h +77 -195
  167. metadata +52 -35
  168. data/src/core/lib/gpr/arena.h +0 -47
@@ -21,18 +21,23 @@ extern "C" {
21
21
  #endif
22
22
 
23
23
  struct envoy_config_route_v3_RouteConfiguration;
24
+ struct envoy_config_route_v3_ClusterSpecifierPlugin;
24
25
  struct envoy_config_route_v3_Vhds;
25
26
  typedef struct envoy_config_route_v3_RouteConfiguration envoy_config_route_v3_RouteConfiguration;
27
+ typedef struct envoy_config_route_v3_ClusterSpecifierPlugin envoy_config_route_v3_ClusterSpecifierPlugin;
26
28
  typedef struct envoy_config_route_v3_Vhds envoy_config_route_v3_Vhds;
27
29
  extern const upb_msglayout envoy_config_route_v3_RouteConfiguration_msginit;
30
+ extern const upb_msglayout envoy_config_route_v3_ClusterSpecifierPlugin_msginit;
28
31
  extern const upb_msglayout envoy_config_route_v3_Vhds_msginit;
29
32
  struct envoy_config_core_v3_ConfigSource;
30
33
  struct envoy_config_core_v3_HeaderValueOption;
34
+ struct envoy_config_core_v3_TypedExtensionConfig;
31
35
  struct envoy_config_route_v3_VirtualHost;
32
36
  struct google_protobuf_BoolValue;
33
37
  struct google_protobuf_UInt32Value;
34
38
  extern const upb_msglayout envoy_config_core_v3_ConfigSource_msginit;
35
39
  extern const upb_msglayout envoy_config_core_v3_HeaderValueOption_msginit;
40
+ extern const upb_msglayout envoy_config_core_v3_TypedExtensionConfig_msginit;
36
41
  extern const upb_msglayout envoy_config_route_v3_VirtualHost_msginit;
37
42
  extern const upb_msglayout google_protobuf_BoolValue_msginit;
38
43
  extern const upb_msglayout google_protobuf_UInt32Value_msginit;
@@ -75,6 +80,8 @@ UPB_INLINE const envoy_config_route_v3_Vhds* envoy_config_route_v3_RouteConfigur
75
80
  UPB_INLINE bool envoy_config_route_v3_RouteConfiguration_most_specific_header_mutations_wins(const envoy_config_route_v3_RouteConfiguration *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool); }
76
81
  UPB_INLINE bool envoy_config_route_v3_RouteConfiguration_has_max_direct_response_body_size_bytes(const envoy_config_route_v3_RouteConfiguration *msg) { return _upb_hasbit(msg, 3); }
77
82
  UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_RouteConfiguration_max_direct_response_body_size_bytes(const envoy_config_route_v3_RouteConfiguration *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 40), const struct google_protobuf_UInt32Value*); }
83
+ UPB_INLINE bool envoy_config_route_v3_RouteConfiguration_has_cluster_specifier_plugins(const envoy_config_route_v3_RouteConfiguration *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(48, 96)); }
84
+ UPB_INLINE const envoy_config_route_v3_ClusterSpecifierPlugin* const* envoy_config_route_v3_RouteConfiguration_cluster_specifier_plugins(const envoy_config_route_v3_RouteConfiguration *msg, size_t *len) { return (const envoy_config_route_v3_ClusterSpecifierPlugin* const*)_upb_array_accessor(msg, UPB_SIZE(48, 96), len); }
78
85
 
79
86
  UPB_INLINE void envoy_config_route_v3_RouteConfiguration_set_name(envoy_config_route_v3_RouteConfiguration *msg, upb_strview value) {
80
87
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
@@ -190,6 +197,56 @@ UPB_INLINE struct google_protobuf_UInt32Value* envoy_config_route_v3_RouteConfig
190
197
  }
191
198
  return sub;
192
199
  }
200
+ UPB_INLINE envoy_config_route_v3_ClusterSpecifierPlugin** envoy_config_route_v3_RouteConfiguration_mutable_cluster_specifier_plugins(envoy_config_route_v3_RouteConfiguration *msg, size_t *len) {
201
+ return (envoy_config_route_v3_ClusterSpecifierPlugin**)_upb_array_mutable_accessor(msg, UPB_SIZE(48, 96), len);
202
+ }
203
+ UPB_INLINE envoy_config_route_v3_ClusterSpecifierPlugin** envoy_config_route_v3_RouteConfiguration_resize_cluster_specifier_plugins(envoy_config_route_v3_RouteConfiguration *msg, size_t len, upb_arena *arena) {
204
+ return (envoy_config_route_v3_ClusterSpecifierPlugin**)_upb_array_resize_accessor2(msg, UPB_SIZE(48, 96), len, UPB_SIZE(2, 3), arena);
205
+ }
206
+ UPB_INLINE struct envoy_config_route_v3_ClusterSpecifierPlugin* envoy_config_route_v3_RouteConfiguration_add_cluster_specifier_plugins(envoy_config_route_v3_RouteConfiguration *msg, upb_arena *arena) {
207
+ struct envoy_config_route_v3_ClusterSpecifierPlugin* sub = (struct envoy_config_route_v3_ClusterSpecifierPlugin*)_upb_msg_new(&envoy_config_route_v3_ClusterSpecifierPlugin_msginit, arena);
208
+ bool ok = _upb_array_append_accessor2(
209
+ msg, UPB_SIZE(48, 96), UPB_SIZE(2, 3), &sub, arena);
210
+ if (!ok) return NULL;
211
+ return sub;
212
+ }
213
+
214
+ /* envoy.config.route.v3.ClusterSpecifierPlugin */
215
+
216
+ UPB_INLINE envoy_config_route_v3_ClusterSpecifierPlugin *envoy_config_route_v3_ClusterSpecifierPlugin_new(upb_arena *arena) {
217
+ return (envoy_config_route_v3_ClusterSpecifierPlugin *)_upb_msg_new(&envoy_config_route_v3_ClusterSpecifierPlugin_msginit, arena);
218
+ }
219
+ UPB_INLINE envoy_config_route_v3_ClusterSpecifierPlugin *envoy_config_route_v3_ClusterSpecifierPlugin_parse(const char *buf, size_t size,
220
+ upb_arena *arena) {
221
+ envoy_config_route_v3_ClusterSpecifierPlugin *ret = envoy_config_route_v3_ClusterSpecifierPlugin_new(arena);
222
+ return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_ClusterSpecifierPlugin_msginit, arena)) ? ret : NULL;
223
+ }
224
+ UPB_INLINE envoy_config_route_v3_ClusterSpecifierPlugin *envoy_config_route_v3_ClusterSpecifierPlugin_parse_ex(const char *buf, size_t size,
225
+ upb_arena *arena, int options) {
226
+ envoy_config_route_v3_ClusterSpecifierPlugin *ret = envoy_config_route_v3_ClusterSpecifierPlugin_new(arena);
227
+ return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_ClusterSpecifierPlugin_msginit, arena, options))
228
+ ? ret : NULL;
229
+ }
230
+ UPB_INLINE char *envoy_config_route_v3_ClusterSpecifierPlugin_serialize(const envoy_config_route_v3_ClusterSpecifierPlugin *msg, upb_arena *arena, size_t *len) {
231
+ return upb_encode(msg, &envoy_config_route_v3_ClusterSpecifierPlugin_msginit, arena, len);
232
+ }
233
+
234
+ UPB_INLINE bool envoy_config_route_v3_ClusterSpecifierPlugin_has_extension(const envoy_config_route_v3_ClusterSpecifierPlugin *msg) { return _upb_hasbit(msg, 1); }
235
+ UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_route_v3_ClusterSpecifierPlugin_extension(const envoy_config_route_v3_ClusterSpecifierPlugin *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_core_v3_TypedExtensionConfig*); }
236
+
237
+ UPB_INLINE void envoy_config_route_v3_ClusterSpecifierPlugin_set_extension(envoy_config_route_v3_ClusterSpecifierPlugin *msg, struct envoy_config_core_v3_TypedExtensionConfig* value) {
238
+ _upb_sethas(msg, 1);
239
+ *UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_core_v3_TypedExtensionConfig*) = value;
240
+ }
241
+ UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_config_route_v3_ClusterSpecifierPlugin_mutable_extension(envoy_config_route_v3_ClusterSpecifierPlugin *msg, upb_arena *arena) {
242
+ struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)envoy_config_route_v3_ClusterSpecifierPlugin_extension(msg);
243
+ if (sub == NULL) {
244
+ sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_msg_new(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena);
245
+ if (!sub) return NULL;
246
+ envoy_config_route_v3_ClusterSpecifierPlugin_set_extension(msg, sub);
247
+ }
248
+ return sub;
249
+ }
193
250
 
194
251
  /* envoy.config.route.v3.Vhds */
195
252
 
@@ -98,12 +98,13 @@ const upb_msglayout envoy_config_route_v3_FilterAction_msginit = {
98
98
  UPB_SIZE(8, 16), 1, false, 255,
99
99
  };
100
100
 
101
- static const upb_msglayout *const envoy_config_route_v3_Route_submsgs[11] = {
101
+ static const upb_msglayout *const envoy_config_route_v3_Route_submsgs[12] = {
102
102
  &envoy_config_core_v3_HeaderValueOption_msginit,
103
103
  &envoy_config_core_v3_Metadata_msginit,
104
104
  &envoy_config_route_v3_Decorator_msginit,
105
105
  &envoy_config_route_v3_DirectResponseAction_msginit,
106
106
  &envoy_config_route_v3_FilterAction_msginit,
107
+ &envoy_config_route_v3_NonForwardingAction_msginit,
107
108
  &envoy_config_route_v3_RedirectAction_msginit,
108
109
  &envoy_config_route_v3_Route_TypedPerFilterConfigEntry_msginit,
109
110
  &envoy_config_route_v3_RouteAction_msginit,
@@ -112,10 +113,10 @@ static const upb_msglayout *const envoy_config_route_v3_Route_submsgs[11] = {
112
113
  &google_protobuf_UInt32Value_msginit,
113
114
  };
114
115
 
115
- static const upb_msglayout_field envoy_config_route_v3_Route__fields[15] = {
116
- {1, UPB_SIZE(12, 24), 1, 8, 11, 1},
117
- {2, UPB_SIZE(52, 104), UPB_SIZE(-57, -113), 7, 11, 1},
118
- {3, UPB_SIZE(52, 104), UPB_SIZE(-57, -113), 5, 11, 1},
116
+ static const upb_msglayout_field envoy_config_route_v3_Route__fields[16] = {
117
+ {1, UPB_SIZE(12, 24), 1, 9, 11, 1},
118
+ {2, UPB_SIZE(52, 104), UPB_SIZE(-57, -113), 8, 11, 1},
119
+ {3, UPB_SIZE(52, 104), UPB_SIZE(-57, -113), 6, 11, 1},
119
120
  {4, UPB_SIZE(16, 32), 2, 1, 11, 1},
120
121
  {5, UPB_SIZE(20, 40), 3, 2, 11, 1},
121
122
  {7, UPB_SIZE(52, 104), UPB_SIZE(-57, -113), 3, 11, 1},
@@ -123,17 +124,18 @@ static const upb_msglayout_field envoy_config_route_v3_Route__fields[15] = {
123
124
  {10, UPB_SIZE(36, 72), 0, 0, 11, 3},
124
125
  {11, UPB_SIZE(40, 80), 0, 0, 9, 3},
125
126
  {12, UPB_SIZE(44, 88), 0, 0, 9, 3},
126
- {13, UPB_SIZE(48, 96), 0, 6, 11, _UPB_LABEL_MAP},
127
+ {13, UPB_SIZE(48, 96), 0, 7, 11, _UPB_LABEL_MAP},
127
128
  {14, UPB_SIZE(4, 8), 0, 0, 9, 1},
128
- {15, UPB_SIZE(24, 48), 4, 9, 11, 1},
129
- {16, UPB_SIZE(28, 56), 5, 10, 11, 1},
129
+ {15, UPB_SIZE(24, 48), 4, 10, 11, 1},
130
+ {16, UPB_SIZE(28, 56), 5, 11, 11, 1},
130
131
  {17, UPB_SIZE(52, 104), UPB_SIZE(-57, -113), 4, 11, 1},
132
+ {18, UPB_SIZE(52, 104), UPB_SIZE(-57, -113), 5, 11, 1},
131
133
  };
132
134
 
133
135
  const upb_msglayout envoy_config_route_v3_Route_msginit = {
134
136
  &envoy_config_route_v3_Route_submsgs[0],
135
137
  &envoy_config_route_v3_Route__fields[0],
136
- UPB_SIZE(64, 128), 15, false, 255,
138
+ UPB_SIZE(64, 128), 16, false, 255,
137
139
  };
138
140
 
139
141
  static const upb_msglayout *const envoy_config_route_v3_Route_TypedPerFilterConfigEntry_submsgs[1] = {
@@ -175,7 +177,7 @@ static const upb_msglayout *const envoy_config_route_v3_WeightedCluster_ClusterW
175
177
  &google_protobuf_UInt32Value_msginit,
176
178
  };
177
179
 
178
- static const upb_msglayout_field envoy_config_route_v3_WeightedCluster_ClusterWeight__fields[8] = {
180
+ static const upb_msglayout_field envoy_config_route_v3_WeightedCluster_ClusterWeight__fields[9] = {
179
181
  {1, UPB_SIZE(4, 8), 0, 0, 9, 1},
180
182
  {2, UPB_SIZE(12, 24), 1, 3, 11, 1},
181
183
  {3, UPB_SIZE(16, 32), 2, 1, 11, 1},
@@ -184,12 +186,13 @@ static const upb_msglayout_field envoy_config_route_v3_WeightedCluster_ClusterWe
184
186
  {6, UPB_SIZE(28, 56), 0, 0, 9, 3},
185
187
  {9, UPB_SIZE(32, 64), 0, 0, 9, 3},
186
188
  {10, UPB_SIZE(36, 72), 0, 2, 11, _UPB_LABEL_MAP},
189
+ {11, UPB_SIZE(40, 80), UPB_SIZE(-49, -97), 0, 9, 1},
187
190
  };
188
191
 
189
192
  const upb_msglayout envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit = {
190
193
  &envoy_config_route_v3_WeightedCluster_ClusterWeight_submsgs[0],
191
194
  &envoy_config_route_v3_WeightedCluster_ClusterWeight__fields[0],
192
- UPB_SIZE(40, 80), 8, false, 255,
195
+ UPB_SIZE(56, 112), 9, false, 255,
193
196
  };
194
197
 
195
198
  static const upb_msglayout *const envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry_submsgs[1] = {
@@ -306,7 +309,7 @@ static const upb_msglayout *const envoy_config_route_v3_RouteAction_submsgs[16]
306
309
  &google_protobuf_UInt32Value_msginit,
307
310
  };
308
311
 
309
- static const upb_msglayout_field envoy_config_route_v3_RouteAction__fields[29] = {
312
+ static const upb_msglayout_field envoy_config_route_v3_RouteAction__fields[30] = {
310
313
  {1, UPB_SIZE(96, 176), UPB_SIZE(-105, -193), 0, 9, 1},
311
314
  {2, UPB_SIZE(96, 176), UPB_SIZE(-105, -193), 0, 9, 1},
312
315
  {3, UPB_SIZE(96, 176), UPB_SIZE(-105, -193), 10, 11, 1},
@@ -336,12 +339,13 @@ static const upb_msglayout_field envoy_config_route_v3_RouteAction__fields[29] =
336
339
  {34, UPB_SIZE(72, 128), 13, 3, 11, 1},
337
340
  {35, UPB_SIZE(108, 200), UPB_SIZE(-117, -217), 11, 11, 1},
338
341
  {36, UPB_SIZE(76, 136), 14, 7, 11, 1},
342
+ {37, UPB_SIZE(96, 176), UPB_SIZE(-105, -193), 0, 9, 1},
339
343
  };
340
344
 
341
345
  const upb_msglayout envoy_config_route_v3_RouteAction_msginit = {
342
346
  &envoy_config_route_v3_RouteAction_submsgs[0],
343
347
  &envoy_config_route_v3_RouteAction__fields[0],
344
- UPB_SIZE(120, 224), 29, false, 255,
348
+ UPB_SIZE(120, 224), 30, false, 255,
345
349
  };
346
350
 
347
351
  static const upb_msglayout *const envoy_config_route_v3_RouteAction_RequestMirrorPolicy_submsgs[2] = {
@@ -649,6 +653,12 @@ const upb_msglayout envoy_config_route_v3_DirectResponseAction_msginit = {
649
653
  UPB_SIZE(16, 16), 2, false, 255,
650
654
  };
651
655
 
656
+ const upb_msglayout envoy_config_route_v3_NonForwardingAction_msginit = {
657
+ NULL,
658
+ NULL,
659
+ UPB_SIZE(0, 0), 0, false, 255,
660
+ };
661
+
652
662
  static const upb_msglayout *const envoy_config_route_v3_Decorator_submsgs[1] = {
653
663
  &google_protobuf_BoolValue_msginit,
654
664
  };
@@ -865,27 +875,29 @@ const upb_msglayout envoy_config_route_v3_RateLimit_Override_DynamicMetadata_msg
865
875
  UPB_SIZE(8, 16), 1, false, 255,
866
876
  };
867
877
 
868
- static const upb_msglayout *const envoy_config_route_v3_HeaderMatcher_submsgs[2] = {
878
+ static const upb_msglayout *const envoy_config_route_v3_HeaderMatcher_submsgs[3] = {
869
879
  &envoy_type_matcher_v3_RegexMatcher_msginit,
880
+ &envoy_type_matcher_v3_StringMatcher_msginit,
870
881
  &envoy_type_v3_Int64Range_msginit,
871
882
  };
872
883
 
873
- static const upb_msglayout_field envoy_config_route_v3_HeaderMatcher__fields[9] = {
884
+ static const upb_msglayout_field envoy_config_route_v3_HeaderMatcher__fields[10] = {
874
885
  {1, UPB_SIZE(4, 8), 0, 0, 9, 1},
875
886
  {4, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 0, 9, 1},
876
- {6, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 1, 11, 1},
887
+ {6, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 2, 11, 1},
877
888
  {7, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 0, 8, 1},
878
889
  {8, UPB_SIZE(0, 0), 0, 0, 8, 1},
879
890
  {9, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 0, 9, 1},
880
891
  {10, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 0, 9, 1},
881
892
  {11, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 0, 11, 1},
882
893
  {12, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 0, 9, 1},
894
+ {13, UPB_SIZE(12, 24), UPB_SIZE(-21, -41), 1, 11, 1},
883
895
  };
884
896
 
885
897
  const upb_msglayout envoy_config_route_v3_HeaderMatcher_msginit = {
886
898
  &envoy_config_route_v3_HeaderMatcher_submsgs[0],
887
899
  &envoy_config_route_v3_HeaderMatcher__fields[0],
888
- UPB_SIZE(24, 48), 9, false, 255,
900
+ UPB_SIZE(24, 48), 10, false, 255,
889
901
  };
890
902
 
891
903
  static const upb_msglayout *const envoy_config_route_v3_QueryParameterMatcher_submsgs[1] = {
@@ -53,6 +53,7 @@ struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff;
53
53
  struct envoy_config_route_v3_HedgePolicy;
54
54
  struct envoy_config_route_v3_RedirectAction;
55
55
  struct envoy_config_route_v3_DirectResponseAction;
56
+ struct envoy_config_route_v3_NonForwardingAction;
56
57
  struct envoy_config_route_v3_Decorator;
57
58
  struct envoy_config_route_v3_Tracing;
58
59
  struct envoy_config_route_v3_VirtualCluster;
@@ -105,6 +106,7 @@ typedef struct envoy_config_route_v3_RetryPolicy_RateLimitedRetryBackOff envoy_c
105
106
  typedef struct envoy_config_route_v3_HedgePolicy envoy_config_route_v3_HedgePolicy;
106
107
  typedef struct envoy_config_route_v3_RedirectAction envoy_config_route_v3_RedirectAction;
107
108
  typedef struct envoy_config_route_v3_DirectResponseAction envoy_config_route_v3_DirectResponseAction;
109
+ typedef struct envoy_config_route_v3_NonForwardingAction envoy_config_route_v3_NonForwardingAction;
108
110
  typedef struct envoy_config_route_v3_Decorator envoy_config_route_v3_Decorator;
109
111
  typedef struct envoy_config_route_v3_Tracing envoy_config_route_v3_Tracing;
110
112
  typedef struct envoy_config_route_v3_VirtualCluster envoy_config_route_v3_VirtualCluster;
@@ -157,6 +159,7 @@ extern const upb_msglayout envoy_config_route_v3_RetryPolicy_RateLimitedRetryBac
157
159
  extern const upb_msglayout envoy_config_route_v3_HedgePolicy_msginit;
158
160
  extern const upb_msglayout envoy_config_route_v3_RedirectAction_msginit;
159
161
  extern const upb_msglayout envoy_config_route_v3_DirectResponseAction_msginit;
162
+ extern const upb_msglayout envoy_config_route_v3_NonForwardingAction_msginit;
160
163
  extern const upb_msglayout envoy_config_route_v3_Decorator_msginit;
161
164
  extern const upb_msglayout envoy_config_route_v3_Tracing_msginit;
162
165
  extern const upb_msglayout envoy_config_route_v3_VirtualCluster_msginit;
@@ -555,6 +558,7 @@ typedef enum {
555
558
  envoy_config_route_v3_Route_action_redirect = 3,
556
559
  envoy_config_route_v3_Route_action_direct_response = 7,
557
560
  envoy_config_route_v3_Route_action_filter_action = 17,
561
+ envoy_config_route_v3_Route_action_non_forwarding_action = 18,
558
562
  envoy_config_route_v3_Route_action_NOT_SET = 0
559
563
  } envoy_config_route_v3_Route_action_oneofcases;
560
564
  UPB_INLINE envoy_config_route_v3_Route_action_oneofcases envoy_config_route_v3_Route_action_case(const envoy_config_route_v3_Route* msg) { return (envoy_config_route_v3_Route_action_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(56, 112), int32_t); }
@@ -588,6 +592,8 @@ UPB_INLINE bool envoy_config_route_v3_Route_has_per_request_buffer_limit_bytes(c
588
592
  UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_Route_per_request_buffer_limit_bytes(const envoy_config_route_v3_Route *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(28, 56), const struct google_protobuf_UInt32Value*); }
589
593
  UPB_INLINE bool envoy_config_route_v3_Route_has_filter_action(const envoy_config_route_v3_Route *msg) { return _upb_getoneofcase(msg, UPB_SIZE(56, 112)) == 17; }
590
594
  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); }
595
+ 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; }
596
+ UPB_INLINE const envoy_config_route_v3_NonForwardingAction* envoy_config_route_v3_Route_non_forwarding_action(const envoy_config_route_v3_Route *msg) { return UPB_READ_ONEOF(msg, const envoy_config_route_v3_NonForwardingAction*, UPB_SIZE(52, 104), UPB_SIZE(56, 112), 18, NULL); }
591
597
 
592
598
  UPB_INLINE void envoy_config_route_v3_Route_set_match(envoy_config_route_v3_Route *msg, envoy_config_route_v3_RouteMatch* value) {
593
599
  _upb_sethas(msg, 1);
@@ -755,6 +761,18 @@ UPB_INLINE struct envoy_config_route_v3_FilterAction* envoy_config_route_v3_Rout
755
761
  }
756
762
  return sub;
757
763
  }
764
+ UPB_INLINE void envoy_config_route_v3_Route_set_non_forwarding_action(envoy_config_route_v3_Route *msg, envoy_config_route_v3_NonForwardingAction* value) {
765
+ UPB_WRITE_ONEOF(msg, envoy_config_route_v3_NonForwardingAction*, UPB_SIZE(52, 104), value, UPB_SIZE(56, 112), 18);
766
+ }
767
+ 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) {
768
+ struct envoy_config_route_v3_NonForwardingAction* sub = (struct envoy_config_route_v3_NonForwardingAction*)envoy_config_route_v3_Route_non_forwarding_action(msg);
769
+ if (sub == NULL) {
770
+ sub = (struct envoy_config_route_v3_NonForwardingAction*)_upb_msg_new(&envoy_config_route_v3_NonForwardingAction_msginit, arena);
771
+ if (!sub) return NULL;
772
+ envoy_config_route_v3_Route_set_non_forwarding_action(msg, sub);
773
+ }
774
+ return sub;
775
+ }
758
776
 
759
777
  /* envoy.config.route.v3.Route.TypedPerFilterConfigEntry */
760
778
 
@@ -850,6 +868,12 @@ UPB_INLINE char *envoy_config_route_v3_WeightedCluster_ClusterWeight_serialize(c
850
868
  return upb_encode(msg, &envoy_config_route_v3_WeightedCluster_ClusterWeight_msginit, arena, len);
851
869
  }
852
870
 
871
+ typedef enum {
872
+ envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_host_rewrite_literal = 11,
873
+ envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_NOT_SET = 0
874
+ } envoy_config_route_v3_WeightedCluster_ClusterWeight_host_rewrite_specifier_oneofcases;
875
+ 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(48, 96), int32_t); }
876
+
853
877
  UPB_INLINE upb_strview envoy_config_route_v3_WeightedCluster_ClusterWeight_name(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
854
878
  UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_weight(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return _upb_hasbit(msg, 1); }
855
879
  UPB_INLINE const struct google_protobuf_UInt32Value* envoy_config_route_v3_WeightedCluster_ClusterWeight_weight(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_UInt32Value*); }
@@ -865,6 +889,8 @@ UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_has_typed_pe
865
889
  UPB_INLINE size_t envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_size(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg) {return _upb_msg_map_size(msg, UPB_SIZE(36, 72)); }
866
890
  UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_get(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key, struct google_protobuf_Any* *val) { return _upb_msg_map_get(msg, UPB_SIZE(36, 72), &key, 0, val, sizeof(*val)); }
867
891
  UPB_INLINE const envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry* envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_next(const envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t* iter) { return (const envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(36, 72), iter); }
892
+ 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(48, 96)) == 11; }
893
+ 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(40, 80), UPB_SIZE(48, 96), 11, upb_strview_make("", strlen(""))); }
868
894
 
869
895
  UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_name(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview value) {
870
896
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
@@ -945,6 +971,9 @@ UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_fi
945
971
  UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_set(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key, struct google_protobuf_Any* val, upb_arena *a) { return _upb_msg_map_set(msg, UPB_SIZE(36, 72), &key, 0, &val, sizeof(val), a); }
946
972
  UPB_INLINE bool envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_delete(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview key) { return _upb_msg_map_delete(msg, UPB_SIZE(36, 72), &key, 0); }
947
973
  UPB_INLINE envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry* envoy_config_route_v3_WeightedCluster_ClusterWeight_typed_per_filter_config_nextmutable(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, size_t* iter) { return (envoy_config_route_v3_WeightedCluster_ClusterWeight_TypedPerFilterConfigEntry*)_upb_msg_map_next(msg, UPB_SIZE(36, 72), iter); }
974
+ UPB_INLINE void envoy_config_route_v3_WeightedCluster_ClusterWeight_set_host_rewrite_literal(envoy_config_route_v3_WeightedCluster_ClusterWeight *msg, upb_strview value) {
975
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(40, 80), value, UPB_SIZE(48, 96), 11);
976
+ }
948
977
 
949
978
  /* envoy.config.route.v3.WeightedCluster.ClusterWeight.TypedPerFilterConfigEntry */
950
979
 
@@ -1346,6 +1375,7 @@ typedef enum {
1346
1375
  envoy_config_route_v3_RouteAction_cluster_specifier_cluster = 1,
1347
1376
  envoy_config_route_v3_RouteAction_cluster_specifier_cluster_header = 2,
1348
1377
  envoy_config_route_v3_RouteAction_cluster_specifier_weighted_clusters = 3,
1378
+ envoy_config_route_v3_RouteAction_cluster_specifier_cluster_specifier_plugin = 37,
1349
1379
  envoy_config_route_v3_RouteAction_cluster_specifier_NOT_SET = 0
1350
1380
  } envoy_config_route_v3_RouteAction_cluster_specifier_oneofcases;
1351
1381
  UPB_INLINE envoy_config_route_v3_RouteAction_cluster_specifier_oneofcases envoy_config_route_v3_RouteAction_cluster_specifier_case(const envoy_config_route_v3_RouteAction* msg) { return (envoy_config_route_v3_RouteAction_cluster_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(104, 192), int32_t); }
@@ -1413,6 +1443,8 @@ UPB_INLINE bool envoy_config_route_v3_RouteAction_has_host_rewrite_path_regex(co
1413
1443
  UPB_INLINE const struct envoy_type_matcher_v3_RegexMatchAndSubstitute* envoy_config_route_v3_RouteAction_host_rewrite_path_regex(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_RegexMatchAndSubstitute*, UPB_SIZE(108, 200), UPB_SIZE(116, 216), 35, NULL); }
1414
1444
  UPB_INLINE bool envoy_config_route_v3_RouteAction_has_max_stream_duration(const envoy_config_route_v3_RouteAction *msg) { return _upb_hasbit(msg, 14); }
1415
1445
  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*); }
1446
+ 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; }
1447
+ UPB_INLINE upb_strview envoy_config_route_v3_RouteAction_cluster_specifier_plugin(const envoy_config_route_v3_RouteAction *msg) { return UPB_READ_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), UPB_SIZE(104, 192), 37, upb_strview_make("", strlen(""))); }
1416
1448
 
1417
1449
  UPB_INLINE void envoy_config_route_v3_RouteAction_set_cluster(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1418
1450
  UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), value, UPB_SIZE(104, 192), 1);
@@ -1708,6 +1740,9 @@ UPB_INLINE struct envoy_config_route_v3_RouteAction_MaxStreamDuration* envoy_con
1708
1740
  }
1709
1741
  return sub;
1710
1742
  }
1743
+ UPB_INLINE void envoy_config_route_v3_RouteAction_set_cluster_specifier_plugin(envoy_config_route_v3_RouteAction *msg, upb_strview value) {
1744
+ UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(96, 176), value, UPB_SIZE(104, 192), 37);
1745
+ }
1711
1746
 
1712
1747
  /* envoy.config.route.v3.RouteAction.RequestMirrorPolicy */
1713
1748
 
@@ -2770,6 +2805,28 @@ UPB_INLINE struct envoy_config_core_v3_DataSource* envoy_config_route_v3_DirectR
2770
2805
  return sub;
2771
2806
  }
2772
2807
 
2808
+ /* envoy.config.route.v3.NonForwardingAction */
2809
+
2810
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_new(upb_arena *arena) {
2811
+ return (envoy_config_route_v3_NonForwardingAction *)_upb_msg_new(&envoy_config_route_v3_NonForwardingAction_msginit, arena);
2812
+ }
2813
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_parse(const char *buf, size_t size,
2814
+ upb_arena *arena) {
2815
+ envoy_config_route_v3_NonForwardingAction *ret = envoy_config_route_v3_NonForwardingAction_new(arena);
2816
+ return (ret && upb_decode(buf, size, ret, &envoy_config_route_v3_NonForwardingAction_msginit, arena)) ? ret : NULL;
2817
+ }
2818
+ UPB_INLINE envoy_config_route_v3_NonForwardingAction *envoy_config_route_v3_NonForwardingAction_parse_ex(const char *buf, size_t size,
2819
+ upb_arena *arena, int options) {
2820
+ envoy_config_route_v3_NonForwardingAction *ret = envoy_config_route_v3_NonForwardingAction_new(arena);
2821
+ return (ret && _upb_decode(buf, size, ret, &envoy_config_route_v3_NonForwardingAction_msginit, arena, options))
2822
+ ? ret : NULL;
2823
+ }
2824
+ UPB_INLINE char *envoy_config_route_v3_NonForwardingAction_serialize(const envoy_config_route_v3_NonForwardingAction *msg, upb_arena *arena, size_t *len) {
2825
+ return upb_encode(msg, &envoy_config_route_v3_NonForwardingAction_msginit, arena, len);
2826
+ }
2827
+
2828
+
2829
+
2773
2830
  /* envoy.config.route.v3.Decorator */
2774
2831
 
2775
2832
  UPB_INLINE envoy_config_route_v3_Decorator *envoy_config_route_v3_Decorator_new(upb_arena *arena) {
@@ -3554,6 +3611,7 @@ typedef enum {
3554
3611
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_prefix_match = 9,
3555
3612
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_suffix_match = 10,
3556
3613
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_contains_match = 12,
3614
+ envoy_config_route_v3_HeaderMatcher_header_match_specifier_string_match = 13,
3557
3615
  envoy_config_route_v3_HeaderMatcher_header_match_specifier_NOT_SET = 0
3558
3616
  } envoy_config_route_v3_HeaderMatcher_header_match_specifier_oneofcases;
3559
3617
  UPB_INLINE envoy_config_route_v3_HeaderMatcher_header_match_specifier_oneofcases envoy_config_route_v3_HeaderMatcher_header_match_specifier_case(const envoy_config_route_v3_HeaderMatcher* msg) { return (envoy_config_route_v3_HeaderMatcher_header_match_specifier_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(20, 40), int32_t); }
@@ -3574,6 +3632,8 @@ UPB_INLINE bool envoy_config_route_v3_HeaderMatcher_has_safe_regex_match(const e
3574
3632
  UPB_INLINE const struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_HeaderMatcher_safe_regex_match(const envoy_config_route_v3_HeaderMatcher *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_RegexMatcher*, UPB_SIZE(12, 24), UPB_SIZE(20, 40), 11, NULL); }
3575
3633
  UPB_INLINE bool envoy_config_route_v3_HeaderMatcher_has_contains_match(const envoy_config_route_v3_HeaderMatcher *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 12; }
3576
3634
  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(""))); }
3635
+ 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; }
3636
+ UPB_INLINE const struct envoy_type_matcher_v3_StringMatcher* envoy_config_route_v3_HeaderMatcher_string_match(const envoy_config_route_v3_HeaderMatcher *msg) { return UPB_READ_ONEOF(msg, const struct envoy_type_matcher_v3_StringMatcher*, UPB_SIZE(12, 24), UPB_SIZE(20, 40), 13, NULL); }
3577
3637
 
3578
3638
  UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_name(envoy_config_route_v3_HeaderMatcher *msg, upb_strview value) {
3579
3639
  *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
@@ -3620,6 +3680,18 @@ UPB_INLINE struct envoy_type_matcher_v3_RegexMatcher* envoy_config_route_v3_Head
3620
3680
  UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_contains_match(envoy_config_route_v3_HeaderMatcher *msg, upb_strview value) {
3621
3681
  UPB_WRITE_ONEOF(msg, upb_strview, UPB_SIZE(12, 24), value, UPB_SIZE(20, 40), 12);
3622
3682
  }
3683
+ UPB_INLINE void envoy_config_route_v3_HeaderMatcher_set_string_match(envoy_config_route_v3_HeaderMatcher *msg, struct envoy_type_matcher_v3_StringMatcher* value) {
3684
+ UPB_WRITE_ONEOF(msg, struct envoy_type_matcher_v3_StringMatcher*, UPB_SIZE(12, 24), value, UPB_SIZE(20, 40), 13);
3685
+ }
3686
+ 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) {
3687
+ struct envoy_type_matcher_v3_StringMatcher* sub = (struct envoy_type_matcher_v3_StringMatcher*)envoy_config_route_v3_HeaderMatcher_string_match(msg);
3688
+ if (sub == NULL) {
3689
+ sub = (struct envoy_type_matcher_v3_StringMatcher*)_upb_msg_new(&envoy_type_matcher_v3_StringMatcher_msginit, arena);
3690
+ if (!sub) return NULL;
3691
+ envoy_config_route_v3_HeaderMatcher_set_string_match(msg, sub);
3692
+ }
3693
+ return sub;
3694
+ }
3623
3695
 
3624
3696
  /* envoy.config.route.v3.QueryParameterMatcher */
3625
3697
 
@@ -51,7 +51,7 @@ static const upb_msglayout *const envoy_extensions_filters_http_fault_v3_HTTPFau
51
51
  &google_protobuf_UInt32Value_msginit,
52
52
  };
53
53
 
54
- static const upb_msglayout_field envoy_extensions_filters_http_fault_v3_HTTPFault__fields[14] = {
54
+ static const upb_msglayout_field envoy_extensions_filters_http_fault_v3_HTTPFault__fields[15] = {
55
55
  {1, UPB_SIZE(68, 136), 1, 1, 11, 1},
56
56
  {2, UPB_SIZE(72, 144), 2, 3, 11, 1},
57
57
  {3, UPB_SIZE(4, 8), 0, 0, 9, 1},
@@ -66,12 +66,13 @@ static const upb_msglayout_field envoy_extensions_filters_http_fault_v3_HTTPFaul
66
66
  {12, UPB_SIZE(44, 88), 0, 0, 9, 1},
67
67
  {13, UPB_SIZE(52, 104), 0, 0, 9, 1},
68
68
  {14, UPB_SIZE(60, 120), 0, 0, 9, 1},
69
+ {15, UPB_SIZE(1, 1), 0, 0, 8, 1},
69
70
  };
70
71
 
71
72
  const upb_msglayout envoy_extensions_filters_http_fault_v3_HTTPFault_msginit = {
72
73
  &envoy_extensions_filters_http_fault_v3_HTTPFault_submsgs[0],
73
74
  &envoy_extensions_filters_http_fault_v3_HTTPFault__fields[0],
74
- UPB_SIZE(96, 192), 14, false, 255,
75
+ UPB_SIZE(96, 192), 15, false, 255,
75
76
  };
76
77
 
77
78
  #include "upb/port_undef.inc"
@@ -171,6 +171,7 @@ UPB_INLINE upb_strview envoy_extensions_filters_http_fault_v3_HTTPFault_abort_ht
171
171
  UPB_INLINE upb_strview envoy_extensions_filters_http_fault_v3_HTTPFault_max_active_faults_runtime(const envoy_extensions_filters_http_fault_v3_HTTPFault *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(44, 88), upb_strview); }
172
172
  UPB_INLINE upb_strview envoy_extensions_filters_http_fault_v3_HTTPFault_response_rate_limit_percent_runtime(const envoy_extensions_filters_http_fault_v3_HTTPFault *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(52, 104), upb_strview); }
173
173
  UPB_INLINE upb_strview envoy_extensions_filters_http_fault_v3_HTTPFault_abort_grpc_status_runtime(const envoy_extensions_filters_http_fault_v3_HTTPFault *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(60, 120), upb_strview); }
174
+ UPB_INLINE bool envoy_extensions_filters_http_fault_v3_HTTPFault_disable_downstream_cluster_stats(const envoy_extensions_filters_http_fault_v3_HTTPFault *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool); }
174
175
 
175
176
  UPB_INLINE void envoy_extensions_filters_http_fault_v3_HTTPFault_set_delay(envoy_extensions_filters_http_fault_v3_HTTPFault *msg, struct envoy_extensions_filters_common_fault_v3_FaultDelay* value) {
176
177
  _upb_sethas(msg, 1);
@@ -271,6 +272,9 @@ UPB_INLINE void envoy_extensions_filters_http_fault_v3_HTTPFault_set_response_ra
271
272
  UPB_INLINE void envoy_extensions_filters_http_fault_v3_HTTPFault_set_abort_grpc_status_runtime(envoy_extensions_filters_http_fault_v3_HTTPFault *msg, upb_strview value) {
272
273
  *UPB_PTR_AT(msg, UPB_SIZE(60, 120), upb_strview) = value;
273
274
  }
275
+ UPB_INLINE void envoy_extensions_filters_http_fault_v3_HTTPFault_set_disable_downstream_cluster_stats(envoy_extensions_filters_http_fault_v3_HTTPFault *msg, bool value) {
276
+ *UPB_PTR_AT(msg, UPB_SIZE(1, 1), bool) = value;
277
+ }
274
278
 
275
279
  #ifdef __cplusplus
276
280
  } /* extern "C" */