grpc 1.68.1 → 1.69.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (904) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +8 -6
  3. data/include/grpc/event_engine/event_engine.h +6 -3
  4. data/include/grpc/impl/channel_arg_names.h +2 -0
  5. data/src/core/client_channel/backup_poller.cc +1 -1
  6. data/src/core/client_channel/client_channel.cc +3 -3
  7. data/src/core/client_channel/client_channel_filter.cc +3 -3
  8. data/src/core/client_channel/client_channel_plugin.cc +1 -1
  9. data/src/core/client_channel/client_channel_service_config.h +1 -1
  10. data/src/core/client_channel/direct_channel.cc +2 -2
  11. data/src/core/client_channel/load_balanced_call_destination.cc +1 -1
  12. data/src/core/client_channel/retry_filter_legacy_call_data.cc +3 -1
  13. data/src/core/client_channel/retry_filter_legacy_call_data.h +2 -0
  14. data/src/core/client_channel/retry_service_config.cc +1 -1
  15. data/src/core/client_channel/retry_service_config.h +1 -1
  16. data/src/core/client_channel/subchannel.cc +1 -1
  17. data/src/core/{lib/config → config}/config_vars.cc +2 -2
  18. data/src/core/{lib/config → config}/config_vars.h +3 -3
  19. data/src/core/{lib/config → config}/config_vars_non_generated.cc +1 -1
  20. data/src/core/{lib/config → config}/core_configuration.cc +2 -2
  21. data/src/core/{lib/config → config}/core_configuration.h +3 -3
  22. data/src/core/{lib/config → config}/load_config.cc +1 -1
  23. data/src/core/{lib/config → config}/load_config.h +3 -3
  24. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -1
  25. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +2 -2
  26. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -1
  27. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +1 -1
  28. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +1 -1
  29. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +1 -1
  30. data/src/core/ext/filters/http/client_authority_filter.cc +1 -1
  31. data/src/core/ext/filters/http/http_filters_plugin.cc +1 -1
  32. data/src/core/ext/filters/http/message_compress/compression_filter.cc +2 -2
  33. data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
  34. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  35. data/src/core/ext/filters/rbac/rbac_filter.cc +1 -1
  36. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
  37. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +1 -1
  38. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +1 -1
  39. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -9
  40. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +1 -1
  41. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +3 -2
  42. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +3 -3
  43. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +86 -7
  44. data/src/core/ext/transport/chttp2/transport/decode_huff.h +2 -2
  45. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -2
  46. data/src/core/ext/transport/chttp2/transport/frame.cc +20 -0
  47. data/src/core/ext/transport/chttp2/transport/frame.h +11 -1
  48. data/src/core/ext/transport/chttp2/transport/frame_data.cc +13 -8
  49. data/src/core/ext/transport/chttp2/transport/frame_security.cc +82 -0
  50. data/src/core/ext/transport/chttp2/transport/frame_security.h +44 -0
  51. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +16 -0
  52. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +18 -0
  53. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -5
  54. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +3 -3
  55. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +3 -3
  56. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +1 -1
  57. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +9 -0
  58. data/src/core/ext/transport/chttp2/transport/http2_settings.h +9 -1
  59. data/src/core/ext/transport/chttp2/transport/internal.h +25 -0
  60. data/src/core/ext/transport/chttp2/transport/legacy_frame.h +1 -0
  61. data/src/core/ext/transport/chttp2/transport/parsing.cc +22 -0
  62. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +1 -1
  63. data/src/core/ext/transport/inproc/inproc_transport.cc +1 -1
  64. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +1 -1
  65. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +3 -3
  66. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +8 -8
  67. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +3 -3
  68. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +3 -3
  69. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +6 -6
  70. data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +3 -3
  71. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +3 -3
  72. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +10 -10
  73. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +3 -3
  74. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +3 -3
  75. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +38 -38
  76. data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +3 -3
  77. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +3 -3
  78. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +2 -2
  79. data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +3 -3
  80. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +3 -3
  81. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +4 -4
  82. data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +3 -3
  83. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +3 -3
  84. data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +3 -3
  85. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +3 -3
  86. data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +3 -3
  87. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +3 -3
  88. data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +3 -3
  89. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +3 -3
  90. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +4 -4
  91. data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +3 -3
  92. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +3 -3
  93. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +2 -2
  94. data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +3 -3
  95. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +3 -3
  96. data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +3 -3
  97. data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +5 -5
  98. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +1 -1
  99. data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +3 -3
  100. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +3 -3
  101. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +22 -22
  102. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +3 -3
  103. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +3 -3
  104. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +38 -38
  105. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +3 -3
  106. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +3 -3
  107. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +6 -6
  108. data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +3 -3
  109. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +3 -3
  110. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +44 -44
  111. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +3 -3
  112. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +3 -3
  113. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +2 -2
  114. data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +3 -3
  115. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +3 -3
  116. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +2 -2
  117. data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +3 -3
  118. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +3 -3
  119. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +28 -28
  120. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +3 -3
  121. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +3 -3
  122. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +10 -10
  123. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +3 -3
  124. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +3 -3
  125. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +2 -2
  126. data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +3 -3
  127. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +3 -3
  128. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +42 -42
  129. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +3 -3
  130. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +3 -3
  131. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +10 -10
  132. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +3 -3
  133. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +3 -3
  134. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +2 -2
  135. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +3 -3
  136. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +3 -3
  137. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +2 -2
  138. data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +3 -3
  139. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +3 -3
  140. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +2 -2
  141. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +3 -3
  142. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +3 -3
  143. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +18 -18
  144. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +3 -3
  145. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +3 -3
  146. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +10 -10
  147. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +3 -3
  148. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +3 -3
  149. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +2 -2
  150. data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +3 -3
  151. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +3 -3
  152. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +2 -2
  153. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +3 -3
  154. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +3 -3
  155. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +22 -22
  156. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +3 -3
  157. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +3 -3
  158. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +2 -2
  159. data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +3 -3
  160. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +3 -3
  161. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +2 -2
  162. data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +3 -3
  163. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +3 -3
  164. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +2 -2
  165. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +3 -3
  166. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +3 -3
  167. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +2 -2
  168. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +3 -3
  169. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +3 -3
  170. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +2 -2
  171. data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +3 -3
  172. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +3 -3
  173. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +8 -8
  174. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +3 -3
  175. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +3 -3
  176. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +14 -14
  177. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +3 -3
  178. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +3 -3
  179. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +6 -6
  180. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +3 -3
  181. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +3 -3
  182. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +2 -2
  183. data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +3 -3
  184. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +3 -3
  185. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +10 -10
  186. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +3 -3
  187. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +3 -3
  188. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +14 -14
  189. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +3 -3
  190. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +3 -3
  191. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +2 -2
  192. data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +3 -3
  193. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +3 -3
  194. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +2 -2
  195. data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +3 -3
  196. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +3 -3
  197. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +2 -2
  198. data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +3 -3
  199. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +3 -3
  200. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +12 -12
  201. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +3 -3
  202. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +3 -3
  203. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +14 -14
  204. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +3 -3
  205. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +3 -3
  206. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +20 -20
  207. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +3 -3
  208. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +3 -3
  209. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +6 -6
  210. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +3 -3
  211. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3 -3
  212. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +90 -90
  213. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +3 -3
  214. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +3 -3
  215. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +4 -4
  216. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +3 -3
  217. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +3 -3
  218. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +18 -18
  219. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +3 -3
  220. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +3 -3
  221. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +4 -4
  222. data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +3 -3
  223. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +3 -3
  224. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +2 -2
  225. data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +3 -3
  226. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +3 -3
  227. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +4 -4
  228. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +3 -3
  229. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +3 -3
  230. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +2 -2
  231. data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +3 -3
  232. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +3 -3
  233. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +2 -2
  234. data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.h +3 -3
  235. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +3 -3
  236. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +2 -2
  237. data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +3 -3
  238. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +3 -3
  239. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +2 -2
  240. data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +3 -3
  241. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +3 -3
  242. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +4 -4
  243. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +3 -3
  244. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +3 -3
  245. data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.h +3 -3
  246. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +3 -3
  247. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +4 -4
  248. data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +3 -3
  249. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +3 -3
  250. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +2 -2
  251. data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +3 -3
  252. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +3 -3
  253. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +18 -18
  254. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +3 -3
  255. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +3 -3
  256. data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +3 -3
  257. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +3 -3
  258. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +4 -4
  259. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +3 -3
  260. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +3 -3
  261. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +4 -4
  262. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +3 -3
  263. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +3 -3
  264. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +4 -4
  265. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +3 -3
  266. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +3 -3
  267. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +4 -4
  268. data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +3 -3
  269. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +3 -3
  270. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +4 -4
  271. data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +3 -3
  272. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +3 -3
  273. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +4 -4
  274. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +3 -3
  275. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +3 -3
  276. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +38 -38
  277. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +3 -3
  278. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +3 -3
  279. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +2 -2
  280. data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +3 -3
  281. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +3 -3
  282. 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 +2 -2
  283. 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 +3 -3
  284. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +3 -3
  285. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +8 -8
  286. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +3 -3
  287. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +3 -3
  288. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +3 -3
  289. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +3 -3
  290. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +2 -2
  291. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +3 -3
  292. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +3 -3
  293. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +2 -2
  294. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +3 -3
  295. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +3 -3
  296. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +2 -2
  297. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +3 -3
  298. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +3 -3
  299. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.h +3 -3
  300. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +3 -3
  301. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +10 -10
  302. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +3 -3
  303. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +3 -3
  304. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +6 -6
  305. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +3 -3
  306. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +3 -3
  307. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +12 -12
  308. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +3 -3
  309. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +3 -3
  310. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +4 -4
  311. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +3 -3
  312. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +3 -3
  313. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +8 -8
  314. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +3 -3
  315. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +3 -3
  316. data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +3 -3
  317. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +3 -3
  318. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +20 -20
  319. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +3 -3
  320. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +3 -3
  321. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +4 -4
  322. data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +3 -3
  323. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +3 -3
  324. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +10 -10
  325. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +3 -3
  326. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +3 -3
  327. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +2 -2
  328. data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +3 -3
  329. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +3 -3
  330. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +4 -4
  331. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +3 -3
  332. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +3 -3
  333. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +2 -2
  334. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +3 -3
  335. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +3 -3
  336. data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +3 -3
  337. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +3 -3
  338. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +2 -2
  339. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +3 -3
  340. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +3 -3
  341. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +2 -2
  342. data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +3 -3
  343. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +3 -3
  344. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +2 -2
  345. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +3 -3
  346. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +3 -3
  347. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +2 -2
  348. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +3 -3
  349. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +3 -3
  350. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +6 -6
  351. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +3 -3
  352. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +3 -3
  353. data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +3 -3
  354. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +3 -3
  355. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +4 -4
  356. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +3 -3
  357. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +3 -3
  358. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +2 -2
  359. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +3 -3
  360. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +3 -3
  361. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +6 -6
  362. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +3 -3
  363. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +3 -3
  364. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +4 -4
  365. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +3 -3
  366. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +3 -3
  367. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +4 -4
  368. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +3 -3
  369. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +3 -3
  370. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +2 -2
  371. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +3 -3
  372. data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +3 -3
  373. data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.h +3 -3
  374. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +3 -3
  375. data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +3 -3
  376. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +3 -3
  377. data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +3 -3
  378. data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +3 -3
  379. data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +3 -3
  380. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +3 -3
  381. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +2 -2
  382. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +3 -3
  383. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +3 -3
  384. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.h +3 -3
  385. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +3 -3
  386. data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +3 -3
  387. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +3 -3
  388. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +2 -2
  389. data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +3 -3
  390. data/src/core/ext/upb-gen/google/api/annotations.upb.h +5 -5
  391. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +1 -1
  392. data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +3 -3
  393. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +3 -3
  394. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +26 -26
  395. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +3 -3
  396. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +3 -3
  397. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +24 -24
  398. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +3 -3
  399. data/src/core/ext/upb-gen/google/api/http.upb.h +4 -3
  400. data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +4 -4
  401. data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +3 -3
  402. data/src/core/ext/upb-gen/google/api/httpbody.upb.h +3 -3
  403. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +2 -2
  404. data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +3 -3
  405. data/src/core/ext/upb-gen/google/protobuf/any.upb.h +4 -3
  406. data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +3 -3
  407. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +4 -3
  408. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +116 -116
  409. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +20 -20
  410. data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +4 -3
  411. data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +3 -3
  412. data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +4 -3
  413. data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +3 -3
  414. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +4 -3
  415. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +8 -8
  416. data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +3 -3
  417. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +4 -3
  418. data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +3 -3
  419. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +4 -3
  420. data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +3 -3
  421. data/src/core/ext/upb-gen/google/rpc/status.upb.h +3 -3
  422. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +2 -2
  423. data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +3 -3
  424. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +4 -3
  425. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +2 -2
  426. data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.h +3 -3
  427. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +3 -3
  428. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +2 -2
  429. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +3 -3
  430. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +3 -3
  431. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +16 -16
  432. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +3 -3
  433. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +4 -3
  434. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +2 -2
  435. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +3 -3
  436. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +4 -3
  437. data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +3 -3
  438. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +3 -3
  439. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +10 -10
  440. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +3 -3
  441. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +4 -3
  442. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +2 -2
  443. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +3 -3
  444. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +3 -3
  445. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +8 -8
  446. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +3 -3
  447. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +13 -13
  448. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +5 -5
  449. data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +3 -3
  450. data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +5 -5
  451. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +1 -1
  452. data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +3 -3
  453. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +3 -3
  454. data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +3 -3
  455. data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +5 -5
  456. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +1 -1
  457. data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +3 -3
  458. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +5 -5
  459. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +1 -1
  460. data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +3 -3
  461. data/src/core/ext/upb-gen/validate/validate.upb.h +5 -5
  462. data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +16 -16
  463. data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +4 -4
  464. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +13 -13
  465. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +5 -5
  466. data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +3 -3
  467. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +5 -5
  468. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +1 -1
  469. data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +3 -3
  470. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +3 -3
  471. data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +3 -3
  472. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +9 -9
  473. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +3 -3
  474. data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +3 -3
  475. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +5 -5
  476. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +1 -1
  477. data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +3 -3
  478. data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +3 -3
  479. data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +3 -3
  480. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +3 -3
  481. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +2 -2
  482. data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +3 -3
  483. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +3 -3
  484. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +4 -4
  485. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +3 -3
  486. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +3 -3
  487. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +2 -2
  488. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +3 -3
  489. data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +3 -3
  490. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +2 -2
  491. data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +3 -3
  492. data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +3 -3
  493. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +2 -2
  494. data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +3 -3
  495. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +3 -3
  496. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +4 -4
  497. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +3 -3
  498. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +3 -3
  499. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +2 -2
  500. data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +3 -3
  501. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +3 -3
  502. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +2 -2
  503. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +3 -3
  504. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +3 -3
  505. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +2 -2
  506. data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +3 -3
  507. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +3 -3
  508. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +2 -2
  509. data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +3 -3
  510. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +3 -3
  511. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +4 -4
  512. data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +3 -3
  513. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +3 -3
  514. data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +3 -3
  515. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +3 -3
  516. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +4 -4
  517. data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +3 -3
  518. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +3 -3
  519. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +20 -20
  520. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +3 -3
  521. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +3 -3
  522. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +12 -12
  523. data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +3 -3
  524. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +3 -3
  525. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +2 -2
  526. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +3 -3
  527. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +3 -3
  528. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +4 -4
  529. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +3 -3
  530. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +3 -3
  531. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +4 -4
  532. data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +3 -3
  533. data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +4 -3
  534. data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +3 -3
  535. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +3 -3
  536. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +2 -2
  537. data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +3 -3
  538. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +3 -3
  539. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +3 -3
  540. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +3 -3
  541. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +3 -3
  542. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +3 -3
  543. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +3 -3
  544. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +3 -3
  545. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +3 -3
  546. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +3 -3
  547. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +3 -3
  548. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +3 -3
  549. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +3 -3
  550. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +3 -3
  551. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +3 -3
  552. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +3 -3
  553. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +3 -3
  554. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +3 -3
  555. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +3 -3
  556. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +3 -3
  557. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +3 -3
  558. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +3 -3
  559. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +3 -3
  560. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +3 -3
  561. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +3 -3
  562. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +3 -3
  563. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +3 -3
  564. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +3 -3
  565. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +3 -3
  566. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +3 -3
  567. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +3 -3
  568. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +3 -3
  569. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +3 -3
  570. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +3 -3
  571. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +3 -3
  572. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +3 -3
  573. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +3 -3
  574. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +3 -3
  575. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +3 -3
  576. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +3 -3
  577. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +3 -3
  578. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +3 -3
  579. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +3 -3
  580. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +3 -3
  581. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +3 -3
  582. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +3 -3
  583. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +3 -3
  584. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +3 -3
  585. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +3 -3
  586. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +3 -3
  587. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +3 -3
  588. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +3 -3
  589. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +3 -3
  590. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +3 -3
  591. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +3 -3
  592. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +3 -3
  593. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +3 -3
  594. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +3 -3
  595. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +3 -3
  596. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +3 -3
  597. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +3 -3
  598. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +3 -3
  599. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +3 -3
  600. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +3 -3
  601. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +3 -3
  602. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +3 -3
  603. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +3 -3
  604. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +3 -3
  605. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +3 -3
  606. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +3 -3
  607. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +3 -3
  608. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +3 -3
  609. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +3 -3
  610. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +3 -3
  611. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +3 -3
  612. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +3 -3
  613. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +3 -3
  614. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +3 -3
  615. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +3 -3
  616. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +3 -3
  617. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +3 -3
  618. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +3 -3
  619. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +3 -3
  620. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +3 -3
  621. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +3 -3
  622. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +3 -3
  623. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +3 -3
  624. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +3 -3
  625. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +3 -3
  626. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +3 -3
  627. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +3 -3
  628. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +3 -3
  629. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +3 -3
  630. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +3 -3
  631. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +3 -3
  632. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +3 -3
  633. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +3 -3
  634. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +3 -3
  635. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +3 -3
  636. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +3 -3
  637. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +3 -3
  638. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +3 -3
  639. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +3 -3
  640. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +3 -3
  641. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +3 -3
  642. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +3 -3
  643. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +3 -3
  644. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +3 -3
  645. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +3 -3
  646. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +3 -3
  647. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +3 -3
  648. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +3 -3
  649. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +3 -3
  650. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +3 -3
  651. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +3 -3
  652. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +3 -3
  653. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +484 -483
  654. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +3 -3
  655. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +3 -3
  656. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +3 -3
  657. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +3 -3
  658. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +3 -3
  659. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +3 -3
  660. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +3 -3
  661. data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +3 -3
  662. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +3 -3
  663. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +3 -3
  664. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +3 -3
  665. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +3 -3
  666. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +3 -3
  667. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +3 -3
  668. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +3 -3
  669. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +3 -3
  670. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +3 -3
  671. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +3 -3
  672. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +3 -3
  673. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +3 -3
  674. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +3 -3
  675. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +3 -3
  676. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +3 -3
  677. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +3 -3
  678. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +3 -3
  679. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +3 -3
  680. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +3 -3
  681. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +3 -3
  682. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +3 -3
  683. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +3 -3
  684. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +3 -3
  685. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +3 -3
  686. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +3 -3
  687. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +3 -3
  688. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +3 -3
  689. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +3 -3
  690. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +3 -3
  691. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +3 -3
  692. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +3 -3
  693. data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +1 -1
  694. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +7 -1
  695. data/src/core/handshaker/http_connect/http_connect_handshaker.h +1 -1
  696. data/src/core/handshaker/http_connect/http_proxy_mapper.h +1 -1
  697. data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +1 -1
  698. data/src/core/handshaker/security/security_handshaker.cc +1 -1
  699. data/src/core/handshaker/security/security_handshaker.h +1 -1
  700. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +1 -1
  701. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.h +1 -1
  702. data/src/core/lib/channel/channel_args.h +1 -1
  703. data/src/core/lib/channel/channel_args_preconditioning.h +1 -1
  704. data/src/core/lib/channel/connected_channel.cc +1 -1
  705. data/src/core/lib/channel/promise_based_filter.cc +1 -1
  706. data/src/core/lib/channel/promise_based_filter.h +2 -2
  707. data/src/core/lib/debug/trace.cc +1 -1
  708. data/src/core/lib/event_engine/ares_resolver.cc +1 -3
  709. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +7 -4
  710. data/src/core/lib/event_engine/default_event_engine.cc +1 -1
  711. data/src/core/lib/event_engine/default_event_engine.h +1 -1
  712. data/src/core/lib/event_engine/forkable.cc +1 -1
  713. data/src/core/lib/event_engine/nameser.h +1 -1
  714. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
  715. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +4 -4
  716. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +1 -1
  717. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1 -1
  718. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +1 -1
  719. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
  720. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +1 -1
  721. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +1 -1
  722. data/src/core/lib/event_engine/tcp_socket_utils.cc +0 -6
  723. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +1 -1
  724. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +1 -1
  725. data/src/core/lib/event_engine/windows/windows_endpoint.cc +23 -9
  726. data/src/core/lib/event_engine/windows/windows_engine.h +1 -1
  727. data/src/core/lib/experiments/config.cc +1 -1
  728. data/src/core/lib/experiments/experiments.cc +138 -2
  729. data/src/core/lib/experiments/experiments.h +48 -2
  730. data/src/core/lib/iomgr/buffer_list.cc +1 -1
  731. data/src/core/lib/iomgr/call_combiner.h +1 -1
  732. data/src/core/lib/iomgr/closure.h +3 -1
  733. data/src/core/lib/iomgr/combiner.h +1 -1
  734. data/src/core/lib/iomgr/ev_apple.cc +1 -1
  735. data/src/core/lib/iomgr/ev_epoll1_linux.cc +2 -2
  736. data/src/core/lib/iomgr/ev_posix.cc +1 -1
  737. data/src/core/lib/iomgr/iomgr.cc +1 -1
  738. data/src/core/lib/iomgr/iomgr_posix.cc +2 -1
  739. data/src/core/lib/iomgr/iomgr_windows.cc +3 -1
  740. data/src/core/lib/iomgr/nameser.h +1 -1
  741. data/src/core/lib/iomgr/tcp_client_posix.cc +2 -2
  742. data/src/core/lib/iomgr/tcp_client_windows.cc +3 -3
  743. data/src/core/lib/iomgr/tcp_posix.cc +1 -1
  744. data/src/core/lib/iomgr/tcp_posix.h +1 -1
  745. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
  746. data/src/core/lib/iomgr/tcp_server_windows.cc +3 -3
  747. data/src/core/lib/iomgr/timer_generic.cc +1 -1
  748. data/src/core/lib/iomgr/timer_heap.cc +1 -1
  749. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +1 -1
  750. data/src/core/lib/promise/activity.h +1 -1
  751. data/src/core/lib/promise/all_ok.h +37 -0
  752. data/src/core/lib/promise/detail/basic_seq.h +32 -18
  753. data/src/core/lib/promise/detail/promise_factory.h +1 -1
  754. data/src/core/lib/promise/detail/promise_like.h +23 -0
  755. data/src/core/lib/promise/detail/seq_state.h +180 -180
  756. data/src/core/lib/promise/loop.h +9 -0
  757. data/src/core/lib/promise/map.h +53 -2
  758. data/src/core/lib/promise/party.cc +18 -60
  759. data/src/core/lib/promise/party.h +50 -30
  760. data/src/core/lib/promise/poll.h +13 -0
  761. data/src/core/lib/promise/seq.h +6 -29
  762. data/src/core/lib/promise/status_flag.h +7 -0
  763. data/src/core/lib/promise/try_seq.h +35 -37
  764. data/src/core/lib/resource_quota/api.h +1 -1
  765. data/src/core/lib/resource_quota/memory_quota.cc +16 -5
  766. data/src/core/lib/resource_quota/memory_quota.h +5 -1
  767. data/src/core/lib/resource_quota/periodic_update.cc +1 -1
  768. data/src/core/lib/security/context/security_context.h +8 -0
  769. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +1 -1
  770. data/src/core/lib/security/credentials/external/external_account_credentials.cc +6 -5
  771. data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
  772. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +1 -1
  773. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +1 -1
  774. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +29 -22
  775. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +7 -1
  776. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +1 -1
  777. data/src/core/lib/security/security_connector/ssl_utils.cc +1 -1
  778. data/src/core/lib/security/security_connector/ssl_utils.h +1 -1
  779. data/src/core/lib/slice/slice_buffer.cc +1 -0
  780. data/src/core/lib/surface/call_utils.h +4 -0
  781. data/src/core/lib/surface/channel_create.cc +1 -1
  782. data/src/core/lib/surface/channel_init.h +1 -1
  783. data/src/core/lib/surface/client_call.cc +49 -35
  784. data/src/core/lib/surface/client_call.h +9 -1
  785. data/src/core/lib/surface/completion_queue.cc +1 -1
  786. data/src/core/lib/surface/completion_queue.h +1 -1
  787. data/src/core/lib/surface/connection_context.cc +77 -0
  788. data/src/core/lib/surface/connection_context.h +156 -0
  789. data/src/core/lib/surface/filter_stack_call.h +1 -1
  790. data/src/core/lib/surface/init.cc +4 -1
  791. data/src/core/lib/surface/lame_client.cc +1 -1
  792. data/src/core/lib/surface/legacy_channel.cc +1 -1
  793. data/src/core/lib/surface/server_call.cc +11 -5
  794. data/src/core/lib/surface/server_call.h +0 -1
  795. data/src/core/lib/surface/version.cc +2 -2
  796. data/src/core/lib/transport/bdp_estimator.cc +1 -1
  797. data/src/core/lib/transport/call_filters.h +4 -4
  798. data/src/core/lib/transport/call_final_info.h +1 -1
  799. data/src/core/lib/transport/call_spine.cc +0 -4
  800. data/src/core/lib/transport/interception_chain.h +1 -1
  801. data/src/core/lib/transport/metadata_batch.cc +11 -2
  802. data/src/core/lib/transport/metadata_batch.h +9 -1
  803. data/src/core/lib/transport/metadata_compression_traits.h +2 -2
  804. data/src/core/lib/transport/timeout_encoding.cc +4 -4
  805. data/src/core/lib/transport/transport_framing_endpoint_extension.h +47 -0
  806. data/src/core/load_balancing/child_policy_handler.cc +1 -1
  807. data/src/core/load_balancing/endpoint_list.cc +1 -1
  808. data/src/core/load_balancing/grpclb/grpclb.cc +1 -1
  809. data/src/core/load_balancing/lb_policy.h +1 -1
  810. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +2 -2
  811. data/src/core/load_balancing/pick_first/pick_first.cc +11 -8
  812. data/src/core/load_balancing/priority/priority.cc +1 -1
  813. data/src/core/load_balancing/ring_hash/ring_hash.cc +1 -1
  814. data/src/core/load_balancing/rls/rls.cc +1 -1
  815. data/src/core/load_balancing/round_robin/round_robin.cc +1 -1
  816. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +2 -2
  817. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +1 -1
  818. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +1 -1
  819. data/src/core/load_balancing/weighted_target/weighted_target.cc +1 -1
  820. data/src/core/load_balancing/xds/cds.cc +1 -1
  821. data/src/core/load_balancing/xds/xds_cluster_impl.cc +1 -1
  822. data/src/core/load_balancing/xds/xds_cluster_manager.cc +1 -1
  823. data/src/core/load_balancing/xds/xds_override_host.cc +4 -4
  824. data/src/core/load_balancing/xds/xds_wrr_locality.cc +1 -1
  825. data/src/core/plugin_registry/grpc_plugin_registry.cc +1 -1
  826. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +1 -1
  827. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +2 -2
  828. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +1 -1
  829. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
  830. data/src/core/resolver/dns/dns_resolver_plugin.cc +1 -1
  831. data/src/core/resolver/dns/dns_resolver_plugin.h +1 -1
  832. data/src/core/resolver/dns/native/dns_resolver.cc +1 -1
  833. data/src/core/resolver/dns/native/dns_resolver.h +1 -1
  834. data/src/core/resolver/fake/fake_resolver.cc +1 -1
  835. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +1 -1
  836. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  837. data/src/core/resolver/xds/xds_dependency_manager.cc +1 -1
  838. data/src/core/resolver/xds/xds_resolver.cc +1 -1
  839. data/src/core/server/server.cc +2 -1
  840. data/src/core/server/server.h +0 -1
  841. data/src/core/server/server_call_tracer_filter.cc +1 -1
  842. data/src/core/server/server_call_tracer_filter.h +1 -1
  843. data/src/core/server/xds_channel_stack_modifier.cc +1 -1
  844. data/src/core/server/xds_server_config_fetcher.cc +1 -1
  845. data/src/core/service_config/service_config_channel_arg_filter.cc +1 -1
  846. data/src/core/service_config/service_config_impl.cc +1 -1
  847. data/src/core/telemetry/call_tracer.h +1 -1
  848. data/src/core/telemetry/histogram_view.cc +3 -3
  849. data/src/core/telemetry/metrics.cc +15 -12
  850. data/src/core/telemetry/metrics.h +7 -3
  851. data/src/core/telemetry/stats_data.cc +94 -0
  852. data/src/core/telemetry/stats_data.h +61 -0
  853. data/src/core/tsi/alts/frame_protector/alts_counter.h +1 -1
  854. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -1
  855. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -1
  856. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  857. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +1 -1
  858. data/src/core/tsi/ssl_transport_security.cc +11 -4
  859. data/src/core/tsi/ssl_transport_security.h +2 -2
  860. data/src/core/tsi/ssl_transport_security_utils.h +1 -1
  861. data/src/core/tsi/transport_security_interface.h +2 -2
  862. data/src/core/util/fork.cc +1 -1
  863. data/src/core/util/fork.h +2 -2
  864. data/src/core/util/gpr_time.cc +4 -4
  865. data/src/core/util/http_client/httpcli.cc +14 -7
  866. data/src/core/util/json/json_object_loader.h +4 -4
  867. data/src/core/util/json/json_writer.cc +1 -1
  868. data/src/core/util/latent_see.cc +97 -76
  869. data/src/core/util/latent_see.h +23 -16
  870. data/src/core/util/log.cc +1 -1
  871. data/src/core/util/status_helper.cc +1 -1
  872. data/src/core/util/string.cc +2 -2
  873. data/src/core/util/table.h +1 -1
  874. data/src/core/util/time.cc +4 -4
  875. data/src/core/util/time.h +2 -2
  876. data/src/core/util/uri.cc +10 -4
  877. data/src/core/util/uri.h +5 -1
  878. data/src/core/xds/grpc/certificate_provider_store.cc +1 -1
  879. data/src/core/xds/grpc/certificate_provider_store.h +1 -1
  880. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +1 -1
  881. data/src/core/xds/grpc/xds_cluster_parser.cc +1 -1
  882. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +2 -2
  883. data/src/core/xds/grpc/xds_lb_policy_registry.cc +1 -1
  884. data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
  885. data/src/core/xds/grpc/xds_route_config.cc +1 -0
  886. data/src/core/xds/grpc/xds_route_config_parser.cc +1 -1
  887. data/src/core/xds/grpc/xds_server_grpc.cc +1 -1
  888. data/src/core/xds/grpc/xds_transport_grpc.cc +1 -1
  889. data/src/ruby/ext/grpc/rb_grpc.h +1 -1
  890. data/src/ruby/lib/grpc/version.rb +1 -1
  891. data/third_party/upb/upb/json/decode.c +39 -10
  892. data/third_party/upb/upb/json/decode.h +26 -3
  893. data/third_party/upb/upb/mem/arena.c +1 -1
  894. data/third_party/upb/upb/message/accessors.h +8 -0
  895. data/third_party/upb/upb/message/internal/accessors.h +9 -2
  896. data/third_party/upb/upb/message/internal/message.c +3 -3
  897. data/third_party/upb/upb/port/def.inc +25 -6
  898. data/third_party/upb/upb/port/undef.inc +3 -0
  899. data/third_party/upb/upb/reflection/common.h +1 -11
  900. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +19 -0
  901. data/third_party/upb/upb/reflection/field_def.c +3 -17
  902. data/third_party/upb/upb/text/encode.c +0 -7
  903. data/third_party/upb/upb/wire/decode.h +1 -1
  904. metadata +15 -9
