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
@@ -38,7 +38,6 @@
38
38
  #include "src/core/call/message.h"
39
39
  #include "src/core/call/metadata.h"
40
40
  #include "src/core/call/metadata_batch.h"
41
- #include "src/core/filter/blackboard.h"
42
41
  #include "src/core/filter/filter_args.h"
43
42
  #include "src/core/lib/channel/channel_args.h"
44
43
  #include "src/core/lib/channel/channel_fwd.h"
@@ -71,6 +70,8 @@
71
70
  #include "src/core/util/debug_location.h"
72
71
  #include "src/core/util/grpc_check.h"
73
72
  #include "src/core/util/match.h"
73
+ #include "src/core/util/orphanable.h"
74
+ #include "src/core/util/ref_counted_ptr.h"
74
75
  #include "src/core/util/time.h"
75
76
  #include "absl/container/inlined_vector.h"
76
77
  #include "absl/functional/function_ref.h"
@@ -163,7 +164,7 @@ struct HasAsyncErrorInterceptor<Promise (T::*)(A...),
163
164
  static constexpr bool value = true;
164
165
  };
165
166
 
166
- // For the list case we do two interceptors to avoid amiguities with the single
167
+ // For the list case we do two interceptors to avoid ambiguities with the single
167
168
  // argument forms above.
168
169
  template <typename... Interceptors>
