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
@@ -42,6 +42,7 @@
42
42
  #include "src/core/client_channel/client_channel_filter.h"
43
43
  #include "src/core/client_channel/connector.h"
44
44
  #include "src/core/client_channel/subchannel.h"
45
+ #include "src/core/config/core_configuration.h"
45
46
  #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
46
47
  #include "src/core/handshaker/handshaker.h"
47
48
  #include "src/core/handshaker/handshaker_registry.h"
@@ -49,7 +50,6 @@
49
50
  #include "src/core/lib/address_utils/sockaddr_utils.h"
50
51
  #include "src/core/lib/channel/channel_args.h"
51
52
  #include "src/core/lib/channel/channel_args_preconditioning.h"
52
- #include "src/core/lib/config/core_configuration.h"
53
53
  #include "src/core/lib/debug/trace.h"
54
54
  #include "src/core/lib/event_engine/channel_args_endpoint_config.h"
55
55
  #include "src/core/lib/iomgr/endpoint.h"
@@ -248,8 +248,7 @@ class Chttp2SecureClientChannelFactory : public ClientChannelFactory {
248
248
  ChannelArgs args) {
249
249
  auto* channel_credentials = args.GetObject<grpc_channel_credentials>();
250
250
  if (channel_credentials == nullptr) {
251
- return absl::InternalError(
252
- "channel credentials missing for secure channel");
251
+ return absl::InternalError("channel credentials missing for channel");
253
252
  }
254
253
  // Make sure security connector does not already exist in args.
255
254
  if (args.Contains(GRPC_ARG_SECURITY_CONNECTOR)) {
@@ -269,8 +268,7 @@ class Chttp2SecureClientChannelFactory : public ClientChannelFactory {
269
268
  /*call_creds=*/nullptr, authority->c_str(), &args);
270
269
  if (subchannel_security_connector == nullptr) {
271
270
  return absl::InternalError(absl::StrFormat(
272
- "Failed to create secure subchannel for secure name '%s'",
273
- *authority));
271
+ "Failed to create subchannel for secure name '%s'", *authority));
274
272
  }
275
273
  return args.SetObject(std::move(subchannel_security_connector));
276
274
  }
@@ -299,7 +297,7 @@ void FactoryInit() {
299
297
 
300
298
  } // namespace
301
299
 
302
- // Create a secure client channel:
300
+ // Create a client channel:
303
301
  // Asynchronously: - resolve target
304
302
  // - connect to it (trying alternatives as presented)
305
303
  // - perform handshakes
@@ -308,8 +306,8 @@ grpc_channel* grpc_channel_create(const char* target,
308
306
  const grpc_channel_args* c_args) {
309
307
  grpc_core::ExecCtx exec_ctx;
310
308
  GRPC_TRACE_LOG(api, INFO)
311
- << "grpc_secure_channel_create(target=" << target
312
- << ", creds=" << (void*)creds << ", args=" << (void*)c_args << ")";
309
+ << "grpc_channel_create(target=" << target << ", creds=" << (void*)creds
310
+ << ", args=" << (void*)c_args << ")";
313
311
  grpc_channel* channel = nullptr;
314
312
  grpc_error_handle error;
315
313
  if (creds != nullptr) {
@@ -338,7 +336,7 @@ grpc_channel* grpc_channel_create(const char* target,
338
336
  status = static_cast<grpc_status_code>(integer);
339
337
  }
340
338
  channel = grpc_lame_client_channel_create(
341
- target, status, "Failed to create secure client channel");
339
+ target, status, "Failed to create client channel");
342
340
  }
343
341
  return channel;
344
342
  }
@@ -47,6 +47,7 @@
47
47
  #include "absl/strings/strip.h"
48
48
  #include "absl/types/optional.h"
49
49
  #include "src/core/channelz/channelz.h"
50
+ #include "src/core/config/core_configuration.h"
50
51
  #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h"
51
52
  #include "src/core/ext/transport/chttp2/transport/internal.h"
52
53
  #include "src/core/ext/transport/chttp2/transport/legacy_frame.h"
@@ -54,7 +55,6 @@
54
55
  #include "src/core/handshaker/handshaker_registry.h"
55
56
  #include "src/core/lib/address_utils/sockaddr_utils.h"
56
57
  #include "src/core/lib/channel/channel_args.h"
57
- #include "src/core/lib/config/core_configuration.h"
58
58
  #include "src/core/lib/debug/trace.h"
