grpc 1.81.1 → 1.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (948) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +15 -9
  3. data/etc/roots.pem +10400 -3855
  4. data/include/grpc/grpc.h +6 -7
  5. data/include/grpc/grpc_audit_logging.h +2 -2
  6. data/include/grpc/grpc_security_constants.h +2 -0
  7. data/include/grpc/impl/channel_arg_names.h +26 -1
  8. data/src/core/call/call_filters.h +21 -5
  9. data/src/core/call/call_spine.h +4 -4
  10. data/src/core/call/client_call.cc +2 -2
  11. data/src/core/call/interception_chain.h +6 -9
  12. data/src/core/call/metadata.cc +7 -2
  13. data/src/core/call/metadata.h +1 -1
  14. data/src/core/call/metadata_batch.cc +1 -1
  15. data/src/core/call/metadata_batch.h +17 -1
  16. data/src/core/call/parsed_metadata.h +7 -2
  17. data/src/core/call/server_call.cc +16 -4
  18. data/src/core/call/server_call.h +14 -5
  19. data/src/core/call/status_util.cc +0 -4
  20. data/src/core/call/status_util.h +0 -3
  21. data/src/core/channelz/channel_trace.cc +3 -1
  22. data/src/core/client_channel/backup_poller.cc +2 -17
  23. data/src/core/client_channel/client_channel.cc +23 -28
  24. data/src/core/client_channel/client_channel.h +5 -3
  25. data/src/core/client_channel/client_channel_filter.cc +19 -30
  26. data/src/core/client_channel/client_channel_filter.h +2 -2
  27. data/src/core/client_channel/client_channel_plugin.cc +1 -1
  28. data/src/core/client_channel/client_channel_service_config.cc +5 -13
  29. data/src/core/client_channel/config_selector.h +2 -7
  30. data/src/core/client_channel/direct_channel.cc +5 -1
  31. data/src/core/client_channel/direct_channel.h +3 -1
  32. data/src/core/client_channel/dynamic_filters.cc +4 -7
  33. data/src/core/client_channel/dynamic_filters.h +1 -3
  34. data/src/core/client_channel/retry_filter.cc +2 -25
  35. data/src/core/client_channel/retry_filter.h +3 -7
  36. data/src/core/client_channel/retry_filter_legacy_call_data.cc +1 -1
  37. data/src/core/client_channel/retry_filter_legacy_call_data.h +2 -2
  38. data/src/core/client_channel/retry_interceptor.cc +7 -35
  39. data/src/core/client_channel/retry_interceptor.h +11 -14
  40. data/src/core/client_channel/retry_service_config.cc +0 -2
  41. data/src/core/client_channel/retry_service_config.h +0 -2
  42. data/src/core/client_channel/retry_throttle.cc +19 -7
  43. data/src/core/client_channel/retry_throttle.h +24 -7
  44. data/src/core/client_channel/subchannel.cc +1 -1
  45. data/src/core/{filter/blackboard.cc → config/experiment_env_var.cc} +11 -14
  46. data/src/core/config/experiment_env_var.h +26 -0
  47. data/src/core/credentials/call/external/external_account_credentials.cc +125 -12
  48. data/src/core/credentials/call/external/external_account_credentials.h +6 -1
  49. data/src/core/credentials/call/jwt/jwt_credentials.cc +11 -1
  50. data/src/core/credentials/call/jwt/jwt_credentials.h +3 -0
  51. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +64 -11
  52. data/src/core/credentials/call/oauth2/oauth2_credentials.h +0 -1
  53. data/src/core/credentials/call/regional_access_boundary_fetcher.cc +411 -0
  54. data/src/core/credentials/call/regional_access_boundary_fetcher.h +158 -0
  55. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +1 -1
  56. data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +7 -1
  57. data/src/core/credentials/transport/insecure/insecure_security_connector.h +1 -1
  58. data/src/core/credentials/transport/local/local_security_connector.cc +1 -1
  59. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +14 -2
  60. data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.cc +172 -0
  61. data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.h +103 -0
  62. data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +3 -2
  63. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +10 -3
  64. data/src/core/credentials/transport/tls/tls_security_connector.cc +14 -2
  65. data/src/core/credentials/transport/xds/xds_credentials.cc +4 -12
  66. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -0
  67. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +28 -66
  68. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -8
  69. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +24 -58
  70. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +24 -19
  71. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -81
  72. data/src/core/ext/filters/message_size/message_size_filter.h +1 -50
  73. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -1
  74. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -56
  75. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -14
  76. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
  77. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +184 -54
  78. data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -1
  79. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +84 -15
  80. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
  81. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  82. data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -2
  83. data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +2 -4
  84. data/src/core/ext/transport/chttp2/transport/frame.cc +120 -13
  85. data/src/core/ext/transport/chttp2/transport/frame.h +57 -10
  86. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -1
  87. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +13 -7
  88. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
  89. data/src/core/ext/transport/chttp2/transport/frame_security.cc +10 -1
  90. data/src/core/ext/transport/chttp2/transport/frame_security.h +2 -1
  91. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
  92. data/src/core/ext/transport/chttp2/transport/goaway.cc +11 -1
  93. data/src/core/ext/transport/chttp2/transport/goaway.h +17 -1
  94. data/src/core/ext/transport/chttp2/transport/header_assembler.h +54 -22
  95. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +53 -5
  96. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +22 -0
  97. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +20 -0
  98. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +42 -1
  99. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
  100. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +219 -417
  101. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +49 -29
  102. data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +2073 -0
  103. data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +746 -0
  104. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
  105. data/src/core/ext/transport/chttp2/transport/http2_settings.h +49 -15
  106. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +0 -2
  107. data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +74 -26
  108. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +39 -15
  109. data/src/core/ext/transport/chttp2/transport/http2_transport.h +18 -48
  110. data/src/core/ext/transport/chttp2/transport/internal.h +18 -0
  111. data/src/core/ext/transport/chttp2/transport/message_assembler.h +1 -2
  112. data/src/core/ext/transport/chttp2/transport/parsing.cc +85 -26
  113. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +1 -1
  114. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +4 -10
  115. data/src/core/ext/transport/chttp2/transport/read_context.h +494 -0
  116. data/src/core/ext/transport/chttp2/transport/security_frame.h +13 -3
  117. data/src/core/ext/transport/chttp2/transport/stream.h +287 -137
  118. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +83 -65
  119. data/src/core/ext/transport/chttp2/transport/write_cycle.h +9 -1
  120. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +16 -2
  121. data/src/core/ext/upb-gen/cel/expr/checked.upb.h +621 -432
  122. data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +264 -166
  123. data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.h +0 -13
  124. data/src/core/ext/upb-gen/cel/expr/syntax.upb.h +708 -497
  125. data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +294 -176
  126. data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.h +0 -15
  127. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +262 -181
  128. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +84 -58
  129. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +0 -5
  130. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +254 -190
  131. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +107 -53
  132. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +0 -4
  133. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +271 -190
  134. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +88 -64
  135. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +0 -5
  136. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +1035 -730
  137. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +384 -260
  138. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +0 -19
  139. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +87 -56
  140. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +26 -16
  141. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +0 -2
  142. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +105 -71
  143. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +30 -22
  144. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +0 -2
  145. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +31 -29
  146. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +19 -7
  147. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +0 -1
  148. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +25 -23
  149. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +15 -7
  150. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +0 -1
  151. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +25 -23
  152. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +15 -7
  153. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +0 -1
  154. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +201 -165
  155. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +79 -31
  156. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +0 -2
  157. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +29 -26
  158. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +17 -11
  159. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +0 -1
  160. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +46 -29
  161. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +37 -19
  162. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +4 -4
  163. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +34 -27
  164. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +34 -13
  165. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +1 -2
  166. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +617 -452
  167. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +221 -163
  168. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +0 -16
  169. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +1339 -970
  170. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +484 -324
  171. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +0 -23
  172. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +181 -135
  173. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +59 -43
  174. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +0 -3
  175. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +1353 -1028
  176. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +535 -361
  177. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +0 -25
  178. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +37 -33
  179. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +19 -13
  180. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +0 -1
  181. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +234 -196
  182. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +77 -57
  183. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +0 -1
  184. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +695 -502
  185. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +246 -186
  186. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +0 -15
  187. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb.h +140 -116
  188. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +53 -43
  189. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.h +0 -3
  190. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +363 -269
  191. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +131 -89
  192. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +0 -8
  193. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +35 -31
  194. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +15 -13
  195. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +0 -1
  196. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +1073 -769
  197. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +515 -293
  198. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +0 -30
  199. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb.h +25 -23
  200. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +15 -7
  201. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.h +0 -1
  202. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +375 -267
  203. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +142 -86
  204. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +0 -7
  205. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +32 -27
  206. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +13 -11
  207. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +0 -1
  208. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +29 -26
  209. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +17 -11
  210. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +0 -1
  211. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +87 -56
  212. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +26 -16
  213. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +0 -2
  214. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +634 -468
  215. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +255 -161
  216. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +0 -14
  217. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +672 -474
  218. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +228 -130
  219. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +0 -9
  220. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +56 -40
  221. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +15 -13
  222. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +0 -1
  223. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +34 -29
  224. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +19 -11
  225. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +0 -1
  226. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +811 -635
  227. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +347 -221
  228. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +0 -16
  229. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +174 -118
  230. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +62 -38
  231. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +0 -4
  232. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +78 -57
  233. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +28 -18
  234. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +0 -2
  235. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +37 -33
  236. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +22 -14
  237. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +0 -1
  238. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +159 -119
  239. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +47 -35
  240. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +0 -5
  241. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +101 -76
  242. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +41 -23
  243. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +0 -2
  244. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +35 -31
  245. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +15 -13
  246. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +0 -1
  247. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +189 -127
  248. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +79 -49
  249. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +0 -4
  250. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +378 -283
  251. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +156 -98
  252. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +0 -8
  253. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +354 -255
  254. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +125 -69
  255. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +0 -6
  256. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +27 -24
  257. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +13 -11
  258. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +0 -1
  259. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +611 -451
  260. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +159 -119
  261. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +0 -11
  262. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +468 -321
  263. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +157 -99
  264. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -6
  265. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +146 -119
  266. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +55 -35
  267. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +0 -1
  268. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +61 -51
  269. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +16 -16
  270. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +0 -2
  271. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +43 -39
  272. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +25 -13
  273. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +0 -1
  274. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +341 -247
  275. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +130 -84
  276. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +0 -8
  277. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +452 -313
  278. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +144 -100
  279. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +0 -10
  280. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +666 -493
  281. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +251 -181
  282. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +0 -12
  283. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +327 -197
  284. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +92 -48
  285. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +0 -3
  286. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3583 -2532
  287. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +1340 -816
  288. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +0 -60
  289. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +111 -82
  290. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +48 -28
  291. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +0 -3
  292. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +548 -410
  293. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +214 -148
  294. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +0 -12
  295. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +59 -50
  296. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +30 -20
  297. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +0 -2
  298. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +29 -26
  299. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +17 -11
  300. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +0 -1
  301. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +60 -49
  302. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +28 -20
  303. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +0 -2
  304. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +50 -36
  305. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +19 -11
  306. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +0 -1
  307. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +82 -63
  308. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +27 -19
  309. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +0 -1
  310. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +27 -24
  311. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +13 -11
  312. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +0 -1
  313. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +70 -58
  314. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +32 -22
  315. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +0 -2
  316. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +2 -5
  317. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +1 -1
  318. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +73 -62
  319. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +39 -25
  320. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +0 -2
  321. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +49 -45
  322. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +33 -13
  323. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +0 -1
  324. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +771 -588
  325. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +383 -185
  326. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +0 -16
  327. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +66 -47
  328. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +31 -17
  329. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +0 -2
  330. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb.h +69 -58
  331. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.c +27 -23
  332. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.h +0 -2
  333. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +151 -119
  334. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +45 -39
  335. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +0 -5
  336. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb.h +19 -17
  337. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.c +1 -3
  338. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.h +0 -1
  339. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb.h +144 -109
  340. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.c +46 -38
  341. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.h +0 -4
  342. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +184 -139
  343. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +65 -35
  344. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +0 -3
  345. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +129 -106
  346. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +69 -41
  347. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +0 -4
  348. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +83 -71
  349. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +40 -26
  350. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +0 -2
  351. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +148 -101
  352. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +45 -27
  353. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +0 -2
  354. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +62 -51
  355. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +35 -21
  356. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +0 -2
  357. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1362 -1024
  358. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +508 -336
  359. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +0 -22
  360. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb.h +21 -19
  361. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +13 -7
  362. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.h +0 -1
  363. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb.h +35 -31
  364. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c +15 -13
  365. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.h +0 -1
  366. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb.h +27 -24
  367. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c +13 -11
  368. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.h +0 -1
  369. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +27 -24
  370. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +13 -11
  371. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +0 -1
  372. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +94 -74
  373. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +35 -23
  374. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +0 -1
  375. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +231 -179
  376. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +88 -66
  377. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +0 -6
  378. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +21 -19
  379. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +13 -7
  380. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +0 -1
  381. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +63 -56
  382. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +31 -19
  383. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +0 -1
  384. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +27 -24
  385. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +13 -11
  386. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +0 -1
  387. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +27 -24
  388. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +13 -11
  389. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +0 -1
  390. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -5
  391. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +1 -1
  392. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +538 -364
  393. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +157 -95
  394. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +0 -8
  395. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -110
  396. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +69 -49
  397. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +0 -4
  398. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +517 -389
  399. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +182 -116
  400. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +0 -7
  401. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +84 -62
  402. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +30 -22
  403. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +0 -2
  404. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +340 -256
  405. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +92 -82
  406. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +0 -5
  407. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +19 -17
  408. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +1 -3
  409. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +0 -1
  410. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +857 -566
  411. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +288 -182
  412. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +0 -15
  413. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +105 -72
  414. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +36 -22
  415. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +0 -2
  416. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +312 -226
  417. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +132 -78
  418. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +0 -5
  419. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +82 -61
  420. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +35 -19
  421. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +0 -2
  422. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +123 -89
  423. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +25 -25
  424. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +0 -4
  425. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +48 -33
  426. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +13 -11
  427. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +0 -1
  428. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +42 -36
  429. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +19 -13
  430. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +0 -1
  431. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +101 -79
  432. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +61 -31
  433. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +0 -5
  434. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +83 -60
  435. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +37 -19
  436. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +0 -2
  437. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +56 -40
  438. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +15 -13
  439. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +0 -1
  440. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +34 -29
  441. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +13 -11
  442. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +0 -1
  443. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +32 -27
  444. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +13 -11
  445. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +0 -1
  446. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +88 -71
  447. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +48 -30
  448. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +0 -3
  449. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +37 -30
  450. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +1 -5
  451. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +0 -2
  452. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +95 -71
  453. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +36 -22
  454. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +0 -2
  455. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +79 -56
  456. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +26 -18
  457. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +0 -2
  458. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +164 -124
  459. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +54 -40
  460. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +0 -4
  461. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +200 -147
  462. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +47 -41
  463. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +0 -7
  464. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +160 -130
  465. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +89 -47
  466. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +0 -5
  467. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +78 -62
  468. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +26 -20
  469. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +0 -3
  470. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +2 -5
  471. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +1 -1
  472. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +21 -19
  473. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +13 -7
  474. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +0 -1
  475. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +43 -36
  476. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +22 -12
  477. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +0 -2
  478. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +67 -55
  479. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +36 -18
  480. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +0 -3
  481. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +62 -51
  482. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +33 -19
  483. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +0 -2
  484. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +2 -5
  485. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +1 -1
  486. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +25 -23
  487. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +15 -7
  488. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +0 -1
  489. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +37 -33
  490. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +19 -13
  491. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +0 -1
  492. data/src/core/ext/upb-gen/google/api/annotations.upb.h +15 -13
  493. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +22 -7
  494. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +1 -1
  495. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +619 -430
  496. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +260 -168
  497. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +0 -13
  498. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +734 -518
  499. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +312 -182
  500. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +0 -16
  501. data/src/core/ext/upb-gen/google/api/http.upb.h +146 -105
  502. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +65 -29
  503. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +0 -3
  504. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +52 -37
  505. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +19 -11
  506. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +0 -1
  507. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +23 -21
  508. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +15 -7
  509. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +0 -1
  510. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +2236 -1514
  511. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +824 -406
  512. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +0 -34
  513. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +23 -21
  514. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +15 -7
  515. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +0 -1
  516. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +19 -17
  517. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +1 -3
  518. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +0 -1
  519. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +149 -100
  520. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +59 -43
  521. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +0 -4
  522. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +23 -21
  523. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +15 -7
  524. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +0 -1
  525. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +181 -139
  526. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +99 -53
  527. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +0 -9
  528. data/src/core/ext/upb-gen/google/rpc/status.upb.h +52 -37
  529. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +19 -11
  530. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +0 -1
  531. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +1553 -1157
  532. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +712 -410
  533. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +0 -39
  534. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +189 -125
  535. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +59 -35
  536. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +0 -3
  537. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +454 -343
  538. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +204 -130
  539. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +0 -11
  540. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +369 -243
  541. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +109 -79
  542. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +0 -7
  543. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +256 -175
  544. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +122 -68
  545. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +0 -8
  546. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +71 -51
  547. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +39 -19
  548. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +0 -2
  549. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +583 -407
  550. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +259 -145
  551. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +0 -12
  552. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +114 -84
  553. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +52 -30
  554. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +0 -4
  555. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +41 -34
  556. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +25 -13
  557. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +0 -2
  558. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +309 -230
  559. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +123 -79
  560. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +0 -9
  561. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +98 -63
  562. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +51 -23
  563. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +0 -3
  564. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +505 -312
  565. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +159 -87
  566. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +0 -9
  567. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +128 -91
  568. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +82 -41
  569. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +5 -8
  570. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +36 -29
  571. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +36 -13
  572. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +1 -2
  573. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +13 -11
  574. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +22 -7
  575. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +1 -1
  576. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +36 -29
  577. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +36 -13
  578. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +1 -2
  579. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +34 -27
  580. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +34 -13
  581. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +1 -2
  582. data/src/core/ext/upb-gen/validate/validate.upb.h +1682 -1130
  583. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +587 -247
  584. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +4 -27
  585. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +128 -91
  586. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +82 -41
  587. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +5 -8
  588. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +36 -29
  589. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +36 -13
  590. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +1 -2
  591. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +13 -11
  592. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +22 -7
  593. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +1 -1
  594. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +122 -90
  595. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +82 -39
  596. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +3 -7
  597. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +34 -27
  598. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +34 -13
  599. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +1 -2
  600. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +21 -19
  601. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +13 -7
  602. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +0 -1
  603. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +29 -26
  604. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +17 -11
  605. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +0 -1
  606. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +70 -58
  607. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +32 -22
  608. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +0 -2
  609. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +53 -34
  610. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +26 -16
  611. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +0 -2
  612. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +29 -26
  613. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +17 -11
  614. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +0 -1
  615. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +37 -33
  616. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +22 -14
  617. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +0 -1
  618. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +102 -76
  619. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +43 -23
  620. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +0 -2
  621. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +33 -30
  622. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +19 -11
  623. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +0 -1
  624. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +136 -83
  625. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +41 -33
  626. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +0 -4
  627. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +46 -32
  628. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +20 -12
  629. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +0 -1
  630. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +29 -26
  631. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +20 -12
  632. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +0 -1
  633. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +93 -61
  634. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +28 -20
  635. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +0 -2
  636. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +19 -17
  637. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +1 -3
  638. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +0 -1
  639. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +105 -71
  640. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +32 -22
  641. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +0 -2
  642. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +430 -314
  643. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +153 -123
  644. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +0 -10
  645. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +307 -199
  646. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +74 -62
  647. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +0 -6
  648. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +52 -42
  649. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +19 -13
  650. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +0 -2
  651. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +95 -71
  652. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +36 -22
  653. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +0 -2
  654. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +92 -77
  655. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +42 -28
  656. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +0 -2
  657. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +67 -55
  658. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +36 -18
  659. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +0 -3
  660. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +29 -26
  661. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +17 -11
  662. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +0 -1
  663. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +885 -855
  664. data/src/core/filter/composite/composite_filter.cc +10 -3
  665. data/src/core/filter/composite/composite_filter.h +11 -1
  666. data/src/core/filter/filter_args.h +4 -22
  667. data/src/core/handshaker/handshaker.cc +10 -2
  668. data/src/core/handshaker/security/secure_endpoint.cc +60 -5
  669. data/src/core/lib/channel/channel_args.h +12 -6
  670. data/src/core/lib/channel/channel_stack.cc +1 -2
  671. data/src/core/lib/channel/channel_stack.h +1 -7
  672. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
  673. data/src/core/lib/channel/channel_stack_builder_impl.h +0 -7
  674. data/src/core/lib/channel/promise_based_filter.cc +90 -4
  675. data/src/core/lib/channel/promise_based_filter.h +241 -188
  676. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +0 -13
  677. data/src/core/lib/event_engine/extensions/receive_coalescing_extension.h +44 -0
  678. data/src/core/lib/event_engine/extensions/tcp_trace.h +1 -1
  679. data/src/core/lib/event_engine/posix.h +2 -0
  680. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +2 -1
  681. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +11 -8
  682. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +9 -18
  683. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
  684. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +2 -1
  685. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +10 -10
  686. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +1 -1
  687. data/src/core/lib/event_engine/shim.cc +2 -16
  688. data/src/core/lib/event_engine/shim.h +0 -4
  689. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +1 -1
  690. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +5 -4
  691. data/src/core/lib/experiments/experiments.cc +303 -183
  692. data/src/core/lib/experiments/experiments.h +166 -90
  693. data/src/core/lib/iomgr/buffer_list.h +1 -1
  694. data/src/core/lib/iomgr/error.cc +3 -73
  695. data/src/core/lib/iomgr/error.h +8 -6
  696. data/src/core/lib/iomgr/error_cfstream.cc +1 -2
  697. data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -7
  698. data/src/core/lib/iomgr/ev_poll_posix.cc +2 -6
  699. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
  700. data/src/core/lib/iomgr/tcp_posix.cc +4 -7
  701. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
  702. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
  703. data/src/core/lib/promise/detail/promise_factory.h +8 -8
  704. data/src/core/lib/promise/interceptor_list.h +1 -1
  705. data/src/core/lib/promise/try_seq.h +2 -2
  706. data/src/core/lib/resource_quota/telemetry.cc +54 -0
  707. data/src/core/lib/resource_quota/telemetry.h +5 -23
  708. data/src/core/lib/security/authorization/audit_logging.cc +2 -2
  709. data/src/core/lib/security/authorization/audit_logging.h +3 -3
  710. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +11 -13
  711. data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -1
  712. data/src/core/lib/security/authorization/matchers.cc +20 -20
  713. data/src/core/lib/security/authorization/matchers.h +15 -16
  714. data/src/core/lib/security/authorization/rbac_policy.h +1 -1
  715. data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
  716. data/src/core/lib/security/authorization/stdout_logger.h +6 -5
  717. data/src/core/lib/surface/call.cc +6 -9
  718. data/src/core/lib/surface/call.h +11 -0
  719. data/src/core/lib/surface/channel.cc +21 -2
  720. data/src/core/lib/surface/channel.h +14 -6
  721. data/src/core/lib/surface/filter_stack_call.cc +10 -29
  722. data/src/core/lib/surface/legacy_channel.cc +7 -7
  723. data/src/core/lib/surface/legacy_channel.h +3 -1
  724. data/src/core/lib/surface/version.cc +2 -2
  725. data/src/core/lib/transport/bdp_estimator.cc +13 -13
  726. data/src/core/lib/transport/bdp_estimator.h +9 -5
  727. data/src/core/lib/transport/error_utils.cc +26 -138
  728. data/src/core/lib/transport/promise_endpoint.h +8 -8
  729. data/src/core/lib/transport/transport.h +31 -4
  730. data/src/core/load_balancing/grpclb/grpclb.cc +2 -1
  731. data/src/core/load_balancing/pick_first/pick_first.cc +33 -2
  732. data/src/core/load_balancing/pick_first/pick_first.h +6 -0
  733. data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -10
  734. data/src/core/load_balancing/rls/rls.cc +2 -1
  735. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +141 -74
  736. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.h +88 -0
  737. data/src/core/load_balancing/xds/cds.cc +80 -56
  738. data/src/core/load_balancing/xds/cds.h +21 -0
  739. data/src/core/mitigation_engine/mitigation.h +53 -0
  740. data/src/core/mitigation_engine/mitigation_engine.h +81 -0
  741. data/src/core/mitigation_engine/mitigation_provider.h +62 -0
  742. data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
  743. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -5
  744. data/src/core/resolver/dns/dns_resolver_plugin.cc +1 -6
  745. data/src/core/resolver/xds/xds_resolver.cc +37 -144
  746. data/src/core/server/server.cc +40 -18
  747. data/src/core/server/server.h +26 -18
  748. data/src/core/server/server_config_selector.h +5 -4
  749. data/src/core/server/server_config_selector_filter.cc +135 -26
  750. data/src/core/server/server_config_selector_filter.h +1 -0
  751. data/src/core/server/xds_server_config_fetcher.cc +687 -692
  752. data/src/core/server/xds_server_config_fetcher_legacy.cc +1336 -0
  753. data/src/core/telemetry/call_tracer.cc +49 -2
  754. data/src/core/telemetry/call_tracer.h +1 -0
  755. data/src/core/telemetry/histogram.h +10 -89
  756. data/src/core/telemetry/instrument.h +42 -28
  757. data/src/core/telemetry/tcp_tracer.h +38 -0
  758. data/src/core/transport/message_size_service_config.cc +123 -0
  759. data/src/core/transport/message_size_service_config.h +85 -0
  760. data/src/core/transport/session_endpoint.cc +29 -4
  761. data/src/core/transport/session_endpoint.h +4 -0
  762. data/src/core/tsi/alts/crypt/gsec.h +4 -2
  763. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  764. data/src/core/tsi/ssl_telemetry_utils.cc +343 -0
  765. data/src/core/tsi/ssl_telemetry_utils.h +74 -0
  766. data/src/core/tsi/ssl_transport_security.cc +583 -305
  767. data/src/core/tsi/ssl_transport_security.h +22 -6
  768. data/src/core/tsi/ssl_transport_security_utils.cc +2 -0
  769. data/src/core/tsi/transport_security.h +7 -0
  770. data/src/core/util/http_client/httpcli.cc +1 -4
  771. data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
  772. data/src/core/util/http_client/parser.cc +1 -1
  773. data/src/core/util/lru_cache.h +2 -0
  774. data/src/core/util/ref_counted_string.h +1 -1
  775. data/src/core/util/status_helper.cc +71 -192
  776. data/src/core/util/status_helper.h +16 -21
  777. data/src/core/util/tchar.cc +13 -7
  778. data/src/core/util/trie_lookup.h +1 -1
  779. data/src/core/xds/grpc/blackboard.cc +58 -0
  780. data/src/core/{filter → xds/grpc}/blackboard.h +30 -11
  781. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +2 -11
  782. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -7
  783. data/src/core/xds/grpc/xds_cluster_parser.cc +5 -16
  784. data/src/core/xds/grpc/xds_common_types.cc +96 -0
  785. data/src/core/xds/grpc/xds_common_types.h +35 -7
  786. data/src/core/xds/grpc/xds_common_types_parser.cc +205 -134
  787. data/src/core/xds/grpc/xds_common_types_parser.h +18 -1
  788. data/src/core/xds/grpc/xds_endpoint_parser.cc +7 -18
  789. data/src/core/xds/grpc/xds_http_composite_filter.cc +34 -18
  790. data/src/core/xds/grpc/xds_http_composite_filter.h +6 -3
  791. data/src/core/xds/grpc/xds_http_fault_filter.cc +0 -149
  792. data/src/core/xds/grpc/xds_http_fault_filter.h +19 -8
  793. data/src/core/xds/grpc/xds_http_filter.cc +2 -1
  794. data/src/core/xds/grpc/xds_http_filter.h +6 -16
  795. data/src/core/xds/grpc/xds_http_filter_registry.cc +2 -12
  796. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +25 -119
  797. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +27 -15
  798. data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -12
  799. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +0 -149
  800. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +19 -8
  801. data/src/core/xds/grpc/xds_lb_policy_registry.cc +18 -0
  802. data/src/core/xds/grpc/xds_listener_parser.cc +13 -9
  803. data/src/core/xds/grpc/xds_metadata_parser.cc +0 -2
  804. data/src/core/xds/grpc/xds_route_config.h +1 -1
  805. data/src/core/xds/grpc/xds_route_config_parser.cc +10 -16
  806. data/src/core/xds/grpc/xds_routing.cc +115 -90
  807. data/src/core/xds/grpc/xds_routing.h +73 -24
  808. data/src/core/xds/grpc/xds_server_grpc.cc +22 -13
  809. data/src/core/xds/grpc/xds_server_grpc.h +16 -2
  810. data/src/core/xds/grpc/xds_server_grpc_interface.h +10 -0
  811. data/src/core/xds/grpc/xds_transport_grpc.cc +123 -18
  812. data/src/core/xds/grpc/xds_transport_grpc.h +28 -4
  813. data/src/core/xds/xds_client/lrs_client.cc +4 -8
  814. data/src/core/xds/xds_client/xds_bootstrap.cc +4 -16
  815. data/src/core/xds/xds_client/xds_client.cc +2 -15
  816. data/src/core/xds/xds_client/xds_transport.h +3 -0
  817. data/src/ruby/ext/grpc/rb_byte_buffer.c +1 -0
  818. data/src/ruby/ext/grpc/rb_call.c +3 -0
  819. data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
  820. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  821. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  822. data/src/ruby/ext/grpc/rb_channel_credentials.c +1 -0
  823. data/src/ruby/ext/grpc/rb_completion_queue.c +1 -0
  824. data/src/ruby/ext/grpc/rb_compression_options.c +1 -0
  825. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -4
  826. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -6
  827. data/src/ruby/ext/grpc/rb_server.c +1 -0
  828. data/src/ruby/ext/grpc/rb_server_credentials.c +1 -0
  829. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +1 -0
  830. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +1 -0
  831. data/src/ruby/lib/grpc/core/call_credentials.rb +86 -0
  832. data/src/ruby/lib/grpc/core/channel_credentials.rb +69 -0
  833. data/src/ruby/lib/grpc/core/credentials_helper.rb +126 -0
  834. data/src/ruby/lib/grpc/generic/client_stub.rb +86 -73
  835. data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
  836. data/src/ruby/lib/grpc/version.rb +1 -1
  837. data/src/ruby/lib/grpc.rb +25 -0
  838. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -1
  839. data/src/ruby/spec/call_credentials_spec.rb +52 -2
  840. data/src/ruby/spec/credentials_helper_spec.rb +80 -0
  841. data/src/ruby/spec/generic/client_stub_spec.rb +27 -4
  842. data/src/ruby/spec/generic/server_interceptors_spec.rb +17 -3
  843. data/third_party/upb/upb/base/error_handler.h +79 -0
  844. data/third_party/upb/upb/base/internal/log2.h +29 -5
  845. data/third_party/upb/upb/generated_code_support.h +1 -0
  846. data/third_party/upb/upb/hash/common.c +129 -14
  847. data/third_party/upb/upb/hash/common.h +1 -1
  848. data/third_party/upb/upb/hash/ext_table.h +65 -0
  849. data/third_party/upb/upb/lex/strtod.c +14 -5
  850. data/third_party/upb/upb/mem/arena.c +113 -95
  851. data/third_party/upb/upb/mem/internal/arena.h +13 -8
  852. data/third_party/upb/upb/message/accessors.c +2 -3
  853. data/third_party/upb/upb/message/accessors.h +32 -12
  854. data/third_party/upb/upb/message/array.c +51 -2
  855. data/third_party/upb/upb/message/array.h +10 -0
  856. data/third_party/upb/upb/message/copy.c +18 -34
  857. data/third_party/upb/upb/message/internal/accessors.h +15 -49
  858. data/third_party/upb/upb/message/internal/array.h +1 -1
  859. data/third_party/upb/upb/message/internal/map.h +1 -1
  860. data/third_party/upb/upb/message/internal/message.c +8 -1
  861. data/third_party/upb/upb/message/internal/message.h +40 -10
  862. data/third_party/upb/upb/message/message.c +3 -2
  863. data/third_party/upb/upb/message/value.h +0 -6
  864. data/third_party/upb/upb/mini_descriptor/decode.c +78 -59
  865. data/third_party/upb/upb/mini_descriptor/link.c +8 -6
  866. data/third_party/upb/upb/mini_table/extension_registry.c +17 -49
  867. data/third_party/upb/upb/mini_table/extension_registry.h +5 -17
  868. data/third_party/upb/upb/mini_table/generated_registry.c +180 -0
  869. data/third_party/upb/upb/mini_table/generated_registry.h +66 -0
  870. data/third_party/upb/upb/mini_table/internal/extension.h +5 -3
  871. data/third_party/upb/upb/mini_table/internal/field.h +7 -5
  872. data/third_party/upb/upb/mini_table/internal/generated_registry.h +37 -0
  873. data/third_party/upb/upb/mini_table/internal/message.c +0 -18
  874. data/third_party/upb/upb/mini_table/internal/message.h +24 -41
  875. data/third_party/upb/upb/mini_table/internal/size_log2.h +2 -1
  876. data/third_party/upb/upb/mini_table/internal/sub.h +2 -5
  877. data/third_party/upb/upb/mini_table/message.h +34 -13
  878. data/third_party/upb/upb/port/atomic.h +180 -74
  879. data/third_party/upb/upb/port/def.inc +194 -29
  880. data/third_party/upb/upb/port/sanitizers.h +15 -0
  881. data/third_party/upb/upb/port/undef.inc +6 -2
  882. data/third_party/upb/upb/reflection/common.h +0 -6
  883. data/third_party/upb/upb/reflection/def.hpp +8 -12
  884. data/third_party/upb/upb/reflection/def_pool.c +85 -33
  885. data/third_party/upb/upb/reflection/def_pool.h +38 -8
  886. data/third_party/upb/upb/reflection/def_type.h +3 -0
  887. data/third_party/upb/upb/reflection/enum_def.c +45 -33
  888. data/third_party/upb/upb/reflection/enum_def.h +8 -4
  889. data/third_party/upb/upb/reflection/enum_reserved_range.c +7 -3
  890. data/third_party/upb/upb/reflection/enum_value_def.c +14 -29
  891. data/third_party/upb/upb/reflection/enum_value_def.h +5 -4
  892. data/third_party/upb/upb/reflection/extension_range.c +15 -14
  893. data/third_party/upb/upb/reflection/extension_range.h +7 -4
  894. data/third_party/upb/upb/reflection/field_def.c +114 -96
  895. data/third_party/upb/upb/reflection/field_def.h +3 -3
  896. data/third_party/upb/upb/reflection/file_def.c +71 -65
  897. data/third_party/upb/upb/reflection/file_def.h +4 -5
  898. data/third_party/upb/upb/reflection/internal/def_builder.c +22 -14
  899. data/third_party/upb/upb/reflection/internal/def_builder.h +44 -38
  900. data/third_party/upb/upb/reflection/internal/def_pool.h +5 -1
  901. data/third_party/upb/upb/reflection/internal/enum_def.h +6 -4
  902. data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +3 -2
  903. data/third_party/upb/upb/reflection/internal/enum_value_def.h +7 -4
  904. data/third_party/upb/upb/reflection/internal/extension_range.h +4 -3
  905. data/third_party/upb/upb/reflection/internal/field_def.h +15 -12
  906. data/third_party/upb/upb/reflection/internal/file_def.h +8 -1
  907. data/third_party/upb/upb/reflection/internal/message_def.h +10 -7
  908. data/third_party/upb/upb/reflection/internal/message_reserved_range.h +3 -1
  909. data/third_party/upb/upb/reflection/internal/method_def.h +6 -6
  910. data/third_party/upb/upb/reflection/internal/oneof_def.h +6 -6
  911. data/third_party/upb/upb/reflection/internal/service_def.h +9 -6
  912. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  913. data/third_party/upb/upb/reflection/message_def.c +46 -53
  914. data/third_party/upb/upb/reflection/message_def.h +6 -7
  915. data/third_party/upb/upb/reflection/message_reserved_range.c +7 -6
  916. data/third_party/upb/upb/reflection/method_def.c +22 -20
  917. data/third_party/upb/upb/reflection/method_def.h +4 -4
  918. data/third_party/upb/upb/reflection/oneof_def.c +17 -15
  919. data/third_party/upb/upb/reflection/oneof_def.h +6 -3
  920. data/third_party/upb/upb/reflection/service_def.c +50 -23
  921. data/third_party/upb/upb/reflection/service_def.h +7 -4
  922. data/third_party/upb/upb/text/internal/encode.c +7 -10
  923. data/third_party/upb/upb/wire/decode.c +269 -430
  924. data/third_party/upb/upb/wire/decode.h +6 -45
  925. data/third_party/upb/upb/wire/decode_fast/combinations.h +7 -3
  926. data/third_party/upb/upb/wire/decode_fast/select.c +7 -2
  927. data/third_party/upb/upb/wire/encode.c +144 -106
  928. data/third_party/upb/upb/wire/encode.h +6 -2
  929. data/third_party/upb/upb/wire/eps_copy_input_stream.c +36 -7
  930. data/third_party/upb/upb/wire/eps_copy_input_stream.h +94 -380
  931. data/third_party/upb/upb/wire/internal/decoder.c +1 -14
  932. data/third_party/upb/upb/wire/internal/decoder.h +84 -24
  933. data/third_party/upb/upb/wire/internal/eps_copy_input_stream.h +339 -0
  934. data/third_party/upb/upb/wire/internal/reader.h +29 -12
  935. data/third_party/upb/upb/wire/reader.c +35 -22
  936. data/third_party/upb/upb/wire/reader.h +11 -18
  937. data/third_party/utf8_range/utf8_range.c +1 -1
  938. data/third_party/utf8_range/utf8_range.h +2 -1
  939. metadata +35 -13
  940. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +0 -117
  941. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +0 -109
  942. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +0 -80
  943. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +0 -86
  944. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +0 -83
  945. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +0 -91
  946. data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +0 -217
  947. data/third_party/upb/upb/message/internal/tagged_ptr.h +0 -56
  948. data/third_party/upb/upb/message/tagged_ptr.h +0 -48