169
170
  inline constexpr bool HasAnyAsyncErrorInterceptor(Interceptors...) {
@@ -1175,7 +1176,7 @@ MakeFilterCall(Derived* derived) {
1175
1176
  // useful for cases where the exact metadata returned needs to be customized.
1176
1177
  // It's also acceptable to return a promise that resolves to the
1177
1178
  // relevant return type listed above.
1178
- // Finally, OnFinalize can be added to intecept call finalization.
1179
+ // Finally, OnFinalize can be added to intercept call finalization.
1179
1180
  // It must have one of the signatures:
1180
1181
  // - static inline const NoInterceptor OnFinalize:
1181
1182
  // the filter does not intercept call finalization.
@@ -1274,192 +1275,241 @@ class V3InterceptorToV2Bridge : public ChannelFilter, public Interceptor {
1274
1275
  InterActivityLatch<std::optional<ServerMetadataHandle>>
1275
1276
  server_initial_metadata;
1276
1277
  InterActivityPipe<MessageHandle, 1> server_to_client_messages;
1278
+ InterActivityLatch<ServerMetadataHandle> server_trailing_metadata;
1277
1279
  };
1278
1280
  auto* pipe_owner = GetContext<Arena>()->ManagedNew<PipeOwner>();
1281
+ if (IsV2NonOwningWakerImplementationEnabled()) {
1282
+ // We need to start polling the initiator for server trailing
1283
+ // metadata immediately, since the v3 interceptor may generate a
1284
+ // failure before any of the other promises resolve.
1285
+ //
1286
+ // Spawn a promise on the initiator's activity to pull server trailing
1287
+ // metadata and pass it to the v2 activity via an inter-activity latch.
1288
+ initiator.SpawnInfallible(
1289
+ "pull_server_trailing_metadata",
1290
+ [initiator = initiator, pipe_owner]() mutable {
1291
+ return Map(
1292
+ initiator.PullServerTrailingMetadata(),
1293
+ [pipe_owner](ServerMetadataHandle metadata) {
1294
+ pipe_owner->server_trailing_metadata.Set(std::move(metadata));
1295
+ return Empty{};
1296
+ });
1297
+ });
1298
+ }
1279
1299
  // Now return a promise that does all the things.
1280
- return Race(
1281
- // We need to start polling the initiator for server trailing
1282
- // metadata immediately, since the v3 interceptor may generate a
1283
- // failure before any of the other promises resolve.
1284
- initiator.PullServerTrailingMetadata(),
1285
- // This promise does the rest of the things, but it will always
1286
- // return pending, because the promise can't actually finish
1287
- // until the initiator returns trailing metadata above.
1288
- TrySeq(
1289
- state->call_handler_latch.Wait(),
1290
- [initiator = initiator, pipe_owner,
1291
- call_args = std::move(call_args),
1292
- next_promise_factory =
1293
- std::move(next_promise_factory)](CallHandler handler) mutable {
1294
- // Intercept all pipes from v2 API.
1295
- //
1296
- // For client-to-server messages, we do the following:
1297
- // 1. Push the message into the v3 initiator, which sends
1298
- // it to the v3 interceptor. Note that this needs to
1299
- // be done inside of the v3 initiator's activity.
1300
- // 2. Pull the message from the v3 handler, where it will
1301
- // arrive when the v3 interceptor is done with it.
1302
- // Note that this needs to be done inside of the v3
1303
- // handler's activity. We then push the message into
1304
- // an inter-activity pipe to return it to the v2 activity.
1305
- // 3. In the v2 activity, read the message from the
1306
- // inter-activity pipe and send it on to the next
1307
- // filter.
1308
- //
1309
- // Step 2: Spawn a promise to pull messages from the v3
1310
- // handler and push them into an inter-activity pipe to
1311
- // return them to the v2 activity.
1312
- handler.SpawnGuarded(
1313
- "pull_client_to_server_message",
1314
- [handler, pipe_owner]() mutable {
1315
- return ForEach(
1316
- MessagesFrom(handler),
1317
- [pipe_owner](MessageHandle message) {
1318
- return Map(
1319
- pipe_owner->client_to_server_messages.sender.Push(
1320
- std::move(message)),
1321
- [](bool x) { return StatusFlag(x); });
1322
- });
1323
- });
1324
- call_args.client_to_server_messages->InterceptAndMap(
1325
- [initiator, handler,
1326
- pipe_owner](MessageHandle message) mutable {
1327
- // Step 1: Push the message onto the v3 initiator in
1328
- // its activity.
1329
- initiator.SpawnPushMessage(std::move(message));
1330
- // Step 3: Here in the v2 activity, read the message
1331
- // from the inter-activity pipe and return it.
1332
- return Map(
1333
- pipe_owner->client_to_server_messages.receiver.Next(),
1334
- [](InterActivityPipe<MessageHandle, 1>::NextResult
1335
- message) -> std::optional<MessageHandle> {
1336
- if (!message.has_value()) return std::nullopt;
1337
- return std::move(*message);
1338
- });
1339
- });
1340
- // For server initial metadata, we do a similar thing, but
1341
- // in the opposite direction, and using an inter-activity
1342
- // latch instead of a pipe:
1343
- // 1. Push the metadata into the v3 handler, which sends
1344
- // it to the v3 interceptor. Note that this needs to
1345
- // be done inside of the v3 handler's activity.
1346
- // 2. Pull the metadata from the v3 initiator, where it will
1347
- // arrive when the v3 interceptor is done with it.
1348
- // Note that this needs to be done inside of the v3
1349
- // initiator's activity. We then use an inter-activity
1350
- // latch to return the metadata to the v2 activity.
1351
- // 3. In the v2 activity, read the metadata from the
1352
- // inter-activity latch and send it on to the previous
1353
- // filter.
1354
- //
1355
- // Step 2: Spawn a promise to pull the metadata from the v3
1356
- // initiator and use an inter-activity latch to return it to
1357
- // the v2 activity.
1358
- initiator.SpawnGuarded(
1359
- "pull_server_initial_metadata",
1360
- [initiator, pipe_owner]() mutable {
1361
- return TrySeq(
1362
- initiator.PullServerInitialMetadata(),
1363
- [pipe_owner](
1364
- std::optional<ServerMetadataHandle> metadata) {
1365
- pipe_owner->server_initial_metadata.Set(
1366
- std::move(metadata));
1367
- });
1368
- });
1369
- call_args.server_initial_metadata->InterceptAndMap(
1370
- [initiator, handler,
1371
- pipe_owner](ServerMetadataHandle metadata) mutable {
1372
- // Step 1: Push the metadata onto the v3 handler in
1373
- // its activity.
1374
- handler.SpawnPushServerInitialMetadata(std::move(metadata));
1375
- // Step 3: Here in the v2 activity, read from the
1376
- // inter-activity latch and return the metadata.
1377
- return pipe_owner->server_initial_metadata.Wait();
1378
- });
1379
- // We handle server-to-client messages the same as
1380
- // client-to-server messages, except in the opposite
1381
- // direction:
1382
- // 1. Push the message into the v3 handler, which sends
1383
- // it to the v3 interceptor. Note that this needs to
1384
- // be done inside of the v3 handler's activity.
1385
- // 2. Pull the message from the v3 initiator, where it will
1386
- // arrive when the v3 interceptor is done with it.
1387
- // Note that this needs to be done inside of the v3
1388
- // initiator's activity. We then push the message into
1389
- // an inter-activity pipe to return it to the v2 activity.
1390
- // 3. In the v2 activity, read the message from the
1391
- // inter-activity pipe and send it on to the next
1392
- // filter.
1393
- //
1394
- // Step 2: Spawn a promise to pull messages from the v3
1395
- // initiator and push them into an inter-activity pipe to
1396
- // return them to the v2 activity.
1397
- initiator.SpawnGuarded(
1398
- "pull_server_to_client_message",
1399
- [initiator, pipe_owner]() mutable {
1400
- return ForEach(
1401
- MessagesFrom(initiator),
1402
- [pipe_owner](MessageHandle message) {
1403
- return Map(
1404
- pipe_owner->server_to_client_messages.sender.Push(
1405
- std::move(message)),
1406
- [](bool x) { return StatusFlag(x); });
1407
- });
1408
- });
1409
- call_args.server_to_client_messages->InterceptAndMap(
1410
- [initiator, handler,
1411
- pipe_owner](MessageHandle message) mutable {
1412
- // Step 1: Push the message onto the v3 handler in
1413
- // its activity.
1414
- handler.SpawnPushMessage(std::move(message));
1415
- // Step 3: Here in the v2 activity, read from the
1416
- // inter-activity pipe and return the messages.
1417
- return Map(
1418
- pipe_owner->server_to_client_messages.receiver.Next(),
1419
- [](InterActivityPipe<MessageHandle, 1>::NextResult
1420
- message) -> std::optional<MessageHandle> {
1421
- if (!message.has_value()) return std::nullopt;
1422
- return std::move(*message);
1423
- });
1424
- });
1425
- // In the v3 handler's activity, pull client initial metadata.
1426
- // Use an inter-acitivity latch to get it back to the v2
1427
- // activity.
1428
- handler.SpawnGuarded(
1429
- "pull_client_initial_metadata",
1430
- [handler, pipe_owner]() mutable {
1431
- return TrySeq(handler.PullClientInitialMetadata(),
1432
- [pipe_owner](ClientMetadataHandle metadata) {
1433
- pipe_owner->client_initial_metadata.Set(
1434
- std::move(metadata));
1435
- });
1436
- });
1437
- // A wrapper for next_promise_factory that does the following:
1438
- // - Pulls client initial metadata from the V3 handler via
1439
- // the inter-activity latch and injects it into the next
1440
- // V2 filter via CallArgs.
1441
- // - Polls the next promise to get server trailing metadata
1442
- // from the next V2 filter and feeds it into the V3 handler.
1443
- // Note that this does not actually pull the trailing metadata
1444
- // from the V3 initiator; instead, we do that in a separate
1445
- // promise above. That promise will always complete at the
1446
- // end of the call, so we always return pending here.
1447
- return Seq(
1448
- pipe_owner->client_initial_metadata.Wait(),
1449
- [next_promise_factory = std::move(next_promise_factory),
1450
- call_args = std::move(call_args),
1451
- handler](ClientMetadataHandle metadata) mutable {
1452
- call_args.client_initial_metadata = std::move(metadata);
1453
- return Seq(next_promise_factory(std::move(call_args)),
1454
- [handler](ServerMetadataHandle metadata) mutable
1455
- -> Poll<ServerMetadataHandle> {
1456
- handler.SpawnPushServerTrailingMetadata(
1457
- std::move(metadata));
1458
- // We always lose the race.
1459
- return Pending{};
1460
- });
1461
- });
1462
- }));
1300
+ // The returned promise is wrapped in OnCancel so that, if the v2 stack
1301
+ // destroys it before it completes (e.g. the forced-cancellation path in
1302
+ // ServerCallData::Completed, which resets promise_ to an empty
1303
+ // ArenaPromise), we actively propagate a cancellation into the v3 call
1304
+ // pair.
1305
+ return OnCancel(
1306
+ Race(
1307
+ // Get server trailing metadata from the v3 promise via the
1308
+ // inter-activity latch.
1309
+ If(
1310
+ IsV2NonOwningWakerImplementationEnabled(),
1311
+ [pipe_owner]() {
1312
+ return pipe_owner->server_trailing_metadata.Wait();
1313
+ },
1314
+ [initiator = initiator]() mutable {
1315
+ return initiator.PullServerTrailingMetadata();
1316
+ }),
1317
+ // This promise does the rest of the things, but it will always
1318
+ // return pending, because the promise can't actually finish
1319
+ // until the initiator returns trailing metadata above.
1320
+ TrySeq(
1321
+ state->call_handler_latch.Wait(),
1322
+ [initiator = initiator, pipe_owner,
1323
+ call_args = std::move(call_args),
1324
+ next_promise_factory = std::move(next_promise_factory)](
1325
+ CallHandler handler) mutable {
1326
+ // Intercept all pipes from v2 API.
1327
+ //
1328
+ // For client-to-server messages, we do the following:
1329
+ // 1. Push the message into the v3 initiator, which sends
1330
+ // it to the v3 interceptor. Note that this needs to
1331
+ // be done inside of the v3 initiator's activity.
1332
+ // 2. Pull the message from the v3 handler, where it will
1333
+ // arrive when the v3 interceptor is done with it.
1334
+ // Note that this needs to be done inside of the v3
1335
+ // handler's activity. We then push the message into
1336
+ // an inter-activity pipe to return it to the v2 activity.
1337
+ // 3. In the v2 activity, read the message from the
1338
+ // inter-activity pipe and send it on to the next
1339
+ // filter.
1340
+ //
1341
+ // Step 2: Spawn a promise to pull messages from the v3
1342
+ // handler and push them into an inter-activity pipe to
1343
+ // return them to the v2 activity.
1344
+ handler.SpawnGuarded(
1345
+ "pull_client_to_server_message",
1346
+ [handler, pipe_owner]() mutable {
1347
+ return ForEach(
1348
+ MessagesFrom(handler),
1349
+ [pipe_owner](MessageHandle message) {
1350
+ return Map(pipe_owner->client_to_server_messages
1351
+ .sender.Push(std::move(message)),
1352
+ [](bool x) { return StatusFlag(x); });
1353
+ });
1354
+ });
1355
+ call_args.client_to_server_messages->InterceptAndMap(
1356
+ [initiator, handler,
1357
+ pipe_owner](MessageHandle message) mutable {
1358
+ // Step 1: Push the message onto the v3 initiator in
1359
+ // its activity.
1360
+ initiator.SpawnPushMessage(std::move(message));
1361
+ // Step 3: Here in the v2 activity, read the message
1362
+ // from the inter-activity pipe and return it.
1363
+ return Map(
1364
+ pipe_owner->client_to_server_messages.receiver
1365
+ .Next(),
1366
+ [](InterActivityPipe<MessageHandle, 1>::NextResult
1367
+ message) -> std::optional<MessageHandle> {
1368
+ if (!message.has_value()) return std::nullopt;
1369
+ return std::move(*message);
1370
+ });
1371
+ });
1372
+ // For server initial metadata, we do a similar thing, but
1373
+ // in the opposite direction, and using an inter-activity
1374
+ // latch instead of a pipe:
1375
+ // 1. Push the metadata into the v3 handler, which sends
1376
+ // it to the v3 interceptor. Note that this needs to
1377
+ // be done inside of the v3 handler's activity.
1378
+ // 2. Pull the metadata from the v3 initiator, where it will
1379
+ // arrive when the v3 interceptor is done with it.
1380
+ // Note that this needs to be done inside of the v3
1381
+ // initiator's activity. We then use an inter-activity
1382
+ // latch to return the metadata to the v2 activity.
1383
+ // 3. In the v2 activity, read the metadata from the
1384
+ // inter-activity latch and send it on to the previous
1385
+ // filter.
1386
+ //
1387
+ // Step 2: Spawn a promise to pull the metadata from the v3
1388
+ // initiator and use an inter-activity latch to return it to
1389
+ // the v2 activity.
1390
+ initiator.SpawnGuarded(
1391
+ "pull_server_initial_metadata",
1392
+ [initiator, pipe_owner]() mutable {
1393
+ return TrySeq(
1394
+ initiator.PullServerInitialMetadata(),
1395
+ [pipe_owner](
1396
+ std::optional<ServerMetadataHandle> metadata) {
1397
+ pipe_owner->server_initial_metadata.Set(
1398
+ std::move(metadata));
1399
+ });
1400
+ });
1401
+ call_args.server_initial_metadata->InterceptAndMap(
1402
+ [initiator, handler,
1403
+ pipe_owner](ServerMetadataHandle metadata) mutable {
1404
+ // Step 1: Push the metadata onto the v3 handler in
1405
+ // its activity.
1406
+ handler.SpawnPushServerInitialMetadata(
1407
+ std::move(metadata));
1408
+ // Step 3: Here in the v2 activity, read from the
1409
+ // inter-activity latch and return the metadata.
1410
+ return pipe_owner->server_initial_metadata.Wait();
1411
+ });
1412
+ // We handle server-to-client messages the same as
1413
+ // client-to-server messages, except in the opposite
1414
+ // direction:
1415
+ // 1. Push the message into the v3 handler, which sends
1416
+ // it to the v3 interceptor. Note that this needs to
1417
+ // be done inside of the v3 handler's activity.
1418
+ // 2. Pull the message from the v3 initiator, where it will
1419
+ // arrive when the v3 interceptor is done with it.
1420
+ // Note that this needs to be done inside of the v3
1421
+ // initiator's activity. We then push the message into
1422
+ // an inter-activity pipe to return it to the v2 activity.
1423
+ // 3. In the v2 activity, read the message from the
1424
+ // inter-activity pipe and send it on to the next
1425
+ // filter.
1426
+ //
1427
+ // Step 2: Spawn a promise to pull messages from the v3
1428
+ // initiator and push them into an inter-activity pipe to
1429
+ // return them to the v2 activity.
1430
+ initiator.SpawnGuarded(
1431
+ "pull_server_to_client_message",
1432
+ [initiator, pipe_owner]() mutable {
1433
+ return ForEach(
1434
+ MessagesFrom(initiator),
1435
+ [pipe_owner](MessageHandle message) {
1436
+ return Map(pipe_owner->server_to_client_messages
1437
+ .sender.Push(std::move(message)),
1438
+ [](bool x) { return StatusFlag(x); });
1439
+ });
1440
+ });
1441
+ call_args.server_to_client_messages->InterceptAndMap(
1442
+ [initiator, handler,
1443
+ pipe_owner](MessageHandle message) mutable {
1444
+ // Step 1: Push the message onto the v3 handler in
1445
+ // its activity.
1446
+ handler.SpawnPushMessage(std::move(message));
1447
+ // Step 3: Here in the v2 activity, read from the
1448
+ // inter-activity pipe and return the messages.
1449
+ return Map(
1450
+ pipe_owner->server_to_client_messages.receiver
1451
+ .Next(),
1452
+ [](InterActivityPipe<MessageHandle, 1>::NextResult
1453
+ message) -> std::optional<MessageHandle> {
1454
+ if (!message.has_value()) return std::nullopt;
1455
+ return std::move(*message);
1456
+ });
1457
+ });
1458
+ // In the v3 handler's activity, pull client initial metadata.
1459
+ // Use an inter-activity latch to get it back to the v2
1460
+ // activity.
1461
+ handler.SpawnGuarded(
1462
+ "pull_client_initial_metadata",
1463
+ [handler, pipe_owner]() mutable {
1464
+ return TrySeq(
1465
+ handler.PullClientInitialMetadata(),
1466
+ [pipe_owner](ClientMetadataHandle metadata) {
1467
+ pipe_owner->client_initial_metadata.Set(
1468
+ std::move(metadata));
1469
+ });
1470
+ });
1471
+ // A wrapper for next_promise_factory that does the following:
1472
+ // - Pulls client initial metadata from the V3 handler via
1473
+ // the inter-activity latch and injects it into the next
1474
+ // V2 filter via CallArgs.
1475
+ // - Polls the next promise to get server trailing metadata
1476
+ // from the next V2 filter and feeds it into the V3 handler.
1477
+ // Note that this does not actually pull the trailing metadata
1478
+ // from the V3 initiator; instead, we do that in a separate
1479
+ // promise above. That promise will always complete at the
1480
+ // end of the call, so we always return pending here.
1481
+ return Seq(
1482
+ pipe_owner->client_initial_metadata.Wait(),
1483
+ [next_promise_factory = std::move(next_promise_factory),
1484
+ call_args = std::move(call_args),
1485
+ handler](ClientMetadataHandle metadata) mutable {
1486
+ call_args.client_initial_metadata = std::move(metadata);
1487
+ return Seq(
1488
+ next_promise_factory(std::move(call_args)),
1489
+ [handler](ServerMetadataHandle metadata) mutable
1490
+ -> Poll<ServerMetadataHandle> {
1491
+ handler.SpawnPushServerTrailingMetadata(
1492
+ std::move(metadata));
1493
+ // We always lose the race.
1494
+ return Pending{};
1495
+ });
1496
+ });
1497
+ })),
1498
+ [initiator = initiator]() mutable {
1499
+ // The v2 promise was destroyed before completing: propagate the
1500
+ // cancellation into the v3 call pair so its CallSpine is torn down
1501
+ // and the v3 interceptor is notified.
1502
+ if (IsV2NonOwningWakerImplementationEnabled()) {
1503
+ initiator.SpawnCancel(
1504
+ absl::CancelledError("call cancelled by v2 filter stack"));
1505
+ } else {
1506
+ initiator.SpawnInfallible("v2-force-cancel", [initiator]() mutable {
1507
+ initiator.Cancel();
1508
+ return Map(initiator.PullServerTrailingMetadata(),
1509
+ [](ServerMetadataHandle) { return Empty{}; });
1510
+ });
1511
+ }
1512
+ });
1463
1513
  }
1464
1514
 
1465
1515
  protected:
@@ -1918,9 +1968,11 @@ class BaseCallData : public Activity,
1918
1968
  std::string LogTag() const;
1919
1969
 
1920
1970
  private:
1971
+ class WeakWakerHandle;
1972
+
1921
1973
  // Wakeable implementation.
1922
1974
  void Wakeup(WakeupMask) final;
1923
- void WakeupAsync(WakeupMask) final { Crash("not implemented"); }
1975
+ void WakeupAsync(WakeupMask) final;
1924
1976
  void Drop(WakeupMask) final;
1925
1977
 
1926
1978
  virtual void OnWakeup() = 0;
@@ -1932,6 +1984,7 @@ class BaseCallData : public Activity,
1932
1984
  const Timestamp deadline_;
1933
1985
  CallFinalization finalization_;
1934
1986
  std::atomic<grpc_polling_entity*> pollent_{nullptr};
1987
+ OrphanablePtr<WeakWakerHandle> handle_;
1935
1988
  Pipe<ServerMetadataHandle>* const server_initial_metadata_pipe_;
1936
1989
  SendMessage* const send_message_;
1937
1990
  ReceiveMessage* const receive_message_;
@@ -2268,7 +2321,7 @@ struct ChannelFilterWithFlagsMethods {
2268
2321
  F::Create(args->channel_args,
2269
2322
  ChannelFilter::Args(args->channel_stack, elem,
2270
2323
  grpc_channel_stack_filter_instance_number,
2271
- args->config, args->blackboard));
2324
+ args->config));
2272
2325
  if (!status.ok()) {
2273
2326
  new (elem->channel_data) F*(nullptr);
2274
2327
  return absl_status_to_grpc_error(status.status());
@@ -42,19 +42,6 @@ class ChaoticGoodExtension {
42
42
  /// one provided to it through the channel args. It is safe to call this
43
43
  /// only when there are no outstanding Reads on the Endpoint.
44
44
  virtual void UseMemoryQuota(grpc_core::MemoryQuotaRefPtr mem_quota) = 0;
45
-
46
- /// Forces the endpoint to receive rpcs in one contiguous block of memory.
47
- /// It is safe to call this only when there are no outstanding Reads on
48
- /// the Endpoint.
49
- virtual void EnableRpcReceiveCoalescing() = 0;
50
-
51
- /// Disables rpc receive coalescing until it is explicitly enabled again.
52
- /// It is safe to call this only when there are no outstanding Reads on
53
- /// the Endpoint.
54
- virtual void DisableRpcReceiveCoalescing() = 0;
55
- /// If invoked, the endpoint tries to preserve proper order and alignment of
56
- /// any memory that maybe shared across reads.
57
- virtual void EnforceRxMemoryAlignment() = 0;
58
45
  };
59
46
 
60
47
  } // namespace grpc_event_engine::experimental
