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
@@ -0,0 +1,58 @@
1
+ //
2
+ // Copyright 2024 gRPC authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ #include "src/core/xds/grpc/blackboard.h"
18
+
19
+ namespace grpc_core {
20
+
21
+ void Blackboard::Entry::Orphaned() {
22
+ if (blackboard_ != nullptr) blackboard_->Remove(type_, key_, this);
23
+ }
24
+
25
+ RefCountedPtr<Blackboard::Entry> Blackboard::Get(UniqueTypeName type,
26
+ const std::string& key) const {
27
+ MutexLock lock(&mu_);
28
+ auto it = map_.find(std::pair(type, key));
29
+ if (it == map_.end()) return nullptr;
30
+ return it->second->RefIfNonZero();
31
+ }
32
+
33
+ RefCountedPtr<Blackboard::Entry> Blackboard::GetOrSet(
34
+ UniqueTypeName type, const std::string& key,
35
+ absl::FunctionRef<RefCountedPtr<Entry>()> construct) {
36
+ MutexLock lock(&mu_);
37
+ auto& entry = map_[std::pair(type, key)];
38
+ if (entry != nullptr) {
39
+ auto reffed_entry = entry->RefIfNonZero();
40
+ if (reffed_entry != nullptr) return reffed_entry;
41
+ }
42
+ auto constructed = construct();
43
+ entry = constructed->WeakRef();
44
+ constructed->blackboard_ = Ref();
45
+ constructed->type_ = type;
46
+ constructed->key_ = key;
47
+ return constructed;
48
+ }
49
+
50
+ void Blackboard::Remove(UniqueTypeName type, const std::string& key,
51
+ Entry* entry) {
52
+ MutexLock lock(&mu_);
53
+ auto it = map_.find(std::pair(type, key));
54
+ if (it == map_.end()) return;
55
+ if (it->second == entry) map_.erase(it);
56
+ }
57
+
58
+ } // namespace grpc_core
@@ -14,19 +14,22 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- #ifndef GRPC_SRC_CORE_FILTER_BLACKBOARD_H
18
- #define GRPC_SRC_CORE_FILTER_BLACKBOARD_H
17
+ #ifndef GRPC_SRC_CORE_XDS_GRPC_BLACKBOARD_H
18
+ #define GRPC_SRC_CORE_XDS_GRPC_BLACKBOARD_H
19
19
 
20
20
  #include <string>
21
21
  #include <utility>
22
22
 
23
23
  #include "src/core/resolver/endpoint_addresses.h"
24
24
  #include "src/core/util/debug_location.h"
25
+ #include "src/core/util/dual_ref_counted.h"
25
26
  #include "src/core/util/ref_counted.h"
26
27
  #include "src/core/util/ref_counted_ptr.h"
28
+ #include "src/core/util/sync.h"
27
29
  #include "src/core/util/unique_type_name.h"
28
30
  #include "src/core/util/useful.h"
29
31
  #include "absl/container/flat_hash_map.h"
32
+ #include "absl/functional/function_ref.h"
30
33
  #include "absl/strings/string_view.h"
31
34
 