@@ -41,6 +41,9 @@ const char* const
41
41
  const char* const
42
42
  additional_constraints_call_tracer_send_trailing_metadata_is_an_annotation =
43
43
  "{}";
44
+ const char* const description_callv3_batch_validation =
45
+ "If enabled, perform validations on receiving a new batch.";
46
+ const char* const additional_constraints_callv3_batch_validation = "{}";
44
47
  const char* const description_chaotic_good_framing_layer =
45
48
  "Enable the chaotic good framing layer.";
46
49
  const char* const additional_constraints_chaotic_good_framing_layer = "{}";
@@ -48,9 +51,9 @@ const char* const description_chaotic_good_send_supported_features =
48
51
  "Send supported features in chaotic good settings frames.";
49
52
  const char* const additional_constraints_chaotic_good_send_supported_features =
50
53
  "{}";
51
- const char* const description_error_flatten =
52
- "Flatten errors to ordinary absl::Status form.";
53
- const char* const additional_constraints_error_flatten = "{}";
54
+ const char* const description_custom_frame_check =
55
+ "Adding checks to custom HTTP2 frame.";
56
+ const char* const additional_constraints_custom_frame_check = "{}";
54
57
  const char* const description_event_engine_client =
55
58
  "Use EventEngine clients instead of iomgr's grpc_tcp_client";