@@ -0,0 +1,44 @@
1
+ // Copyright 2026 The gRPC Authors
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #ifndef GRPC_SRC_CORE_LIB_EVENT_ENGINE_EXTENSIONS_RECEIVE_COALESCING_EXTENSION_H
16
+ #define GRPC_SRC_CORE_LIB_EVENT_ENGINE_EXTENSIONS_RECEIVE_COALESCING_EXTENSION_H
17
+
18
+ #include "absl/strings/string_view.h"
19
+
20
+ namespace grpc_event_engine::experimental {
21
+
22
+ /// An Endpoint extension class that will be supported by EventEngine endpoints
23
+ /// which need to work with receive coalescing.
24
+ class ReceiveCoalescingExtension {
25
+ public:
26
+ virtual ~ReceiveCoalescingExtension() = default;
27
+ static absl::string_view EndpointExtensionName() {
28
+ return "io.grpc.event_engine.extension.receive_coalescing_extension";
29
+ }
30
+
31
+ /// Forces the endpoint to receive rpcs in one contiguous block of memory.
32
+ /// It is safe to call this only when there are no outstanding Reads on
33
+ /// the Endpoint.
34
+ virtual void EnableRpcReceiveCoalescing() = 0;
35
+
36
+ /// Disables rpc receive coalescing until it is explicitly enabled again.
37
+ /// It is safe to call this only when there are no outstanding Reads on
38
+ /// the Endpoint.
39
+ virtual void DisableRpcReceiveCoalescing() = 0;
40
+ };
41
+
42
+ } // namespace grpc_event_engine::experimental
43
+
44
+ #endif // GRPC_SRC_CORE_LIB_EVENT_ENGINE_EXTENSIONS_RECEIVE_COALESCING_EXTENSION_H
@@ -36,7 +36,7 @@ class TcpTraceExtension {
36
36
  // Enable TCP telemetry collection using the Instrumentation API.
37
37
  virtual void EnableTcpTelemetry(
38
38
  grpc_core::RefCountedPtr<grpc_core::CollectionScope> collection_scope,
39
- bool is_control_endpoint) = 0;
39
+ bool is_control_endpoint, bool trace_full_buffer) = 0;
40
40
  };