59
59
  #include "src/core/lib/event_engine/channel_args_endpoint_config.h"
60
60
  #include "src/core/lib/event_engine/extensions/supports_fd.h"
@@ -96,7 +96,7 @@ size_t grpc_chttp2_base64_infer_length_after_decode(const grpc_slice& slice) {
96
96
  << " (without padding), which is invalid.\n";
97
97
  return 0;
98
98
  }
99
- return tuples * 3 + tail_xtra[tail_case];
99
+ return (tuples * 3) + tail_xtra[tail_case];
100
100
  }
101
101
 
102
102
  bool grpc_base64_decode_partial(struct grpc_base64_decode_context* ctx) {
@@ -215,7 +215,8 @@ grpc_slice grpc_chttp2_base64_decode_with_length(const grpc_slice& input,
215
215
  input_length / 4 * 3 + tail_xtra[input_length % 4])) {
216
216
  LOG(ERROR) << "Base64 decoding failed, output_length " << output_length
217
217
  << " is longer than the max possible output length "
218
- << (input_length / 4 * 3 + tail_xtra[input_length % 4]) << ".\n";
218
+ << ((input_length / 4 * 3) + tail_xtra[input_length % 4])
219
+ << ".\n";
219
220
  grpc_core::CSliceUnref(output);
220
221
  return grpc_empty_slice();
221
222
  }