56
59
  const char* const additional_constraints_event_engine_client = "{}";
@@ -86,9 +89,6 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
86
89
  static_cast<uint8_t>(
87
90
  grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
88
91
  static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
89
- const char* const description_event_engine_poller_for_python =
90
- "Enable event engine poller in gRPC Python";
91
- const char* const additional_constraints_event_engine_poller_for_python = "{}";
92
92
  const char* const description_fail_recv_metadata_on_deadline_exceeded =
93
93
  "Fail recv initial metadata when the deadline is exceeded.";
94
94
  const char* const
@@ -103,6 +103,9 @@ const char* const description_h2_max_deallocating_streams_headroom =
103
103
  "Separate allocated max concurrent streams.";
104
104
  const char* const additional_constraints_h2_max_deallocating_streams_headroom =
105
105
  "{}";
106
+ const char* const description_inproc_cancel_stream =
107
+ "If set, cancel inproc stream inside the transport mutex.";
108
+ const char* const additional_constraints_inproc_cancel_stream = "{}";
106
109
  const char* const description_keep_alive_ping_timer_batch =
107
110
  "Avoid explicitly cancelling the keepalive timer. Instead adjust the "
108
111
  "callback to re-schedule itself to the next ping interval.";
@@ -111,13 +114,17 @@ const char* const description_local_connector_secure =
111
114
  "Local security connector uses TSI_SECURITY_NONE for LOCAL_TCP "
112
115
  "connections.";
113
116
  const char* const additional_constraints_local_connector_secure = "{}";
114
- const char* const description_max_inflight_pings_strict_limit =
115
- "If set, the max inflight pings limit is strictly enforced.";
116
- const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
117
117
  const char* const description_memory_optimization_01 = "Memory Optimization";
118
118
  const char* const additional_constraints_memory_optimization_01 = "{}";
119
119
  const char* const description_memory_optimization_02 = "Memory Optimization 02";
120
120
  const char* const additional_constraints_memory_optimization_02 = "{}";
121
+ const char* const description_message_size_refactoring =
122
+ "Refactoring the message size config parsing.";
123
+ const char* const additional_constraints_message_size_refactoring = "{}";
124
+ const char* const description_metadata_outstanding_token_refactor =
125
+ "Refactor ClientInitialMetadataOutstandingToken.";
126
+ const char* const additional_constraints_metadata_outstanding_token_refactor =
127
+ "{}";
121
128
  const char* const description_metadata_publish_to_app_tag =
122
129
  "Publish metadata to the app using the kPublishToApp metadata field.";
123
130
  const char* const additional_constraints_metadata_publish_to_app_tag = "{}";
@@ -131,12 +138,39 @@ const char* const description_optimization_01 = "Optimization";
131
138
  const char* const additional_constraints_optimization_01 = "{}";
132
139
  const char* const description_optimization_02 = "Optimization";
133
140
  const char* const additional_constraints_optimization_02 = "{}";
141
+ const char* const description_optimization_03 = "Optimization";
142
+ const char* const additional_constraints_optimization_03 = "{}";
143
+ const char* const description_optimization_04 = "Optimization";
144
+ const char* const additional_constraints_optimization_04 = "{}";
145
+ const char* const description_optimization_05 = "Optimization";
146
+ const char* const additional_constraints_optimization_05 = "{}";
147
+ const char* const description_optimization_06 = "Optimization";
148
+ const char* const additional_constraints_optimization_06 = "{}";
134
149
  const char* const description_otel_export_telemetry_domains =
135
150
  "Export telemetry domains in OpenTelemetry metrics.";
136
151
  const char* const additional_constraints_otel_export_telemetry_domains = "{}";
152
+ const char* const description_ph2_client =
153
+ "Use promises for the http2 client transport. We have kept client and "
154
+ "server transport experiments separate to help with smoother roll outs. "
155
+ "When this flag is enabled for the test suites, it would test PH2 Client "
156
+ "with CHTTP2 Server.";
157
+ const char* const additional_constraints_ph2_client = "{}";
158
+ const char* const description_ph2_client_server =
159
+ "This is a combination of ph2_server and ph2_client experiments. When this "
160
+ "flag is enabled for the test suites, it would test PH2 Client with PH2 "
161
+ "Server. We will NEVER be rolling out this experiment, because the roll "
162
+ "out would be done using ph2_server and ph2_client. This experiment MUST "
163
+ "be deleted when either ph2_server or ph2_client experiments are deleted.";
164
+ const char* const additional_constraints_ph2_client_server = "{}";
137
165
  const char* const description_ph2_perf_01 =
138
166
  "Different performance experiments for PH2 Transport";
139
167
  const char* const additional_constraints_ph2_perf_01 = "{}";
168
+ const char* const description_ph2_server =
169
+ "Use promises for the http2 server transport. We have kept client and "
170
+ "server transport experiments separate to help with smoother roll outs. "
171
+ "When this flag is enabled for the test suites, it would test CHTTP2 "
172
+ "Client with PH2 Server.";
173
+ const char* const additional_constraints_ph2_server = "{}";
140
174
  const char* const description_pick_first_ignore_empty_updates =
141
175
  "Ignore empty resolutions in pick_first (delete)";
142
176
  const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
@@ -157,18 +191,6 @@ const char* const description_prioritize_finished_requests =
157
191
  "Prioritize flushing out finished requests over other in-flight requests "
158
192
  "during transport writes.";
159
193
  const char* const additional_constraints_prioritize_finished_requests = "{}";
160
- const char* const description_promise_based_http2_client_transport =
161
- "Use promises for the http2 client transport. We have kept client and "
162
- "server transport experiments separate to help with smoother roll outs and "
163
- "also help with interop testing.";
164
- const char* const additional_constraints_promise_based_http2_client_transport =
165
- "{}";
166
- const char* const description_promise_based_http2_server_transport =
167
- "Use promises for the http2 server transport. We have kept client and "
168
- "server transport experiments separate to help with smoother roll outs and "
169
- "also help with interop testing.";
170
- const char* const additional_constraints_promise_based_http2_server_transport =
171
- "{}";
172
194
  const char* const description_promise_based_inproc_transport =
173
195
  "Use call-v3 for the in-process transport.";
174
196
  const char* const additional_constraints_promise_based_inproc_transport = "{}";
@@ -215,11 +237,6 @@ const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
215
237
  const char* const description_subchannel_connection_scaling =
216
238
  "Subchannel connection scaling support.";
217
239
  const char* const additional_constraints_subchannel_connection_scaling = "{}";
218
- const char* const description_subchannel_wrapper_cleanup_on_orphan =
219
- "Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
220
- "gets orphaned.";
221
- const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
222
- "{}";
223
240
  const char* const description_tcp_frame_size_tuning =
224
241
  "If set, enables TCP to use RPC size estimation made by higher layers. TCP "
225
242
  "would not indicate completion of a read operation until a specified "
@@ -241,14 +258,25 @@ const char* const description_use_call_event_engine_in_completion_queue =
241
258
  "Use the call event engine to run callbacks in completion queue.";
242
259
  const char* const
243
260
  additional_constraints_use_call_event_engine_in_completion_queue = "{}";
261
+ const char* const description_v2_non_owning_waker_implementation =
262
+ "Use non-owning wakers in v2 filter bridge.";
263
+ const char* const additional_constraints_v2_non_owning_waker_implementation =
264
+ "{}";
265
+ const char* const description_verbose_channelz_connection_logging =
266
+ "Verbose logging of events into channelz during connection setup.";
267
+ const char* const additional_constraints_verbose_channelz_connection_logging =
268
+ "{}";
244
269
  const char* const description_wildcard_ip_expansion_restriction =
245
270
  "If set, adds optional restriction on when to expand wildcard IPs.";
246
271
  const char* const additional_constraints_wildcard_ip_expansion_restriction =
247
272
  "{}";
248
- const char* const description_xds_channel_filter_chain_per_route =
249
- "xDS channels use a separate filter chain for each route.";
250
- const char* const additional_constraints_xds_channel_filter_chain_per_route =
273
+ const char* const description_xds_server_filter_chain_per_route =
274
+ "xDS servers use a separate filter chain for each route.";
275
+ const char* const additional_constraints_xds_server_filter_chain_per_route =
251
276
  "{}";
277
+ const uint8_t required_experiments_xds_server_filter_chain_per_route[] = {
278
+ static_cast<uint8_t>(
279
+ grpc_core::kExperimentIdV2NonOwningWakerImplementation)};
252
280
  } // namespace