@@ -22,6 +22,7 @@
22
22
  #include "absl/status/status.h"
23
23
  #include "absl/status/statusor.h"
24
24
  #include "absl/types/variant.h"
25
+ #include "src/core/lib/debug/trace.h"
25
26
  #include "src/core/lib/promise/detail/promise_factory.h"
26
27
  #include "src/core/lib/promise/poll.h"
27
28
  #include "src/core/util/construct_destruct.h"
@@ -100,6 +101,8 @@ class Loop {
100
101
  Loop& operator=(const Loop& loop) = delete;
101
102
 
102
103
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> operator()() {
104
+ GRPC_TRACE_LOG(promise_primitives, INFO)
105
+ << "loop[" << this << "] begin poll started=" << started_;
103
106
  if (!started_) {
104
107
  started_ = true;
105
108
  Construct(&promise_, factory_.Make());
@@ -113,14 +116,20 @@ class Loop {
113
116
  // from our factory.
114
117
  auto lc = LoopTraits<PromiseResult>::ToLoopCtl(std::move(*p));
115
118
  if (absl::holds_alternative<Continue>(lc)) {
119
+ GRPC_TRACE_LOG(promise_primitives, INFO)
120
+ << "loop[" << this << "] iteration complete, continue";
116
121
  Destruct(&promise_);
117
122
  Construct(&promise_, factory_.Make());
118
123
  continue;
119
124
  }
125
+ GRPC_TRACE_LOG(promise_primitives, INFO)
126
+ << "loop[" << this << "] iteration complete, return";
120
127
  // - otherwise there's our result... return it out.
121
128
  return absl::get<Result>(std::move(lc));
122
129
  } else {
123
130
  // Otherwise the inner promise was pending, so we are pending.
131
+ GRPC_TRACE_LOG(promise_primitives, INFO)
132
+ << "loop[" << this << "] pending";
124
133
  return Pending();
125
134
  }
126
135
  }
@@ -31,8 +31,20 @@ namespace promise_detail {
31
31
  // Implementation of mapping combinator - use this via the free function below!
32
32
  // Promise is the type of promise to poll on, Fn is a function that takes the
33
33
  // result of Promise and maps it to some new type.
34
+ template <typename Promise, typename Fn, typename SfinaeVoid = void>
35
+ class Map;
36
+
34
37
  template <typename Promise, typename Fn>
35
- class Map {
38
+ class Map<Promise, Fn,
39
+ absl::enable_if_t<!std::is_void<
40
+ #if (defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703L) || \
41
+ (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L)
42
+ std::invoke_result_t<Fn, typename PromiseLike<Promise>::Result>
43
+ #else
44
+ typename std::result_of<Fn(
45
+ typename PromiseLike<Promise>::Result)>::type
46
+ #endif
47
+ >::value>> {
36
48
  public:
37
49
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Map(Promise promise, Fn fn)
38
50
  : promise_(std::move(promise)), fn_(std::move(fn)) {}
@@ -61,6 +73,45 @@ class Map {
61
73
  Fn fn_;
62
74
  };
63
75
 
76
+ template <typename Promise, typename Fn>
77
+ class Map<Promise, Fn,
78
+ absl::enable_if_t<std::is_void<
79
+ #if (defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703L) || \
80
+ (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L)
81
+ std::invoke_result_t<Fn, typename PromiseLike<Promise>::Result>
82
+ #else
83
+ typename std::result_of<Fn(
84
+ typename PromiseLike<Promise>::Result)>::type
85
+ #endif
86
+ >::value>> {
87
+ public:
88
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Map(Promise promise, Fn fn)
89
+ : promise_(std::move(promise)), fn_(std::move(fn)) {}
90
+
91
+ Map(const Map&) = delete;
92
+ Map& operator=(const Map&) = delete;
93
+ // NOLINTNEXTLINE(performance-noexcept-move-constructor): clang6 bug
94
+ Map(Map&& other) = default;
95
+ // NOLINTNEXTLINE(performance-noexcept-move-constructor): clang6 bug
96
+ Map& operator=(Map&& other) = default;
97
+
98
+ using PromiseResult = typename PromiseLike<Promise>::Result;
99
+ using Result = Empty;
100
+
101
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION Poll<Result> operator()() {
102
+ Poll<PromiseResult> r = promise_();
103
+ if (auto* p = r.value_if_ready()) {
104
+ fn_(std::move(*p));
105
+ return Empty{};
106
+ }
107
+ return Pending();
108
+ }
109
+
110
+ private:
111
+ PromiseLike<Promise> promise_;
112
+ Fn fn_;
113
+ };
114
+
64
115
  } // namespace promise_detail
65
116
 
66
117
  // Mapping combinator.
@@ -79,7 +130,7 @@ template <typename Promise>
79
130
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION inline auto CheckDelayed(Promise promise) {
80
131
  using P = promise_detail::PromiseLike<Promise>;
81
132
  return [delayed = false, promise = P(std::move(promise))]() mutable
82
- -> Poll<std::tuple<typename P::Result, bool>> {
133
+ -> Poll<std::tuple<typename P::Result, bool>> {
83
134
  auto r = promise();
84
135
  if (r.pending()) {
85
136
  delayed = true;
@@ -251,13 +251,16 @@ void Party::RunLockedAndUnref(Party* party, uint64_t prev_state) {
251
251
  // gets held for a really long time.
252
252
  auto wakeup =
253
253
  std::exchange(g_run_state->next, PartyWakeup{party, prev_state});
254
- party->arena_->GetContext<grpc_event_engine::experimental::EventEngine>()
255
- ->Run([wakeup]() {
256
- GRPC_LATENT_SEE_PARENT_SCOPE("Party::RunLocked offload");
257
- ApplicationCallbackExecCtx app_exec_ctx;
258
- ExecCtx exec_ctx;
259
- RunState{wakeup}.Run();
260
- });
254
+ auto arena = party->arena_.get();
255
+ auto* event_engine =
256
+ arena->GetContext<grpc_event_engine::experimental::EventEngine>();
257
+ CHECK(event_engine != nullptr) << "; " << GRPC_DUMP_ARGS(party, arena);
258
+ event_engine->Run([wakeup]() {
259
+ GRPC_LATENT_SEE_PARENT_SCOPE("Party::RunLocked offload");
260
+ ApplicationCallbackExecCtx app_exec_ctx;
261
+ ExecCtx exec_ctx;
262
+ RunState{wakeup}.Run();
263
+ });
261
264
  return;
262
265
  }
263
266
  g_run_state->next = PartyWakeup{party, prev_state};
@@ -356,50 +359,8 @@ void Party::RunPartyAndUnref(uint64_t prev_state) {
356
359
  }
357
360
  }
358
361
 
359
- void Party::AddParticipants(Participant** participants, size_t count) {
360
- uint64_t state = state_.load(std::memory_order_acquire);
361
- uint64_t allocated;
362
-
363
- size_t slots[party_detail::kMaxParticipants];
364
-
365
- // Find slots for each new participant, ordering them from lowest available
366
- // slot upwards to ensure the same poll ordering as presentation ordering to
367
- // this function.
368
- WakeupMask wakeup_mask;
369
- uint64_t new_state;
370
- do {
371
- wakeup_mask = 0;
372
- allocated = (state & kAllocatedMask) >> kAllocatedShift;
373
- for (size_t i = 0; i < count; i++) {
374
- auto new_mask = LowestOneBit(~allocated);
375
- if (GPR_UNLIKELY((new_mask & kWakeupMask) == 0)) {
376
- DelayAddParticipants(participants, count);
377
- return;
378
- }
379
- wakeup_mask |= new_mask;
380
- allocated |= new_mask;
381
- slots[i] = absl::countr_zero(new_mask);
382
- }
383
- // Try to allocate this slot and take a ref (atomically).
384
- // Ref needs to be taken because once we store the participant it could be
385
- // spuriously woken up and unref the party.
386
- new_state = (state | (allocated << kAllocatedShift)) + kOneRef;
387
- } while (!state_.compare_exchange_weak(
388
- state, new_state, std::memory_order_acq_rel, std::memory_order_acquire));
389
- LogStateChange("AddParticipantsAndRef", state, new_state);
390
-
391
- for (size_t i = 0; i < count; i++) {
392
- GRPC_TRACE_LOG(party_state, INFO)
393
- << "Party " << this << " AddParticipant: " << slots[i]
394
- << " " << participants[i];
395
- participants_[slots[i]].store(participants[i], std::memory_order_release);
396
- }
397
-
398
- // Now we need to wake up the party.
399
- WakeupFromState(new_state, wakeup_mask);
400
- }
401
-
402
362
  void Party::AddParticipant(Participant* participant) {
363
+ GRPC_LATENT_SEE_INNER_SCOPE("Party::AddParticipant");
403
364
  uint64_t state = state_.load(std::memory_order_acquire);
404
365
  uint64_t allocated;
405
366
  size_t slot;
@@ -413,7 +374,7 @@ void Party::AddParticipant(Participant* participant) {
413
374
  allocated = (state & kAllocatedMask) >> kAllocatedShift;
414
375
  wakeup_mask = LowestOneBit(~allocated);
415
376
  if (GPR_UNLIKELY((wakeup_mask & kWakeupMask) == 0)) {
416
- DelayAddParticipants(&participant, 1);
377
+ DelayAddParticipant(participant);
417
378
  return;
418
379
  }
419
380
  DCHECK_NE(wakeup_mask & kWakeupMask, 0u)
@@ -436,20 +397,16 @@ void Party::AddParticipant(Participant* participant) {
436
397
  WakeupFromState(new_state, wakeup_mask);
437
398
  }
438
399
 
439
- void Party::DelayAddParticipants(Participant** participants, size_t count) {
400
+ void Party::DelayAddParticipant(Participant* participant) {
440
401
  // We need to delay the addition of participants.
441
402
  IncrementRefCount();
442
- VLOG_EVERY_N_SEC(2, 10) << "Delaying addition of " << count
443
- << " participants to party " << this
444
- << " because it is full.";
445
- std::vector<Participant*> delayed_participants{participants,
446
- participants + count};
403
+ VLOG_EVERY_N_SEC(2, 10) << "Delaying addition of participant to party "
404
+ << this << " because it is full.";
447
405
  arena_->GetContext<grpc_event_engine::experimental::EventEngine>()->Run(
448
- [this, delayed_participants = std::move(delayed_participants)]() mutable {
406
+ [this, participant]() mutable {
449
407
  ApplicationCallbackExecCtx app_exec_ctx;
450
408
  ExecCtx exec_ctx;
451
- AddParticipants(delayed_participants.data(),
452
- delayed_participants.size());
409
+ AddParticipant(participant);
453
410
  Unref();
454
411
  });
455
412
  }
@@ -468,6 +425,7 @@ void Party::WakeupAsync(WakeupMask wakeup_mask) {
468
425
  wakeup_mask_ |= wakeup_mask;
469
426
  arena_->GetContext<grpc_event_engine::experimental::EventEngine>()->Run(
470
427
  [this, prev_state]() {
428
+ GRPC_LATENT_SEE_PARENT_SCOPE("Party::WakeupAsync");
471
429
  ApplicationCallbackExecCtx app_exec_ctx;
472
430
  ExecCtx exec_ctx;
473
431
  RunLockedAndUnref(this, prev_state);
@@ -82,6 +82,52 @@ class Party : public Activity, private Wakeable {
82
82
  Party(const Party&) = delete;
83
83
  Party& operator=(const Party&) = delete;
84
84
 
85
+ // When calling into a Party from outside the promises system we often would
86
+ // like to perform more than one action.
87
+ // This class tries to acquire the party lock just once - if it succeeds then
88
+ // it runs the party in its destructor, effectively holding all wakeups of the
89
+ // party until it goes out of scope.
90
+ // If it fails, presumably some other thread holds the lock - and in this case
91
+ // we don't attempt to do any buffering.
92
+ class WakeupHold {
93
+ public:
94
+ WakeupHold() = default;
95
+ explicit WakeupHold(Party* party)
96
+ : prev_state_(party->state_.load(std::memory_order_relaxed)) {
97
+ // Try to lock
98
+ if ((prev_state_ & kLocked) == 0 &&
99
+ party->state_.compare_exchange_weak(prev_state_,
100
+ (prev_state_ | kLocked) + kOneRef,
101
+ std::memory_order_relaxed)) {
102
+ DCHECK_EQ(prev_state_ & ~(kRefMask | kAllocatedMask), 0u)
103
+ << "Party should have contained no wakeups on lock";
104
+ // If we win, record that fact for the destructor
105
+ party->LogStateChange("WakeupHold", prev_state_,
106
+ (prev_state_ | kLocked) + kOneRef);
107
+ party_ = party;
108
+ }
109
+ }
110
+ WakeupHold(const WakeupHold&) = delete;
111
+ WakeupHold& operator=(const WakeupHold&) = delete;
112
+ WakeupHold(WakeupHold&& other) noexcept
113
+ : party_(std::exchange(other.party_, nullptr)),
114
+ prev_state_(other.prev_state_) {}
115
+ WakeupHold& operator=(WakeupHold&& other) noexcept {
116
+ std::swap(party_, other.party_);
117
+ std::swap(prev_state_, other.prev_state_);
118
+ return *this;
119
+ }
120
+
121
+ ~WakeupHold() {
122
+ if (party_ == nullptr) return;
123
+ party_->RunLockedAndUnref(party_, prev_state_);
124
+ }
125
+
126
+ private:
127
+ Party* party_ = nullptr;
128
+ uint64_t prev_state_;
129
+ };
130
+
85
131
  static RefCountedPtr<Party> Make(RefCountedPtr<Arena> arena) {
86
132
  auto* arena_ptr = arena.get();
87
133
  return RefCountedPtr<Party>(arena_ptr->New<Party>(std::move(arena)));
@@ -135,23 +181,6 @@ class Party : public Activity, private Wakeable {
135
181
 
136
182
  Arena* arena() { return arena_.get(); }
137
183
 
138
- class BulkSpawner {
139
- public:
140
- explicit BulkSpawner(Party* party) : party_(party) {}
141
- ~BulkSpawner() {
142
- party_->AddParticipants(participants_, num_participants_);
143
- }
144
-
145
- template <typename Factory, typename OnComplete>
146
- void Spawn(absl::string_view name, Factory promise_factory,
147
- OnComplete on_complete);
148
-
149
- private:
150
- Party* const party_;
151
- size_t num_participants_ = 0;
152
- Participant* participants_[party_detail::kMaxParticipants];
153
- };
154
-
155
184
  protected:
156
185
  friend class Arena;
157
186
 
@@ -342,6 +371,7 @@ class Party : public Activity, private Wakeable {
342
371
 
343
372
  // Wakeable implementation
344
373
  void Wakeup(WakeupMask wakeup_mask) final {
374
+ GRPC_LATENT_SEE_INNER_SCOPE("Party::Wakeup");
345
375
  if (Activity::current() == this) {
346
376
  wakeup_mask_ |= wakeup_mask;
347
377
  Unref();
@@ -352,6 +382,7 @@ class Party : public Activity, private Wakeable {
352
382
 
353
383
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION void WakeupFromState(
354
384
  uint64_t cur_state, WakeupMask wakeup_mask) {
385
+ GRPC_LATENT_SEE_INNER_SCOPE("Party::WakeupFromState");
355
386
  DCHECK_NE(wakeup_mask & kWakeupMask, 0u)
356
387
  << "Wakeup mask must be non-zero: " << wakeup_mask;
357
388
  while (true) {
@@ -384,9 +415,8 @@ class Party : public Activity, private Wakeable {
384
415
  void Drop(WakeupMask wakeup_mask) final;
385
416
 
386
417
  // Add a participant (backs Spawn, after type erasure to ParticipantFactory).
387
- void AddParticipants(Participant** participant, size_t count);
388
418
  void AddParticipant(Participant* participant);
389
- void DelayAddParticipants(Participant** participant, size_t count);
419
+ void DelayAddParticipant(Participant* participant);
390
420
 
391
421
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION void LogStateChange(
392
422
  const char* op, uint64_t prev_state, uint64_t new_state,
@@ -397,7 +427,7 @@ class Party : public Activity, private Wakeable {
397
427
  new_state);
398
428
  }
399
429
 
400
- // Sentinal value for currently_polling_ when no participant is being polled.
430
+ // Sentinel value for currently_polling_ when no participant is being polled.
401
431
  static constexpr uint8_t kNotPolling = 255;
402
432
 
403
433
  std::atomic<uint64_t> state_{kOneRef};
@@ -415,16 +445,6 @@ struct ContextSubclass<Party> {
415
445
  using Base = Activity;
416
446
  };
417
447
 
418
- template <typename Factory, typename OnComplete>
419
- void Party::BulkSpawner::Spawn(absl::string_view name, Factory promise_factory,
420
- OnComplete on_complete) {
421
- GRPC_TRACE_LOG(promise_primitives, INFO)
422
- << party_->DebugTag() << "[bulk_spawn] On " << this << " queue " << name
423
- << " (" << sizeof(ParticipantImpl<Factory, OnComplete>) << " bytes)";
424
- participants_[num_participants_++] = new ParticipantImpl<Factory, OnComplete>(
425
- name, std::move(promise_factory), std::move(on_complete));
426
- }
427
-
428
448
  template <typename Factory, typename OnComplete>
429
449
  void Party::Spawn(absl::string_view name, Factory promise_factory,
430
450
  OnComplete on_complete) {
@@ -286,6 +286,19 @@ void AbslStringify(Sink& sink, const Poll<T>& poll) {
286
286
  absl::Format(&sink, "%v", poll.value());
287
287
  }
288
288
 
289
+ template <typename Sink, typename T>
290
+ void AbslStringify(Sink& sink, const Poll<absl::StatusOr<T>>& poll) {
291
+ if (poll.pending()) {
292
+ absl::Format(&sink, "<<pending>>");
293
+ return;
294
+ }
295
+ if (poll.value().ok()) {
296
+ absl::Format(&sink, "%v", *poll.value());
297
+ } else {
298
+ absl::Format(&sink, "%v", poll.value().status());
299
+ }
300
+ }
301
+
289
302
  template <typename Sink, typename T>
290
303
  void AbslStringify(Sink& sink, const Poll<absl::optional<T>>& poll) {
291
304
  if (poll.pending()) {
@@ -47,12 +47,6 @@ struct SeqTraits {
47
47
  static R ReturnValue(T&&) {
48
48
  abort();
49
49
  }
50
- template <typename F, typename Elem>
51
- GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static auto CallSeqFactory(F& f,
52
- Elem&& elem,
53
- T&& value) {
54
- return f(std::forward<Elem>(elem), std::forward<T>(value));
55
- }
56
50
  template <typename Result, typename PriorResult, typename RunNext>
57
51
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static Poll<Result>
58
52
  CheckResultAndRunNext(PriorResult prior, RunNext run_next) {
@@ -77,25 +71,8 @@ class Seq {
77
71
  SeqState<SeqTraits, P, Fs...> state_;
78
72
  };
79
73
 
80
- template <typename I, typename F, typename Arg>
81
- struct SeqIterTraits {
82
- using Iter = I;
83
- using Factory = F;
84
- using Argument = Arg;
85
- using IterValue = decltype(*std::declval<Iter>());
86
- using StateCreated = decltype(std::declval<F>()(std::declval<IterValue>(),
87
- std::declval<Arg>()));
88
- using State = PromiseLike<StateCreated>;
89
- using Wrapped = typename State::Result;
90
-
91
- using Traits = SeqTraits<Wrapped>;
92
- };
93
-
94
74
  template <typename Iter, typename Factory, typename Argument>
95
- struct SeqIterResultTraits {
96
- using IterTraits = SeqIterTraits<Iter, Factory, Argument>;
97
- using Result = BasicSeqIter<IterTraits>;
98
- };
75
+ using SeqIter = BasicSeqIter<SeqTraits, Iter, Factory, Argument>;
99
76
 
100
77
  } // namespace promise_detail
101
78
 
@@ -227,11 +204,11 @@ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION
227
204
  // }
228
205
  // return argument;
229
206
  template <typename Iter, typename Factory, typename Argument>
230
- typename promise_detail::SeqIterResultTraits<Iter, Factory, Argument>::Result
231
- SeqIter(Iter begin, Iter end, Argument argument, Factory factory) {
232
- using Result = typename promise_detail::SeqIterResultTraits<Iter, Factory,
233
- Argument>::Result;
234
- return Result(begin, end, std::move(factory), std::move(argument));
207
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION auto SeqIter(Iter begin, Iter end,
208
+ Argument argument,
209
+ Factory factory) {
210
+ return promise_detail::SeqIter<Iter, Factory, Argument>(
211
+ begin, end, std::move(factory), std::move(argument));
235
212
  }
236
213
 
237
214
  } // namespace grpc_core
@@ -55,6 +55,13 @@ struct StatusCastImpl<absl::Status, Success> {
55
55
  }
56
56
  };
57
57
 
58
+ template <>
59
+ struct StatusCastImpl<absl::Status, Success&> {
60
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static absl::Status Cast(Success) {
61
+ return absl::OkStatus();
62
+ }
63
+ };
64
+
58
65
  template <>
59
66
  struct StatusCastImpl<absl::Status, const Success&> {
60
67
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static absl::Status Cast(Success) {
@@ -53,13 +53,6 @@ struct TrySeqTraitsWithSfinae {
53
53
  static R ReturnValue(T&&) {
54
54
  abort();
55
55
  }
56
- template <typename F, typename Elem>
57
- GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static auto CallSeqFactory(F& f,
58
- Elem&& elem,
59
- T&& value)
60
- -> decltype(f(std::forward<Elem>(elem), std::forward<T>(value))) {
61
- return f(std::forward<Elem>(elem), std::forward<T>(value));
62
- }
63
56
  template <typename Result, typename RunNext>
64
57
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static Poll<Result>
65
58
  CheckResultAndRunNext(T prior, RunNext run_next) {
@@ -88,12 +81,6 @@ struct TrySeqTraitsWithSfinae<absl::StatusOr<T>> {
88
81
  absl::StatusOr<T>&& status) {
89
82
  return FailureStatusCast<R>(status.status());
90
83
  }
91
- template <typename F, typename Elem>
92
- GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static auto CallSeqFactory(
93
- F& f, Elem&& elem, absl::StatusOr<T> value)
94
- -> decltype(f(std::forward<Elem>(elem), std::move(*value))) {
95
- return f(std::forward<Elem>(elem), std::move(*value));
96
- }
97
84
  template <typename Result, typename RunNext>
98
85
  GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION static Poll<Result>
99
86
  CheckResultAndRunNext(absl::StatusOr<T> prior, RunNext run_next) {
@@ -241,24 +228,30 @@ class TrySeq {
241
228
  SeqState<TrySeqTraits, P, Fs...> state_;
242
229
  };
243
230
 
244
- template <typename I, typename F, typename Arg>
245
- struct TrySeqIterTraits {
246
- using Iter = I;
247
- using Factory = F;
248
- using Argument = Arg;
249
- using IterValue = decltype(*std::declval<Iter>());
250
- using StateCreated = decltype(std::declval<F>()(std::declval<IterValue>(),
251
- std::declval<Arg>()));
252
- using State = PromiseLike<StateCreated>;
253
- using Wrapped = typename State::Result;
254
-
255
- using Traits = TrySeqTraits<Wrapped>;
256
- };
257
-
258
231
  template <typename Iter, typename Factory, typename Argument>
259
- struct TrySeqIterResultTraits {
260
- using IterTraits = TrySeqIterTraits<Iter, Factory, Argument>;
261
- using Result = BasicSeqIter<IterTraits>;
232
+ using TrySeqIter = BasicSeqIter<TrySeqTraits, Iter, Factory, Argument>;
233
+
234
+ template <typename Container, typename Factory, typename Argument>
235
+ struct TrySeqContainerResultTraits {
236
+ using BaseResult =
237
+ TrySeqIter<typename Container::iterator, Factory, Argument>;
238
+ class Result {
239
+ public:
240
+ Result(Container container, Factory factory, Argument argument)
241
+ : container_(std::move(container)),
242
+ base_result_(container_.begin(), container_.end(), std::move(factory),
243
+ std::move(argument)) {}
244
+ Result(const Result&) = delete;
245
+ Result& operator=(const Result&) = delete;
246
+ Result(Result&&) = default;
247
+ Result& operator=(Result&&) = default;
248
+
249
+ auto operator()() { return base_result_(); }
250
+
251
+ private:
252
+ Container container_;
253
+ BaseResult base_result_;
254
+ };
262
255
  };
263
256
 
264
257
  } // namespace promise_detail
@@ -352,14 +345,19 @@ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION
352
345
  // }
353
346
  // return argument;
354
347
  template <typename Iter, typename Factory, typename Argument>
355
- GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION
356
- typename promise_detail::TrySeqIterResultTraits<Iter, Factory,
357
- Argument>::Result
358
- TrySeqIter(Iter begin, Iter end, Argument argument, Factory factory) {
348
+ GPR_ATTRIBUTE_ALWAYS_INLINE_FUNCTION auto TrySeqIter(Iter begin, Iter end,
349
+ Argument argument,
350
+ Factory factory) {
351
+ return promise_detail::TrySeqIter<Iter, Factory, Argument>(
352
+ begin, end, std::move(factory), std::move(argument));
353
+ }
354
+
355
+ template <typename Container, typename Factory, typename Argument>
356
+ auto TrySeqContainer(Container container, Argument argument, Factory factory) {
359
357
  using Result =
360
- typename promise_detail::TrySeqIterResultTraits<Iter, Factory,
361
- Argument>::Result;
362
- return Result(begin, end, std::move(factory), std::move(argument));
358
+ typename promise_detail::TrySeqContainerResultTraits<Container, Factory,
359
+ Argument>::Result;
360
+ return Result(std::move(container), std::move(factory), std::move(argument));
363
361
  }
364
362
 
365
363
  } // namespace grpc_core
@@ -20,7 +20,7 @@
20
20
  #include <grpc/support/port_platform.h>
21
21
  #include <stddef.h>
22
22
 
23
- #include "src/core/lib/config/core_configuration.h"
23
+ #include "src/core/config/core_configuration.h"
24
24
  #include "src/core/lib/resource_quota/resource_quota.h"
25
25
 
26
26
  typedef struct grpc_resource_quota grpc_resource_quota;
@@ -130,8 +130,18 @@ class SliceRefCount : public grpc_slice_refcount {
130
130
  size_t size_;
131
131
  };
132
132
 
133
+ std::atomic<double> container_memory_pressure{0.0};
134
+
133
135
  } // namespace
134
136
 
137
+ void SetContainerMemoryPressure(double pressure) {
138
+ container_memory_pressure.store(pressure, std::memory_order_relaxed);
139
+ }
140
+
141
+ double ContainerMemoryPressure() {
142
+ return container_memory_pressure.load(std::memory_order_relaxed);
143
+ }
144
+
135
145
  //
136
146
  // Reclaimer
137
147
  //
@@ -346,7 +356,7 @@ void GrpcMemoryAllocatorImpl::MaybeDonateBack() {
346
356
  size_t ret = 0;
347
357
  if (!IsUnconstrainedMaxQuotaBufferSizeEnabled() &&
348
358
  free > kMaxQuotaBufferSize / 2) {
349
- ret = std::max(ret, free - kMaxQuotaBufferSize / 2);
359
+ ret = std::max(ret, free - (kMaxQuotaBufferSize / 2));
350
360
  }
351
361
  ret = std::max(ret, free > 8192 ? free / 2 : free);
352
362
  const size_t new_free = free - ret;
@@ -646,7 +656,8 @@ BasicMemoryQuota::PressureInfo BasicMemoryQuota::GetPressureInfo() {
646
656
  double size = quota_size;
647
657
  if (size < 1) return PressureInfo{1, 1, 1};
648
658
  PressureInfo pressure_info;
649
- pressure_info.instantaneous_pressure = std::max(0.0, (size - free) / size);
659
+ pressure_info.instantaneous_pressure =
660
+ std::max({0.0, (size - free) / size, ContainerMemoryPressure()});
650
661
  pressure_info.pressure_control_value =
651
662
  pressure_tracker_.AddSampleAndGetControlValue(
652
663
  pressure_info.instantaneous_pressure);
@@ -708,7 +719,7 @@ double PressureController::Update(double error) {
708
719
  // The first switchover will have last_control_ being 0, and max_ being 2,
709
720
  // so we'll immediately choose 1.0 which will tend to really slow down
710
721
  // progress.
711
- // If we end up targetting too low, we'll eventually move it back towards
722
+ // If we end up targeting too low, we'll eventually move it back towards
712
723
  // 1.0 after max_ticks_same_ ticks.
713
724
  ticks_same_ = 0;
714
725
  max_ = (last_control_ + max_) / 2.0;
@@ -719,8 +730,8 @@ double PressureController::Update(double error) {
719
730
  // (If we want a control value that's higher than the last one we snap
720
731
  // immediately because it's likely that memory pressure is growing unchecked).
721
732
  if (new_control < last_control_) {
722
- new_control =
723
- std::max(new_control, last_control_ - max_reduction_per_tick_ / 1000.0);
733
+ new_control = std::max(new_control,
734
+ last_control_ - (max_reduction_per_tick_ / 1000.0));
724
735
  }
725
736
  last_control_ = new_control;
726
737
  return new_control;
@@ -239,7 +239,7 @@ class PressureController {
239
239
  private:
240
240
  // How many update periods have we reached the same decision in a row?
241
241
  // Too many and we should start expanding the search space since we're not
242
- // being agressive enough.
242
+ // being aggressive enough.
243
243
  uint8_t ticks_same_ = 0;
244
244
  // Maximum number of ticks with the same value until we start expanding the
245
245
  // control space.
@@ -588,6 +588,10 @@ inline MemoryQuotaRefPtr MakeMemoryQuota(std::string name) {
588
588
 
589
589
  std::vector<std::shared_ptr<BasicMemoryQuota>> AllMemoryQuotas();
590
590
 
591
+ void SetContainerMemoryPressure(double pressure);
592
+
593
+ double ContainerMemoryPressure();
594
+
591
595
  } // namespace grpc_core
592
596
 
593
597
  #endif // GRPC_SRC_CORE_LIB_RESOURCE_QUOTA_MEMORY_QUOTA_H
@@ -32,7 +32,7 @@ bool PeriodicUpdate::MaybeEndPeriod(absl::FunctionRef<void(Duration)> f) {
32
32
  // the decrementer that got us there.
33
33
  // We can now safely mutate any non-atomic mutable variables (we've got a
34
34
  // guarantee that no other thread will), and by the time this function returns
35
- // we must store a postive number into updates_remaining_.
35
+ // we must store a positive number into updates_remaining_.
36
36
  auto now = Timestamp::Now();
37
37
  Duration time_so_far = now - period_start_;
38
38
  if (time_so_far < period_) {