@@ -51,7 +51,7 @@ grpc_slice grpc_chttp2_base64_encode(const grpc_slice& input) {
51
51
  size_t input_length = GRPC_SLICE_LENGTH(input);
52
52
  size_t input_triplets = input_length / 3;
53
53
  size_t tail_case = input_length % 3;
54
- size_t output_length = input_triplets * 4 + tail_xtra[tail_case];
54
+ size_t output_length = (input_triplets * 4) + tail_xtra[tail_case];
55
55
  grpc_slice output = GRPC_SLICE_MALLOC(output_length);
56
56
  const uint8_t* in = GRPC_SLICE_START_PTR(input);
57
57
  char* out = reinterpret_cast<char*> GRPC_SLICE_START_PTR(output);
@@ -171,9 +171,9 @@ grpc_slice grpc_chttp2_base64_encode_and_huffman_compress(
171
171
  size_t input_length = GRPC_SLICE_LENGTH(input);
172
172
  size_t input_triplets = input_length / 3;
173
173
  size_t tail_case = input_length % 3;
174
- size_t output_syms = input_triplets * 4 + tail_xtra[tail_case];
174
+ size_t output_syms = (input_triplets * 4) + tail_xtra[tail_case];
175
175
  size_t max_output_bits = 11 * output_syms;
176
- size_t max_output_length = max_output_bits / 8 + (max_output_bits % 8 != 0);
176
+ size_t max_output_length = (max_output_bits / 8) + (max_output_bits % 8 != 0);
177
177
  grpc_slice output = GRPC_SLICE_MALLOC(max_output_length);
178
178
  const uint8_t* in = GRPC_SLICE_START_PTR(input);
179
179
  uint8_t* start_out = GRPC_SLICE_START_PTR(output);
@@ -32,6 +32,7 @@
32
32
  #include <algorithm>
33
33
  #include <atomic>
34
34
  #include <cstddef>
35
+ #include <cstdint>
35
36
  #include <limits>
36
37
  #include <memory>
37
38
  #include <new>
@@ -54,12 +55,14 @@
54
55
  #include "absl/strings/string_view.h"
55
56
  #include "absl/types/optional.h"
56
57
  #include "absl/types/variant.h"
58
+ #include "src/core/config/config_vars.h"
57
59
  #include "src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h"
58
60
  #include "src/core/ext/transport/chttp2/transport/context_list_entry.h"
59
61
  #include "src/core/ext/transport/chttp2/transport/flow_control.h"
60
62
  #include "src/core/ext/transport/chttp2/transport/frame_data.h"
61
63
  #include "src/core/ext/transport/chttp2/transport/frame_goaway.h"
62
64
  #include "src/core/ext/transport/chttp2/transport/frame_rst_stream.h"
65
+ #include "src/core/ext/transport/chttp2/transport/frame_security.h"
63
66
  #include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
64
67
  #include "src/core/ext/transport/chttp2/transport/http2_settings.h"
65
68
  #include "src/core/ext/transport/chttp2/transport/internal.h"
@@ -71,7 +74,6 @@
71
74
  #include "src/core/ext/transport/chttp2/transport/varint.h"
72
75
  #include "src/core/ext/transport/chttp2/transport/write_size_policy.h"
73
76
  #include "src/core/lib/channel/channel_args.h"
74
- #include "src/core/lib/config/config_vars.h"
75
77
  #include "src/core/lib/event_engine/extensions/tcp_trace.h"
76
78
  #include "src/core/lib/event_engine/query_extensions.h"
77
79
  #include "src/core/lib/experiments/experiments.h"
@@ -98,6 +100,7 @@
98
100
  #include "src/core/lib/transport/metadata_info.h"
99
101
  #include "src/core/lib/transport/status_conversion.h"
100
102
  #include "src/core/lib/transport/transport.h"
103
+ #include "src/core/lib/transport/transport_framing_endpoint_extension.h"
101
104
  #include "src/core/telemetry/call_tracer.h"
102
105
  #include "src/core/telemetry/stats.h"
103
106
  #include "src/core/telemetry/stats_data.h"
@@ -467,7 +470,7 @@ static void read_channel_args(grpc_chttp2_transport* t,
467
470
  .value_or(std::max(t->keepalive_timeout * 2,
468
471
  grpc_core::Duration::Minutes(1)));
469
472
 
470
- // Only send the prefered rx frame size http2 setting if we are instructed
473
+ // Only send the preferred rx frame size http2 setting if we are instructed
471
474
  // to auto size the buffers allocated at tcp level and we also can adjust
472
475
  // sending frame size.
473
476
  t->enable_preferred_rx_crypto_frame_advertisement =
@@ -548,6 +551,9 @@ static void read_channel_args(grpc_chttp2_transport* t,
548
551
  t->settings.mutable_local().SetPreferredReceiveCryptoMessageSize(INT_MAX);
549
552
  }
550
553
 
554
+ t->settings.mutable_local().SetAllowSecurityFrame(
555
+ channel_args.GetBool(GRPC_ARG_SECURITY_FRAME_ALLOWED).value_or(false));
556
+
551
557
  t->ping_on_rst_stream_percent = grpc_core::Clamp(
552
558
  channel_args.GetInt(GRPC_ARG_HTTP2_PING_ON_RST_STREAM_PERCENT)
553
559
  .value_or(1),
@@ -556,6 +562,10 @@ static void read_channel_args(grpc_chttp2_transport* t,
556
562
  t->max_concurrent_streams_overload_protection =
557
563
  channel_args.GetBool(GRPC_ARG_MAX_CONCURRENT_STREAMS_OVERLOAD_PROTECTION)
558
564
  .value_or(true);
565
+
566
+ t->max_concurrent_streams_reject_on_client =
567
+ channel_args.GetBool(GRPC_ARG_MAX_CONCURRENT_STREAMS_REJECT_ON_CLIENT)
568
+ .value_or(false);
559
569
  }
560
570
 
561
571
  static void init_keepalive_pings_if_enabled_locked(
@@ -577,6 +587,35 @@ static void init_keepalive_pings_if_enabled_locked(
577
587
  }
578
588
  }
579
589
 
590
+ // TODO(alishananda): add unit testing as part of chttp2 promise conversion work
591
+ void grpc_chttp2_transport::WriteSecurityFrame(grpc_core::SliceBuffer* data) {
592
+ combiner->Run(grpc_core::NewClosure(
593
+ [transport = Ref(), data](grpc_error_handle) mutable {
594
+ transport->WriteSecurityFrameLocked(data);
595
+ }),
596
+ absl::OkStatus());
597
+ }
598
+
599
+ void grpc_chttp2_transport::WriteSecurityFrameLocked(
600
+ grpc_core::SliceBuffer* data) {
601
+ if (data == nullptr) {
602
+ return;
603
+ }
604
+ if (!settings.peer().allow_security_frame()) {
605
+ close_transport_locked(
606
+ this,
607
+ grpc_error_set_int(
608
+ GRPC_ERROR_CREATE("Unexpected SECURITY frame scheduled for write"),
609
+ grpc_core::StatusIntProperty::kRpcStatus,
610
+ GRPC_STATUS_FAILED_PRECONDITION));
611
+ }
612
+ grpc_core::SliceBuffer security_frame;
613
+ grpc_chttp2_security_frame_create(data->c_slice_buffer(), data->Length(),
614
+ security_frame.c_slice_buffer());
615
+ grpc_slice_buffer_move_into(security_frame.c_slice_buffer(), &qbuf);
616
+ grpc_chttp2_initiate_write(this, GRPC_CHTTP2_INITIATE_WRITE_SEND_MESSAGE);
617
+ }
618
+
580
619
  using grpc_event_engine::experimental::QueryExtension;
581
620
  using grpc_event_engine::experimental::TcpTraceExtension;
582
621
 
@@ -619,6 +658,17 @@ grpc_chttp2_transport::grpc_chttp2_transport(
619
658
  }
620
659
  }
621
660
 
661
+ if (channel_args.GetBool(GRPC_ARG_SECURITY_FRAME_ALLOWED).value_or(false)) {
662
+ transport_framing_endpoint_extension = QueryExtension<
663
+ grpc_core::TransportFramingEndpointExtension>(
664
+ grpc_event_engine::experimental::grpc_get_wrapped_event_engine_endpoint(
665
+ ep.get()));
666
+ if (transport_framing_endpoint_extension != nullptr) {
667
+ transport_framing_endpoint_extension->SetSendFrameCallback(
668
+ [this](grpc_core::SliceBuffer* data) { WriteSecurityFrame(data); });
669
+ }
670
+ }
671
+
622
672
  CHECK(strlen(GRPC_CHTTP2_CLIENT_CONNECT_STRING) ==
623
673
  GRPC_CHTTP2_CLIENT_CONNECT_STRLEN);
624
674
 
@@ -1041,8 +1091,8 @@ static void write_action(grpc_chttp2_transport* t) {
1041
1091
  // to nullptr.
1042
1092
  cl = nullptr;
1043
1093
  }
1044
- // Choose max_frame_size as the prefered rx crypto frame size indicated by the
1045
- // peer.
1094
+ // Choose max_frame_size as the preferred rx crypto frame size indicated by
1095
+ // the peer.
1046
1096
  int max_frame_size =
1047
1097
  t->settings.peer().preferred_receive_crypto_message_size();
1048
1098
  // Note: max frame size is 0 if the remote peer does not support adjusting the
@@ -1381,8 +1431,24 @@ static void send_initial_metadata_locked(
1381
1431
  if (t->is_client) {
1382
1432
  if (t->closed_with_error.ok()) {
1383
1433
  CHECK_EQ(s->id, 0u);
1384
- grpc_chttp2_list_add_waiting_for_concurrency(t, s);
1385
- maybe_start_some_streams(t);
1434
+ if (t->max_concurrent_streams_reject_on_client &&
1435
+ t->stream_map.size() >=
1436
+ t->settings.peer().max_concurrent_streams()) {
1437
+ s->trailing_metadata_buffer.Set(
1438
+ grpc_core::GrpcStreamNetworkState(),
1439
+ grpc_core::GrpcStreamNetworkState::kNotSentOnWire);
1440
+ grpc_chttp2_cancel_stream(
1441
+ t, s,
1442
+ grpc_error_set_int(
1443
+ GRPC_ERROR_CREATE_REFERENCING("Too many streams",
1444
+ &t->closed_with_error, 1),
1445
+ grpc_core::StatusIntProperty::kRpcStatus,
1446
+ GRPC_STATUS_RESOURCE_EXHAUSTED),
1447
+ false);
1448
+ } else {
1449
+ grpc_chttp2_list_add_waiting_for_concurrency(t, s);
1450
+ maybe_start_some_streams(t);
1451
+ }
1386
1452
  } else {
1387
1453
  s->trailing_metadata_buffer.Set(
1388
1454
  grpc_core::GrpcStreamNetworkState(),
@@ -1425,7 +1491,7 @@ static void send_message_locked(
1425
1491
  op->payload->send_message.send_message->Length());
1426
1492
  on_complete->next_data.scratch |= t->closure_barrier_may_cover_write;
1427
1493
  s->send_message_finished = add_closure_barrier(op->on_complete);
1428
- const uint32_t flags = op_payload->send_message.flags;
1494
+ uint32_t flags = 0;
1429
1495
  if (s->write_closed) {
1430
1496
  op->payload->send_message.stream_write_closed = true;
1431
1497
  // We should NOT return an error here, so as to avoid a cancel OP being
@@ -1435,6 +1501,19 @@ static void send_message_locked(
1435
1501
  absl::OkStatus(),
1436
1502
  "fetching_send_message_finished");
1437
1503
  } else {
1504
+ // Buffer hint is used to buffer the message in the transport until the
1505
+ // write buffer size (specified through GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE) is
1506
+ // reached. This is to batch writes sent down to tcp. However, if the memory
1507
+ // pressure is high, disable the buffer hint to flush data down to tcp as
1508
+ // soon as possible to avoid OOM.
1509
+ if (grpc_core::IsDisableBufferHintOnHighMemoryPressureEnabled() &&
1510
+ t->memory_owner.GetPressureInfo().pressure_control_value >= 0.8) {
1511
+ // Disable write buffer hint if memory pressure is high. The value of 0.8
1512
+ // is chosen to match the threshold used by the tcp endpoint (in
1513
+ // allocating memory for socket reads).
1514
+ op_payload->send_message.flags &= ~GRPC_WRITE_BUFFER_HINT;
1515
+ }
1516
+ flags = op_payload->send_message.flags;
1438
1517
  uint8_t* frame_hdr = grpc_slice_buffer_tiny_add(&s->flow_controlled_buffer,
1439
1518
  GRPC_HEADER_SIZE_IN_BYTES);
1440
1519
  frame_hdr[0] = (flags & GRPC_WRITE_INTERNAL_COMPRESS) != 0;
@@ -87,7 +87,7 @@ class HuffDecoderCommon {
87
87
  return table1_emit_[i >> 6][emit];
88
88
  }
89
89
  static inline uint64_t GetOp13(size_t i) {
90
- return table13_0_inner_[(i < 3 ? (i) : ((i - 3) / 12 + 3))];
90
+ return table13_0_inner_[(i < 3 ? (i) : (((i - 3) / 12) + 3))];
91
91
  }
92
92
  static inline uint64_t GetEmit13(size_t, size_t emit) {
93
93
  return (emit < 1 ? (((void)emit, 92)) : ((emit - 1) ? 208 : 195));
@@ -189,7 +189,7 @@ class HuffDecoderCommon {
189
189
  }
190
190
  static inline uint64_t GetEmit37(size_t, size_t emit) { return emit + 236; }
191
191
  static inline uint64_t GetOp36(size_t i) {
192
- return table36_0_inner_[(i < 3 ? (i / 2 + 0) : ((i - 3) + 1))];
192
+ return table36_0_inner_[(i < 3 ? ((i / 2) + 0) : ((i - 3) + 1))];
193
193
  }
194
194
  static inline uint64_t GetEmit36(size_t, size_t emit) {
195
195
  return table36_0_emit_[emit];
@@ -182,7 +182,7 @@ TransportFlowControl::TargetInitialWindowSizeBasedOnMemoryPressureAndBdp()
182
182
  // and a value t such that t_min <= t <= t_max, return the value on the line
183
183
  // segment at t.
184
184
  auto lerp = [](double t, double t_min, double t_max, double a, double b) {
185
- return a + (b - a) * (t - t_min) / (t_max - t_min);
185
+ return a + ((b - a) * (t - t_min) / (t_max - t_min));
186
186
  };
187
187
  // We split memory pressure into three broad regions:
188
188
  // 1. Low memory pressure, the "anything goes" case - we assume no memory
@@ -295,7 +295,7 @@ FlowControlAction TransportFlowControl::PeriodicUpdate() {
295
295
  // Advertise PREFERRED_RECEIVE_CRYPTO_FRAME_SIZE to peer. By advertising
296
296
  // PREFERRED_RECEIVE_CRYPTO_FRAME_SIZE to the peer, we are informing the
297
297
  // peer that we have tcp frame size tuning enabled and we inform it of our
298
- // prefered rx frame sizes. The prefered rx frame size is determined as:
298
+ // preferred rx frame sizes. The preferred rx frame size is determined as:
299
299
  // Clamp(target_frame_size_ * 2, 16384, 0x7fffffff). In the future, this
300
300
  // maybe updated to a different function of the memory pressure.
301
301
  UpdateSetting(
@@ -38,6 +38,7 @@ constexpr uint8_t kFrameTypePing = 6;
38
38
  constexpr uint8_t kFrameTypeGoaway = 7;
39
39
  constexpr uint8_t kFrameTypeWindowUpdate = 8;
40
40
  constexpr uint8_t kFrameTypePushPromise = 5;
41
+ constexpr uint8_t kFrameTypeSecurity = 200;
41
42
 
42
43
  constexpr uint8_t kFlagEndStream = 1;
43
44
  constexpr uint8_t kFlagAck = 1;
@@ -122,6 +123,7 @@ class SerializeExtraBytesRequired {
122
123
  size_t operator()(const Http2PingFrame&) { return 8; }
123
124
  size_t operator()(const Http2GoawayFrame&) { return 8; }
124
125
  size_t operator()(const Http2WindowUpdateFrame&) { return 4; }
126
+ size_t operator()(const Http2SecurityFrame&) { return 0; }
125
127
  size_t operator()(const Http2UnknownFrame&) { Crash("unreachable"); }
126
128
  };
127
129
 
@@ -218,6 +220,15 @@ class SerializeHeaderAndPayload {
218
220
  out_.AppendIndexed(Slice(std::move(hdr_and_payload)));
219
221
  }
220
222
 
223
+ void operator()(Http2SecurityFrame& frame) {
224
+ auto hdr = extra_bytes_.TakeFirst(kFrameHeaderSize);
225
+ Http2FrameHeader{static_cast<uint32_t>(frame.payload.Length()),
226
+ kFrameTypeSecurity, 0, 0}
227
+ .Serialize(hdr.begin());
228
+ out_.AppendIndexed(Slice(std::move(hdr)));
229
+ out_.TakeAndAppend(frame.payload);
230
+ }
231
+
221
232
  void operator()(Http2UnknownFrame&) { Crash("unreachable"); }
222
233
 
223
234
  private:
@@ -415,6 +426,11 @@ absl::StatusOr<Http2WindowUpdateFrame> ParseWindowUpdateFrame(
415
426
  return Http2WindowUpdateFrame{hdr.stream_id, Read4b(buffer)};
416
427
  }
417
428
 
429
+ absl::StatusOr<Http2SecurityFrame> ParseSecurityFrame(
430
+ const Http2FrameHeader& /*hdr*/, SliceBuffer& payload) {
431
+ return Http2SecurityFrame{std::move(payload)};
432
+ }
433
+
418
434
  } // namespace
419
435
 
420
436
  void Http2FrameHeader::Serialize(uint8_t* output) const {
@@ -447,6 +463,8 @@ std::string Http2FrameTypeString(uint8_t frame_type) {
447
463
  return "WINDOW_UPDATE";
448
464
  case kFrameTypePing:
449
465
  return "PING";
466
+ case kFrameTypeSecurity:
467
+ return "SECURITY";
450
468
  }
451
469
  return absl::StrCat("UNKNOWN(", frame_type, ")");
452
470
  }
@@ -495,6 +513,8 @@ absl::StatusOr<Http2Frame> ParseFramePayload(const Http2FrameHeader& hdr,
495
513
  return absl::InternalError(
496
514
  "push promise not supported (and SETTINGS_ENABLE_PUSH explicitly "
497
515
  "disabled).");
516
+ case kFrameTypeSecurity:
517
+ return ParseSecurityFrame(hdr, payload);
498
518
  default:
499
519
  return Http2UnknownFrame{};
500
520
  }
@@ -151,6 +151,15 @@ struct Http2WindowUpdateFrame {
151
151
  }
152
152
  };
153
153
 
154
+ // Security-related frame
155
+ struct Http2SecurityFrame {
156
+ SliceBuffer payload;
157
+
158
+ bool operator==(const Http2SecurityFrame& other) const {
159
+ return payload.JoinIntoString() == other.payload.JoinIntoString();
160
+ }
161
+ };
162
+
154
163
  // Type of frame was unknown (and should be ignored)
155
164
  struct Http2UnknownFrame {
156
165
  bool operator==(const Http2UnknownFrame&) const { return true; }
@@ -164,7 +173,8 @@ struct Http2UnknownFrame {
164
173
  using Http2Frame =
165
174
  absl::variant<Http2DataFrame, Http2HeaderFrame, Http2ContinuationFrame,
166
175
  Http2RstStreamFrame, Http2SettingsFrame, Http2PingFrame,
167
- Http2GoawayFrame, Http2WindowUpdateFrame, Http2UnknownFrame>;
176
+ Http2GoawayFrame, Http2WindowUpdateFrame, Http2SecurityFrame,
177
+ Http2UnknownFrame>;
168
178
 
169
179
  ///////////////////////////////////////////////////////////////////////////////
170
180
  // Frame header
@@ -84,13 +84,16 @@ grpc_core::Poll<grpc_error_handle> grpc_deframe_unprocessed_incoming_frames(
84
84
  grpc_slice_buffer* slices = &s->frame_storage;
85
85
  grpc_error_handle error;
86
86
 
87
- if (slices->length < 5) {
88
- if (min_progress_size != nullptr) *min_progress_size = 5 - slices->length;
87
+ if (slices->length < GRPC_HEADER_SIZE_IN_BYTES) {
88
+ if (min_progress_size != nullptr) {
89
+ *min_progress_size = GRPC_HEADER_SIZE_IN_BYTES - slices->length;
90
+ }
89
91
  return grpc_core::Pending{};
90
92
  }
91
93
 
92
- uint8_t header[5];
93
- grpc_slice_buffer_copy_first_into_buffer(slices, 5, header);
94
+ uint8_t header[GRPC_HEADER_SIZE_IN_BYTES];
95
+ grpc_slice_buffer_copy_first_into_buffer(slices, GRPC_HEADER_SIZE_IN_BYTES,
96
+ header);
94
97
 
95
98
  switch (header[0]) {
96
99
  case 0:
@@ -114,9 +117,9 @@ grpc_core::Poll<grpc_error_handle> grpc_deframe_unprocessed_incoming_frames(
114
117
  (static_cast<uint32_t>(header[3]) << 8) |
115
118
  static_cast<uint32_t>(header[4]);
116
119
 
117
- if (slices->length < length + 5) {
120
+ if (slices->length < length + GRPC_HEADER_SIZE_IN_BYTES) {
118
121
  if (min_progress_size != nullptr) {
119
- *min_progress_size = length + 5 - slices->length;
122
+ *min_progress_size = length + GRPC_HEADER_SIZE_IN_BYTES - slices->length;
120
123
  }
121
124
  return grpc_core::Pending{};
122
125
  }
@@ -124,8 +127,10 @@ grpc_core::Poll<grpc_error_handle> grpc_deframe_unprocessed_incoming_frames(
124
127
  if (min_progress_size != nullptr) *min_progress_size = 0;
125
128
 
126
129
  if (stream_out != nullptr) {
127
- s->call_tracer_wrapper.RecordIncomingBytes({5, length, 0});
128
- grpc_slice_buffer_move_first_into_buffer(slices, 5, header);
130
+ s->call_tracer_wrapper.RecordIncomingBytes(
131
+ {GRPC_HEADER_SIZE_IN_BYTES, length, 0});
132
+ grpc_slice_buffer_move_first_into_buffer(slices, GRPC_HEADER_SIZE_IN_BYTES,
133
+ header);
129
134
  grpc_slice_buffer_move_first(slices, length, stream_out->c_slice_buffer());
130
135
  }
131
136
 
@@ -0,0 +1,82 @@
1
+ //
2
+ // Copyright 2024 gRPC authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ #include "src/core/ext/transport/chttp2/transport/frame_security.h"
18
+
19
+ #include <cstddef>
20
+ #include <cstdint>
21
+
22
+ #include "absl/status/status.h"
23
+ #include "src/core/ext/transport/chttp2/transport/internal.h"
24
+ #include "src/core/ext/transport/chttp2/transport/legacy_frame.h"
25
+ #include "src/core/lib/iomgr/event_engine_shims/endpoint.h"
26
+ #include "src/core/lib/slice/slice.h"
27
+ #include "src/core/lib/slice/slice_buffer.h"
28
+ #include "src/core/lib/transport/transport_framing_endpoint_extension.h"
29
+
30
+ absl::Status grpc_chttp2_security_frame_parser_parse(void* parser,
31
+ grpc_chttp2_transport* t,
32
+ grpc_chttp2_stream* /*s*/,
33
+ const grpc_slice& slice,
34
+ int is_last) {
35
+ // Ignore frames from non-EventEngine endpoints.
36
+ if (t->transport_framing_endpoint_extension == nullptr) {
37
+ return absl::OkStatus();
38
+ }
39
+
40
+ grpc_chttp2_security_frame_parser* p =
41
+ static_cast<grpc_chttp2_security_frame_parser*>(parser);
42
+ p->payload.Append(grpc_core::Slice(slice));
43
+
44
+ if (is_last) {
45
+ // Send security frame payload to endpoint.
46
+ t->transport_framing_endpoint_extension->ReceiveFrame(
47
+ std::move(p->payload));
48
+ }
49
+
50
+ return absl::OkStatus();
51
+ }
52
+
53
+ absl::Status grpc_chttp2_security_frame_parser_begin_frame(
54
+ grpc_chttp2_security_frame_parser* parser) {
55
+ parser->payload.Clear();
56
+ return absl::OkStatus();
57
+ }
58
+
59
+ void grpc_chttp2_security_frame_create(grpc_slice_buffer* payload,
60
+ uint32_t length,
61
+ grpc_slice_buffer* frame) {
62
+ // does this frame need padding for security?
63
+ // do we need to worry about max frame size? it's 16 bytes
64
+ grpc_slice hdr;
65
+ uint8_t* p;
66
+ static const size_t header_size = 9;
67
+
68
+ hdr = GRPC_SLICE_MALLOC(header_size);
69
+ p = GRPC_SLICE_START_PTR(hdr);
70
+ *p++ = static_cast<uint8_t>(length >> 16);
71
+ *p++ = static_cast<uint8_t>(length >> 8);
72
+ *p++ = static_cast<uint8_t>(length);
73
+ *p++ = GRPC_CHTTP2_FRAME_SECURITY;
74
+ *p++ = 0; // no flags
75
+ *p++ = 0;
76
+ *p++ = 0;
77
+ *p++ = 0;
78
+ *p++ = 0;
79
+
80
+ grpc_slice_buffer_add(frame, hdr);
81
+ grpc_slice_buffer_move_first_no_ref(payload, payload->length, frame);
82
+ }
@@ -0,0 +1,44 @@
1
+ //
2
+ // Copyright 2024 gRPC authors.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ //
16
+
17
+ #ifndef GRPC_SRC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_SECURITY_H
18
+ #define GRPC_SRC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_SECURITY_H
19
+
20
+ #include <grpc/slice.h>
21
+ #include <grpc/support/port_platform.h>
22
+ #include <stdint.h>
23
+
24
+ #include "src/core/ext/transport/chttp2/transport/legacy_frame.h"
25
+ #include "src/core/lib/iomgr/error.h"
26
+ #include "src/core/lib/slice/slice_buffer.h"
27
+ #include "src/core/lib/transport/transport_framing_endpoint_extension.h"
28
+
29
+ struct grpc_chttp2_security_frame_parser {
30
+ grpc_core::SliceBuffer payload;
31
+ };
32
+
33
+ void grpc_chttp2_security_frame_create(grpc_slice_buffer* payload,
34
+ uint32_t length,
35
+ grpc_slice_buffer* frame);
36
+
37
+ absl::Status grpc_chttp2_security_frame_parser_begin_frame(
38
+ grpc_chttp2_security_frame_parser* parser);
39
+
40
+ grpc_error_handle grpc_chttp2_security_frame_parser_parse(
41
+ void* parser, grpc_chttp2_transport* t, grpc_chttp2_stream* s,
42
+ const grpc_slice& slice, int is_last);
43
+
44
+ #endif // GRPC_SRC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_SECURITY_H
@@ -36,6 +36,7 @@
36
36
  #include "src/core/lib/debug/trace.h"
37
37
  #include "src/core/lib/iomgr/exec_ctx.h"
38
38
  #include "src/core/lib/slice/slice.h"
39
+ #include "src/core/telemetry/stats.h"
39
40
  #include "src/core/util/debug_location.h"
40
41
  #include "src/core/util/useful.h"
41
42
 
@@ -100,6 +101,21 @@ grpc_error_handle grpc_chttp2_settings_parser_parse(void* p,
100
101
  if (cur == end) {
101
102
  parser->state = GRPC_CHTTP2_SPS_ID0;
102
103
  if (is_last) {
104
+ grpc_core::Http2Settings* target_settings =
105
+ parser->incoming_settings.get();
106
+ grpc_core::global_stats().IncrementHttp2HeaderTableSize(
107
+ target_settings->header_table_size());
108
+ grpc_core::global_stats().IncrementHttp2InitialWindowSize(
109
+ target_settings->initial_window_size());
110
+ grpc_core::global_stats().IncrementHttp2MaxConcurrentStreams(
111
+ target_settings->max_concurrent_streams());
112
+ grpc_core::global_stats().IncrementHttp2MaxFrameSize(
113
+ target_settings->max_frame_size());
114
+ grpc_core::global_stats().IncrementHttp2MaxHeaderListSize(
115
+ target_settings->max_header_list_size());
116
+ grpc_core::global_stats()
117
+ .IncrementHttp2PreferredReceiveCryptoMessageSize(
118
+ target_settings->preferred_receive_crypto_message_size());
103
119
  *parser->target_settings = *parser->incoming_settings;
104
120
  t->num_pending_induced_frames++;
105
121
  grpc_slice_buffer_add(&t->qbuf, grpc_chttp2_settings_ack_create());