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
@@ -29,15 +29,14 @@
29
29
  #include "envoy/service/load_stats/v3/lrs.upb.h"
30
30
  #include "envoy/service/load_stats/v3/lrs.upbdefs.h"
31
31
  #include "google/protobuf/duration.upb.h"
32
+ #include "src/core/config/experiment_env_var.h"
32
33
  #include "src/core/lib/debug/trace.h"
33
34
  #include "src/core/lib/iomgr/exec_ctx.h"
34
35
  #include "src/core/util/backoff.h"
35
36
  #include "src/core/util/debug_location.h"
36
- #include "src/core/util/env.h"
37
37
  #include "src/core/util/grpc_check.h"
38
38
  #include "src/core/util/orphanable.h"
39
39
  #include "src/core/util/ref_counted_ptr.h"
40
- #include "src/core/util/string.h"
41
40
  #include "src/core/util/sync.h"
42
41
  #include "src/core/util/upb_utils.h"
43
42
  #include "src/core/util/uri.h"
@@ -62,13 +61,10 @@ namespace grpc_core {
62
61
 
63
62
  using ::grpc_event_engine::experimental::EventEngine;
64
63
 
65
- // TODO(roth): Remove this once the feature passes interop tests.
64
+ // TODO(roth): Remove this after the 1.83 release.
66
65
  bool XdsOrcaLrsPropagationChangesEnabled() {
67
- auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_ORCA_LRS_PROPAGATION");
68
- if (!value.has_value()) return false;
69
- bool parsed_value;
70
- bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
71
- return parse_succeeded && parsed_value;
66
+ return IsExperimentEnvVarEnabled("GRPC_EXPERIMENTAL_XDS_ORCA_LRS_PROPAGATION",
67
+ /*default_value=*/true);
72
68
  }
73
69
 
74
70
  namespace {
@@ -16,32 +16,20 @@
16
16
 
17
17
  #include "src/core/xds/xds_client/xds_bootstrap.h"
18
18
 
19
- #include <grpc/support/port_platform.h>
20
-
21
- #include <optional>
22
-
23
- #include "src/core/util/env.h"
24
- #include "src/core/util/string.h"
19
+ #include "src/core/config/experiment_env_var.h"
25
20
 
26
21
  namespace grpc_core {
27
22
 
28
23
  // TODO(roth,apolcyn): remove this federation env var after the 1.55
29
24
  // release.
30
25
  bool XdsFederationEnabled() {
31
- auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_FEDERATION");
32
- if (!value.has_value()) return true;
33
- bool parsed_value;
34
- bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
35
- return parse_succeeded && parsed_value;
26
+ return IsExperimentEnvVarEnabled("GRPC_EXPERIMENTAL_XDS_FEDERATION",
27
+ /*default_value=*/true);
36
28
  }
37
29
 
38
30
  // TODO(roth): Remove this once the feature passes interop tests.
39
31
  bool XdsDataErrorHandlingEnabled() {
40
- auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_DATA_ERROR_HANDLING");
41
- if (!value.has_value()) return false;
42
- bool parsed_value;
43
- bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
44
- return parse_succeeded && parsed_value;
32
+ return IsExperimentEnvVarEnabled("GRPC_EXPERIMENTAL_XDS_DATA_ERROR_HANDLING");
45
33
  }
46
34
 
47
35
  } // namespace grpc_core
@@ -35,14 +35,13 @@
35
35
  #include "google/protobuf/any.upb.h"
36
36
  #include "google/protobuf/timestamp.upb.h"
37
37
  #include "google/rpc/status.upb.h"
38
+ #include "src/core/config/experiment_env_var.h"
38
39
  #include "src/core/lib/iomgr/exec_ctx.h"
39
40
  #include "src/core/util/backoff.h"
40
41
  #include "src/core/util/debug_location.h"
41
- #include "src/core/util/env.h"
42
42
  #include "src/core/util/grpc_check.h"
43
43
  #include "src/core/util/orphanable.h"
44
44
  #include "src/core/util/ref_counted_ptr.h"
45
- #include "src/core/util/string.h"
46
45
  #include "src/core/util/sync.h"
47
46
  #include "src/core/util/upb_utils.h"
48
47
  #include "src/core/util/uri.h"
@@ -70,18 +69,6 @@
70
69
 
71
70
  namespace grpc_core {
72
71
 
73
- namespace {
74
-
75
- bool XdsEndpointFallbackEnabled() {
76
- auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_ENDPOINT_FALLBACK");
77
- if (!value.has_value()) return false;
78
- bool parsed_value;
79
- bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
80
- return parse_succeeded && parsed_value;
81
- }
82
-
83
- } // namespace
84
-
85
72
  using ::grpc_event_engine::experimental::EventEngine;
86
73
 
87
74
  //
@@ -509,7 +496,7 @@ bool XdsClient::XdsChannel::MaybeFallbackLocked(
509
496
  auto* bootstrap_authority =
510
497
  xds_client_->bootstrap().LookupAuthority(authority);
511
498
  xds_servers = bootstrap_authority->servers();
512
- if (XdsEndpointFallbackEnabled()) {
499
+ if (IsExperimentEnvVarEnabled("GRPC_EXPERIMENTAL_XDS_ENDPOINT_FALLBACK")) {
513
500
  fallback_on_reachability_only =
514
501
  bootstrap_authority->FallbackOnReachabilityOnly();
515
502
  }
@@ -58,6 +58,9 @@ class XdsTransportFactory : public DualRefCounted<XdsTransportFactory> {
58
58
 
59
59
  // Starts a recv_message operation on the stream.
60
60
  virtual void StartRecvMessage() = 0;
61
+
62
+ // Half-closes the stream from the client side.
63
+ virtual void SendHalfClose() = 0;
61
64
  };
62
65
 
63
66
  // A watcher for connectivity failures.
@@ -23,6 +23,7 @@
23
23
  #include <grpc/byte_buffer_reader.h>
24
24
  #include <grpc/grpc.h>
25
25
  #include <grpc/slice.h>
26
+ #include <stdbool.h>
26
27
 
27
28
  #include "rb_grpc.h"
28
29
  #include "rb_grpc_imports.generated.h"
@@ -23,8 +23,11 @@
23
23
  #include <grpc/grpc.h>
24
24
  #include <grpc/impl/codegen/compression_types.h>
25
25
  #include <grpc/support/alloc.h>
26
+ #include <stdbool.h>
26
27
 
27
28
  #include "rb_byte_buffer.h"
29
+ /* TODO(nnepal): Include grpc/grpc_security.h for pure ruby call
30
+ * credentials after rb_call_credentials gets removed */
28
31
  #include "rb_call_credentials.h"
29
32
  #include "rb_completion_queue.h"
30
33
  #include "rb_grpc.h"
@@ -26,6 +26,7 @@
26
26
  #include <grpc/support/alloc.h>
27
27
  #include <grpc/support/log.h>
28
28
  #include <ruby/thread.h>
29
+ #include <stdbool.h>
29
30
 
30
31
  #include "rb_call.h"
31
32
  #include "rb_event_thread.h"
@@ -27,6 +27,7 @@
27
27
  #include <grpc/support/log.h>
28
28
  #include <grpc/support/time.h>
29
29
  #include <ruby/thread.h>
30
+ #include <stdbool.h>
30
31
 
31
32
  #include "rb_byte_buffer.h"
32
33
  #include "rb_call.h"
@@ -23,6 +23,7 @@
23
23
  #include <grpc/grpc.h>
24
24
  #include <grpc/support/alloc.h>
25
25
  #include <grpc/support/string_util.h>
26
+ #include <stdbool.h>
26
27
 
27
28
  #include "rb_grpc.h"
28
29
  #include "rb_grpc_imports.generated.h"
@@ -24,6 +24,7 @@
24
24
  #include <grpc/grpc.h>
25
25
  #include <grpc/grpc_security.h>
26
26
  #include <grpc/support/alloc.h>
27
+ #include <stdbool.h>
27
28
  #include <string.h>
28
29
 
29
30
  #include "rb_call_credentials.h"
@@ -24,6 +24,7 @@
24
24
  #include <grpc/support/log.h>
25
25
  #include <grpc/support/time.h>
26
26
  #include <ruby/thread.h>
27
+ #include <stdbool.h>
27
28
 
28
29
  #include "rb_grpc.h"
29
30
  #include "rb_grpc_imports.generated.h"
@@ -26,6 +26,7 @@
26
26
  #include <grpc/impl/grpc_types.h>
27
27
  #include <grpc/support/alloc.h>
28
28
  #include <grpc/support/string_util.h>
29
+ #include <stdbool.h>
29
30
  #include <string.h>
30
31
 
31
32
  #include "rb_byte_buffer.h"
@@ -159,9 +159,9 @@ grpc_server_register_method_type grpc_server_register_method_import;
159
159
  grpc_server_request_registered_call_type grpc_server_request_registered_call_import;
160
160
  grpc_server_create_type grpc_server_create_import;
161
161
  grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import;
162
+ grpc_server_config_fetcher_arg_vtable_type grpc_server_config_fetcher_arg_vtable_import;
162
163
  grpc_server_config_fetcher_xds_create_type grpc_server_config_fetcher_xds_create_import;
163
- grpc_server_config_fetcher_destroy_type grpc_server_config_fetcher_destroy_import;
164
- grpc_server_set_config_fetcher_type grpc_server_set_config_fetcher_import;
164
+ grpc_server_config_fetcher_unref_type grpc_server_config_fetcher_unref_import;
165
165
  grpc_server_add_http2_port_type grpc_server_add_http2_port_import;
166
166
  grpc_server_start_type grpc_server_start_import;
167
167
  grpc_server_shutdown_and_notify_type grpc_server_shutdown_and_notify_import;
@@ -448,9 +448,9 @@ void grpc_rb_load_imports(HMODULE library) {
448
448
  grpc_server_request_registered_call_import = (grpc_server_request_registered_call_type) GetProcAddress(library, "grpc_server_request_registered_call");
449
449
  grpc_server_create_import = (grpc_server_create_type) GetProcAddress(library, "grpc_server_create");
450
450
  grpc_server_register_completion_queue_import = (grpc_server_register_completion_queue_type) GetProcAddress(library, "grpc_server_register_completion_queue");
451
+ grpc_server_config_fetcher_arg_vtable_import = (grpc_server_config_fetcher_arg_vtable_type) GetProcAddress(library, "grpc_server_config_fetcher_arg_vtable");
451
452
  grpc_server_config_fetcher_xds_create_import = (grpc_server_config_fetcher_xds_create_type) GetProcAddress(library, "grpc_server_config_fetcher_xds_create");
452
- grpc_server_config_fetcher_destroy_import = (grpc_server_config_fetcher_destroy_type) GetProcAddress(library, "grpc_server_config_fetcher_destroy");
453
- grpc_server_set_config_fetcher_import = (grpc_server_set_config_fetcher_type) GetProcAddress(library, "grpc_server_set_config_fetcher");
453
+ grpc_server_config_fetcher_unref_import = (grpc_server_config_fetcher_unref_type) GetProcAddress(library, "grpc_server_config_fetcher_unref");
454
454
  grpc_server_add_http2_port_import = (grpc_server_add_http2_port_type) GetProcAddress(library, "grpc_server_add_http2_port");
455
455
  grpc_server_start_import = (grpc_server_start_type) GetProcAddress(library, "grpc_server_start");
456
456
  grpc_server_shutdown_and_notify_import = (grpc_server_shutdown_and_notify_type) GetProcAddress(library, "grpc_server_shutdown_and_notify");
@@ -453,15 +453,15 @@ extern grpc_server_create_type grpc_server_create_import;
453
453
  typedef void(*grpc_server_register_completion_queue_type)(grpc_server* server, grpc_completion_queue* cq, void* reserved);
454
454
  extern grpc_server_register_completion_queue_type grpc_server_register_completion_queue_import;
455
455
  #define grpc_server_register_completion_queue grpc_server_register_completion_queue_import
456
+ typedef const grpc_arg_pointer_vtable*(*grpc_server_config_fetcher_arg_vtable_type)(void);
457
+ extern grpc_server_config_fetcher_arg_vtable_type grpc_server_config_fetcher_arg_vtable_import;
458
+ #define grpc_server_config_fetcher_arg_vtable grpc_server_config_fetcher_arg_vtable_import
456
459
  typedef grpc_server_config_fetcher*(*grpc_server_config_fetcher_xds_create_type)(grpc_server_xds_status_notifier notifier, const grpc_channel_args* args);
457
460
  extern grpc_server_config_fetcher_xds_create_type grpc_server_config_fetcher_xds_create_import;
458
461
  #define grpc_server_config_fetcher_xds_create grpc_server_config_fetcher_xds_create_import
459
- typedef void(*grpc_server_config_fetcher_destroy_type)(grpc_server_config_fetcher* config_fetcher);
460
- extern grpc_server_config_fetcher_destroy_type grpc_server_config_fetcher_destroy_import;
461
- #define grpc_server_config_fetcher_destroy grpc_server_config_fetcher_destroy_import
462
- typedef void(*grpc_server_set_config_fetcher_type)(grpc_server* server, grpc_server_config_fetcher* config_fetcher);
463
- extern grpc_server_set_config_fetcher_type grpc_server_set_config_fetcher_import;
464
- #define grpc_server_set_config_fetcher grpc_server_set_config_fetcher_import
462
+ typedef void(*grpc_server_config_fetcher_unref_type)(grpc_server_config_fetcher* config_fetcher);
463
+ extern grpc_server_config_fetcher_unref_type grpc_server_config_fetcher_unref_import;
464
+ #define grpc_server_config_fetcher_unref grpc_server_config_fetcher_unref_import
465
465
  typedef int(*grpc_server_add_http2_port_type)(grpc_server* server, const char* addr, grpc_server_credentials* creds);
466
466
  extern grpc_server_add_http2_port_type grpc_server_add_http2_port_import;
467
467
  #define grpc_server_add_http2_port grpc_server_add_http2_port_import
@@ -25,6 +25,7 @@
25
25
  #include <grpc/grpc_security.h>
26
26
  #include <grpc/support/atm.h>
27
27
  #include <grpc/support/log.h>
28
+ #include <stdbool.h>
28
29
 
29
30
  #include "rb_byte_buffer.h"
30
31
  #include "rb_call.h"
@@ -23,6 +23,7 @@
23
23
  #include <grpc/credentials.h>
24
24
  #include <grpc/grpc.h>
25
25
  #include <grpc/grpc_security.h>
26
+ #include <stdbool.h>
26
27
 
27
28
  #include "rb_grpc.h"
28
29
  #include "rb_grpc_imports.generated.h"
@@ -24,6 +24,7 @@
24
24
  #include <grpc/grpc.h>
25
25
  #include <grpc/grpc_security.h>
26
26
  #include <grpc/support/alloc.h>
27
+ #include <stdbool.h>
27
28
  #include <string.h>
28
29
 
29
30
  #include "rb_call_credentials.h"
@@ -23,6 +23,7 @@
23
23
  #include <grpc/credentials.h>
24
24
  #include <grpc/grpc.h>
25
25
  #include <grpc/grpc_security.h>
26
+ #include <stdbool.h>
26
27
 
27
28
  #include "rb_grpc.h"
28
29
  #include "rb_grpc_imports.generated.h"
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 gRPC authors.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module GRPC
18
+ module Core
19
+ # CallCredentials represents per-call credentials.
20
+ class CallCredentials
21
+ attr_reader :auth_proc
22
+
23
+ def initialize(auth_proc = nil, &block)
24
+ @auth_proc = auth_proc || block
25
+ fail TypeError, 'Argument to CallCredentials#new must be a proc' unless @auth_proc.is_a?(Proc)
26
+ end
27
+
28
+ def get_metadata(context)
29
+ @auth_proc.call(context)
30
+ end
31
+
32
+ def composite?
33
+ false
34
+ end
35
+
36
+ def compose(*others)
37
+ return self if others.empty?
38
+ valid_others = validate_credentials_list!(others)
39
+ CompositeCallCredentials.new([self] + valid_others)
40
+ end
41
+
42
+ private
43
+
44
+ def validate_credentials_list!(list)
45
+ list.flatten.each do |o|
46
+ fail TypeError, "Argument to compose must be a CallCredentials, got #{o.class}" \
47
+ unless o.is_a?(CallCredentials)
48
+ end
49
+ end
50
+ end
51
+
52
+ class CompositeCallCredentials < CallCredentials
53
+ def initialize(*creds)
54
+ flat_creds = creds.flatten.flat_map do |c|
55
+ c.composite? ? c.creds : c
56
+ end
57
+ @creds = flat_creds.uniq
58
+ super(proc { |context| get_metadata(context) })
59
+ end
60
+
61
+ def composite?
62
+ true
63
+ end
64
+
65
+ def get_metadata(context)
66
+ @creds.each_with_object({}) do |c, metadata|
67
+ creds_metadata = c.get_metadata(context)
68
+ next unless creds_metadata
69
+ metadata.merge!(
70
+ creds_metadata.is_a?(Hash) ? creds_metadata : fail(TypeError, "Call credentials must return Hash or nil, got #{creds_metadata.class}")
71
+ )
72
+ end
73
+ end
74
+
75
+ def compose(*others)
76
+ return self if others.empty?
77
+ valid_others = validate_credentials_list!(others)
78
+ CompositeCallCredentials.new(@creds + valid_others)
79
+ end
80
+
81
+ protected
82
+
83
+ attr_reader :creds
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 gRPC authors.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module GRPC
18
+ module Core
19
+ # Provides shared #compose logic for channel credential classes.
20
+ # @api private
21
+ module ChannelCredentialsComposable
22
+ def compose(*others)
23
+ return self if others.empty?
24
+ flat_others = others.flatten
25
+
26
+ flat_others.each do |o|
27
+ fail TypeError, "Argument to compose must be a CallCredentials, got #{o.class}" \
28
+ unless o.is_a?(CallCredentials)
29
+ end
30
+
31
+ call_creds = flat_others.size == 1 ? flat_others.first : CompositeCallCredentials.new(flat_others)
32
+ CompositeChannelCredentials.new(self, call_creds)
33
+ end
34
+ end
35
+
36
+ class ChannelCredentials
37
+ prepend ChannelCredentialsComposable
38
+ end
39
+
40
+ class XdsChannelCredentials
41
+ prepend ChannelCredentialsComposable
42
+ end
43
+
44
+ class CompositeChannelCredentials
45
+ attr_reader :channel_credentials, :call_credentials
46
+
47
+ def initialize(channel_creds, call_creds)
48
+ @channel_credentials = channel_creds
49
+ @call_credentials = call_creds
50
+ end
51
+
52
+ def compose(*others)
53
+ return self if others.empty?
54
+ flat_others = others.flatten
55
+
56
+ flat_others.each do |o|
57
+ fail TypeError, "Argument to compose must be a CallCredentials, got #{o.class}" \
58
+ unless o.is_a?(CallCredentials)
59
+ end
60
+
61
+ if @call_credentials
62
+ CompositeChannelCredentials.new(@channel_credentials, @call_credentials.compose(*flat_others))
63
+ else
64
+ CompositeChannelCredentials.new(@channel_credentials, CompositeCallCredentials.new(flat_others))
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,126 @@
1
+ # Copyright 2026 gRPC authors.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module GRPC
16
+ module Core
17
+ # Utility methods for resolving and applying call credentials to metadata.
18
+ # @api private
19
+ module CallCredentialsHelper
20
+ VALID_HEADER_KEY_PATTERN = /\A[a-z0-9\-_.]+\z/
21
+
22
+ # Composes channel and per-call credentials when both present, otherwise
23
+ # returns whichever is available.
24
+ def self.resolve(channel_call_creds, call_credentials)
25
+ return channel_call_creds.compose(call_credentials) if channel_call_creds && call_credentials
26
+ channel_call_creds || call_credentials
27
+ end
28
+
29
+ # Returns true if +key+ is a valid gRPC metadata header key.
30
+ def self.valid_header_key?(key)
31
+ !key.nil? && !key.empty? && VALID_HEADER_KEY_PATTERN.match?(key)
32
+ end
33
+
34
+ # Parses an RPC method path into [service_url, method_name].
35
+ # e.g. '/echo.EchoServer/Echo' on 'foo.test.google.fr' gives
36
+ # ['https://foo.test.google.fr/echo.EchoServer', 'Echo'].
37
+ def self.parse_method_info(ssl_target, method)
38
+ return ["https://#{ssl_target}", nil] if method.nil? || method.empty?
39
+ last_slash = method.rindex('/')
40
+ service_path = last_slash&.positive? ? method[0, last_slash] : ''
41
+ [
42
+ "https://#{ssl_target}#{service_path}",
43
+ last_slash ? method[(last_slash + 1)..] : nil
44
+ ]
45
+ end
46
+
47
+ # Merges +creds_metadata+ into +metadata+, validating all keys.
48
+ # Raises GRPC::Unavailable on invalid type or illegal header keys.
49
+ def self.merge_creds_metadata!(creds_metadata, metadata)
50
+ return if creds_metadata.nil?
51
+ unless creds_metadata.is_a?(Hash)
52
+ fail GRPC::Unavailable, "Call credentials must return Hash or nil, got #{creds_metadata.class}"
53
+ end
54
+ creds_metadata.each do |key, value|
55
+ key_str = key.to_s
56
+ unless valid_header_key?(key_str)
57
+ fail GRPC::Unavailable, "Illegal metadata: '#{key_str}' is an invalid header key"
58
+ end
59
+ metadata[key_str] = value.is_a?(Array) ? value.map(&:to_s) : value.to_s
60
+ end
61
+ end
62
+
63
+ # Calls +credentials.get_metadata+ and merges the result into +metadata+.
64
+ # No-op when +credentials+ is nil or the channel is insecure.
65
+ # Raises GRPC::Unavailable on failure.
66
+ def self.apply(credentials, metadata, ssl_target, channel_creds, method = nil)
67
+ return unless credentials
68
+ return if channel_creds == :this_channel_is_insecure
69
+ service_url, method_name = parse_method_info(ssl_target, method)
70
+ context = { service_url: service_url, jwt_aud_uri: service_url, method_name: method_name }
71
+ begin
72
+ merge_creds_metadata!(credentials.get_metadata(context), metadata)
73
+ rescue GRPC::BadStatus
74
+ raise
75
+ rescue StandardError => e
76
+ fail GRPC::Unavailable, "Call credentials failed: #{e.message}"
77
+ end
78
+ end
79
+ end
80
+
81
+ # Prepended into ClientStub when the pure Ruby credentials path is active.
82
+ # Handles CompositeChannelCredentials splitting and applies credentials via
83
+ # metadata injection instead of the C extension set_credentials! path.
84
+ # @api private
85
+ module CompositeCredentialsHandler
86
+ def initialize(host, creds,
87
+ channel_override: nil,
88
+ timeout: nil,
89
+ propagate_mask: nil,
90
+ channel_args: {},
91
+ interceptors: [])
92
+ if creds.is_a?(Core::CompositeChannelCredentials)
93
+ pure_call_creds = creds.call_credentials
94
+ creds = creds.channel_credentials
95
+ super(host, creds,
96
+ channel_override: channel_override,
97
+ timeout: timeout,
98
+ propagate_mask: propagate_mask,
99
+ channel_args: channel_args,
100
+ interceptors: interceptors)
101
+ @call_creds = pure_call_creds
102
+ else
103
+ super
104
+ end
105
+ end
106
+
107
+ # credentials is intentionally overridden to nil in super to skip set_credentials!
108
+ def new_active_call(method, marshal, unmarshal,
109
+ deadline: nil,
110
+ parent: nil,
111
+ credentials: nil) # rubocop:disable Lint/UnusedMethodArgument
112
+ super(method, marshal, unmarshal,
113
+ deadline: deadline,
114
+ parent: parent,
115
+ credentials: nil)
116
+ end
117
+
118
+ private
119
+
120
+ def resolve_call_metadata(metadata, credentials, method)
121
+ resolved = CallCredentialsHelper.resolve(@call_creds, credentials)
122
+ metadata.dup.tap { |m| CallCredentialsHelper.apply(resolved, m, @host, @channel_creds, method) }
123
+ end
124
+ end
125
+ end
126
+ end