41
41
 
42
42
  } // namespace grpc_event_engine::experimental
@@ -22,6 +22,7 @@
22
22
 
23
23
  #include "src/core/lib/event_engine/extensions/can_track_errors.h"
24
24
  #include "src/core/lib/event_engine/extensions/chaotic_good_extension.h"
25
+ #include "src/core/lib/event_engine/extensions/receive_coalescing_extension.h"
25
26
  #include "src/core/lib/event_engine/extensions/supports_fd.h"
26
27
  #include "src/core/lib/event_engine/query_extensions.h"
27
28
 
@@ -31,6 +32,7 @@ namespace grpc_event_engine::experimental {
31
32
  /// may implement to support additional chaotic good related functionality.
32
33
  class PosixEndpointWithChaoticGoodSupport
33
34
  : public ExtendedType<EventEngine::Endpoint, ChaoticGoodExtension,
35
+ ReceiveCoalescingExtension,
34
36
  EndpointSupportsFdExtension,
35
37
  EndpointCanTrackErrorsExtension> {};
36
38
 
@@ -95,7 +95,8 @@ NativePosixDNSResolver::NativePosixDNSResolver(
95
95
  void NativePosixDNSResolver::LookupHostname(
96
96
  EventEngine::DNSResolver::LookupHostnameCallback on_resolved,
97
97
  absl::string_view name, absl::string_view default_port) {
98
- event_engine_->Run([name = std::string(name), default_port,
98
+ event_engine_->Run([name = std::string(name),
99
+ default_port = std::string(default_port),
99
100
  on_resolved = std::move(on_resolved)]() mutable {
100
101
  on_resolved(LookupHostnameBlocking(name, default_port));
101
102
  });