253
281
 
254
282
  namespace grpc_core {
@@ -266,15 +294,17 @@ const ExperimentMetadata g_experiment_metadata[] = {
266
294
  description_call_tracer_send_trailing_metadata_is_an_annotation,
267
295
  additional_constraints_call_tracer_send_trailing_metadata_is_an_annotation,
268
296
  nullptr, 0, false, true},
297
+ {"callv3_batch_validation", description_callv3_batch_validation,
298
+ additional_constraints_callv3_batch_validation, nullptr, 0, true, true},
269
299
  {"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
270
300
  additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
271
301
  false},
272
302
  {"chaotic_good_send_supported_features",
273
303
  description_chaotic_good_send_supported_features,
274
304
  additional_constraints_chaotic_good_send_supported_features, nullptr, 0,
275
- false, true},
276
- {"error_flatten", description_error_flatten,
277
- additional_constraints_error_flatten, nullptr, 0, true, false},
305
+ true, true},
306
+ {"custom_frame_check", description_custom_frame_check,
307
+ additional_constraints_custom_frame_check, nullptr, 0, true, false},
278
308
  {"event_engine_client", description_event_engine_client,
279
309
  additional_constraints_event_engine_client, nullptr, 0, true, false},
280
310
  {"event_engine_dns", description_event_engine_dns,
@@ -294,10 +324,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
294
324
  description_event_engine_for_all_other_endpoints,
295
325
  additional_constraints_event_engine_for_all_other_endpoints,
296
326
  required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
297
- {"event_engine_poller_for_python",
298
- description_event_engine_poller_for_python,
299
- additional_constraints_event_engine_poller_for_python, nullptr, 0, true,
300
- true},
301
327
  {"fail_recv_metadata_on_deadline_exceeded",
302
328
  description_fail_recv_metadata_on_deadline_exceeded,
303
329
  additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
@@ -310,35 +336,53 @@ const ExperimentMetadata g_experiment_metadata[] = {
310
336
  description_h2_max_deallocating_streams_headroom,
311
337
  additional_constraints_h2_max_deallocating_streams_headroom, nullptr, 0,
312
338
  false, true},
339
+ {"inproc_cancel_stream", description_inproc_cancel_stream,
340
+ additional_constraints_inproc_cancel_stream, nullptr, 0, true, true},
313
341
  {"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
314
342
  additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
315
343
  true},
316
344
  {"local_connector_secure", description_local_connector_secure,
317
345
  additional_constraints_local_connector_secure, nullptr, 0, false, true},
318
- {"max_inflight_pings_strict_limit",
319
- description_max_inflight_pings_strict_limit,
320
- additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
321
- true},
322
346
  {"memory_optimization_01", description_memory_optimization_01,
323
347
  additional_constraints_memory_optimization_01, nullptr, 0, false, false},
324
348
  {"memory_optimization_02", description_memory_optimization_02,
325
349
  additional_constraints_memory_optimization_02, nullptr, 0, false, false},
350
+ {"message_size_refactoring", description_message_size_refactoring,
351
+ additional_constraints_message_size_refactoring, nullptr, 0, false, true},
352
+ {"metadata_outstanding_token_refactor",
353
+ description_metadata_outstanding_token_refactor,
354
+ additional_constraints_metadata_outstanding_token_refactor, nullptr, 0,
355
+ false, true},
326
356
  {"metadata_publish_to_app_tag", description_metadata_publish_to_app_tag,
327
- additional_constraints_metadata_publish_to_app_tag, nullptr, 0, true,
357
+ additional_constraints_metadata_publish_to_app_tag, nullptr, 0, false,
328
358
  true},
329
359
  {"monitoring_experiment", description_monitoring_experiment,
330
360
  additional_constraints_monitoring_experiment, nullptr, 0, true, true},
331
361
  {"multiping", description_multiping, additional_constraints_multiping,
332
362
  nullptr, 0, false, true},
333
363
  {"optimization_01", description_optimization_01,
334
- additional_constraints_optimization_01, nullptr, 0, false, true},
364
+ additional_constraints_optimization_01, nullptr, 0, true, true},
335
365
  {"optimization_02", description_optimization_02,
336
- additional_constraints_optimization_02, nullptr, 0, false, true},
366
+ additional_constraints_optimization_02, nullptr, 0, true, true},
367
+ {"optimization_03", description_optimization_03,
368
+ additional_constraints_optimization_03, nullptr, 0, true, true},
369
+ {"optimization_04", description_optimization_04,
370
+ additional_constraints_optimization_04, nullptr, 0, true, true},
371
+ {"optimization_05", description_optimization_05,
372
+ additional_constraints_optimization_05, nullptr, 0, false, true},
373
+ {"optimization_06", description_optimization_06,
374
+ additional_constraints_optimization_06, nullptr, 0, false, true},
337
375
  {"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
338
376
  additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
339
377
  true},