32
35
  namespace grpc_core {
@@ -41,7 +44,17 @@ class Blackboard : public RefCounted<Blackboard> {
41
44
  // All entries must derive from this type.
42
45
  // They must also have a static method with the following signature:
43
46
  // static UniqueTypeName Type();
44
- class Entry : public RefCounted<Entry> {};
47
+ class Entry : public DualRefCounted<Entry> {
48
+ public:
49
+ void Orphaned() final;
50
+
51
+ private:
52
+ friend class Blackboard;
53
+
54
+ RefCountedPtr<Blackboard> blackboard_;
55
+ UniqueTypeName type_{GRPC_UNIQUE_TYPE_NAME_HERE("")};
56
+ std::string key_;
57
+ };
45
58
 
46
59
  // Returns an entry for a particular type and name, or null if not present.
47
60
  template <typename T>
@@ -49,22 +62,28 @@ class Blackboard : public RefCounted<Blackboard> {
49
62
  return Get(T::Type(), key).template TakeAsSubclass<T>();
50
63
  }
51
64
 
52
- // Sets an entry for a particular type and name.
65
+ // Gets the entry for the specified key. If not present, invokes
66
+ // construct to create it. Returns the entry.
53
67
  template <typename T>
54
- void Set(const std::string& key, RefCountedPtr<T> entry) {
55
- Set(T::Type(), key, std::move(entry));
68
+ RefCountedPtr<T> GetOrSet(const std::string& key,
69
+ absl::FunctionRef<RefCountedPtr<T>()> construct) {
70
+ return GetOrSet(T::Type(), key, std::move(construct))
71
+ .template TakeAsSubclass<T>();
56
72
  }
57
73
 
58
74
  private:
59
75
  RefCountedPtr<Entry> Get(UniqueTypeName type, const std::string& key) const;
60
- void Set(UniqueTypeName type, const std::string& key,
61
- RefCountedPtr<Entry> entry);
76
+ RefCountedPtr<Entry> GetOrSet(
77
+ UniqueTypeName type, const std::string& key,
78
+ absl::FunctionRef<RefCountedPtr<Entry>()> construct);
79
+ void Remove(UniqueTypeName type, const std::string& key, Entry* entry);
62
80
 
81
+ mutable Mutex mu_;
63
82
  absl::flat_hash_map<std::pair<UniqueTypeName, std::string>,
64
- RefCountedPtr<Entry>>
65
- map_;
83
+ WeakRefCountedPtr<Entry>>
84
+ map_ ABSL_GUARDED_BY(&mu_);
66
85
  };
67
86
 
68
87
  } // namespace grpc_core
69
88
 
70
- #endif // GRPC_SRC_CORE_FILTER_BLACKBOARD_H
89
+ #endif // GRPC_SRC_CORE_XDS_GRPC_BLACKBOARD_H
@@ -26,10 +26,9 @@
26
26
  #include <vector>
27
27
 
28
28
  #include "src/core/config/core_configuration.h"
29
+ #include "src/core/config/experiment_env_var.h"
29
30
  #include "src/core/credentials/transport/tls/grpc_tls_certificate_provider.h"
30
31
  #include "src/core/util/down_cast.h"
31
- #include "src/core/util/env.h"
32
- #include "src/core/util/string.h"
33
32
  #include "absl/log/log.h"
34
33
 
35
34
  namespace grpc_core {
@@ -38,14 +37,6 @@ namespace {
38
37
 
39
38
  constexpr absl::string_view kFileWatcherPlugin = "file_watcher";
40
39
 
41
- bool SpiffeBundleMapEnabled() {
42
- auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_MTLS_SPIFFE");
43
- if (!value.has_value()) return false;
44
- bool parsed_value;
45
- bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
46
- return parse_succeeded && parsed_value;
47
- }
48
-
49
40
  } // namespace
50
41
 
51
42
  //
@@ -115,7 +106,7 @@ void FileWatcherCertificateProviderFactory::Config::JsonPostLoad(
115
106
  "fields \"certificate_file\" and \"private_key_file\" must be both set "
116
107
  "or both unset");
117
108
  }
118
- if (SpiffeBundleMapEnabled()) {
109
+ if (IsExperimentEnvVarEnabled("GRPC_EXPERIMENTAL_XDS_MTLS_SPIFFE")) {
119
110
  if (json.object().find("certificate_file") == json.object().end() &&
120
111
  json.object().find("ca_certificate_file") == json.object().end() &&
121
112
  json.object().find("spiffe_bundle_map_file") == json.object().end()) {
@@ -24,14 +24,13 @@
24
24
  #include <utility>
25
25
  #include <vector>
26
26
 
27
+ #include "src/core/config/experiment_env_var.h"
27
28
  #include "src/core/util/down_cast.h"
28
- #include "src/core/util/env.h"
29
29
  #include "src/core/util/json/json.h"
30
30
  #include "src/core/util/json/json_object_loader.h"
31
31
  #include "src/core/util/json/json_reader.h"
32
32
  #include "src/core/util/json/json_writer.h"
33
33
  #include "src/core/util/ref_counted_ptr.h"
34
- #include "src/core/util/string.h"
35
34
  #include "absl/status/status.h"
36
35
  #include "absl/status/statusor.h"
37
36
  #include "absl/strings/match.h"
@@ -42,11 +41,7 @@ namespace grpc_core {
42
41
 
43
42
  // TODO(roth): Remove this once the feature passes interop tests.
44
43
  bool XdsExtProcOnClientEnabled() {
45
- auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_EXT_PROC_ON_CLIENT");
46
- if (!value.has_value()) return false;
47
- bool parsed_value;
48
- bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
49
- return parse_succeeded && parsed_value;
44
+ return IsExperimentEnvVarEnabled("GRPC_EXPERIMENTAL_XDS_EXT_PROC_ON_CLIENT");
50
45
  }
51
46
 
52
47
  //
@@ -40,10 +40,10 @@
40
40
  #include "google/protobuf/struct.upb.h"
41
41
  #include "google/protobuf/wrappers.upb.h"
42
42
  #include "src/core/config/core_configuration.h"
43
+ #include "src/core/config/experiment_env_var.h"
43
44
  #include "src/core/lib/debug/trace.h"
44
45
  #include "src/core/load_balancing/lb_policy_registry.h"
45
46
  #include "src/core/util/down_cast.h"
46
- #include "src/core/util/env.h"
47
47
  #include "src/core/util/grpc_check.h"
48
48
  #include "src/core/util/host_port.h"
49
49
  #include "src/core/util/time.h"
@@ -68,24 +68,11 @@ namespace grpc_core {
68
68
 
69
69
  // TODO(roth): Remove this once the feature passes interop tests.
70
70
  bool XdsHttpConnectEnabled() {
71
- auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_HTTP_CONNECT");
72
- if (!value.has_value()) return false;
73
- bool parsed_value;
74
- bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
75
- return parse_succeeded && parsed_value;
71
+ return IsExperimentEnvVarEnabled("GRPC_EXPERIMENTAL_XDS_HTTP_CONNECT");
76
72
  }
77
73
 
78
74
  namespace {
79
75
 
80
- // TODO(mlumish): Remove this after the 1.81 release.
81
- bool XdsSniEnabled() {
82
- auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_SNI");
83
- if (!value.has_value()) return true;
84
- bool parsed_value;
85
- bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
86
- return parse_succeeded && parsed_value;
87
- }
88
-
89
76
  constexpr absl::string_view kUpstreamTlsContextType =
90
77
  "envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext";
91
78
 
@@ -111,7 +98,9 @@ XdsClusterResource::UpstreamTlsContext UpstreamTlsContextParse(
111
98
  errors->AddError("can't decode UpstreamTlsContext");
112
99
  return {};
113
100
  }
114
- if (XdsSniEnabled()) {
101
+ // TODO(mlumish): Remove this conditional after the 1.81 release.
102
+ if (IsExperimentEnvVarEnabled("GRPC_EXPERIMENTAL_XDS_SNI",
103
+ /*default_value=*/true)) {
115
104
  upstream_tls_context.sni = UpbStringToStdString(
116
105
  envoy_extensions_transport_sockets_tls_v3_UpstreamTlsContext_sni(
117
106
  upstream_tls_context_proto));
@@ -16,9 +16,17 @@
16
16
 
17
17
  #include "src/core/xds/grpc/xds_common_types.h"
18
18
 
19
+ #include <string>
20
+ #include <utility>
21
+
22
+ #include "src/core/call/metadata_batch.h"
23
+ #include "src/core/lib/slice/slice.h"
19
24
  #include "src/core/util/match.h"
20
25
  #include "src/core/util/string.h"
26
+ #include "absl/status/status.h"
21
27
  #include "absl/strings/match.h"
28
+ #include "absl/strings/str_cat.h"
29
+ #include "absl/strings/string_view.h"
22
30
 
23
31
  namespace grpc_core {
24
32
 
@@ -170,4 +178,92 @@ std::string HeaderMutationRules::ToString() const {
170
178
  return result;
171
179
  }
172
180
 
181
+ //
182
+ // XdsHeaderValueOption
183
+ //
184
+
185
+ namespace {
186
+
187
+ void ApplyHeaderValueOptionMutation(const XdsHeaderValueOption& header,
188
+ grpc_metadata_batch& md) {
189
+ auto& [header_key, header_value] = header.header;
190
+ std::string buffer;
191
+ auto existing_value = md.GetStringValue(header_key, &buffer);
192
+ switch (header.append_action) {
193
+ case XdsHeaderValueOption::AppendAction::kAppendIfExistsOrAdd: {
194
+ if (!existing_value.has_value()) {
195
+ md.Append(header_key, Slice::FromCopiedString(header_value),
196
+ [](absl::string_view, const Slice&) {});
197
+ } else if (!header_value.empty()) {
198
+ std::string concatenated_val =
199
+ absl::StrCat(*existing_value, ",", header_value);
200
+ md.Remove(absl::string_view(header_key));
201
+ md.Append(header_key,
202
+ Slice::FromCopiedString(std::move(concatenated_val)),
203
+ [](absl::string_view, const Slice&) {});
204
+ }
205
+ break;
206
+ }
207
+ case XdsHeaderValueOption::AppendAction::kAddIfAbsent: {
208
+ if (!existing_value.has_value()) {
209
+ md.Append(header_key, Slice::FromCopiedString(header_value),
210
+ [](absl::string_view, const Slice&) {});
211
+ }
212
+ break;
213
+ }
214
+ case XdsHeaderValueOption::AppendAction::kOverwriteIfExists: {
215
+ if (existing_value.has_value()) {
216
+ md.Remove(absl::string_view(header_key));
217
+ md.Append(header_key, Slice::FromCopiedString(header_value),
218
+ [](absl::string_view, const Slice&) {});
219
+ }
220
+ break;
221
+ }
222
+ case XdsHeaderValueOption::AppendAction::kOverwriteIfExistsOrAdd: {
223
+ md.Remove(absl::string_view(header_key));
224
+ md.Append(header_key, Slice::FromCopiedString(header_value),
225
+ [](absl::string_view, const Slice&) {});
226
+ break;
227
+ }
228
+ }
229
+ }
230
+
231
+ } // namespace
232
+
233
+ absl::Status ApplyXdsHeaderMutationsRemoval(absl::string_view remove_header,
234
+ const HeaderMutationRules* rules,
235
+ grpc_metadata_batch& md) {
236
+ bool allowed = true;
237
+ bool disallow_is_error = false;
238
+ if (rules != nullptr) {
239
+ allowed = rules->IsMutationAllowed(std::string(remove_header));
240
+ disallow_is_error = rules->disallow_is_error;
241
+ }
242
+ if (allowed) {
243
+ md.Remove(absl::string_view(remove_header));
244
+ } else if (disallow_is_error) {
245
+ return absl::InternalError(
246
+ absl::StrCat("Forbidden header removal: ", remove_header));
247
+ }
248
+ return absl::OkStatus();
249
+ }
250
+
251
+ absl::Status ApplyXdsHeaderMutationsAddition(
252
+ const XdsHeaderValueOption& set_header, const HeaderMutationRules* rules,
253
+ grpc_metadata_batch& md) {
254
+ bool allowed = true;
255
+ bool disallow_is_error = false;
256
+ if (rules != nullptr) {
257
+ allowed = rules->IsMutationAllowed(std::string(set_header.header.first));
258
+ disallow_is_error = rules->disallow_is_error;
259
+ }
260
+ if (allowed) {
261
+ ApplyHeaderValueOptionMutation(set_header, md);
262
+ } else if (disallow_is_error) {
263
+ return absl::InternalError(
264
+ absl::StrCat("Forbidden header mutation: ", set_header.header.first));
265
+ }
266
+ return absl::OkStatus();
267
+ }
268
+
173
269
  } // namespace grpc_core
@@ -17,14 +17,17 @@
17
17
  #ifndef GRPC_SRC_CORE_XDS_GRPC_XDS_COMMON_TYPES_H
18
18
  #define GRPC_SRC_CORE_XDS_GRPC_XDS_COMMON_TYPES_H
19
19
 
20
+ #include <memory>
20
21
  #include <string>
22
+ #include <utility>
21
23
  #include <variant>
22
24
  #include <vector>
23
25
 
26
+ #include "src/core/call/metadata_batch.h"
24
27
  #include "src/core/util/json/json.h"
25
28
  #include "src/core/util/matchers.h"
26
29
  #include "src/core/util/validation_errors.h"
27
- #include "src/core/xds/grpc/xds_server_grpc.h"
30
+ #include "absl/status/status.h"
28
31
  #include "absl/strings/string_view.h"
29
32
 
30
33
  namespace grpc_core {
@@ -86,12 +89,6 @@ struct XdsExtension {
86
89
  std::vector<ValidationErrors::ScopedField> validation_fields;
87
90
  };
88
91
 
89
- struct XdsGrpcService {
90
- std::unique_ptr<GrpcXdsServerTarget> server_target;
91
- Duration timeout;
92
- std::vector<std::pair<std::string, std::string>> initial_metadata;
93
- };
94
-
95
92
  struct HeaderMutationRules {
96
93
  bool disallow_all = false;
97
94
  bool disallow_is_error = false;
@@ -116,6 +113,37 @@ struct HeaderMutationRules {
116
113
  }
117
114
  };
118
115
 
116
+ struct XdsHeaderValueOption {
117
+ enum class AppendAction {
118
+ // If the header already exists in the metadata batch, comma-concatenate the
119
+ // new value.
120
+ // Otherwise, append a new metadata entry.
121
+ kAppendIfExistsOrAdd = 0,
122
+ // Add the header only if it is not currently present in the metadata batch.
123
+ kAddIfAbsent = 1,
124
+ // Discard any existing entries in the metadata batch and append the new
125
+ // value.
126
+ kOverwriteIfExistsOrAdd = 2,
127
+ // If the header already exists, discard existing entries and replace with
128
+ // the new value.
129
+ // If absent, do nothing.
130
+ kOverwriteIfExists = 3
131
+ };
132
+
133
+ // The targeted metadata key and value to apply during mutation.
134
+ std::pair<std::string, std::string> header;
135
+ // Rule specifying how to merge or overwrite existing metadata batch entries.
136
+ AppendAction append_action;
137
+ };
138
+
139
+ absl::Status ApplyXdsHeaderMutationsRemoval(absl::string_view remove_header,
140
+ const HeaderMutationRules* rules,
141
+ grpc_metadata_batch& md);
142
+
143
+ absl::Status ApplyXdsHeaderMutationsAddition(
144
+ const XdsHeaderValueOption& set_header, const HeaderMutationRules* rules,
145
+ grpc_metadata_batch& md);
146
+
119
147
  } // namespace grpc_core
120
148
 
121
149
  #endif // GRPC_SRC_CORE_XDS_GRPC_XDS_COMMON_TYPES_H