grpc 1.81.1 → 1.83.1

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 (955) 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/http/message_compress/compression_filter.cc +25 -32
  72. data/src/core/ext/filters/http/message_compress/compression_filter.h +0 -1
  73. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -81
  74. data/src/core/ext/filters/message_size/message_size_filter.h +1 -50
  75. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -1
  76. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -56
  77. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -14
  78. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
  79. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +184 -54
  80. data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -1
  81. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +132 -18
  82. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
  83. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  84. data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -2
  85. data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +2 -4
  86. data/src/core/ext/transport/chttp2/transport/frame.cc +120 -13
  87. data/src/core/ext/transport/chttp2/transport/frame.h +57 -10
  88. data/src/core/ext/transport/chttp2/transport/frame_data.cc +34 -2
  89. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +55 -23
  90. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -0
  91. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -1
  92. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +13 -7
  93. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
  94. data/src/core/ext/transport/chttp2/transport/frame_security.cc +10 -1
  95. data/src/core/ext/transport/chttp2/transport/frame_security.h +2 -1
  96. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
  97. data/src/core/ext/transport/chttp2/transport/goaway.cc +11 -1
  98. data/src/core/ext/transport/chttp2/transport/goaway.h +17 -1
  99. data/src/core/ext/transport/chttp2/transport/header_assembler.h +54 -22
  100. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +53 -5
  101. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +22 -0
  102. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +20 -0
  103. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +42 -1
  104. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
  105. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +219 -417
  106. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +49 -29
  107. data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +2073 -0
  108. data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +746 -0
  109. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
  110. data/src/core/ext/transport/chttp2/transport/http2_settings.h +49 -15
  111. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +0 -2
  112. data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +74 -26
  113. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +39 -15
  114. data/src/core/ext/transport/chttp2/transport/http2_transport.h +18 -48
  115. data/src/core/ext/transport/chttp2/transport/internal.h +24 -0
  116. data/src/core/ext/transport/chttp2/transport/message_assembler.h +1 -2
  117. data/src/core/ext/transport/chttp2/transport/parsing.cc +93 -26
  118. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +1 -1
  119. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +4 -10
  120. data/src/core/ext/transport/chttp2/transport/read_context.h +494 -0
  121. data/src/core/ext/transport/chttp2/transport/security_frame.h +13 -3
  122. data/src/core/ext/transport/chttp2/transport/stream.h +287 -137
  123. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +83 -65
  124. data/src/core/ext/transport/chttp2/transport/write_cycle.h +9 -1
  125. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +16 -2
  126. data/src/core/ext/upb-gen/cel/expr/checked.upb.h +621 -432
  127. data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +264 -166
  128. data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.h +0 -13
  129. data/src/core/ext/upb-gen/cel/expr/syntax.upb.h +708 -497
  130. data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +294 -176
  131. data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.h +0 -15
  132. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +262 -181
  133. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +84 -58
  134. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +0 -5
  135. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +254 -190
  136. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +107 -53
  137. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +0 -4
  138. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +271 -190
  139. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +88 -64
  140. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +0 -5
  141. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +1035 -730
  142. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +384 -260
  143. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +0 -19
  144. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +87 -56
  145. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +26 -16
  146. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +0 -2
  147. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +105 -71
  148. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +30 -22
  149. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +0 -2
  150. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +31 -29
  151. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +19 -7
  152. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +0 -1
  153. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +25 -23
  154. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +15 -7
  155. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +0 -1
  156. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +25 -23
  157. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +15 -7
  158. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +0 -1
  159. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +201 -165
  160. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +79 -31
  161. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +0 -2
  162. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +29 -26
  163. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +17 -11
  164. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +0 -1
  165. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +46 -29
  166. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +37 -19
  167. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +4 -4
  168. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +34 -27
  169. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +34 -13
  170. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +1 -2
  171. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +617 -452
  172. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +221 -163
  173. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +0 -16
  174. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +1339 -970
  175. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +484 -324
  176. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +0 -23
  177. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +181 -135
  178. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +59 -43
  179. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +0 -3
  180. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +1353 -1028
  181. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +535 -361
  182. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +0 -25
  183. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +37 -33
  184. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +19 -13
  185. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +0 -1
  186. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +234 -196
  187. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +77 -57
  188. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +0 -1
  189. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +695 -502
  190. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +246 -186
  191. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +0 -15
  192. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb.h +140 -116
  193. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +53 -43
  194. data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.h +0 -3
  195. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +363 -269
  196. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +131 -89
  197. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +0 -8
  198. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +35 -31
  199. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +15 -13
  200. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +0 -1
  201. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +1073 -769
  202. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +515 -293
  203. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +0 -30
  204. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb.h +25 -23
  205. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +15 -7
  206. data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.h +0 -1
  207. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +375 -267
  208. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +142 -86
  209. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +0 -7
  210. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +32 -27
  211. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +13 -11
  212. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +0 -1
  213. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +29 -26
  214. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +17 -11
  215. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +0 -1
  216. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +87 -56
  217. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +26 -16
  218. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +0 -2
  219. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +634 -468
  220. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +255 -161
  221. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +0 -14
  222. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +672 -474
  223. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +228 -130
  224. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +0 -9
  225. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +56 -40
  226. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +15 -13
  227. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +0 -1
  228. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +34 -29
  229. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +19 -11
  230. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +0 -1
  231. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +811 -635
  232. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +347 -221
  233. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +0 -16
  234. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +174 -118
  235. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +62 -38
  236. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +0 -4
  237. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +78 -57
  238. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +28 -18
  239. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +0 -2
  240. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +37 -33
  241. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +22 -14
  242. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +0 -1
  243. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +159 -119
  244. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +47 -35
  245. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +0 -5
  246. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +101 -76
  247. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +41 -23
  248. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +0 -2
  249. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +35 -31
  250. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +15 -13
  251. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +0 -1
  252. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +189 -127
  253. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +79 -49
  254. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +0 -4
  255. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +378 -283
  256. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +156 -98
  257. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +0 -8
  258. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +354 -255
  259. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +125 -69
  260. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +0 -6
  261. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +27 -24
  262. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +13 -11
  263. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +0 -1
  264. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +611 -451
  265. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +159 -119
  266. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +0 -11
  267. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +468 -321
  268. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +157 -99
  269. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -6
  270. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +146 -119
  271. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +55 -35
  272. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +0 -1
  273. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +61 -51
  274. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +16 -16
  275. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +0 -2
  276. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +43 -39
  277. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +25 -13
  278. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +0 -1
  279. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +341 -247
  280. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +130 -84
  281. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +0 -8
  282. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +452 -313
  283. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +144 -100
  284. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +0 -10
  285. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +666 -493
  286. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +251 -181
  287. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +0 -12
  288. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +327 -197
  289. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +92 -48
  290. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +0 -3
  291. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3583 -2532
  292. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +1340 -816
  293. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +0 -60
  294. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +111 -82
  295. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +48 -28
  296. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +0 -3
  297. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +548 -410
  298. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +214 -148
  299. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +0 -12
  300. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +59 -50
  301. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +30 -20
  302. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +0 -2
  303. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +29 -26
  304. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +17 -11
  305. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +0 -1
  306. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +60 -49
  307. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +28 -20
  308. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +0 -2
  309. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +50 -36
  310. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +19 -11
  311. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +0 -1
  312. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +82 -63
  313. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +27 -19
  314. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +0 -1
  315. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +27 -24
  316. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +13 -11
  317. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +0 -1
  318. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +70 -58
  319. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +32 -22
  320. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +0 -2
  321. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +2 -5
  322. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +1 -1
  323. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +73 -62
  324. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +39 -25
  325. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +0 -2
  326. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +49 -45
  327. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +33 -13
  328. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +0 -1
  329. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +771 -588
  330. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +383 -185
  331. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +0 -16
  332. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +66 -47
  333. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +31 -17
  334. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +0 -2
  335. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb.h +69 -58
  336. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.c +27 -23
  337. data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.h +0 -2
  338. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +151 -119
  339. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +45 -39
  340. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +0 -5
  341. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb.h +19 -17
  342. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.c +1 -3
  343. data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.h +0 -1
  344. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb.h +144 -109
  345. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.c +46 -38
  346. data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.h +0 -4
  347. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +184 -139
  348. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +65 -35
  349. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +0 -3
  350. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +129 -106
  351. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +69 -41
  352. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +0 -4
  353. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +83 -71
  354. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +40 -26
  355. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +0 -2
  356. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +148 -101
  357. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +45 -27
  358. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +0 -2
  359. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +62 -51
  360. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +35 -21
  361. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +0 -2
  362. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1362 -1024
  363. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +508 -336
  364. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +0 -22
  365. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb.h +21 -19
  366. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +13 -7
  367. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.h +0 -1
  368. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb.h +35 -31
  369. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c +15 -13
  370. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.h +0 -1
  371. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb.h +27 -24
  372. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c +13 -11
  373. data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.h +0 -1
  374. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +27 -24
  375. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +13 -11
  376. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +0 -1
  377. 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
  378. 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
  379. 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
  380. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +231 -179
  381. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +88 -66
  382. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +0 -6
  383. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +21 -19
  384. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +13 -7
  385. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +0 -1
  386. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +63 -56
  387. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +31 -19
  388. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +0 -1
  389. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +27 -24
  390. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +13 -11
  391. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +0 -1
  392. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +27 -24
  393. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +13 -11
  394. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +0 -1
  395. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -5
  396. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +1 -1
  397. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +538 -364
  398. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +157 -95
  399. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +0 -8
  400. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -110
  401. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +69 -49
  402. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +0 -4
  403. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +517 -389
  404. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +182 -116
  405. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +0 -7
  406. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +84 -62
  407. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +30 -22
  408. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +0 -2
  409. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +340 -256
  410. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +92 -82
  411. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +0 -5
  412. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +19 -17
  413. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +1 -3
  414. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +0 -1
  415. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +857 -566
  416. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +288 -182
  417. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +0 -15
  418. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +105 -72
  419. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +36 -22
  420. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +0 -2
  421. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +312 -226
  422. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +132 -78
  423. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +0 -5
  424. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +82 -61
  425. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +35 -19
  426. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +0 -2
  427. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +123 -89
  428. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +25 -25
  429. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +0 -4
  430. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +48 -33
  431. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +13 -11
  432. data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +0 -1
  433. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +42 -36
  434. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +19 -13
  435. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +0 -1
  436. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +101 -79
  437. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +61 -31
  438. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +0 -5
  439. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +83 -60
  440. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +37 -19
  441. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +0 -2
  442. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +56 -40
  443. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +15 -13
  444. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +0 -1
  445. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +34 -29
  446. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +13 -11
  447. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +0 -1
  448. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +32 -27
  449. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +13 -11
  450. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +0 -1
  451. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +88 -71
  452. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +48 -30
  453. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +0 -3
  454. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +37 -30
  455. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +1 -5
  456. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +0 -2
  457. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +95 -71
  458. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +36 -22
  459. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +0 -2
  460. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +79 -56
  461. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +26 -18
  462. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +0 -2
  463. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +164 -124
  464. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +54 -40
  465. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +0 -4
  466. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +200 -147
  467. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +47 -41
  468. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +0 -7
  469. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +160 -130
  470. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +89 -47
  471. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +0 -5
  472. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +78 -62
  473. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +26 -20
  474. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +0 -3
  475. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +2 -5
  476. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +1 -1
  477. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +21 -19
  478. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +13 -7
  479. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +0 -1
  480. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +43 -36
  481. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +22 -12
  482. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +0 -2
  483. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +67 -55
  484. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +36 -18
  485. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +0 -3
  486. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +62 -51
  487. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +33 -19
  488. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +0 -2
  489. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +2 -5
  490. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +1 -1
  491. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +25 -23
  492. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +15 -7
  493. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +0 -1
  494. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +37 -33
  495. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +19 -13
  496. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +0 -1
  497. data/src/core/ext/upb-gen/google/api/annotations.upb.h +15 -13
  498. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +22 -7
  499. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +1 -1
  500. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +619 -430
  501. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +260 -168
  502. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +0 -13
  503. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +734 -518
  504. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +312 -182
  505. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +0 -16
  506. data/src/core/ext/upb-gen/google/api/http.upb.h +146 -105
  507. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +65 -29
  508. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +0 -3
  509. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +52 -37
  510. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +19 -11
  511. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +0 -1
  512. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +23 -21
  513. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +15 -7
  514. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +0 -1
  515. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +2236 -1514
  516. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +824 -406
  517. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +0 -34
  518. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +23 -21
  519. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +15 -7
  520. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +0 -1
  521. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +19 -17
  522. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +1 -3
  523. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +0 -1
  524. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +149 -100
  525. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +59 -43
  526. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +0 -4
  527. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +23 -21
  528. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +15 -7
  529. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +0 -1
  530. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +181 -139
  531. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +99 -53
  532. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +0 -9
  533. data/src/core/ext/upb-gen/google/rpc/status.upb.h +52 -37
  534. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +19 -11
  535. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +0 -1
  536. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +1553 -1157
  537. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +712 -410
  538. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +0 -39
  539. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +189 -125
  540. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +59 -35
  541. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +0 -3
  542. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +454 -343
  543. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +204 -130
  544. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +0 -11
  545. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +369 -243
  546. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +109 -79
  547. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +0 -7
  548. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +256 -175
  549. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +122 -68
  550. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +0 -8
  551. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +71 -51
  552. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +39 -19
  553. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +0 -2
  554. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +583 -407
  555. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +259 -145
  556. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +0 -12
  557. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +114 -84
  558. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +52 -30
  559. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +0 -4
  560. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +41 -34
  561. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +25 -13
  562. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +0 -2
  563. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +309 -230
  564. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +123 -79
  565. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +0 -9
  566. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +98 -63
  567. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +51 -23
  568. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +0 -3
  569. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +505 -312
  570. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +159 -87
  571. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +0 -9
  572. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +128 -91
  573. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +82 -41
  574. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +5 -8
  575. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +36 -29
  576. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +36 -13
  577. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +1 -2
  578. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +13 -11
  579. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +22 -7
  580. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +1 -1
  581. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +36 -29
  582. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +36 -13
  583. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +1 -2
  584. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +34 -27
  585. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +34 -13
  586. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +1 -2
  587. data/src/core/ext/upb-gen/validate/validate.upb.h +1682 -1130
  588. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +587 -247
  589. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +4 -27
  590. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +128 -91
  591. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +82 -41
  592. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +5 -8
  593. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +36 -29
  594. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +36 -13
  595. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +1 -2
  596. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +13 -11
  597. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +22 -7
  598. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +1 -1
  599. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +122 -90
  600. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +82 -39
  601. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +3 -7
  602. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +34 -27
  603. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +34 -13
  604. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +1 -2
  605. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +21 -19
  606. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +13 -7
  607. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +0 -1
  608. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +29 -26
  609. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +17 -11
  610. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +0 -1
  611. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +70 -58
  612. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +32 -22
  613. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +0 -2
  614. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +53 -34
  615. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +26 -16
  616. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +0 -2
  617. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +29 -26
  618. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +17 -11
  619. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +0 -1
  620. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +37 -33
  621. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +22 -14
  622. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +0 -1
  623. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +102 -76
  624. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +43 -23
  625. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +0 -2
  626. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +33 -30
  627. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +19 -11
  628. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +0 -1
  629. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +136 -83
  630. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +41 -33
  631. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +0 -4
  632. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +46 -32
  633. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +20 -12
  634. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +0 -1
  635. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +29 -26
  636. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +20 -12
  637. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +0 -1
  638. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +93 -61
  639. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +28 -20
  640. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +0 -2
  641. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +19 -17
  642. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +1 -3
  643. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +0 -1
  644. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +105 -71
  645. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +32 -22
  646. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +0 -2
  647. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +430 -314
  648. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +153 -123
  649. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +0 -10
  650. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +307 -199
  651. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +74 -62
  652. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +0 -6
  653. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +52 -42
  654. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +19 -13
  655. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +0 -2
  656. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +95 -71
  657. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +36 -22
  658. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +0 -2
  659. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +92 -77
  660. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +42 -28
  661. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +0 -2
  662. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +67 -55
  663. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +36 -18
  664. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +0 -3
  665. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +29 -26
  666. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +17 -11
  667. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +0 -1
  668. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +885 -855
  669. data/src/core/filter/composite/composite_filter.cc +10 -3
  670. data/src/core/filter/composite/composite_filter.h +11 -1
  671. data/src/core/filter/filter_args.h +4 -22
  672. data/src/core/handshaker/handshaker.cc +10 -2
  673. data/src/core/handshaker/security/secure_endpoint.cc +60 -5
  674. data/src/core/lib/channel/channel_args.h +12 -6
  675. data/src/core/lib/channel/channel_stack.cc +1 -2
  676. data/src/core/lib/channel/channel_stack.h +1 -7
  677. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
  678. data/src/core/lib/channel/channel_stack_builder_impl.h +0 -7
  679. data/src/core/lib/channel/promise_based_filter.cc +90 -4
  680. data/src/core/lib/channel/promise_based_filter.h +241 -188
  681. data/src/core/lib/compression/message_compress.cc +132 -97
  682. data/src/core/lib/compression/message_compress.h +24 -0
  683. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +0 -13
  684. data/src/core/lib/event_engine/extensions/receive_coalescing_extension.h +44 -0
  685. data/src/core/lib/event_engine/extensions/tcp_trace.h +1 -1
  686. data/src/core/lib/event_engine/posix.h +2 -0
  687. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +2 -1
  688. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +11 -8
  689. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +9 -18
  690. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
  691. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +2 -1
  692. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +10 -10
  693. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +1 -1
  694. data/src/core/lib/event_engine/shim.cc +2 -16
  695. data/src/core/lib/event_engine/shim.h +0 -4
  696. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +1 -1
  697. data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +5 -4
  698. data/src/core/lib/experiments/experiments.cc +318 -183
  699. data/src/core/lib/experiments/experiments.h +186 -93
  700. data/src/core/lib/iomgr/buffer_list.h +1 -1
  701. data/src/core/lib/iomgr/error.cc +3 -73
  702. data/src/core/lib/iomgr/error.h +8 -6
  703. data/src/core/lib/iomgr/error_cfstream.cc +1 -2
  704. data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -7
  705. data/src/core/lib/iomgr/ev_poll_posix.cc +2 -6
  706. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
  707. data/src/core/lib/iomgr/tcp_posix.cc +4 -7
  708. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
  709. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
  710. data/src/core/lib/promise/detail/promise_factory.h +8 -8
  711. data/src/core/lib/promise/interceptor_list.h +1 -1
  712. data/src/core/lib/promise/try_seq.h +2 -2
  713. data/src/core/lib/resource_quota/telemetry.cc +54 -0
  714. data/src/core/lib/resource_quota/telemetry.h +5 -23
  715. data/src/core/lib/security/authorization/audit_logging.cc +2 -2
  716. data/src/core/lib/security/authorization/audit_logging.h +3 -3
  717. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +11 -13
  718. data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -1
  719. data/src/core/lib/security/authorization/matchers.cc +20 -20
  720. data/src/core/lib/security/authorization/matchers.h +15 -16
  721. data/src/core/lib/security/authorization/rbac_policy.h +1 -1
  722. data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
  723. data/src/core/lib/security/authorization/stdout_logger.h +6 -5
  724. data/src/core/lib/surface/call.cc +6 -9
  725. data/src/core/lib/surface/call.h +11 -0
  726. data/src/core/lib/surface/channel.cc +21 -2
  727. data/src/core/lib/surface/channel.h +14 -6
  728. data/src/core/lib/surface/filter_stack_call.cc +10 -29
  729. data/src/core/lib/surface/legacy_channel.cc +9 -7
  730. data/src/core/lib/surface/legacy_channel.h +3 -1
  731. data/src/core/lib/surface/version.cc +2 -2
  732. data/src/core/lib/transport/bdp_estimator.cc +13 -13
  733. data/src/core/lib/transport/bdp_estimator.h +9 -5
  734. data/src/core/lib/transport/error_utils.cc +26 -138
  735. data/src/core/lib/transport/promise_endpoint.h +8 -8
  736. data/src/core/lib/transport/transport.h +31 -4
  737. data/src/core/load_balancing/grpclb/grpclb.cc +2 -1
  738. data/src/core/load_balancing/pick_first/pick_first.cc +33 -2
  739. data/src/core/load_balancing/pick_first/pick_first.h +6 -0
  740. data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -10
  741. data/src/core/load_balancing/rls/rls.cc +2 -1
  742. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +141 -74
  743. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.h +88 -0
  744. data/src/core/load_balancing/xds/cds.cc +80 -56
  745. data/src/core/load_balancing/xds/cds.h +21 -0
  746. data/src/core/mitigation_engine/mitigation.h +53 -0
  747. data/src/core/mitigation_engine/mitigation_engine.h +81 -0
  748. data/src/core/mitigation_engine/mitigation_provider.h +62 -0
  749. data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
  750. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -5
  751. data/src/core/resolver/dns/dns_resolver_plugin.cc +1 -6
  752. data/src/core/resolver/xds/xds_resolver.cc +37 -144
  753. data/src/core/server/server.cc +40 -18
  754. data/src/core/server/server.h +26 -18
  755. data/src/core/server/server_config_selector.h +5 -4
  756. data/src/core/server/server_config_selector_filter.cc +135 -26
  757. data/src/core/server/server_config_selector_filter.h +1 -0
  758. data/src/core/server/xds_server_config_fetcher.cc +687 -692
  759. data/src/core/server/xds_server_config_fetcher_legacy.cc +1336 -0
  760. data/src/core/telemetry/call_tracer.cc +49 -2
  761. data/src/core/telemetry/call_tracer.h +1 -0
  762. data/src/core/telemetry/histogram.h +10 -89
  763. data/src/core/telemetry/instrument.h +42 -28
  764. data/src/core/telemetry/tcp_tracer.h +38 -0
  765. data/src/core/transport/message_size_service_config.cc +123 -0
  766. data/src/core/transport/message_size_service_config.h +85 -0
  767. data/src/core/transport/session_endpoint.cc +29 -4
  768. data/src/core/transport/session_endpoint.h +4 -0
  769. data/src/core/tsi/alts/crypt/gsec.h +4 -2
  770. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
  771. data/src/core/tsi/ssl_telemetry_utils.cc +343 -0
  772. data/src/core/tsi/ssl_telemetry_utils.h +74 -0
  773. data/src/core/tsi/ssl_transport_security.cc +583 -305
  774. data/src/core/tsi/ssl_transport_security.h +22 -6
  775. data/src/core/tsi/ssl_transport_security_utils.cc +2 -0
  776. data/src/core/tsi/transport_security.h +7 -0
  777. data/src/core/util/http_client/httpcli.cc +1 -4
  778. data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
  779. data/src/core/util/http_client/parser.cc +1 -1
  780. data/src/core/util/lru_cache.h +2 -0
  781. data/src/core/util/ref_counted_string.h +1 -1
  782. data/src/core/util/status_helper.cc +71 -192
  783. data/src/core/util/status_helper.h +16 -21
  784. data/src/core/util/tchar.cc +13 -7
  785. data/src/core/util/trie_lookup.h +1 -1
  786. data/src/core/xds/grpc/blackboard.cc +58 -0
  787. data/src/core/{filter → xds/grpc}/blackboard.h +30 -11
  788. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +2 -11
  789. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -7
  790. data/src/core/xds/grpc/xds_cluster_parser.cc +5 -16
  791. data/src/core/xds/grpc/xds_common_types.cc +96 -0
  792. data/src/core/xds/grpc/xds_common_types.h +35 -7
  793. data/src/core/xds/grpc/xds_common_types_parser.cc +205 -134
  794. data/src/core/xds/grpc/xds_common_types_parser.h +18 -1
  795. data/src/core/xds/grpc/xds_endpoint_parser.cc +7 -18
  796. data/src/core/xds/grpc/xds_http_composite_filter.cc +34 -18
  797. data/src/core/xds/grpc/xds_http_composite_filter.h +6 -3
  798. data/src/core/xds/grpc/xds_http_fault_filter.cc +0 -149
  799. data/src/core/xds/grpc/xds_http_fault_filter.h +19 -8
  800. data/src/core/xds/grpc/xds_http_filter.cc +2 -1
  801. data/src/core/xds/grpc/xds_http_filter.h +6 -16
  802. data/src/core/xds/grpc/xds_http_filter_registry.cc +2 -12
  803. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +25 -119
  804. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +27 -15
  805. data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -12
  806. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +0 -149
  807. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +19 -8
  808. data/src/core/xds/grpc/xds_lb_policy_registry.cc +18 -0
  809. data/src/core/xds/grpc/xds_listener_parser.cc +13 -9
  810. data/src/core/xds/grpc/xds_metadata_parser.cc +0 -2
  811. data/src/core/xds/grpc/xds_route_config.h +1 -1
  812. data/src/core/xds/grpc/xds_route_config_parser.cc +10 -16
  813. data/src/core/xds/grpc/xds_routing.cc +115 -90
  814. data/src/core/xds/grpc/xds_routing.h +73 -24
  815. data/src/core/xds/grpc/xds_server_grpc.cc +22 -13
  816. data/src/core/xds/grpc/xds_server_grpc.h +16 -2
  817. data/src/core/xds/grpc/xds_server_grpc_interface.h +10 -0
  818. data/src/core/xds/grpc/xds_transport_grpc.cc +123 -18
  819. data/src/core/xds/grpc/xds_transport_grpc.h +28 -4
  820. data/src/core/xds/xds_client/lrs_client.cc +4 -8
  821. data/src/core/xds/xds_client/xds_bootstrap.cc +4 -16
  822. data/src/core/xds/xds_client/xds_client.cc +2 -15
  823. data/src/core/xds/xds_client/xds_transport.h +3 -0
  824. data/src/ruby/ext/grpc/rb_byte_buffer.c +1 -0
  825. data/src/ruby/ext/grpc/rb_call.c +3 -0
  826. data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
  827. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  828. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  829. data/src/ruby/ext/grpc/rb_channel_credentials.c +1 -0
  830. data/src/ruby/ext/grpc/rb_completion_queue.c +1 -0
  831. data/src/ruby/ext/grpc/rb_compression_options.c +1 -0
  832. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -4
  833. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -6
  834. data/src/ruby/ext/grpc/rb_server.c +1 -0
  835. data/src/ruby/ext/grpc/rb_server_credentials.c +1 -0
  836. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +1 -0
  837. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +1 -0
  838. data/src/ruby/lib/grpc/core/call_credentials.rb +86 -0
  839. data/src/ruby/lib/grpc/core/channel_credentials.rb +69 -0
  840. data/src/ruby/lib/grpc/core/credentials_helper.rb +126 -0
  841. data/src/ruby/lib/grpc/generic/client_stub.rb +86 -73
  842. data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
  843. data/src/ruby/lib/grpc/version.rb +1 -1
  844. data/src/ruby/lib/grpc.rb +25 -0
  845. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -1
  846. data/src/ruby/spec/call_credentials_spec.rb +52 -2
  847. data/src/ruby/spec/credentials_helper_spec.rb +80 -0
  848. data/src/ruby/spec/generic/client_stub_spec.rb +27 -4
  849. data/src/ruby/spec/generic/server_interceptors_spec.rb +17 -3
  850. data/third_party/upb/upb/base/error_handler.h +79 -0
  851. data/third_party/upb/upb/base/internal/log2.h +29 -5
  852. data/third_party/upb/upb/generated_code_support.h +1 -0
  853. data/third_party/upb/upb/hash/common.c +129 -14
  854. data/third_party/upb/upb/hash/common.h +1 -1
  855. data/third_party/upb/upb/hash/ext_table.h +65 -0
  856. data/third_party/upb/upb/lex/strtod.c +14 -5
  857. data/third_party/upb/upb/mem/arena.c +113 -95
  858. data/third_party/upb/upb/mem/internal/arena.h +13 -8
  859. data/third_party/upb/upb/message/accessors.c +2 -3
  860. data/third_party/upb/upb/message/accessors.h +32 -12
  861. data/third_party/upb/upb/message/array.c +51 -2
  862. data/third_party/upb/upb/message/array.h +10 -0
  863. data/third_party/upb/upb/message/copy.c +18 -34
  864. data/third_party/upb/upb/message/internal/accessors.h +15 -49
  865. data/third_party/upb/upb/message/internal/array.h +1 -1
  866. data/third_party/upb/upb/message/internal/map.h +1 -1
  867. data/third_party/upb/upb/message/internal/message.c +8 -1
  868. data/third_party/upb/upb/message/internal/message.h +40 -10
  869. data/third_party/upb/upb/message/message.c +3 -2
  870. data/third_party/upb/upb/message/value.h +0 -6
  871. data/third_party/upb/upb/mini_descriptor/decode.c +78 -59
  872. data/third_party/upb/upb/mini_descriptor/link.c +8 -6
  873. data/third_party/upb/upb/mini_table/extension_registry.c +17 -49
  874. data/third_party/upb/upb/mini_table/extension_registry.h +5 -17
  875. data/third_party/upb/upb/mini_table/generated_registry.c +180 -0
  876. data/third_party/upb/upb/mini_table/generated_registry.h +66 -0
  877. data/third_party/upb/upb/mini_table/internal/extension.h +5 -3
  878. data/third_party/upb/upb/mini_table/internal/field.h +7 -5
  879. data/third_party/upb/upb/mini_table/internal/generated_registry.h +37 -0
  880. data/third_party/upb/upb/mini_table/internal/message.c +0 -18
  881. data/third_party/upb/upb/mini_table/internal/message.h +24 -41
  882. data/third_party/upb/upb/mini_table/internal/size_log2.h +2 -1
  883. data/third_party/upb/upb/mini_table/internal/sub.h +2 -5
  884. data/third_party/upb/upb/mini_table/message.h +34 -13
  885. data/third_party/upb/upb/port/atomic.h +180 -74
  886. data/third_party/upb/upb/port/def.inc +194 -29
  887. data/third_party/upb/upb/port/sanitizers.h +15 -0
  888. data/third_party/upb/upb/port/undef.inc +6 -2
  889. data/third_party/upb/upb/reflection/common.h +0 -6
  890. data/third_party/upb/upb/reflection/def.hpp +8 -12
  891. data/third_party/upb/upb/reflection/def_pool.c +85 -33
  892. data/third_party/upb/upb/reflection/def_pool.h +38 -8
  893. data/third_party/upb/upb/reflection/def_type.h +3 -0
  894. data/third_party/upb/upb/reflection/enum_def.c +45 -33
  895. data/third_party/upb/upb/reflection/enum_def.h +8 -4
  896. data/third_party/upb/upb/reflection/enum_reserved_range.c +7 -3
  897. data/third_party/upb/upb/reflection/enum_value_def.c +14 -29
  898. data/third_party/upb/upb/reflection/enum_value_def.h +5 -4
  899. data/third_party/upb/upb/reflection/extension_range.c +15 -14
  900. data/third_party/upb/upb/reflection/extension_range.h +7 -4
  901. data/third_party/upb/upb/reflection/field_def.c +114 -96
  902. data/third_party/upb/upb/reflection/field_def.h +3 -3
  903. data/third_party/upb/upb/reflection/file_def.c +71 -65
  904. data/third_party/upb/upb/reflection/file_def.h +4 -5
  905. data/third_party/upb/upb/reflection/internal/def_builder.c +22 -14
  906. data/third_party/upb/upb/reflection/internal/def_builder.h +44 -38
  907. data/third_party/upb/upb/reflection/internal/def_pool.h +5 -1
  908. data/third_party/upb/upb/reflection/internal/enum_def.h +6 -4
  909. data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +3 -2
  910. data/third_party/upb/upb/reflection/internal/enum_value_def.h +7 -4
  911. data/third_party/upb/upb/reflection/internal/extension_range.h +4 -3
  912. data/third_party/upb/upb/reflection/internal/field_def.h +15 -12
  913. data/third_party/upb/upb/reflection/internal/file_def.h +8 -1
  914. data/third_party/upb/upb/reflection/internal/message_def.h +10 -7
  915. data/third_party/upb/upb/reflection/internal/message_reserved_range.h +3 -1
  916. data/third_party/upb/upb/reflection/internal/method_def.h +6 -6
  917. data/third_party/upb/upb/reflection/internal/oneof_def.h +6 -6
  918. data/third_party/upb/upb/reflection/internal/service_def.h +9 -6
  919. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  920. data/third_party/upb/upb/reflection/message_def.c +46 -53
  921. data/third_party/upb/upb/reflection/message_def.h +6 -7
  922. data/third_party/upb/upb/reflection/message_reserved_range.c +7 -6
  923. data/third_party/upb/upb/reflection/method_def.c +22 -20
  924. data/third_party/upb/upb/reflection/method_def.h +4 -4
  925. data/third_party/upb/upb/reflection/oneof_def.c +17 -15
  926. data/third_party/upb/upb/reflection/oneof_def.h +6 -3
  927. data/third_party/upb/upb/reflection/service_def.c +50 -23
  928. data/third_party/upb/upb/reflection/service_def.h +7 -4
  929. data/third_party/upb/upb/text/internal/encode.c +7 -10
  930. data/third_party/upb/upb/wire/decode.c +269 -430
  931. data/third_party/upb/upb/wire/decode.h +6 -45
  932. data/third_party/upb/upb/wire/decode_fast/combinations.h +7 -3
  933. data/third_party/upb/upb/wire/decode_fast/select.c +7 -2
  934. data/third_party/upb/upb/wire/encode.c +144 -106
  935. data/third_party/upb/upb/wire/encode.h +6 -2
  936. data/third_party/upb/upb/wire/eps_copy_input_stream.c +36 -7
  937. data/third_party/upb/upb/wire/eps_copy_input_stream.h +94 -380
  938. data/third_party/upb/upb/wire/internal/decoder.c +1 -14
  939. data/third_party/upb/upb/wire/internal/decoder.h +84 -24
  940. data/third_party/upb/upb/wire/internal/eps_copy_input_stream.h +339 -0
  941. data/third_party/upb/upb/wire/internal/reader.h +29 -12
  942. data/third_party/upb/upb/wire/reader.c +35 -22
  943. data/third_party/upb/upb/wire/reader.h +11 -18
  944. data/third_party/utf8_range/utf8_range.c +1 -1
  945. data/third_party/utf8_range/utf8_range.h +2 -1
  946. metadata +35 -13
  947. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +0 -117
  948. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +0 -109
  949. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +0 -80
  950. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +0 -86
  951. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +0 -83
  952. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +0 -91
  953. data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +0 -217
  954. data/third_party/upb/upb/message/internal/tagged_ptr.h +0 -56
  955. 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());