378
+ {"ph2_client", description_ph2_client, additional_constraints_ph2_client,
379
+ nullptr, 0, false, true},
380
+ {"ph2_client_server", description_ph2_client_server,
381
+ additional_constraints_ph2_client_server, nullptr, 0, false, true},
340
382
  {"ph2_perf_01", description_ph2_perf_01, additional_constraints_ph2_perf_01,
341
383
  nullptr, 0, false, true},
384
+ {"ph2_server", description_ph2_server, additional_constraints_ph2_server,
385
+ nullptr, 0, false, true},
342
386
  {"pick_first_ignore_empty_updates",
343
387
  description_pick_first_ignore_empty_updates,
344
388
  additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
@@ -353,14 +397,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
353
397
  {"prioritize_finished_requests", description_prioritize_finished_requests,
354
398
  additional_constraints_prioritize_finished_requests, nullptr, 0, false,
355
399
  true},
356
- {"promise_based_http2_client_transport",
357
- description_promise_based_http2_client_transport,
358
- additional_constraints_promise_based_http2_client_transport, nullptr, 0,
359
- false, true},
360
- {"promise_based_http2_server_transport",
361
- description_promise_based_http2_server_transport,
362
- additional_constraints_promise_based_http2_server_transport, nullptr, 0,
363
- false, true},
364
400
  {"promise_based_inproc_transport",
365
401
  description_promise_based_inproc_transport,
366
402
  additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
@@ -376,7 +412,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
376
412
  {"retry_in_callv3", description_retry_in_callv3,
377
413
  additional_constraints_retry_in_callv3, nullptr, 0, false, true},
378
414
  {"return_preexisting_errors", description_return_preexisting_errors,
379
- additional_constraints_return_preexisting_errors, nullptr, 0, false, true},
415
+ additional_constraints_return_preexisting_errors, nullptr, 0, true, true},
380
416
  {"schedule_cancellation_over_write",
381
417
  description_schedule_cancellation_over_write,
382
418
  additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
@@ -398,12 +434,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
398
434
  additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
399
435
  true},
400
436
  {"subchannel_connection_scaling", description_subchannel_connection_scaling,
401
- additional_constraints_subchannel_connection_scaling, nullptr, 0, false,
437
+ additional_constraints_subchannel_connection_scaling, nullptr, 0, true,
402
438
  true},
403
- {"subchannel_wrapper_cleanup_on_orphan",
404
- description_subchannel_wrapper_cleanup_on_orphan,
405
- additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
406
- true, true},
407
439
  {"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
408
440
  additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
409
441
  {"tcp_rcv_lowat", description_tcp_rcv_lowat,
@@ -420,14 +452,22 @@ const ExperimentMetadata g_experiment_metadata[] = {
420
452
  description_use_call_event_engine_in_completion_queue,
421
453
  additional_constraints_use_call_event_engine_in_completion_queue, nullptr,
422
454
  0, false, true},
455
+ {"v2_non_owning_waker_implementation",
456
+ description_v2_non_owning_waker_implementation,
457
+ additional_constraints_v2_non_owning_waker_implementation, nullptr, 0,
458
+ false, true},
459
+ {"verbose_channelz_connection_logging",
460
+ description_verbose_channelz_connection_logging,
461
+ additional_constraints_verbose_channelz_connection_logging, nullptr, 0,
462
+ false, true},
423
463
  {"wildcard_ip_expansion_restriction",
424
464
  description_wildcard_ip_expansion_restriction,
425
465
  additional_constraints_wildcard_ip_expansion_restriction, nullptr, 0,
426
466
  false, true},
427
- {"xds_channel_filter_chain_per_route",
428
- description_xds_channel_filter_chain_per_route,
429
- additional_constraints_xds_channel_filter_chain_per_route, nullptr, 0,
430
- true, true},
467
+ {"xds_server_filter_chain_per_route",
468
+ description_xds_server_filter_chain_per_route,
469
+ additional_constraints_xds_server_filter_chain_per_route,
470
+ required_experiments_xds_server_filter_chain_per_route, 1, false, true},
431
471
  };
432
472
 
433
473
  } // namespace grpc_core
@@ -452,6 +492,9 @@ const char* const
452
492
  const char* const
453
493
  additional_constraints_call_tracer_send_trailing_metadata_is_an_annotation =
454
494
  "{}";
495
+ const char* const description_callv3_batch_validation =
496
+ "If enabled, perform validations on receiving a new batch.";
497
+ const char* const additional_constraints_callv3_batch_validation = "{}";
455
498
  const char* const description_chaotic_good_framing_layer =
456
499
  "Enable the chaotic good framing layer.";
457
500
  const char* const additional_constraints_chaotic_good_framing_layer = "{}";
@@ -459,9 +502,9 @@ const char* const description_chaotic_good_send_supported_features =
459
502
  "Send supported features in chaotic good settings frames.";
460
503
  const char* const additional_constraints_chaotic_good_send_supported_features =
461
504
  "{}";
462
- const char* const description_error_flatten =
463
- "Flatten errors to ordinary absl::Status form.";
464
- const char* const additional_constraints_error_flatten = "{}";
505
+ const char* const description_custom_frame_check =
506
+ "Adding checks to custom HTTP2 frame.";
507
+ const char* const additional_constraints_custom_frame_check = "{}";
465
508
  const char* const description_event_engine_client =
466
509
  "Use EventEngine clients instead of iomgr's grpc_tcp_client";
467
510
  const char* const additional_constraints_event_engine_client = "{}";
@@ -497,9 +540,6 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
497
540
  static_cast<uint8_t>(
498
541
  grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
499
542
  static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
500
- const char* const description_event_engine_poller_for_python =
501
- "Enable event engine poller in gRPC Python";
502
- const char* const additional_constraints_event_engine_poller_for_python = "{}";
503
543
  const char* const description_fail_recv_metadata_on_deadline_exceeded =
504
544
  "Fail recv initial metadata when the deadline is exceeded.";
505
545
  const char* const
@@ -514,6 +554,9 @@ const char* const description_h2_max_deallocating_streams_headroom =
514
554
  "Separate allocated max concurrent streams.";
515
555
  const char* const additional_constraints_h2_max_deallocating_streams_headroom =
516
556
  "{}";
557
+ const char* const description_inproc_cancel_stream =
558
+ "If set, cancel inproc stream inside the transport mutex.";
559
+ const char* const additional_constraints_inproc_cancel_stream = "{}";
517
560
  const char* const description_keep_alive_ping_timer_batch =
518
561
  "Avoid explicitly cancelling the keepalive timer. Instead adjust the "
519
562
  "callback to re-schedule itself to the next ping interval.";
@@ -522,13 +565,17 @@ const char* const description_local_connector_secure =
522
565
  "Local security connector uses TSI_SECURITY_NONE for LOCAL_TCP "
523
566
  "connections.";
524
567
  const char* const additional_constraints_local_connector_secure = "{}";
525
- const char* const description_max_inflight_pings_strict_limit =
526
- "If set, the max inflight pings limit is strictly enforced.";
527
- const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
528
568
  const char* const description_memory_optimization_01 = "Memory Optimization";
529
569
  const char* const additional_constraints_memory_optimization_01 = "{}";
530
570
  const char* const description_memory_optimization_02 = "Memory Optimization 02";
531
571
  const char* const additional_constraints_memory_optimization_02 = "{}";
572
+ const char* const description_message_size_refactoring =
573
+ "Refactoring the message size config parsing.";
574
+ const char* const additional_constraints_message_size_refactoring = "{}";
575
+ const char* const description_metadata_outstanding_token_refactor =
576
+ "Refactor ClientInitialMetadataOutstandingToken.";
577
+ const char* const additional_constraints_metadata_outstanding_token_refactor =
578
+ "{}";
532
579
  const char* const description_metadata_publish_to_app_tag =
533
580
  "Publish metadata to the app using the kPublishToApp metadata field.";
534
581
  const char* const additional_constraints_metadata_publish_to_app_tag = "{}";
@@ -542,12 +589,39 @@ const char* const description_optimization_01 = "Optimization";
542
589
  const char* const additional_constraints_optimization_01 = "{}";
543
590
  const char* const description_optimization_02 = "Optimization";
544
591
  const char* const additional_constraints_optimization_02 = "{}";
592
+ const char* const description_optimization_03 = "Optimization";
593
+ const char* const additional_constraints_optimization_03 = "{}";
594
+ const char* const description_optimization_04 = "Optimization";
595
+ const char* const additional_constraints_optimization_04 = "{}";
596
+ const char* const description_optimization_05 = "Optimization";
597
+ const char* const additional_constraints_optimization_05 = "{}";
598
+ const char* const description_optimization_06 = "Optimization";
599
+ const char* const additional_constraints_optimization_06 = "{}";
545
600
  const char* const description_otel_export_telemetry_domains =
546
601
  "Export telemetry domains in OpenTelemetry metrics.";
547
602
  const char* const additional_constraints_otel_export_telemetry_domains = "{}";
603
+ const char* const description_ph2_client =
604
+ "Use promises for the http2 client transport. We have kept client and "
605
+ "server transport experiments separate to help with smoother roll outs. "
606
+ "When this flag is enabled for the test suites, it would test PH2 Client "
607
+ "with CHTTP2 Server.";
608
+ const char* const additional_constraints_ph2_client = "{}";
609
+ const char* const description_ph2_client_server =
610
+ "This is a combination of ph2_server and ph2_client experiments. When this "
611
+ "flag is enabled for the test suites, it would test PH2 Client with PH2 "
612
+ "Server. We will NEVER be rolling out this experiment, because the roll "
613
+ "out would be done using ph2_server and ph2_client. This experiment MUST "
614
+ "be deleted when either ph2_server or ph2_client experiments are deleted.";
615
+ const char* const additional_constraints_ph2_client_server = "{}";
548
616
  const char* const description_ph2_perf_01 =
549
617
  "Different performance experiments for PH2 Transport";
550
618
  const char* const additional_constraints_ph2_perf_01 = "{}";
619
+ const char* const description_ph2_server =
620
+ "Use promises for the http2 server transport. We have kept client and "
621
+ "server transport experiments separate to help with smoother roll outs. "
622
+ "When this flag is enabled for the test suites, it would test CHTTP2 "
623
+ "Client with PH2 Server.";
624
+ const char* const additional_constraints_ph2_server = "{}";
551
625
  const char* const description_pick_first_ignore_empty_updates =
552
626
  "Ignore empty resolutions in pick_first (delete)";
553
627
  const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
@@ -568,18 +642,6 @@ const char* const description_prioritize_finished_requests =
568
642
  "Prioritize flushing out finished requests over other in-flight requests "
569
643
  "during transport writes.";
570
644
  const char* const additional_constraints_prioritize_finished_requests = "{}";
571
- const char* const description_promise_based_http2_client_transport =
572
- "Use promises for the http2 client transport. We have kept client and "
573
- "server transport experiments separate to help with smoother roll outs and "
574
- "also help with interop testing.";
575
- const char* const additional_constraints_promise_based_http2_client_transport =
576
- "{}";
577
- const char* const description_promise_based_http2_server_transport =
578
- "Use promises for the http2 server transport. We have kept client and "
579
- "server transport experiments separate to help with smoother roll outs and "
580
- "also help with interop testing.";
581
- const char* const additional_constraints_promise_based_http2_server_transport =
582
- "{}";
583
645
  const char* const description_promise_based_inproc_transport =
584
646
  "Use call-v3 for the in-process transport.";
585
647
  const char* const additional_constraints_promise_based_inproc_transport = "{}";
@@ -626,11 +688,6 @@ const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
626
688
  const char* const description_subchannel_connection_scaling =
627
689
  "Subchannel connection scaling support.";
628
690
  const char* const additional_constraints_subchannel_connection_scaling = "{}";
629
- const char* const description_subchannel_wrapper_cleanup_on_orphan =
630
- "Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
631
- "gets orphaned.";
632
- const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
633
- "{}";
634
691
  const char* const description_tcp_frame_size_tuning =
635
692
  "If set, enables TCP to use RPC size estimation made by higher layers. TCP "
636
693
  "would not indicate completion of a read operation until a specified "
@@ -652,14 +709,25 @@ const char* const description_use_call_event_engine_in_completion_queue =
652
709
  "Use the call event engine to run callbacks in completion queue.";
653
710
  const char* const
654
711
  additional_constraints_use_call_event_engine_in_completion_queue = "{}";
712
+ const char* const description_v2_non_owning_waker_implementation =
713
+ "Use non-owning wakers in v2 filter bridge.";
714
+ const char* const additional_constraints_v2_non_owning_waker_implementation =
715
+ "{}";
716
+ const char* const description_verbose_channelz_connection_logging =
717
+ "Verbose logging of events into channelz during connection setup.";
718
+ const char* const additional_constraints_verbose_channelz_connection_logging =
719
+ "{}";
655
720
  const char* const description_wildcard_ip_expansion_restriction =
656
721
  "If set, adds optional restriction on when to expand wildcard IPs.";
657
722
  const char* const additional_constraints_wildcard_ip_expansion_restriction =
658
723
  "{}";
659
- const char* const description_xds_channel_filter_chain_per_route =
660
- "xDS channels use a separate filter chain for each route.";
661
- const char* const additional_constraints_xds_channel_filter_chain_per_route =
724
+ const char* const description_xds_server_filter_chain_per_route =
725
+ "xDS servers use a separate filter chain for each route.";
726
+ const char* const additional_constraints_xds_server_filter_chain_per_route =
662
727
  "{}";
728
+ const uint8_t required_experiments_xds_server_filter_chain_per_route[] = {
729
+ static_cast<uint8_t>(
730
+ grpc_core::kExperimentIdV2NonOwningWakerImplementation)};
663
731
  } // namespace
664
732
 
665
733
  namespace grpc_core {
@@ -677,15 +745,17 @@ const ExperimentMetadata g_experiment_metadata[] = {
677
745
  description_call_tracer_send_trailing_metadata_is_an_annotation,
678
746
  additional_constraints_call_tracer_send_trailing_metadata_is_an_annotation,
679
747
  nullptr, 0, false, true},
748
+ {"callv3_batch_validation", description_callv3_batch_validation,
749
+ additional_constraints_callv3_batch_validation, nullptr, 0, true, true},
680
750
  {"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
681
751
  additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
682
752
  false},
683
753
  {"chaotic_good_send_supported_features",
684
754
  description_chaotic_good_send_supported_features,
685
755
  additional_constraints_chaotic_good_send_supported_features, nullptr, 0,
686
- false, true},
687
- {"error_flatten", description_error_flatten,
688
- additional_constraints_error_flatten, nullptr, 0, true, false},
756
+ true, true},
757
+ {"custom_frame_check", description_custom_frame_check,
758
+ additional_constraints_custom_frame_check, nullptr, 0, true, false},
689
759
  {"event_engine_client", description_event_engine_client,
690
760
  additional_constraints_event_engine_client, nullptr, 0, true, false},
691
761
  {"event_engine_dns", description_event_engine_dns,
@@ -705,10 +775,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
705
775
  description_event_engine_for_all_other_endpoints,
706
776
  additional_constraints_event_engine_for_all_other_endpoints,
707
777
  required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
708
- {"event_engine_poller_for_python",
709
- description_event_engine_poller_for_python,
710
- additional_constraints_event_engine_poller_for_python, nullptr, 0, true,
711
- true},
712
778
  {"fail_recv_metadata_on_deadline_exceeded",
713
779
  description_fail_recv_metadata_on_deadline_exceeded,
714
780
  additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
@@ -721,35 +787,53 @@ const ExperimentMetadata g_experiment_metadata[] = {
721
787
  description_h2_max_deallocating_streams_headroom,
722
788
  additional_constraints_h2_max_deallocating_streams_headroom, nullptr, 0,
723
789
  false, true},
790
+ {"inproc_cancel_stream", description_inproc_cancel_stream,
791
+ additional_constraints_inproc_cancel_stream, nullptr, 0, true, true},
724
792
  {"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
725
793
  additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
726
794
  true},
727
795
  {"local_connector_secure", description_local_connector_secure,
728
796
  additional_constraints_local_connector_secure, nullptr, 0, false, true},
729
- {"max_inflight_pings_strict_limit",
730
- description_max_inflight_pings_strict_limit,
731
- additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
732
- true},
733
797
  {"memory_optimization_01", description_memory_optimization_01,
734
798
  additional_constraints_memory_optimization_01, nullptr, 0, false, false},
735
799
  {"memory_optimization_02", description_memory_optimization_02,
736
800
  additional_constraints_memory_optimization_02, nullptr, 0, false, false},
801
+ {"message_size_refactoring", description_message_size_refactoring,
802
+ additional_constraints_message_size_refactoring, nullptr, 0, false, true},
803
+ {"metadata_outstanding_token_refactor",
804
+ description_metadata_outstanding_token_refactor,
805
+ additional_constraints_metadata_outstanding_token_refactor, nullptr, 0,
806
+ false, true},
737
807
  {"metadata_publish_to_app_tag", description_metadata_publish_to_app_tag,
738
- additional_constraints_metadata_publish_to_app_tag, nullptr, 0, true,
808
+ additional_constraints_metadata_publish_to_app_tag, nullptr, 0, false,
739
809
  true},
740
810
  {"monitoring_experiment", description_monitoring_experiment,
741
811
  additional_constraints_monitoring_experiment, nullptr, 0, true, true},
742
812
  {"multiping", description_multiping, additional_constraints_multiping,
743
813
  nullptr, 0, false, true},
744
814
  {"optimization_01", description_optimization_01,
745
- additional_constraints_optimization_01, nullptr, 0, false, true},
815
+ additional_constraints_optimization_01, nullptr, 0, true, true},
746
816
  {"optimization_02", description_optimization_02,
747
- additional_constraints_optimization_02, nullptr, 0, false, true},
817
+ additional_constraints_optimization_02, nullptr, 0, true, true},
818
+ {"optimization_03", description_optimization_03,
819
+ additional_constraints_optimization_03, nullptr, 0, true, true},
820
+ {"optimization_04", description_optimization_04,
821
+ additional_constraints_optimization_04, nullptr, 0, true, true},
822
+ {"optimization_05", description_optimization_05,
823
+ additional_constraints_optimization_05, nullptr, 0, false, true},
824
+ {"optimization_06", description_optimization_06,
825
+ additional_constraints_optimization_06, nullptr, 0, false, true},
748
826
  {"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
749
827
  additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
750
828
  true},
829
+ {"ph2_client", description_ph2_client, additional_constraints_ph2_client,
830
+ nullptr, 0, false, true},
831
+ {"ph2_client_server", description_ph2_client_server,
832
+ additional_constraints_ph2_client_server, nullptr, 0, false, true},
751
833
  {"ph2_perf_01", description_ph2_perf_01, additional_constraints_ph2_perf_01,
752
834
  nullptr, 0, false, true},
835
+ {"ph2_server", description_ph2_server, additional_constraints_ph2_server,
836
+ nullptr, 0, false, true},
753
837
  {"pick_first_ignore_empty_updates",
754
838
  description_pick_first_ignore_empty_updates,
755
839
  additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
@@ -764,14 +848,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
764
848
  {"prioritize_finished_requests", description_prioritize_finished_requests,
765
849
  additional_constraints_prioritize_finished_requests, nullptr, 0, false,
766
850
  true},
767
- {"promise_based_http2_client_transport",
768
- description_promise_based_http2_client_transport,
769
- additional_constraints_promise_based_http2_client_transport, nullptr, 0,
770
- false, true},
771
- {"promise_based_http2_server_transport",
772
- description_promise_based_http2_server_transport,
773
- additional_constraints_promise_based_http2_server_transport, nullptr, 0,
774
- false, true},
775
851
  {"promise_based_inproc_transport",
776
852
  description_promise_based_inproc_transport,
777
853
  additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
@@ -787,7 +863,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
787
863
  {"retry_in_callv3", description_retry_in_callv3,
788
864
  additional_constraints_retry_in_callv3, nullptr, 0, false, true},
789
865
  {"return_preexisting_errors", description_return_preexisting_errors,
790
- additional_constraints_return_preexisting_errors, nullptr, 0, false, true},
866
+ additional_constraints_return_preexisting_errors, nullptr, 0, true, true},
791
867
  {"schedule_cancellation_over_write",
792
868
  description_schedule_cancellation_over_write,
793
869
  additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
@@ -809,12 +885,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
809
885
  additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
810
886
  true},
811
887
  {"subchannel_connection_scaling", description_subchannel_connection_scaling,
812
- additional_constraints_subchannel_connection_scaling, nullptr, 0, false,
888
+ additional_constraints_subchannel_connection_scaling, nullptr, 0, true,
813
889
  true},
814
- {"subchannel_wrapper_cleanup_on_orphan",
815
- description_subchannel_wrapper_cleanup_on_orphan,
816
- additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
817
- true, true},
818
890
  {"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
819
891
  additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
820
892
  {"tcp_rcv_lowat", description_tcp_rcv_lowat,
@@ -831,14 +903,22 @@ const ExperimentMetadata g_experiment_metadata[] = {
831
903
  description_use_call_event_engine_in_completion_queue,
832
904
  additional_constraints_use_call_event_engine_in_completion_queue, nullptr,
833
905
  0, false, true},
906
+ {"v2_non_owning_waker_implementation",
907
+ description_v2_non_owning_waker_implementation,
908
+ additional_constraints_v2_non_owning_waker_implementation, nullptr, 0,
909
+ false, true},
910
+ {"verbose_channelz_connection_logging",
911
+ description_verbose_channelz_connection_logging,
912
+ additional_constraints_verbose_channelz_connection_logging, nullptr, 0,
913
+ false, true},
834
914
  {"wildcard_ip_expansion_restriction",
835
915
  description_wildcard_ip_expansion_restriction,
836
916
  additional_constraints_wildcard_ip_expansion_restriction, nullptr, 0,
837
917
  false, true},
838
- {"xds_channel_filter_chain_per_route",
839
- description_xds_channel_filter_chain_per_route,
840
- additional_constraints_xds_channel_filter_chain_per_route, nullptr, 0,
841
- true, true},
918
+ {"xds_server_filter_chain_per_route",
919
+ description_xds_server_filter_chain_per_route,
920
+ additional_constraints_xds_server_filter_chain_per_route,
921
+ required_experiments_xds_server_filter_chain_per_route, 1, false, true},
842
922
  };
843
923
 
844
924
  } // namespace grpc_core
@@ -863,6 +943,9 @@ const char* const
863
943
  const char* const
864
944
  additional_constraints_call_tracer_send_trailing_metadata_is_an_annotation =
865
945
  "{}";
946
+ const char* const description_callv3_batch_validation =
947
+ "If enabled, perform validations on receiving a new batch.";
948
+ const char* const additional_constraints_callv3_batch_validation = "{}";
866
949
  const char* const description_chaotic_good_framing_layer =
867
950
  "Enable the chaotic good framing layer.";
868
951
  const char* const additional_constraints_chaotic_good_framing_layer = "{}";
@@ -870,9 +953,9 @@ const char* const description_chaotic_good_send_supported_features =
870
953
  "Send supported features in chaotic good settings frames.";
871
954
  const char* const additional_constraints_chaotic_good_send_supported_features =
872
955
  "{}";
873
- const char* const description_error_flatten =
874
- "Flatten errors to ordinary absl::Status form.";
875
- const char* const additional_constraints_error_flatten = "{}";
956
+ const char* const description_custom_frame_check =
957
+ "Adding checks to custom HTTP2 frame.";
958
+ const char* const additional_constraints_custom_frame_check = "{}";
876
959
  const char* const description_event_engine_client =
877
960
  "Use EventEngine clients instead of iomgr's grpc_tcp_client";
878
961
  const char* const additional_constraints_event_engine_client = "{}";
@@ -908,9 +991,6 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
908
991
  static_cast<uint8_t>(
909
992
  grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
910
993
  static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
911
- const char* const description_event_engine_poller_for_python =
912
- "Enable event engine poller in gRPC Python";
913
- const char* const additional_constraints_event_engine_poller_for_python = "{}";
914
994
  const char* const description_fail_recv_metadata_on_deadline_exceeded =
915
995
  "Fail recv initial metadata when the deadline is exceeded.";
916
996
  const char* const
@@ -925,6 +1005,9 @@ const char* const description_h2_max_deallocating_streams_headroom =
925
1005
  "Separate allocated max concurrent streams.";
926
1006
  const char* const additional_constraints_h2_max_deallocating_streams_headroom =
927
1007
  "{}";
1008
+ const char* const description_inproc_cancel_stream =
1009
+ "If set, cancel inproc stream inside the transport mutex.";
1010
+ const char* const additional_constraints_inproc_cancel_stream = "{}";
928
1011
  const char* const description_keep_alive_ping_timer_batch =
929
1012
  "Avoid explicitly cancelling the keepalive timer. Instead adjust the "
930
1013
  "callback to re-schedule itself to the next ping interval.";
@@ -933,13 +1016,17 @@ const char* const description_local_connector_secure =
933
1016
  "Local security connector uses TSI_SECURITY_NONE for LOCAL_TCP "
934
1017
  "connections.";
935
1018
  const char* const additional_constraints_local_connector_secure = "{}";
936
- const char* const description_max_inflight_pings_strict_limit =
937
- "If set, the max inflight pings limit is strictly enforced.";
938
- const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
939
1019
  const char* const description_memory_optimization_01 = "Memory Optimization";
940
1020
  const char* const additional_constraints_memory_optimization_01 = "{}";
941
1021
  const char* const description_memory_optimization_02 = "Memory Optimization 02";
942
1022
  const char* const additional_constraints_memory_optimization_02 = "{}";
1023
+ const char* const description_message_size_refactoring =
1024
+ "Refactoring the message size config parsing.";
1025
+ const char* const additional_constraints_message_size_refactoring = "{}";
1026
+ const char* const description_metadata_outstanding_token_refactor =
1027
+ "Refactor ClientInitialMetadataOutstandingToken.";
1028
+ const char* const additional_constraints_metadata_outstanding_token_refactor =
1029
+ "{}";
943
1030
  const char* const description_metadata_publish_to_app_tag =
944
1031
  "Publish metadata to the app using the kPublishToApp metadata field.";
945
1032
  const char* const additional_constraints_metadata_publish_to_app_tag = "{}";
@@ -953,12 +1040,39 @@ const char* const description_optimization_01 = "Optimization";
953
1040
  const char* const additional_constraints_optimization_01 = "{}";
954
1041
  const char* const description_optimization_02 = "Optimization";
955
1042
  const char* const additional_constraints_optimization_02 = "{}";
1043
+ const char* const description_optimization_03 = "Optimization";
1044
+ const char* const additional_constraints_optimization_03 = "{}";
1045
+ const char* const description_optimization_04 = "Optimization";
1046
+ const char* const additional_constraints_optimization_04 = "{}";
1047
+ const char* const description_optimization_05 = "Optimization";
1048
+ const char* const additional_constraints_optimization_05 = "{}";
1049
+ const char* const description_optimization_06 = "Optimization";
1050
+ const char* const additional_constraints_optimization_06 = "{}";
956
1051
  const char* const description_otel_export_telemetry_domains =
957
1052
  "Export telemetry domains in OpenTelemetry metrics.";
958
1053
  const char* const additional_constraints_otel_export_telemetry_domains = "{}";
1054
+ const char* const description_ph2_client =
1055
+ "Use promises for the http2 client transport. We have kept client and "
1056
+ "server transport experiments separate to help with smoother roll outs. "
1057
+ "When this flag is enabled for the test suites, it would test PH2 Client "
1058
+ "with CHTTP2 Server.";
1059
+ const char* const additional_constraints_ph2_client = "{}";
1060
+ const char* const description_ph2_client_server =
1061
+ "This is a combination of ph2_server and ph2_client experiments. When this "
1062
+ "flag is enabled for the test suites, it would test PH2 Client with PH2 "
1063
+ "Server. We will NEVER be rolling out this experiment, because the roll "
1064
+ "out would be done using ph2_server and ph2_client. This experiment MUST "
1065
+ "be deleted when either ph2_server or ph2_client experiments are deleted.";
1066
+ const char* const additional_constraints_ph2_client_server = "{}";
959
1067
  const char* const description_ph2_perf_01 =
960
1068
  "Different performance experiments for PH2 Transport";
961
1069
  const char* const additional_constraints_ph2_perf_01 = "{}";
1070
+ const char* const description_ph2_server =
1071
+ "Use promises for the http2 server transport. We have kept client and "
1072
+ "server transport experiments separate to help with smoother roll outs. "
1073
+ "When this flag is enabled for the test suites, it would test CHTTP2 "
1074
+ "Client with PH2 Server.";
1075
+ const char* const additional_constraints_ph2_server = "{}";
962
1076
  const char* const description_pick_first_ignore_empty_updates =
963
1077
  "Ignore empty resolutions in pick_first (delete)";
964
1078
  const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
@@ -979,18 +1093,6 @@ const char* const description_prioritize_finished_requests =
979
1093
  "Prioritize flushing out finished requests over other in-flight requests "
980
1094
  "during transport writes.";
981
1095
  const char* const additional_constraints_prioritize_finished_requests = "{}";
982
- const char* const description_promise_based_http2_client_transport =
983
- "Use promises for the http2 client transport. We have kept client and "
984
- "server transport experiments separate to help with smoother roll outs and "
985
- "also help with interop testing.";
986
- const char* const additional_constraints_promise_based_http2_client_transport =
987
- "{}";
988
- const char* const description_promise_based_http2_server_transport =
989
- "Use promises for the http2 server transport. We have kept client and "
990
- "server transport experiments separate to help with smoother roll outs and "
991
- "also help with interop testing.";
992
- const char* const additional_constraints_promise_based_http2_server_transport =
993
- "{}";
994
1096
  const char* const description_promise_based_inproc_transport =
995
1097
  "Use call-v3 for the in-process transport.";
996
1098
  const char* const additional_constraints_promise_based_inproc_transport = "{}";
@@ -1037,11 +1139,6 @@ const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
1037
1139
  const char* const description_subchannel_connection_scaling =
1038
1140
  "Subchannel connection scaling support.";
1039
1141
  const char* const additional_constraints_subchannel_connection_scaling = "{}";
1040
- const char* const description_subchannel_wrapper_cleanup_on_orphan =
1041
- "Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
1042
- "gets orphaned.";
1043
- const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
1044
- "{}";
1045
1142
  const char* const description_tcp_frame_size_tuning =
1046
1143
  "If set, enables TCP to use RPC size estimation made by higher layers. TCP "
1047
1144
  "would not indicate completion of a read operation until a specified "
@@ -1063,14 +1160,25 @@ const char* const description_use_call_event_engine_in_completion_queue =
1063
1160
  "Use the call event engine to run callbacks in completion queue.";
1064
1161
  const char* const
1065
1162
  additional_constraints_use_call_event_engine_in_completion_queue = "{}";
1163
+ const char* const description_v2_non_owning_waker_implementation =
1164
+ "Use non-owning wakers in v2 filter bridge.";
1165
+ const char* const additional_constraints_v2_non_owning_waker_implementation =
1166
+ "{}";
1167
+ const char* const description_verbose_channelz_connection_logging =
1168
+ "Verbose logging of events into channelz during connection setup.";
1169
+ const char* const additional_constraints_verbose_channelz_connection_logging =
1170
+ "{}";
1066
1171
  const char* const description_wildcard_ip_expansion_restriction =
1067
1172
  "If set, adds optional restriction on when to expand wildcard IPs.";
1068
1173
  const char* const additional_constraints_wildcard_ip_expansion_restriction =
1069
1174
  "{}";
1070
- const char* const description_xds_channel_filter_chain_per_route =
1071
- "xDS channels use a separate filter chain for each route.";
1072
- const char* const additional_constraints_xds_channel_filter_chain_per_route =
1175
+ const char* const description_xds_server_filter_chain_per_route =
1176
+ "xDS servers use a separate filter chain for each route.";
1177
+ const char* const additional_constraints_xds_server_filter_chain_per_route =
1073
1178
  "{}";
1179
+ const uint8_t required_experiments_xds_server_filter_chain_per_route[] = {
1180
+ static_cast<uint8_t>(
1181
+ grpc_core::kExperimentIdV2NonOwningWakerImplementation)};
1074
1182
  } // namespace
1075
1183
 
1076
1184
  namespace grpc_core {
@@ -1088,15 +1196,17 @@ const ExperimentMetadata g_experiment_metadata[] = {
1088
1196
  description_call_tracer_send_trailing_metadata_is_an_annotation,
1089
1197
  additional_constraints_call_tracer_send_trailing_metadata_is_an_annotation,
1090
1198
  nullptr, 0, false, true},
1199
+ {"callv3_batch_validation", description_callv3_batch_validation,
1200
+ additional_constraints_callv3_batch_validation, nullptr, 0, true, true},
1091
1201
  {"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
1092
1202
  additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
1093
1203
  false},
1094
1204
  {"chaotic_good_send_supported_features",
1095
1205
  description_chaotic_good_send_supported_features,
1096
1206
  additional_constraints_chaotic_good_send_supported_features, nullptr, 0,
1097
- false, true},
1098
- {"error_flatten", description_error_flatten,
1099
- additional_constraints_error_flatten, nullptr, 0, true, false},
1207
+ true, true},
1208
+ {"custom_frame_check", description_custom_frame_check,
1209
+ additional_constraints_custom_frame_check, nullptr, 0, true, false},
1100
1210
  {"event_engine_client", description_event_engine_client,
1101
1211
  additional_constraints_event_engine_client, nullptr, 0, true, false},
1102
1212
  {"event_engine_dns", description_event_engine_dns,
@@ -1116,10 +1226,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
1116
1226
  description_event_engine_for_all_other_endpoints,
1117
1227
  additional_constraints_event_engine_for_all_other_endpoints,
1118
1228
  required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
1119
- {"event_engine_poller_for_python",
1120
- description_event_engine_poller_for_python,
1121
- additional_constraints_event_engine_poller_for_python, nullptr, 0, true,
1122
- true},
1123
1229
  {"fail_recv_metadata_on_deadline_exceeded",
1124
1230
  description_fail_recv_metadata_on_deadline_exceeded,
1125
1231
  additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
@@ -1132,35 +1238,53 @@ const ExperimentMetadata g_experiment_metadata[] = {
1132
1238
  description_h2_max_deallocating_streams_headroom,
1133
1239
  additional_constraints_h2_max_deallocating_streams_headroom, nullptr, 0,
1134
1240
  false, true},
1241
+ {"inproc_cancel_stream", description_inproc_cancel_stream,
1242
+ additional_constraints_inproc_cancel_stream, nullptr, 0, true, true},
1135
1243
  {"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
1136
1244
  additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
1137
1245
  true},
1138
1246
  {"local_connector_secure", description_local_connector_secure,
1139
1247
  additional_constraints_local_connector_secure, nullptr, 0, false, true},
1140
- {"max_inflight_pings_strict_limit",
1141
- description_max_inflight_pings_strict_limit,
1142
- additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
1143
- true},
1144
1248
  {"memory_optimization_01", description_memory_optimization_01,
1145
1249
  additional_constraints_memory_optimization_01, nullptr, 0, false, false},
1146
1250
  {"memory_optimization_02", description_memory_optimization_02,
1147
1251
  additional_constraints_memory_optimization_02, nullptr, 0, false, false},
1252
+ {"message_size_refactoring", description_message_size_refactoring,
1253
+ additional_constraints_message_size_refactoring, nullptr, 0, false, true},
1254
+ {"metadata_outstanding_token_refactor",
1255
+ description_metadata_outstanding_token_refactor,
1256
+ additional_constraints_metadata_outstanding_token_refactor, nullptr, 0,
1257
+ false, true},
1148
1258
  {"metadata_publish_to_app_tag", description_metadata_publish_to_app_tag,
1149
- additional_constraints_metadata_publish_to_app_tag, nullptr, 0, true,
1259
+ additional_constraints_metadata_publish_to_app_tag, nullptr, 0, false,
1150
1260
  true},
1151
1261
  {"monitoring_experiment", description_monitoring_experiment,
1152
1262
  additional_constraints_monitoring_experiment, nullptr, 0, true, true},
1153
1263
  {"multiping", description_multiping, additional_constraints_multiping,
1154
1264
  nullptr, 0, false, true},
1155
1265
  {"optimization_01", description_optimization_01,
1156
- additional_constraints_optimization_01, nullptr, 0, false, true},
1266
+ additional_constraints_optimization_01, nullptr, 0, true, true},
1157
1267
  {"optimization_02", description_optimization_02,
1158
- additional_constraints_optimization_02, nullptr, 0, false, true},
1268
+ additional_constraints_optimization_02, nullptr, 0, true, true},
1269
+ {"optimization_03", description_optimization_03,
1270
+ additional_constraints_optimization_03, nullptr, 0, true, true},
1271
+ {"optimization_04", description_optimization_04,
1272
+ additional_constraints_optimization_04, nullptr, 0, true, true},
1273
+ {"optimization_05", description_optimization_05,
1274
+ additional_constraints_optimization_05, nullptr, 0, false, true},
1275
+ {"optimization_06", description_optimization_06,
1276
+ additional_constraints_optimization_06, nullptr, 0, false, true},
1159
1277
  {"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
1160
1278
  additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
1161
1279
  true},
1280
+ {"ph2_client", description_ph2_client, additional_constraints_ph2_client,
1281
+ nullptr, 0, false, true},
1282
+ {"ph2_client_server", description_ph2_client_server,
1283
+ additional_constraints_ph2_client_server, nullptr, 0, false, true},
1162
1284
  {"ph2_perf_01", description_ph2_perf_01, additional_constraints_ph2_perf_01,
1163
1285
  nullptr, 0, false, true},
1286
+ {"ph2_server", description_ph2_server, additional_constraints_ph2_server,
1287
+ nullptr, 0, false, true},
1164
1288
  {"pick_first_ignore_empty_updates",
1165
1289
  description_pick_first_ignore_empty_updates,
1166
1290
  additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
@@ -1175,14 +1299,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
1175
1299
  {"prioritize_finished_requests", description_prioritize_finished_requests,
1176
1300
  additional_constraints_prioritize_finished_requests, nullptr, 0, false,
1177
1301
  true},
1178
- {"promise_based_http2_client_transport",
1179
- description_promise_based_http2_client_transport,
1180
- additional_constraints_promise_based_http2_client_transport, nullptr, 0,
1181
- false, true},
1182
- {"promise_based_http2_server_transport",
1183
- description_promise_based_http2_server_transport,
1184
- additional_constraints_promise_based_http2_server_transport, nullptr, 0,
1185
- false, true},
1186
1302
  {"promise_based_inproc_transport",
1187
1303
  description_promise_based_inproc_transport,
1188
1304
  additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
@@ -1198,7 +1314,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
1198
1314
  {"retry_in_callv3", description_retry_in_callv3,
1199
1315
  additional_constraints_retry_in_callv3, nullptr, 0, false, true},
1200
1316
  {"return_preexisting_errors", description_return_preexisting_errors,
1201
- additional_constraints_return_preexisting_errors, nullptr, 0, false, true},
1317
+ additional_constraints_return_preexisting_errors, nullptr, 0, true, true},
1202
1318
  {"schedule_cancellation_over_write",
1203
1319
  description_schedule_cancellation_over_write,
1204
1320
  additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
@@ -1220,12 +1336,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
1220
1336
  additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
1221
1337
  true},
1222
1338
  {"subchannel_connection_scaling", description_subchannel_connection_scaling,
1223
- additional_constraints_subchannel_connection_scaling, nullptr, 0, false,
1339
+ additional_constraints_subchannel_connection_scaling, nullptr, 0, true,
1224
1340
  true},
1225
- {"subchannel_wrapper_cleanup_on_orphan",
1226
- description_subchannel_wrapper_cleanup_on_orphan,
1227
- additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
1228
- true, true},
1229
1341
  {"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
1230
1342
  additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
1231
1343
  {"tcp_rcv_lowat", description_tcp_rcv_lowat,
@@ -1242,14 +1354,22 @@ const ExperimentMetadata g_experiment_metadata[] = {
1242
1354
  description_use_call_event_engine_in_completion_queue,
1243
1355
  additional_constraints_use_call_event_engine_in_completion_queue, nullptr,
1244
1356
  0, false, true},
1357
+ {"v2_non_owning_waker_implementation",
1358
+ description_v2_non_owning_waker_implementation,
1359
+ additional_constraints_v2_non_owning_waker_implementation, nullptr, 0,
1360
+ false, true},
1361
+ {"verbose_channelz_connection_logging",
1362
+ description_verbose_channelz_connection_logging,
1363
+ additional_constraints_verbose_channelz_connection_logging, nullptr, 0,
1364
+ false, true},
1245
1365
  {"wildcard_ip_expansion_restriction",
1246
1366
  description_wildcard_ip_expansion_restriction,
1247
1367
  additional_constraints_wildcard_ip_expansion_restriction, nullptr, 0,
1248
1368
  false, true},
1249
- {"xds_channel_filter_chain_per_route",
1250
- description_xds_channel_filter_chain_per_route,
1251
- additional_constraints_xds_channel_filter_chain_per_route, nullptr, 0,
1252
- true, true},
1369
+ {"xds_server_filter_chain_per_route",
1370
+ description_xds_server_filter_chain_per_route,
1371
+ additional_constraints_xds_server_filter_chain_per_route,
1372
+ required_experiments_xds_server_filter_chain_per_route, 1, false, true},
1253
1373
  };
1254
1374
 
1255
1375
  } // namespace grpc_core