grpc 1.72.0 → 1.74.0.pre2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1371) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +56 -18
  3. data/include/grpc/create_channel_from_endpoint.h +54 -0
  4. data/include/grpc/credentials.h +11 -5
  5. data/include/grpc/event_engine/event_engine.h +182 -8
  6. data/include/grpc/event_engine/internal/write_event.h +34 -0
  7. data/include/grpc/grpc_posix.h +20 -1
  8. data/include/grpc/impl/channel_arg_names.h +19 -13
  9. data/include/grpc/impl/compression_types.h +3 -2
  10. data/include/grpc/impl/slice_type.h +1 -1
  11. data/include/grpc/module.modulemap +1 -0
  12. data/include/grpc/support/json.h +27 -21
  13. data/include/grpc/support/port_platform.h +8 -5
  14. data/src/core/call/call_filters.h +28 -19
  15. data/src/core/call/call_spine.h +2 -0
  16. data/src/core/call/interception_chain.h +7 -11
  17. data/src/core/call/metadata.h +17 -0
  18. data/src/core/channelz/channel_trace.cc +217 -111
  19. data/src/core/channelz/channel_trace.h +389 -64
  20. data/src/core/channelz/channelz.cc +480 -178
  21. data/src/core/channelz/channelz.h +426 -71
  22. data/src/core/channelz/channelz_registry.cc +323 -117
  23. data/src/core/channelz/channelz_registry.h +203 -21
  24. data/src/core/channelz/property_list.cc +357 -0
  25. data/src/core/channelz/property_list.h +202 -0
  26. data/src/core/channelz/ztrace_collector.h +316 -0
  27. data/src/core/client_channel/backup_poller.cc +17 -2
  28. data/src/core/client_channel/client_channel.cc +42 -52
  29. data/src/core/client_channel/client_channel_filter.cc +35 -44
  30. data/src/core/client_channel/client_channel_filter.h +0 -2
  31. data/src/core/client_channel/config_selector.h +8 -2
  32. data/src/core/client_channel/connector.h +0 -3
  33. data/src/core/client_channel/dynamic_filters.cc +5 -6
  34. data/src/core/client_channel/dynamic_filters.h +1 -1
  35. data/src/core/client_channel/global_subchannel_pool.cc +71 -7
  36. data/src/core/client_channel/global_subchannel_pool.h +37 -4
  37. data/src/core/client_channel/retry_filter.cc +21 -27
  38. data/src/core/client_channel/retry_filter.h +10 -7
  39. data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -5
  40. data/src/core/client_channel/retry_filter_legacy_call_data.h +1 -1
  41. data/src/core/client_channel/retry_interceptor.cc +30 -44
  42. data/src/core/client_channel/retry_interceptor.h +18 -17
  43. data/src/core/client_channel/retry_throttle.cc +46 -61
  44. data/src/core/client_channel/retry_throttle.h +17 -39
  45. data/src/core/client_channel/subchannel.cc +50 -28
  46. data/src/core/client_channel/subchannel.h +10 -8
  47. data/src/core/client_channel/subchannel_pool_interface.cc +5 -6
  48. data/src/core/client_channel/subchannel_pool_interface.h +11 -1
  49. data/src/core/config/config_vars.cc +13 -1
  50. data/src/core/config/config_vars.h +8 -0
  51. data/src/core/config/core_configuration.cc +51 -11
  52. data/src/core/config/core_configuration.h +100 -7
  53. data/src/core/credentials/call/call_creds_registry.h +125 -0
  54. data/src/core/credentials/call/call_creds_registry_init.cc +91 -0
  55. data/src/core/credentials/call/external/aws_request_signer.cc +3 -2
  56. data/src/core/credentials/call/external/url_external_account_credentials.cc +2 -2
  57. data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +7 -49
  58. data/src/core/credentials/call/jwt/jwt_verifier.cc +4 -4
  59. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +86 -0
  60. data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +74 -0
  61. data/src/core/credentials/call/jwt_util.cc +70 -0
  62. data/src/core/credentials/call/jwt_util.h +32 -0
  63. data/src/core/credentials/call/oauth2/oauth2_credentials.cc +4 -2
  64. data/src/core/credentials/transport/alts/alts_security_connector.cc +9 -8
  65. data/src/core/credentials/transport/channel_creds_registry_init.cc +1 -1
  66. data/src/core/credentials/transport/google_default/google_default_credentials.cc +75 -7
  67. data/src/core/credentials/transport/ssl/ssl_credentials.cc +2 -3
  68. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +41 -11
  69. data/src/core/credentials/transport/ssl/ssl_security_connector.h +2 -1
  70. data/src/core/credentials/transport/tls/load_system_roots_supported.cc +1 -0
  71. data/src/core/credentials/transport/tls/ssl_utils.cc +18 -0
  72. data/src/core/credentials/transport/tls/ssl_utils.h +5 -0
  73. data/src/core/credentials/transport/tls/tls_security_connector.cc +2 -1
  74. data/src/core/credentials/transport/xds/xds_credentials.cc +0 -3
  75. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +6 -3
  76. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +8 -8
  77. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +16 -16
  78. data/src/core/ext/filters/http/client_authority_filter.cc +2 -4
  79. data/src/core/ext/filters/http/message_compress/compression_filter.h +37 -4
  80. data/src/core/ext/filters/http/server/http_server_filter.cc +1 -1
  81. data/src/core/ext/filters/http/server/http_server_filter.h +18 -6
  82. data/src/core/ext/transport/chttp2/chttp2_plugin.cc +40 -0
  83. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +130 -146
  84. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +3 -0
  85. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +39 -967
  86. data/src/core/ext/transport/chttp2/server/chttp2_server.h +5 -1
  87. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +210 -81
  88. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +0 -6
  89. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +1239 -3514
  90. data/src/core/ext/transport/chttp2/transport/decode_huff.h +1008 -1486
  91. data/src/core/ext/transport/chttp2/transport/flow_control.h +23 -0
  92. data/src/core/ext/transport/chttp2/transport/frame.cc +223 -105
  93. data/src/core/ext/transport/chttp2/transport/frame.h +78 -6
  94. data/src/core/ext/transport/chttp2/transport/frame_data.cc +11 -1
  95. data/src/core/ext/transport/chttp2/transport/frame_data.h +2 -0
  96. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +15 -3
  97. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +5 -3
  98. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -0
  99. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +11 -4
  100. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +3 -1
  101. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +26 -9
  102. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +8 -5
  103. data/src/core/ext/transport/chttp2/transport/header_assembler.h +299 -0
  104. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +7 -0
  105. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -0
  106. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +1 -1
  107. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +11 -5
  108. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +12 -1
  109. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1017 -0
  110. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +593 -0
  111. data/src/core/ext/transport/chttp2/transport/http2_settings.h +23 -0
  112. data/{third_party/abseil-cpp/absl/strings/cord_buffer.cc → src/core/ext/transport/chttp2/transport/http2_stats_collector.cc} +14 -14
  113. data/src/core/ext/transport/chttp2/transport/http2_stats_collector.h +33 -0
  114. data/src/core/ext/transport/chttp2/transport/http2_status.h +363 -1
  115. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +43 -0
  116. data/src/core/ext/transport/chttp2/transport/http2_transport.h +65 -0
  117. data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +223 -0
  118. data/src/core/ext/transport/chttp2/transport/internal.h +43 -9
  119. data/src/core/ext/transport/chttp2/transport/internal_channel_arg_names.h +24 -0
  120. data/src/core/ext/transport/chttp2/transport/keepalive.cc +105 -0
  121. data/src/core/ext/transport/chttp2/transport/keepalive.h +138 -0
  122. data/src/core/ext/transport/chttp2/transport/message_assembler.h +185 -0
  123. data/src/core/ext/transport/chttp2/transport/parsing.cc +38 -25
  124. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +19 -0
  125. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +151 -0
  126. data/src/core/ext/transport/chttp2/transport/ping_promise.h +180 -0
  127. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +15 -18
  128. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +17 -0
  129. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +39 -1
  130. data/src/core/ext/transport/chttp2/transport/transport_common.cc +19 -0
  131. data/src/core/ext/transport/chttp2/transport/transport_common.h +27 -0
  132. data/src/core/ext/transport/chttp2/transport/writing.cc +95 -58
  133. data/src/core/ext/transport/inproc/inproc_transport.cc +7 -2
  134. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +6 -2
  135. data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +4 -0
  136. data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +12 -0
  137. data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +12 -22
  138. data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +12 -22
  139. data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +28 -22
  140. data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +12 -0
  141. data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +24 -67
  142. data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +4 -0
  143. data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +4 -0
  144. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +29 -31
  145. data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +2 -2
  146. data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +12 -0
  147. data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +4 -0
  148. data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +8 -0
  149. data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +4 -0
  150. data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +4 -0
  151. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +0 -23
  152. data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +8 -0
  153. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +8 -0
  154. data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +12 -0
  155. data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +20 -0
  156. data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +12 -0
  157. data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +8 -22
  158. data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +0 -23
  159. data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +64 -66
  160. data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +4 -0
  161. data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +12 -0
  162. data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +4 -0
  163. data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +4 -0
  164. data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +4 -95
  165. data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +8 -0
  166. data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +4 -0
  167. data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +4 -0
  168. data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +28 -0
  169. data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +4 -0
  170. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +4 -0
  171. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +4 -0
  172. data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +12 -0
  173. data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +8 -0
  174. data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +8 -36
  175. data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +4 -0
  176. data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +4 -0
  177. data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +4 -0
  178. data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +4 -0
  179. data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +4 -0
  180. data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +4 -0
  181. data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +4 -0
  182. data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +4 -0
  183. data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +4 -0
  184. data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +8 -0
  185. data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +8 -0
  186. data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +4 -0
  187. data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +4 -0
  188. data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +4 -0
  189. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +8 -44
  190. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +12 -40
  191. data/src/core/ext/upb-gen/google/api/http.upb.h +4 -0
  192. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +193 -20
  193. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +59 -21
  194. data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +4 -0
  195. data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +4 -22
  196. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +571 -0
  197. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +120 -0
  198. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +36 -0
  199. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +1272 -0
  200. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +312 -0
  201. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +50 -0
  202. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +984 -0
  203. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +226 -0
  204. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +44 -0
  205. data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +0 -18
  206. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +113 -53
  207. data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +20 -14
  208. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +154 -0
  209. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +40 -2
  210. data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +4 -0
  211. data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +8 -0
  212. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +0 -18
  213. data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +0 -36
  214. data/src/core/ext/upb-gen/validate/validate.upb.h +12 -0
  215. data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +4 -0
  216. data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +0 -18
  217. data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +8 -0
  218. data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +0 -54
  219. data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +20 -22
  220. data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +4 -0
  221. data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +4 -0
  222. data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +4 -0
  223. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c +123 -62
  224. data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +5 -1
  225. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c +200 -101
  226. data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +5 -1
  227. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c +152 -77
  228. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +5 -1
  229. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c +524 -255
  230. data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +5 -1
  231. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c +44 -23
  232. data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +5 -1
  233. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c +66 -34
  234. data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +5 -1
  235. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c +54 -28
  236. data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +5 -1
  237. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c +46 -25
  238. data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +5 -1
  239. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c +47 -25
  240. data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +5 -1
  241. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c +256 -126
  242. data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +5 -1
  243. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c +50 -28
  244. data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +5 -1
  245. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c +55 -28
  246. data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +5 -1
  247. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c +34 -18
  248. data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +5 -1
  249. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +414 -206
  250. data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -1
  251. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +831 -413
  252. data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +5 -1
  253. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +143 -73
  254. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +5 -1
  255. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +1132 -557
  256. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +5 -1
  257. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c +63 -34
  258. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +5 -1
  259. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c +255 -127
  260. data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +5 -1
  261. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +363 -178
  262. data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +5 -1
  263. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +227 -114
  264. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +5 -1
  265. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c +57 -31
  266. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +5 -1
  267. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +596 -295
  268. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +5 -1
  269. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c +271 -137
  270. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +5 -1
  271. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c +56 -30
  272. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +5 -1
  273. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c +45 -25
  274. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +5 -1
  275. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c +59 -31
  276. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +5 -1
  277. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +438 -217
  278. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +5 -1
  279. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c +441 -221
  280. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +5 -1
  281. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c +55 -30
  282. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +5 -1
  283. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c +57 -31
  284. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +5 -1
  285. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +619 -303
  286. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +5 -1
  287. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +70 -36
  288. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +5 -1
  289. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c +62 -33
  290. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +5 -1
  291. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.c +47 -25
  292. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_cmsg_headers.upbdefs.h +5 -1
  293. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c +97 -49
  294. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +5 -1
  295. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +97 -51
  296. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +5 -1
  297. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c +51 -27
  298. data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +5 -1
  299. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c +147 -76
  300. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +5 -1
  301. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +230 -116
  302. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -1
  303. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c +277 -138
  304. data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +5 -1
  305. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c +48 -26
  306. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +5 -1
  307. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +388 -197
  308. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -1
  309. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c +304 -153
  310. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +5 -1
  311. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +173 -90
  312. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +5 -1
  313. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c +90 -47
  314. data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +5 -1
  315. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +98 -51
  316. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +5 -1
  317. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +196 -99
  318. data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +5 -1
  319. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +237 -118
  320. data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +5 -1
  321. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +418 -210
  322. data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +5 -1
  323. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +194 -99
  324. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +5 -1
  325. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +2003 -973
  326. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +5 -1
  327. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c +101 -53
  328. data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +5 -1
  329. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +352 -176
  330. data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +5 -1
  331. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c +79 -42
  332. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +5 -1
  333. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c +67 -37
  334. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +5 -1
  335. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c +63 -34
  336. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +5 -1
  337. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c +88 -47
  338. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +5 -1
  339. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +80 -43
  340. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +5 -1
  341. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c +53 -29
  342. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +5 -1
  343. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c +86 -46
  344. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +5 -1
  345. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c +55 -32
  346. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +5 -1
  347. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c +91 -49
  348. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +5 -1
  349. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +105 -55
  350. data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +5 -1
  351. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c +775 -379
  352. data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +5 -1
  353. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +52 -28
  354. data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -1
  355. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +134 -68
  356. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +5 -1
  357. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +189 -96
  358. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +5 -1
  359. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +116 -61
  360. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +5 -1
  361. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +112 -58
  362. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +5 -1
  363. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c +160 -82
  364. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -1
  365. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +75 -39
  366. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +5 -1
  367. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +1161 -570
  368. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -1
  369. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +52 -28
  370. data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +5 -1
  371. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.c +55 -29
  372. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upbdefs.h +5 -1
  373. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +48 -26
  374. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +5 -1
  375. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +390 -194
  376. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +5 -1
  377. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +126 -65
  378. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -1
  379. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +498 -246
  380. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -1
  381. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +74 -38
  382. data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +5 -1
  383. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +221 -110
  384. data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -1
  385. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c +68 -36
  386. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +5 -1
  387. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c +378 -187
  388. data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +5 -1
  389. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c +100 -52
  390. data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +5 -1
  391. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c +257 -129
  392. data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +5 -1
  393. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +44 -24
  394. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -1
  395. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c +68 -35
  396. data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +5 -1
  397. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.c +38 -20
  398. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/address.upbdefs.h +5 -1
  399. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c +59 -32
  400. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +5 -1
  401. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c +65 -34
  402. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +5 -1
  403. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c +72 -38
  404. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +5 -1
  405. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c +57 -31
  406. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +5 -1
  407. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c +52 -29
  408. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +5 -1
  409. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c +51 -28
  410. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +5 -1
  411. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c +89 -47
  412. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +5 -1
  413. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c +37 -20
  414. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +5 -1
  415. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c +89 -47
  416. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +5 -1
  417. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c +67 -35
  418. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +5 -1
  419. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c +112 -58
  420. data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +5 -1
  421. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c +110 -56
  422. data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +5 -1
  423. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +123 -62
  424. data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +5 -1
  425. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c +59 -31
  426. data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +5 -1
  427. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c +30 -16
  428. data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +5 -1
  429. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c +143 -72
  430. data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +5 -1
  431. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c +61 -32
  432. data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +5 -1
  433. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c +51 -27
  434. data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +5 -1
  435. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c +85 -45
  436. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +5 -1
  437. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c +35 -19
  438. data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +5 -1
  439. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c +44 -23
  440. data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +5 -1
  441. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c +61 -33
  442. data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +5 -1
  443. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c +35 -19
  444. data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +5 -1
  445. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +272 -133
  446. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +5 -1
  447. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +315 -154
  448. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +5 -1
  449. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +64 -33
  450. data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +5 -1
  451. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +35 -19
  452. data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +5 -1
  453. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c +26 -15
  454. data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +5 -1
  455. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +1106 -508
  456. data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +10 -1
  457. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c +28 -16
  458. data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +5 -1
  459. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c +23 -13
  460. data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +5 -1
  461. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c +69 -35
  462. data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +5 -1
  463. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c +29 -16
  464. data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +5 -1
  465. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c +51 -26
  466. data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +5 -1
  467. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c +32 -17
  468. data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +5 -1
  469. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +175 -0
  470. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +82 -0
  471. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +135 -0
  472. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +67 -0
  473. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +161 -79
  474. data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +5 -1
  475. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +84 -42
  476. data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +5 -1
  477. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +48 -26
  478. data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +5 -1
  479. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +26 -14
  480. data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +5 -1
  481. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +50 -26
  482. data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +5 -1
  483. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +36 -19
  484. data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +5 -1
  485. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.c +538 -261
  486. data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +5 -1
  487. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c +86 -43
  488. data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +5 -1
  489. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c +49 -26
  490. data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +5 -1
  491. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c +27 -15
  492. data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +5 -1
  493. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c +87 -44
  494. data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +5 -1
  495. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c +37 -20
  496. data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +5 -1
  497. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c +30 -17
  498. data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +5 -1
  499. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c +41 -23
  500. data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +5 -1
  501. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c +62 -33
  502. data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +5 -1
  503. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c +36 -19
  504. data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +5 -1
  505. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c +36 -20
  506. data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +5 -1
  507. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c +42 -23
  508. data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +5 -1
  509. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c +76 -39
  510. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +5 -1
  511. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c +45 -24
  512. data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +5 -1
  513. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +41 -23
  514. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +5 -1
  515. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c +53 -29
  516. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +5 -1
  517. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +29 -16
  518. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +5 -1
  519. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c +58 -32
  520. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +5 -1
  521. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +207 -103
  522. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +5 -1
  523. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c +95 -49
  524. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +5 -1
  525. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c +38 -20
  526. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +5 -1
  527. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +60 -31
  528. data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +5 -1
  529. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +67 -36
  530. data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +5 -1
  531. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c +31 -17
  532. data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +5 -1
  533. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c +31 -17
  534. data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +5 -1
  535. data/src/core/filter/auth/auth_filters.h +0 -25
  536. data/src/core/filter/auth/client_auth_filter.cc +0 -118
  537. data/src/core/filter/filter_args.h +9 -23
  538. data/src/core/handshaker/handshaker.cc +23 -14
  539. data/src/core/handshaker/handshaker.h +3 -0
  540. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +3 -1
  541. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +7 -22
  542. data/src/core/handshaker/security/legacy_secure_endpoint.cc +597 -0
  543. data/src/core/handshaker/security/secure_endpoint.cc +812 -310
  544. data/src/core/handshaker/security/secure_endpoint.h +17 -0
  545. data/src/core/handshaker/security/security_handshaker.cc +7 -4
  546. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +7 -1
  547. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -5
  548. data/src/core/lib/channel/channel_args.cc +15 -0
  549. data/src/core/lib/channel/channel_args.h +7 -0
  550. data/src/core/lib/channel/channel_stack.cc +32 -4
  551. data/src/core/lib/channel/channel_stack.h +15 -4
  552. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
  553. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -7
  554. data/src/core/lib/channel/promise_based_filter.h +712 -304
  555. data/src/core/lib/debug/trace_flags.cc +2 -2
  556. data/src/core/lib/debug/trace_flags.h +1 -1
  557. data/src/core/lib/debug/trace_impl.h +0 -1
  558. data/src/core/lib/event_engine/ares_resolver.cc +165 -46
  559. data/src/core/lib/event_engine/ares_resolver.h +48 -2
  560. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +8 -2
  561. data/src/core/lib/event_engine/cf_engine/cf_engine.h +1 -4
  562. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +4 -4
  563. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +10 -6
  564. data/src/core/lib/event_engine/default_event_engine_factory.cc +1 -1
  565. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.cc +40 -0
  566. data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.h +60 -0
  567. data/src/core/lib/event_engine/event_engine.cc +7 -0
  568. data/src/core/lib/event_engine/extensions/blocking_dns.h +46 -0
  569. data/src/core/lib/event_engine/extensions/channelz.h +66 -0
  570. data/src/core/lib/event_engine/extensions/tcp_trace.h +2 -2
  571. data/src/core/lib/event_engine/grpc_polled_fd.h +5 -0
  572. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +130 -162
  573. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +11 -15
  574. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +75 -117
  575. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +7 -9
  576. data/src/core/lib/event_engine/posix_engine/event_poller.h +18 -15
  577. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +0 -18
  578. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +124 -0
  579. data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +243 -0
  580. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +29 -19
  581. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +6 -2
  582. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +6 -1
  583. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +4 -7
  584. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +3 -0
  585. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +149 -97
  586. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +29 -33
  587. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +341 -102
  588. data/src/core/lib/event_engine/posix_engine/posix_engine.h +72 -29
  589. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +45 -37
  590. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +6 -4
  591. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +32 -142
  592. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +6 -5
  593. data/src/core/lib/event_engine/posix_engine/posix_interface.h +211 -0
  594. data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +1083 -0
  595. data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +281 -0
  596. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.cc +154 -0
  597. data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +174 -0
  598. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +3 -719
  599. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +10 -170
  600. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +33 -22
  601. data/src/core/lib/event_engine/posix_engine/timer_manager.h +13 -11
  602. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +117 -151
  603. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +26 -94
  604. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +26 -25
  605. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +6 -2
  606. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +36 -62
  607. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +6 -2
  608. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +7 -6
  609. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +12 -6
  610. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +3 -1
  611. data/src/core/lib/event_engine/query_extensions.h +10 -21
  612. data/src/core/lib/event_engine/shim.cc +9 -0
  613. data/src/core/lib/event_engine/shim.h +3 -0
  614. data/src/core/lib/event_engine/tcp_socket_utils.cc +10 -9
  615. data/src/core/lib/event_engine/thread_pool/thread_pool.h +7 -3
  616. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +0 -17
  617. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +4 -2
  618. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -2
  619. data/src/core/lib/event_engine/utils.cc +34 -0
  620. data/src/core/lib/event_engine/utils.h +3 -0
  621. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +4 -0
  622. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +4 -0
  623. data/src/core/lib/event_engine/windows/windows_endpoint.cc +2 -2
  624. data/src/core/lib/event_engine/windows/windows_endpoint.h +5 -2
  625. data/src/core/lib/event_engine/windows/windows_engine.cc +0 -1
  626. data/src/core/lib/event_engine/windows/windows_engine.h +1 -3
  627. data/src/core/lib/event_engine/windows/windows_listener.cc +14 -2
  628. data/src/core/lib/experiments/experiments.cc +243 -144
  629. data/src/core/lib/experiments/experiments.h +98 -85
  630. data/src/core/lib/iomgr/combiner.cc +3 -2
  631. data/src/core/lib/iomgr/endpoint.cc +4 -3
  632. data/src/core/lib/iomgr/endpoint.h +7 -4
  633. data/src/core/lib/iomgr/endpoint_cfstream.cc +3 -2
  634. data/src/core/lib/iomgr/ev_epoll1_linux.cc +7 -2
  635. data/src/core/lib/iomgr/ev_poll_posix.cc +11 -2
  636. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +11 -10
  637. data/src/core/lib/iomgr/fork_posix.cc +0 -7
  638. data/src/core/lib/iomgr/iomgr.cc +0 -3
  639. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +3 -0
  640. data/src/core/lib/iomgr/resolve_address_posix.cc +37 -47
  641. data/src/core/lib/iomgr/resolve_address_posix.h +15 -0
  642. data/src/core/lib/iomgr/resolve_address_windows.cc +22 -45
  643. data/src/core/lib/iomgr/resolve_address_windows.h +15 -2
  644. data/src/core/lib/iomgr/tcp_client_posix.cc +14 -6
  645. data/src/core/lib/iomgr/tcp_posix.cc +26 -18
  646. data/src/core/lib/iomgr/tcp_server_windows.cc +14 -2
  647. data/src/core/lib/iomgr/tcp_windows.cc +3 -2
  648. data/src/core/lib/promise/activity.h +1 -0
  649. data/src/core/lib/promise/arena_promise.h +23 -7
  650. data/src/core/lib/promise/detail/promise_factory.h +10 -0
  651. data/src/core/lib/promise/detail/promise_like.h +132 -1
  652. data/src/core/lib/promise/detail/promise_variant.h +50 -0
  653. data/src/core/lib/promise/detail/seq_state.h +880 -0
  654. data/src/core/lib/promise/if.h +20 -0
  655. data/src/core/lib/promise/inter_activity_latch.h +147 -0
  656. data/src/core/lib/promise/inter_activity_mutex.h +547 -0
  657. data/src/core/lib/promise/loop.h +65 -3
  658. data/src/core/lib/promise/map.h +46 -5
  659. data/src/core/lib/promise/match_promise.h +103 -0
  660. data/src/core/lib/promise/mpsc.cc +425 -0
  661. data/src/core/lib/promise/mpsc.h +490 -0
  662. data/src/core/lib/promise/party.cc +50 -1
  663. data/src/core/lib/promise/party.h +66 -1
  664. data/src/core/lib/promise/promise.h +2 -0
  665. data/src/core/lib/promise/race.h +31 -0
  666. data/src/core/lib/promise/seq.h +5 -0
  667. data/src/core/lib/promise/sleep.cc +6 -3
  668. data/src/core/lib/promise/status_flag.h +7 -0
  669. data/src/core/lib/promise/try_seq.h +5 -0
  670. data/src/core/lib/promise/wait_set.cc +28 -0
  671. data/src/core/lib/promise/wait_set.h +86 -0
  672. data/src/core/lib/resource_quota/arena.h +19 -0
  673. data/src/core/lib/resource_quota/memory_quota.cc +9 -0
  674. data/src/core/lib/resource_quota/memory_quota.h +1 -3
  675. data/src/core/lib/slice/slice.h +5 -0
  676. data/src/core/lib/slice/slice_buffer.h +6 -0
  677. data/src/core/lib/surface/call.cc +4 -0
  678. data/src/core/lib/surface/channel_create.cc +139 -4
  679. data/src/core/lib/surface/channel_create.h +4 -0
  680. data/src/core/lib/surface/channel_init.cc +164 -47
  681. data/src/core/lib/surface/channel_init.h +64 -1
  682. data/src/core/lib/surface/filter_stack_call.cc +18 -9
  683. data/src/core/lib/surface/init.cc +8 -17
  684. data/src/core/lib/surface/legacy_channel.cc +3 -5
  685. data/src/core/lib/surface/legacy_channel.h +3 -1
  686. data/src/core/lib/surface/version.cc +2 -2
  687. data/src/core/lib/transport/promise_endpoint.cc +110 -0
  688. data/src/core/lib/transport/promise_endpoint.h +307 -0
  689. data/src/core/lib/transport/status_conversion.cc +7 -34
  690. data/src/core/lib/transport/transport.cc +2 -2
  691. data/src/core/lib/transport/transport.h +3 -0
  692. data/src/core/load_balancing/backend_metric_parser.cc +12 -18
  693. data/src/core/load_balancing/child_policy_handler.cc +2 -4
  694. data/src/core/load_balancing/delegating_helper.h +2 -3
  695. data/src/core/load_balancing/grpclb/grpclb.cc +2 -2
  696. data/src/core/load_balancing/health_check_client.cc +3 -9
  697. data/src/core/load_balancing/lb_policy.h +1 -3
  698. data/src/core/load_balancing/oob_backend_metric.cc +3 -9
  699. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +4 -3
  700. data/src/core/load_balancing/pick_first/pick_first.cc +6 -3
  701. data/src/core/load_balancing/rls/rls.cc +6 -5
  702. data/src/core/load_balancing/round_robin/round_robin.cc +2 -3
  703. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +4 -4
  704. data/src/core/load_balancing/weighted_target/weighted_target.cc +3 -9
  705. data/src/core/load_balancing/xds/cds.cc +10 -1
  706. data/src/core/load_balancing/xds/xds_override_host.cc +55 -34
  707. data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -0
  708. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
  709. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +2 -1
  710. data/src/core/resolver/xds/xds_config.cc +6 -3
  711. data/src/core/resolver/xds/xds_config.h +9 -4
  712. data/src/core/resolver/xds/xds_dependency_manager.cc +21 -6
  713. data/src/core/resolver/xds/xds_dependency_manager.h +2 -1
  714. data/src/core/resolver/xds/xds_resolver.cc +33 -12
  715. data/src/core/server/add_port.cc +87 -0
  716. data/src/core/server/server.cc +128 -62
  717. data/src/core/server/server.h +23 -6
  718. data/src/core/server/xds_server_config_fetcher.cc +63 -25
  719. data/src/core/service_config/service_config.h +1 -1
  720. data/src/core/service_config/service_config_impl.h +1 -1
  721. data/src/core/telemetry/call_tracer.cc +2 -2
  722. data/src/core/telemetry/call_tracer.h +1 -1
  723. data/src/core/telemetry/context_list_entry.cc +38 -0
  724. data/src/core/{ext/transport/chttp2/transport → telemetry}/context_list_entry.h +45 -15
  725. data/src/core/telemetry/default_tcp_tracer.cc +26 -0
  726. data/src/core/telemetry/default_tcp_tracer.h +44 -0
  727. data/src/core/telemetry/stats.h +0 -5
  728. data/src/core/telemetry/stats_data.cc +547 -479
  729. data/src/core/telemetry/stats_data.h +467 -276
  730. data/src/core/telemetry/tcp_tracer.cc +38 -0
  731. data/src/core/telemetry/tcp_tracer.h +14 -16
  732. data/src/core/transport/auth_context.cc +0 -1
  733. data/src/core/transport/auth_context.h +0 -1
  734. data/src/core/transport/endpoint_transport.h +90 -0
  735. data/src/core/transport/endpoint_transport_client_channel_factory.cc +61 -0
  736. data/src/core/transport/endpoint_transport_client_channel_factory.h +57 -0
  737. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +33 -1
  738. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +3 -1
  739. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +76 -22
  740. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +8 -2
  741. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +11 -3
  742. data/src/core/tsi/fake_transport_security.cc +17 -0
  743. data/src/core/tsi/ssl_transport_security.cc +191 -71
  744. data/src/core/tsi/ssl_transport_security.h +6 -1
  745. data/src/core/tsi/transport_security.h +3 -0
  746. data/src/core/tsi/transport_security_grpc.cc +8 -0
  747. data/src/core/tsi/transport_security_grpc.h +22 -3
  748. data/src/core/tsi/transport_security_interface.h +30 -25
  749. data/src/core/util/backoff.cc +5 -16
  750. data/src/core/util/backoff.h +1 -1
  751. data/src/core/util/down_cast.h +1 -1
  752. data/src/core/util/dual_ref_counted.h +48 -0
  753. data/src/core/util/function_signature.h +80 -0
  754. data/src/core/util/gcp_metadata_query.cc +3 -2
  755. data/src/core/util/http_client/httpcli.cc +12 -5
  756. data/src/core/util/http_client/httpcli.h +4 -1
  757. data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
  758. data/src/core/util/json/json_object_loader.h +3 -3
  759. data/src/core/util/latent_see.cc +28 -2
  760. data/src/core/util/latent_see.h +19 -28
  761. data/src/core/util/linux/env.cc +3 -1
  762. data/src/core/util/log.cc +4 -0
  763. data/src/core/util/memory_usage.h +268 -0
  764. data/src/core/util/per_cpu.cc +2 -0
  765. data/src/core/util/per_cpu.h +7 -0
  766. data/src/core/util/ref_counted_ptr.h +26 -0
  767. data/src/core/util/shared_bit_gen.cc +21 -0
  768. data/src/core/util/shared_bit_gen.h +64 -0
  769. data/src/core/util/single_set_ptr.h +35 -4
  770. data/src/core/util/upb_utils.h +42 -0
  771. data/src/core/util/uri.cc +76 -17
  772. data/src/core/util/uri.h +13 -8
  773. data/src/core/util/useful.h +53 -2
  774. data/src/core/util/wait_for_single_owner.cc +31 -0
  775. data/src/core/util/wait_for_single_owner.h +24 -0
  776. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -0
  777. data/src/core/xds/grpc/xds_bootstrap_grpc.h +5 -0
  778. data/src/core/xds/grpc/xds_client_grpc.cc +6 -2
  779. data/src/core/xds/grpc/xds_common_types_parser.cc +138 -58
  780. data/src/core/xds/grpc/xds_common_types_parser.h +12 -0
  781. data/src/core/xds/grpc/xds_http_filter.h +7 -0
  782. data/src/core/xds/grpc/xds_http_filter_registry.cc +1 -3
  783. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +22 -0
  784. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +3 -0
  785. data/src/core/xds/grpc/xds_http_rbac_filter.cc +10 -17
  786. data/src/core/xds/grpc/xds_metadata_parser.cc +40 -64
  787. data/src/core/xds/grpc/xds_metadata_parser.h +0 -2
  788. data/src/core/xds/grpc/xds_route_config_parser.cc +70 -115
  789. data/src/core/xds/grpc/xds_server_grpc.cc +63 -13
  790. data/src/core/xds/grpc/xds_server_grpc.h +10 -2
  791. data/src/core/xds/grpc/xds_server_grpc_interface.h +4 -0
  792. data/src/core/xds/grpc/xds_transport_grpc.cc +18 -0
  793. data/src/core/xds/xds_client/xds_bootstrap.h +2 -0
  794. data/src/core/xds/xds_client/xds_client.cc +27 -6
  795. data/src/ruby/ext/grpc/extconf.rb +3 -1
  796. data/src/ruby/ext/grpc/rb_call.c +1 -8
  797. data/src/ruby/ext/grpc/rb_channel.c +72 -568
  798. data/src/ruby/ext/grpc/rb_channel.h +0 -3
  799. data/src/ruby/ext/grpc/rb_completion_queue.c +26 -14
  800. data/src/ruby/ext/grpc/rb_completion_queue.h +1 -7
  801. data/src/ruby/ext/grpc/rb_grpc.c +9 -5
  802. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  803. data/src/ruby/ext/grpc/rb_loader.c +0 -4
  804. data/src/ruby/ext/grpc/rb_server.c +31 -50
  805. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -4
  806. data/src/ruby/lib/grpc/version.rb +1 -1
  807. data/src/ruby/spec/core_spec.rb +22 -0
  808. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  809. data/src/ruby/spec/generic/client_stub_spec.rb +2 -6
  810. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  811. data/third_party/abseil-cpp/absl/algorithm/algorithm.h +2 -2
  812. data/third_party/abseil-cpp/absl/algorithm/container.h +81 -67
  813. data/third_party/abseil-cpp/absl/base/attributes.h +142 -23
  814. data/third_party/abseil-cpp/absl/base/call_once.h +18 -16
  815. data/third_party/abseil-cpp/absl/base/config.h +23 -132
  816. data/third_party/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
  817. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
  818. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
  819. data/third_party/abseil-cpp/absl/base/internal/endian.h +34 -38
  820. data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
  821. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -5
  822. data/third_party/abseil-cpp/absl/base/internal/nullability_deprecated.h +106 -0
  823. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +1 -1
  824. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -9
  825. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -13
  826. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -0
  827. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +5 -1
  828. data/third_party/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  829. data/third_party/abseil-cpp/absl/base/internal/tracing.h +81 -0
  830. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
  831. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +0 -10
  832. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +17 -0
  833. data/third_party/abseil-cpp/absl/base/macros.h +35 -4
  834. data/third_party/abseil-cpp/absl/base/no_destructor.h +11 -32
  835. data/third_party/abseil-cpp/absl/base/nullability.h +124 -56
  836. data/third_party/abseil-cpp/absl/base/optimization.h +8 -12
  837. data/third_party/abseil-cpp/absl/base/options.h +7 -81
  838. data/third_party/abseil-cpp/absl/base/policy_checks.h +9 -7
  839. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +1 -3
  840. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
  841. data/third_party/abseil-cpp/absl/container/btree_map.h +891 -0
  842. data/third_party/abseil-cpp/absl/container/btree_set.h +826 -0
  843. data/third_party/abseil-cpp/absl/container/fixed_array.h +9 -15
  844. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +22 -3
  845. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +23 -4
  846. data/third_party/abseil-cpp/absl/container/inlined_vector.h +10 -6
  847. data/third_party/abseil-cpp/absl/container/internal/btree.h +3149 -0
  848. data/third_party/abseil-cpp/absl/container/internal/btree_container.h +867 -0
  849. data/third_party/abseil-cpp/absl/container/internal/common.h +43 -0
  850. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +10 -2
  851. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +10 -10
  852. data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +1 -8
  853. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -4
  854. data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  855. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +20 -4
  856. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +31 -12
  857. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +6 -9
  858. data/third_party/abseil-cpp/absl/container/internal/layout.h +27 -43
  859. data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
  860. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +1462 -263
  861. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1170 -1547
  862. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +80 -0
  863. data/third_party/abseil-cpp/absl/crc/crc32c.cc +0 -4
  864. data/third_party/abseil-cpp/absl/crc/crc32c.h +7 -5
  865. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +56 -0
  866. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
  867. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +45 -74
  868. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +21 -7
  869. data/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  870. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
  871. data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
  872. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +12 -37
  873. data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
  874. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +1 -1
  875. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -21
  876. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
  877. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +7 -0
  878. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
  879. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
  880. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
  881. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +20 -8
  882. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
  883. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
  884. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +19 -9
  885. data/third_party/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  886. data/third_party/abseil-cpp/absl/debugging/leak_check.h +150 -0
  887. data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +144 -27
  888. data/third_party/abseil-cpp/absl/debugging/stacktrace.h +73 -5
  889. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +3 -2
  890. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +67 -18
  891. data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
  892. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
  893. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +1 -0
  894. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +9 -2
  895. data/third_party/abseil-cpp/absl/flags/flag.h +18 -15
  896. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
  897. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +14 -5
  898. data/third_party/abseil-cpp/absl/flags/internal/flag.h +23 -11
  899. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +4 -0
  900. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +3 -0
  901. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +13 -12
  902. data/third_party/abseil-cpp/absl/flags/internal/registry.h +4 -3
  903. data/third_party/abseil-cpp/absl/flags/reflection.cc +2 -3
  904. data/third_party/abseil-cpp/absl/flags/usage_config.cc +9 -4
  905. data/third_party/abseil-cpp/absl/functional/any_invocable.h +8 -10
  906. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -9
  907. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +110 -226
  908. data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
  909. data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
  910. data/third_party/abseil-cpp/absl/hash/hash.h +44 -2
  911. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +14 -18
  912. data/third_party/abseil-cpp/absl/hash/internal/hash.h +257 -127
  913. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +27 -72
  914. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +2 -6
  915. data/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  916. data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +2 -0
  917. data/third_party/abseil-cpp/absl/log/check.h +2 -1
  918. data/third_party/abseil-cpp/absl/log/globals.h +4 -5
  919. data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
  920. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +43 -38
  921. data/third_party/abseil-cpp/absl/log/internal/check_op.h +124 -99
  922. data/third_party/abseil-cpp/absl/log/internal/conditions.cc +5 -3
  923. data/third_party/abseil-cpp/absl/log/internal/conditions.h +7 -2
  924. data/third_party/abseil-cpp/absl/log/internal/log_message.cc +158 -64
  925. data/third_party/abseil-cpp/absl/log/internal/log_message.h +140 -83
  926. data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -0
  927. data/third_party/abseil-cpp/absl/log/internal/proto.cc +3 -5
  928. data/third_party/abseil-cpp/absl/log/internal/proto.h +28 -18
  929. data/third_party/abseil-cpp/absl/log/internal/strip.h +4 -12
  930. data/third_party/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  931. data/third_party/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
  932. data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +8 -1
  933. data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
  934. data/third_party/abseil-cpp/absl/log/internal/voidify.h +10 -4
  935. data/third_party/abseil-cpp/absl/log/log.h +48 -35
  936. data/third_party/abseil-cpp/absl/log/log_sink_registry.h +5 -2
  937. data/third_party/abseil-cpp/absl/log/vlog_is_on.h +2 -0
  938. data/third_party/abseil-cpp/absl/meta/type_traits.h +62 -181
  939. data/third_party/abseil-cpp/absl/numeric/bits.h +68 -2
  940. data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -52
  941. data/third_party/abseil-cpp/absl/numeric/int128.h +15 -3
  942. data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +6 -4
  943. data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +6 -3
  944. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +7 -3
  945. data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
  946. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +3 -1
  947. data/third_party/abseil-cpp/absl/random/beta_distribution.h +3 -1
  948. data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +12 -12
  949. data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +10 -0
  950. data/third_party/abseil-cpp/absl/random/discrete_distribution.h +4 -2
  951. data/third_party/abseil-cpp/absl/random/distributions.h +6 -8
  952. data/third_party/abseil-cpp/absl/random/exponential_distribution.h +1 -0
  953. data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +3 -2
  954. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +8 -7
  955. data/third_party/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +22 -90
  956. data/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  957. data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +5 -2
  958. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
  959. data/third_party/abseil-cpp/absl/random/internal/platform.h +12 -12
  960. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +57 -6
  961. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +2 -1
  962. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
  963. data/third_party/abseil-cpp/absl/random/internal/seed_material.h +5 -5
  964. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +2 -2
  965. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +0 -1
  966. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +1 -4
  967. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +4 -3
  968. data/third_party/abseil-cpp/absl/random/random.h +88 -53
  969. data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +2 -3
  970. data/third_party/abseil-cpp/absl/random/seed_sequences.cc +6 -2
  971. data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -2
  972. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -1
  973. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +2 -0
  974. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +5 -4
  975. data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +10 -7
  976. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +3 -4
  977. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -3
  978. data/third_party/abseil-cpp/absl/status/status.cc +4 -8
  979. data/third_party/abseil-cpp/absl/status/status.h +8 -8
  980. data/third_party/abseil-cpp/absl/status/status_payload_printer.h +2 -2
  981. data/third_party/abseil-cpp/absl/status/statusor.cc +2 -2
  982. data/third_party/abseil-cpp/absl/status/statusor.h +6 -6
  983. data/third_party/abseil-cpp/absl/strings/ascii.cc +44 -29
  984. data/third_party/abseil-cpp/absl/strings/ascii.h +62 -22
  985. data/third_party/abseil-cpp/absl/strings/charconv.cc +25 -29
  986. data/third_party/abseil-cpp/absl/strings/charconv.h +5 -5
  987. data/third_party/abseil-cpp/absl/strings/charset.h +3 -4
  988. data/third_party/abseil-cpp/absl/strings/cord.cc +54 -58
  989. data/third_party/abseil-cpp/absl/strings/cord.h +99 -102
  990. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
  991. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +3 -3
  992. data/third_party/abseil-cpp/absl/strings/escaping.cc +186 -197
  993. data/third_party/abseil-cpp/absl/strings/escaping.h +9 -10
  994. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
  995. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h +1 -1
  996. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +53 -22
  997. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
  998. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -4
  999. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
  1000. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
  1001. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
  1002. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +3 -2
  1003. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
  1004. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
  1005. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
  1006. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -0
  1007. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
  1008. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
  1009. data/third_party/abseil-cpp/absl/strings/internal/utf8.h +15 -1
  1010. data/third_party/abseil-cpp/absl/strings/match.h +21 -11
  1011. data/third_party/abseil-cpp/absl/strings/numbers.cc +55 -33
  1012. data/third_party/abseil-cpp/absl/strings/numbers.h +87 -58
  1013. data/third_party/abseil-cpp/absl/strings/str_cat.cc +6 -7
  1014. data/third_party/abseil-cpp/absl/strings/str_cat.h +41 -30
  1015. data/third_party/abseil-cpp/absl/strings/str_format.h +18 -18
  1016. data/third_party/abseil-cpp/absl/strings/str_replace.cc +3 -3
  1017. data/third_party/abseil-cpp/absl/strings/str_replace.h +6 -6
  1018. data/third_party/abseil-cpp/absl/strings/str_split.h +18 -1
  1019. data/third_party/abseil-cpp/absl/strings/string_view.cc +4 -9
  1020. data/third_party/abseil-cpp/absl/strings/string_view.h +46 -50
  1021. data/third_party/abseil-cpp/absl/strings/strip.h +11 -8
  1022. data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -4
  1023. data/third_party/abseil-cpp/absl/strings/substitute.h +66 -64
  1024. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +16 -10
  1025. data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +6 -0
  1026. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +5 -1
  1027. data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
  1028. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
  1029. data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
  1030. data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
  1031. data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
  1032. data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
  1033. data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
  1034. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +39 -13
  1035. data/third_party/abseil-cpp/absl/synchronization/mutex.h +97 -69
  1036. data/third_party/abseil-cpp/absl/synchronization/notification.cc +10 -2
  1037. data/third_party/abseil-cpp/absl/synchronization/notification.h +12 -2
  1038. data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -0
  1039. data/third_party/abseil-cpp/absl/time/duration.cc +18 -58
  1040. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
  1041. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
  1042. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1043. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +3 -3
  1044. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +2 -2
  1045. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +2 -2
  1046. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +3 -3
  1047. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +2 -2
  1048. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +1 -1
  1049. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +1 -1
  1050. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +92 -112
  1051. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +1 -1
  1052. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +6 -4
  1053. data/third_party/abseil-cpp/absl/time/time.h +89 -23
  1054. data/third_party/abseil-cpp/absl/types/internal/span.h +3 -2
  1055. data/third_party/abseil-cpp/absl/types/optional.h +7 -745
  1056. data/third_party/abseil-cpp/absl/types/span.h +98 -54
  1057. data/third_party/abseil-cpp/absl/types/variant.h +5 -784
  1058. data/third_party/abseil-cpp/absl/utility/utility.h +10 -185
  1059. data/third_party/boringssl-with-bazel/src/crypto/aes/aes.cc +41 -0
  1060. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.cc +16 -0
  1061. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.cc +15 -0
  1062. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +19 -3
  1063. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.cc +79 -48
  1064. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.cc +11 -19
  1065. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.cc +3 -7
  1066. data/third_party/boringssl-with-bazel/src/crypto/bcm_support.h +0 -35
  1067. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.cc +0 -2
  1068. data/third_party/boringssl-with-bazel/src/crypto/bio/internal.h +3 -5
  1069. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.cc +0 -3
  1070. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.cc +0 -2
  1071. data/third_party/boringssl-with-bazel/src/crypto/bn/convert.cc +31 -47
  1072. data/third_party/boringssl-with-bazel/src/crypto/bn/div.cc +100 -0
  1073. data/third_party/boringssl-with-bazel/src/crypto/bn/exponentiation.cc +166 -0
  1074. data/third_party/boringssl-with-bazel/src/crypto/bn/sqrt.cc +93 -0
  1075. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.cc +14 -8
  1076. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.cc +1 -1
  1077. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +3 -3
  1078. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +4 -4
  1079. data/third_party/boringssl-with-bazel/src/crypto/cipher/derive_key.cc +13 -15
  1080. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aeseax.cc +289 -0
  1081. data/third_party/boringssl-with-bazel/src/crypto/cipher/e_aesgcmsiv.cc +179 -102
  1082. data/third_party/boringssl-with-bazel/src/crypto/cipher/internal.h +3 -3
  1083. data/third_party/boringssl-with-bazel/src/crypto/cms/cms.cc +172 -0
  1084. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc +28 -5
  1085. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h +11 -9
  1086. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc +0 -6
  1087. data/third_party/boringssl-with-bazel/src/crypto/crypto.cc +1 -1
  1088. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +3 -3
  1089. data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +3 -3
  1090. data/third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.cc +13 -14
  1091. data/third_party/boringssl-with-bazel/src/crypto/dh/params.cc +27 -61
  1092. data/third_party/boringssl-with-bazel/src/crypto/digest/digest_extra.cc +16 -8
  1093. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.cc +112 -122
  1094. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.cc +23 -35
  1095. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
  1096. data/third_party/boringssl-with-bazel/src/crypto/ec/ec_asn1.cc +47 -63
  1097. data/third_party/boringssl-with-bazel/src/crypto/ec/hash_to_curve.cc +60 -68
  1098. data/third_party/boringssl-with-bazel/src/crypto/ec/internal.h +3 -3
  1099. data/third_party/boringssl-with-bazel/src/crypto/ecdsa/ecdsa_asn1.cc +11 -17
  1100. data/third_party/boringssl-with-bazel/src/crypto/err/err.cc +0 -2
  1101. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.cc +10 -11
  1102. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.cc +10 -11
  1103. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +3 -3
  1104. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.cc +6 -6
  1105. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.cc +6 -6
  1106. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.cc +6 -6
  1107. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.cc +6 -6
  1108. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.cc +6 -6
  1109. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.cc +23 -42
  1110. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.cc.inc +29 -18
  1111. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/gcm.cc.inc +10 -10
  1112. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +16 -45
  1113. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.cc.inc +5 -4
  1114. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc +15 -6
  1115. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.cc +3 -3
  1116. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +101 -5
  1117. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.cc.inc +96 -187
  1118. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.cc.inc +24 -512
  1119. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.cc.inc +58 -80
  1120. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.cc.inc +29 -45
  1121. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +27 -25
  1122. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.cc.inc +7 -16
  1123. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.cc.inc +27 -48
  1124. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.cc.inc +34 -34
  1125. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.cc.inc +102 -154
  1126. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +3 -3
  1127. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.cc.inc +3 -8
  1128. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.cc.inc +1 -78
  1129. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.cc.inc +10 -17
  1130. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +3 -3
  1131. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +15 -8
  1132. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.cc.inc +40 -53
  1133. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.cc.inc +57 -76
  1134. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.cc.inc +4 -10
  1135. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h +3 -3
  1136. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +3 -3
  1137. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.cc.inc +37 -52
  1138. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.cc.inc +13 -20
  1139. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +3 -3
  1140. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.cc.inc +28 -39
  1141. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +3 -3
  1142. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.cc.inc +6 -11
  1143. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/keccak/internal.h +3 -3
  1144. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  1145. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mldsa/mldsa.cc.inc +335 -28
  1146. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  1147. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/mlkem/mlkem.cc.inc +265 -33
  1148. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +3 -3
  1149. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.cc.inc +1 -1
  1150. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +3 -3
  1151. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.cc.inc +19 -26
  1152. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.cc.inc +7 -7
  1153. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc +121 -138
  1154. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.cc.inc +96 -83
  1155. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +3 -3
  1156. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +8 -20
  1157. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  1158. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +235 -60
  1159. data/third_party/boringssl-with-bazel/src/crypto/fuzzer_mode.cc +30 -0
  1160. data/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h +3 -3
  1161. data/third_party/boringssl-with-bazel/src/crypto/internal.h +39 -30
  1162. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +3 -3
  1163. data/third_party/boringssl-with-bazel/src/crypto/md5/internal.h +3 -3
  1164. data/third_party/boringssl-with-bazel/src/crypto/mem.cc +0 -2
  1165. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.cc +2 -8
  1166. data/third_party/boringssl-with-bazel/src/crypto/pem/internal.h +3 -3
  1167. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.cc +8 -13
  1168. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h +22 -8
  1169. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.cc +19 -17
  1170. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.cc +134 -136
  1171. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +14 -8
  1172. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.cc +25 -21
  1173. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.cc +36 -52
  1174. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.cc +97 -79
  1175. data/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h +3 -3
  1176. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +3 -3
  1177. data/third_party/boringssl-with-bazel/src/crypto/rand/deterministic.cc +1 -1
  1178. data/third_party/boringssl-with-bazel/src/crypto/rand/fork_detect.cc +2 -2
  1179. data/third_party/boringssl-with-bazel/src/crypto/rand/getentropy.cc +1 -1
  1180. data/third_party/boringssl-with-bazel/src/crypto/rand/{sysrand_internal.h → internal.h} +22 -4
  1181. data/third_party/boringssl-with-bazel/src/crypto/rand/ios.cc +1 -1
  1182. data/third_party/boringssl-with-bazel/src/crypto/rand/trusty.cc +1 -1
  1183. data/third_party/boringssl-with-bazel/src/crypto/rand/urandom.cc +1 -1
  1184. data/third_party/boringssl-with-bazel/src/crypto/rand/windows.cc +1 -5
  1185. data/third_party/boringssl-with-bazel/src/crypto/rsa/internal.h +3 -3
  1186. data/third_party/boringssl-with-bazel/src/crypto/rsa/rsa_crypt.cc +14 -22
  1187. data/third_party/boringssl-with-bazel/src/crypto/spake2plus/internal.h +3 -3
  1188. data/third_party/boringssl-with-bazel/src/crypto/thread_win.cc +0 -2
  1189. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +3 -3
  1190. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.cc +3 -5
  1191. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.cc +8 -12
  1192. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +15 -3
  1193. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.cc +16 -24
  1194. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.cc +18 -21
  1195. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.cc +10 -3
  1196. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.cc +9 -0
  1197. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.cc +10 -1
  1198. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.cc +64 -85
  1199. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.cc +16 -32
  1200. data/third_party/boringssl-with-bazel/src/gen/crypto/err_data.cc +576 -567
  1201. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +16 -8
  1202. data/third_party/boringssl-with-bazel/src/include/openssl/aes.h +1 -1
  1203. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +6 -54
  1204. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +1 -1
  1205. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +8 -4
  1206. data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +1 -1
  1207. data/third_party/boringssl-with-bazel/src/include/openssl/bcm_public.h +1 -1
  1208. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +1 -1
  1209. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -1
  1210. data/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h +1 -1
  1211. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +1 -1
  1212. data/third_party/boringssl-with-bazel/src/include/openssl/buf.h +1 -1
  1213. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +7 -1
  1214. data/third_party/boringssl-with-bazel/src/include/openssl/cast.h +1 -1
  1215. data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +1 -1
  1216. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +1 -1
  1217. data/third_party/boringssl-with-bazel/src/include/openssl/cmac.h +1 -1
  1218. data/third_party/boringssl-with-bazel/src/include/openssl/cms.h +146 -0
  1219. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +1 -1
  1220. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +23 -3
  1221. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +1 -1
  1222. data/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h +1 -1
  1223. data/third_party/boringssl-with-bazel/src/include/openssl/des.h +1 -1
  1224. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +1 -1
  1225. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +19 -7
  1226. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +1 -1
  1227. data/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h +1 -1
  1228. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +1 -1
  1229. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +1 -1
  1230. data/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h +1 -1
  1231. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -1
  1232. data/third_party/boringssl-with-bazel/src/include/openssl/engine.h +1 -1
  1233. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +2 -1
  1234. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -1
  1235. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
  1236. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h +1 -1
  1237. data/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h +1 -1
  1238. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +1 -1
  1239. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +4 -4
  1240. data/third_party/boringssl-with-bazel/src/include/openssl/hrss.h +1 -1
  1241. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +1 -1
  1242. data/third_party/boringssl-with-bazel/src/include/openssl/lhash.h +1 -1
  1243. data/third_party/boringssl-with-bazel/src/include/openssl/md4.h +1 -1
  1244. data/third_party/boringssl-with-bazel/src/include/openssl/md5.h +1 -1
  1245. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +1 -1
  1246. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +1 -1
  1247. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +1 -1
  1248. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +1 -1
  1249. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +1 -1
  1250. data/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h +1 -1
  1251. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +10 -4
  1252. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +1 -1
  1253. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +19 -6
  1254. data/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h +1 -1
  1255. data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +1 -1
  1256. data/third_party/boringssl-with-bazel/src/include/openssl/posix_time.h +1 -1
  1257. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
  1258. data/third_party/boringssl-with-bazel/src/include/openssl/rc4.h +1 -1
  1259. data/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h +1 -1
  1260. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +2 -2
  1261. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +1 -1
  1262. data/third_party/boringssl-with-bazel/src/include/openssl/sha.h +1 -1
  1263. data/third_party/boringssl-with-bazel/src/include/openssl/siphash.h +1 -1
  1264. data/third_party/boringssl-with-bazel/src/include/openssl/slhdsa.h +1 -1
  1265. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +1 -1
  1266. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +291 -40
  1267. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +1 -1
  1268. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +0 -5
  1269. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -1
  1270. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +9 -1
  1271. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +1 -1
  1272. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +1 -1
  1273. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +7 -4
  1274. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +2 -0
  1275. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +32 -26
  1276. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +49 -49
  1277. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +253 -50
  1278. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +12 -12
  1279. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +7 -5
  1280. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +2 -1
  1281. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +24 -32
  1282. data/third_party/boringssl-with-bazel/src/ssl/internal.h +93 -4
  1283. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +6 -12
  1284. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +18 -4
  1285. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +83 -7
  1286. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +1 -1
  1287. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +173 -19
  1288. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +5 -18
  1289. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +28 -15
  1290. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +1 -1
  1291. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +31 -7
  1292. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +13 -1
  1293. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +7 -11
  1294. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +13 -11
  1295. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +2 -5
  1296. data/third_party/upb/upb/hash/common.c +310 -189
  1297. data/third_party/upb/upb/hash/common.h +44 -43
  1298. data/third_party/upb/upb/hash/int_table.h +29 -5
  1299. data/third_party/upb/upb/hash/str_table.h +6 -0
  1300. data/third_party/upb/upb/mem/arena.c +180 -57
  1301. data/third_party/upb/upb/mem/arena.h +10 -0
  1302. data/third_party/upb/upb/mem/internal/arena.h +62 -24
  1303. data/third_party/upb/upb/message/accessors.c +1 -5
  1304. data/third_party/upb/upb/message/array.c +7 -6
  1305. data/third_party/upb/upb/message/array.h +4 -4
  1306. data/third_party/upb/upb/message/internal/accessors.h +3 -3
  1307. data/third_party/upb/upb/message/internal/extension.c +0 -12
  1308. data/third_party/upb/upb/message/internal/extension.h +0 -4
  1309. data/third_party/upb/upb/message/internal/iterator.h +3 -3
  1310. data/third_party/upb/upb/message/internal/map.h +75 -20
  1311. data/third_party/upb/upb/message/internal/map_sorter.h +10 -2
  1312. data/third_party/upb/upb/message/internal/message.h +53 -5
  1313. data/third_party/upb/upb/message/map.c +68 -20
  1314. data/third_party/upb/upb/message/map.h +8 -1
  1315. data/third_party/upb/upb/message/map_gencode_util.h +3 -45
  1316. data/third_party/upb/upb/message/map_sorter.c +32 -8
  1317. data/third_party/upb/upb/message/merge.h +3 -3
  1318. data/third_party/upb/upb/message/message.c +120 -14
  1319. data/third_party/upb/upb/message/message.h +17 -8
  1320. data/third_party/upb/upb/mini_descriptor/build_enum.c +15 -5
  1321. data/third_party/upb/upb/mini_descriptor/decode.c +18 -2
  1322. data/third_party/upb/upb/mini_descriptor/link.c +4 -0
  1323. data/third_party/upb/upb/mini_table/extension.h +8 -1
  1324. data/third_party/upb/upb/mini_table/extension_registry.c +1 -1
  1325. data/third_party/upb/upb/mini_table/internal/enum.h +1 -1
  1326. data/third_party/upb/upb/mini_table/internal/extension.h +24 -1
  1327. data/third_party/upb/upb/mini_table/internal/field.h +4 -4
  1328. data/third_party/upb/upb/mini_table/internal/message.h +1 -1
  1329. data/third_party/upb/upb/port/def.inc +32 -16
  1330. data/third_party/upb/upb/port/undef.inc +1 -0
  1331. data/third_party/upb/upb/reflection/def_pool.h +2 -2
  1332. data/third_party/upb/upb/reflection/descriptor_bootstrap.h +3 -3
  1333. data/third_party/upb/upb/reflection/enum_def.c +4 -4
  1334. data/third_party/upb/upb/reflection/enum_reserved_range.c +1 -1
  1335. data/third_party/upb/upb/reflection/enum_value_def.c +9 -8
  1336. data/third_party/upb/upb/reflection/extension_range.c +1 -2
  1337. data/third_party/upb/upb/reflection/field_def.c +3 -5
  1338. data/third_party/upb/upb/reflection/field_def.h +1 -1
  1339. data/third_party/upb/upb/reflection/file_def.c +4 -5
  1340. data/third_party/upb/upb/reflection/internal/def_builder.h +35 -10
  1341. data/third_party/upb/upb/reflection/internal/enum_value_def.h +1 -1
  1342. data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
  1343. data/third_party/upb/upb/reflection/message_def.c +4 -7
  1344. data/third_party/upb/upb/reflection/message_reserved_range.c +1 -1
  1345. data/third_party/upb/upb/reflection/method_def.c +1 -1
  1346. data/third_party/upb/upb/reflection/oneof_def.c +3 -3
  1347. data/third_party/upb/upb/reflection/service_def.c +2 -5
  1348. data/third_party/upb/upb/text/encode.c +16 -0
  1349. data/third_party/upb/upb/text/internal/encode.h +2 -1
  1350. data/third_party/upb/upb/wire/decode.c +104 -72
  1351. data/third_party/upb/upb/wire/encode.c +37 -13
  1352. data/third_party/upb/upb/wire/internal/decode_fast.c +2 -2
  1353. data/third_party/upb/upb/wire/internal/decode_fast.h +4 -0
  1354. metadata +113 -25
  1355. data/src/core/lib/event_engine/forkable.cc +0 -105
  1356. data/src/core/lib/event_engine/forkable.h +0 -67
  1357. data/src/core/lib/iomgr/executor.cc +0 -441
  1358. data/src/core/lib/iomgr/executor.h +0 -119
  1359. data/src/core/lib/iomgr/python_util.h +0 -46
  1360. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
  1361. data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
  1362. data/third_party/abseil-cpp/absl/base/internal/nullability_impl.h +0 -108
  1363. data/third_party/abseil-cpp/absl/log/log_entry.cc +0 -41
  1364. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
  1365. data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
  1366. data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
  1367. data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
  1368. data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
  1369. data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -352
  1370. data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1622
  1371. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/polyval.cc.inc +0 -89
@@ -37,8 +37,8 @@ using FixedMapping =
37
37
  // occurred.
38
38
  int ApplySubstitutions(
39
39
  absl::string_view s,
40
- absl::Nonnull<std::vector<strings_internal::ViableSubstitution>*> subs_ptr,
41
- absl::Nonnull<std::string*> result_ptr) {
40
+ std::vector<strings_internal::ViableSubstitution>* absl_nonnull subs_ptr,
41
+ std::string* absl_nonnull result_ptr) {
42
42
  auto& subs = *subs_ptr;
43
43
  int substitutions = 0;
44
44
  size_t pos = 0;
@@ -83,7 +83,7 @@ std::string StrReplaceAll(absl::string_view s,
83
83
  }
84
84
 
85
85
  int StrReplaceAll(strings_internal::FixedMapping replacements,
86
- absl::Nonnull<std::string*> target) {
86
+ std::string* absl_nonnull target) {
87
87
  return StrReplaceAll<strings_internal::FixedMapping>(replacements, target);
88
88
  }
89
89
 
@@ -66,7 +66,7 @@ ABSL_NAMESPACE_BEGIN
66
66
  // {"$who", "Bob"},
67
67
  // {"#Noun", "Apples"}});
68
68
  // EXPECT_EQ("Bob bought 5 Apples. Thanks Bob!", s);
69
- ABSL_MUST_USE_RESULT std::string StrReplaceAll(
69
+ [[nodiscard]] std::string StrReplaceAll(
70
70
  absl::string_view s,
71
71
  std::initializer_list<std::pair<absl::string_view, absl::string_view>>
72
72
  replacements);
@@ -114,7 +114,7 @@ std::string StrReplaceAll(absl::string_view s,
114
114
  int StrReplaceAll(
115
115
  std::initializer_list<std::pair<absl::string_view, absl::string_view>>
116
116
  replacements,
117
- absl::Nonnull<std::string*> target);
117
+ std::string* absl_nonnull target);
118
118
 
119
119
  // Overload of `StrReplaceAll()` to replace patterns within a given output
120
120
  // string *in place* with replacements provided within a container of key/value
@@ -130,7 +130,7 @@ int StrReplaceAll(
130
130
  // EXPECT_EQ("if (ptr &lt; &amp;foo)", s);
131
131
  template <typename StrToStrMapping>
132
132
  int StrReplaceAll(const StrToStrMapping& replacements,
133
- absl::Nonnull<std::string*> target);
133
+ std::string* absl_nonnull target);
134
134
 
135
135
  // Implementation details only, past this point.
136
136
  namespace strings_internal {
@@ -187,8 +187,8 @@ std::vector<ViableSubstitution> FindSubstitutions(
187
187
  }
188
188
 
189
189
  int ApplySubstitutions(absl::string_view s,
190
- absl::Nonnull<std::vector<ViableSubstitution>*> subs_ptr,
191
- absl::Nonnull<std::string*> result_ptr);
190
+ std::vector<ViableSubstitution>* absl_nonnull subs_ptr,
191
+ std::string* absl_nonnull result_ptr);
192
192
 
193
193
  } // namespace strings_internal
194
194
 
@@ -204,7 +204,7 @@ std::string StrReplaceAll(absl::string_view s,
204
204
 
205
205
  template <typename StrToStrMapping>
206
206
  int StrReplaceAll(const StrToStrMapping& replacements,
207
- absl::Nonnull<std::string*> target) {
207
+ std::string* absl_nonnull target) {
208
208
  auto subs = strings_internal::FindSubstitutions(*target, replacements);
209
209
  if (subs.empty()) return 0;
210
210
 
@@ -444,8 +444,10 @@ using EnableSplitIfString =
444
444
  // behavior works for:
445
445
  //
446
446
  // 1) All standard STL containers including `std::vector`, `std::list`,
447
- // `std::deque`, `std::set`,`std::multiset`, 'std::map`, and `std::multimap`
447
+ // `std::deque`, `std::set`,`std::multiset`, 'std::map`, and `std::multimap`.
448
448
  // 2) `std::pair` (which is not actually a container). See below.
449
+ // 3) `std::array`, which is a container but has different behavior due to its
450
+ // fixed size. See below.
449
451
  //
450
452
  // Example:
451
453
  //
@@ -487,6 +489,21 @@ using EnableSplitIfString =
487
489
  // std::pair<std::string, std::string> p = absl::StrSplit("a,b,c", ',');
488
490
  // // p.first == "a", p.second == "b" // "c" is omitted.
489
491
  //
492
+ //
493
+ // Splitting to `std::array` is similar to splitting to `std::pair`, but for
494
+ // N elements instead of two; missing elements are filled with the empty string
495
+ // and extra elements are discarded.
496
+ //
497
+ // Examples:
498
+ //
499
+ // // Stores first two split strings as the elements in a std::array.
500
+ // std::array<std::string, 2> a = absl::StrSplit("a,b,c", ',');
501
+ // // a[0] == "a", a[1] == "b" // "c" is omitted.
502
+ //
503
+ // // The second element is empty.
504
+ // std::array<std::string, 2> a = absl::StrSplit("a,", ',');
505
+ // // a[0] == "a", a[1] == ""
506
+ //
490
507
  // The `StrSplit()` function can be used multiple times to perform more
491
508
  // complicated splitting logic, such as intelligently parsing key-value pairs.
492
509
  //
@@ -30,10 +30,10 @@ namespace {
30
30
 
31
31
  // This is significantly faster for case-sensitive matches with very
32
32
  // few possible matches.
33
- absl::Nullable<const char*> memmatch(absl::Nullable<const char*> phaystack,
34
- size_t haylen,
35
- absl::Nullable<const char*> pneedle,
36
- size_t neelen) {
33
+ const char* absl_nullable memmatch(const char* absl_nullable phaystack,
34
+ size_t haylen,
35
+ const char* absl_nullable pneedle,
36
+ size_t neelen) {
37
37
  if (0 == neelen) {
38
38
  return phaystack; // even if haylen is 0
39
39
  }
@@ -233,11 +233,6 @@ string_view::size_type string_view::find_last_not_of(
233
233
  return npos;
234
234
  }
235
235
 
236
- #ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL
237
- constexpr string_view::size_type string_view::npos;
238
- constexpr string_view::size_type string_view::kMaxSize;
239
- #endif
240
-
241
236
  ABSL_NAMESPACE_END
242
237
  } // namespace absl
243
238
 
@@ -159,15 +159,15 @@ ABSL_NAMESPACE_BEGIN
159
159
  //
160
160
  // absl::string_view() == absl::string_view("", 0)
161
161
  // absl::string_view(nullptr, 0) == absl::string_view("abcdef"+6, 0)
162
- class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
162
+ class ABSL_ATTRIBUTE_VIEW string_view {
163
163
  public:
164
164
  using traits_type = std::char_traits<char>;
165
165
  using value_type = char;
166
- using pointer = absl::Nullable<char*>;
167
- using const_pointer = absl::Nullable<const char*>;
166
+ using pointer = char* absl_nullable;
167
+ using const_pointer = const char* absl_nullable;
168
168
  using reference = char&;
169
169
  using const_reference = const char&;
170
- using const_iterator = absl::Nullable<const char*>;
170
+ using const_iterator = const char* absl_nullable;
171
171
  using iterator = const_iterator;
172
172
  using const_reverse_iterator = std::reverse_iterator<const_iterator>;
173
173
  using reverse_iterator = const_reverse_iterator;
@@ -197,16 +197,15 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
197
197
  // instead (see below).
198
198
  // The length check is skipped since it is unnecessary and causes code bloat.
199
199
  constexpr string_view( // NOLINT(runtime/explicit)
200
- absl::Nonnull<const char*> str)
200
+ const char* absl_nonnull str)
201
201
  : ptr_(str), length_(str ? StrlenInternal(str) : 0) {}
202
202
 
203
- // Implicit constructor of a `string_view` from a `const char*` and length.
204
- constexpr string_view(absl::Nullable<const char*> data, size_type len)
203
+ // Constructor of a `string_view` from a `const char*` and length.
204
+ constexpr string_view(const char* absl_nullable data, size_type len)
205
205
  : ptr_(data), length_(CheckLengthInternal(len)) {}
206
206
 
207
- // NOTE: Harmlessly omitted to work around gdb bug.
208
- // constexpr string_view(const string_view&) noexcept = default;
209
- // string_view& operator=(const string_view&) noexcept = default;
207
+ constexpr string_view(const string_view&) noexcept = default;
208
+ string_view& operator=(const string_view&) noexcept = default;
210
209
 
211
210
  // Iterators
212
211
 
@@ -293,7 +292,8 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
293
292
  // Returns the ith element of the `string_view` using the array operator.
294
293
  // Note that this operator does not perform any bounds checking.
295
294
  constexpr const_reference operator[](size_type i) const {
296
- return ABSL_HARDENING_ASSERT(i < size()), ptr_[i];
295
+ ABSL_HARDENING_ASSERT(i < size());
296
+ return ptr_[i];
297
297
  }
298
298
 
299
299
  // string_view::at()
@@ -302,25 +302,26 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
302
302
  // and an exception of type `std::out_of_range` will be thrown on invalid
303
303
  // access.
304
304
  constexpr const_reference at(size_type i) const {
305
- return ABSL_PREDICT_TRUE(i < size())
306
- ? ptr_[i]
307
- : ((void)base_internal::ThrowStdOutOfRange(
308
- "absl::string_view::at"),
309
- ptr_[i]);
305
+ if (ABSL_PREDICT_FALSE(i >= size())) {
306
+ base_internal::ThrowStdOutOfRange("absl::string_view::at");
307
+ }
308
+ return ptr_[i];
310
309
  }
311
310
 
312
311
  // string_view::front()
313
312
  //
314
313
  // Returns the first element of a `string_view`.
315
314
  constexpr const_reference front() const {
316
- return ABSL_HARDENING_ASSERT(!empty()), ptr_[0];
315
+ ABSL_HARDENING_ASSERT(!empty());
316
+ return ptr_[0];
317
317
  }
318
318
 
319
319
  // string_view::back()
320
320
  //
321
321
  // Returns the last element of a `string_view`.
322
322
  constexpr const_reference back() const {
323
- return ABSL_HARDENING_ASSERT(!empty()), ptr_[size() - 1];
323
+ ABSL_HARDENING_ASSERT(!empty());
324
+ return ptr_[size() - 1];
324
325
  }
325
326
 
326
327
  // string_view::data()
@@ -394,11 +395,10 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
394
395
  // `pos > size`.
395
396
  // Use absl::ClippedSubstr if you need a truncating substr operation.
396
397
  constexpr string_view substr(size_type pos = 0, size_type n = npos) const {
397
- return ABSL_PREDICT_FALSE(pos > length_)
398
- ? (base_internal::ThrowStdOutOfRange(
399
- "absl::string_view::substr"),
400
- string_view())
401
- : string_view(ptr_ + pos, Min(n, length_ - pos));
398
+ if (ABSL_PREDICT_FALSE(pos > length_)) {
399
+ base_internal::ThrowStdOutOfRange("absl::string_view::substr");
400
+ }
401
+ return string_view(ptr_ + pos, (std::min)(n, length_ - pos));
402
402
  }
403
403
 
404
404
  // string_view::compare()
@@ -409,10 +409,10 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
409
409
  // is greater than `x`.
410
410
  constexpr int compare(string_view x) const noexcept {
411
411
  return CompareImpl(length_, x.length_,
412
- Min(length_, x.length_) == 0
412
+ (std::min)(length_, x.length_) == 0
413
413
  ? 0
414
414
  : ABSL_INTERNAL_STRING_VIEW_MEMCMP(
415
- ptr_, x.ptr_, Min(length_, x.length_)));
415
+ ptr_, x.ptr_, (std::min)(length_, x.length_)));
416
416
  }
417
417
 
418
418
  // Overload of `string_view::compare()` for comparing a substring of the
@@ -430,21 +430,21 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
430
430
 
431
431
  // Overload of `string_view::compare()` for comparing a `string_view` and a
432
432
  // a different C-style string `s`.
433
- constexpr int compare(absl::Nonnull<const char*> s) const {
433
+ constexpr int compare(const char* absl_nonnull s) const {
434
434
  return compare(string_view(s));
435
435
  }
436
436
 
437
437
  // Overload of `string_view::compare()` for comparing a substring of the
438
438
  // `string_view` and a different string C-style string `s`.
439
439
  constexpr int compare(size_type pos1, size_type count1,
440
- absl::Nonnull<const char*> s) const {
440
+ const char* absl_nonnull s) const {
441
441
  return substr(pos1, count1).compare(string_view(s));
442
442
  }
443
443
 
444
444
  // Overload of `string_view::compare()` for comparing a substring of the
445
445
  // `string_view` and a substring of a different C-style string `s`.
446
446
  constexpr int compare(size_type pos1, size_type count1,
447
- absl::Nonnull<const char*> s, size_type count2) const {
447
+ const char* absl_nonnull s, size_type count2) const {
448
448
  return substr(pos1, count1).compare(string_view(s, count2));
449
449
  }
450
450
 
@@ -463,14 +463,14 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
463
463
 
464
464
  // Overload of `string_view::find()` for finding a substring of a different
465
465
  // C-style string `s` within the `string_view`.
466
- size_type find(absl::Nonnull<const char*> s, size_type pos,
466
+ size_type find(const char* absl_nonnull s, size_type pos,
467
467
  size_type count) const {
468
468
  return find(string_view(s, count), pos);
469
469
  }
470
470
 
471
471
  // Overload of `string_view::find()` for finding a different C-style string
472
472
  // `s` within the `string_view`.
473
- size_type find(absl::Nonnull<const char *> s, size_type pos = 0) const {
473
+ size_type find(const char* absl_nonnull s, size_type pos = 0) const {
474
474
  return find(string_view(s), pos);
475
475
  }
476
476
 
@@ -487,14 +487,14 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
487
487
 
488
488
  // Overload of `string_view::rfind()` for finding a substring of a different
489
489
  // C-style string `s` within the `string_view`.
490
- size_type rfind(absl::Nonnull<const char*> s, size_type pos,
490
+ size_type rfind(const char* absl_nonnull s, size_type pos,
491
491
  size_type count) const {
492
492
  return rfind(string_view(s, count), pos);
493
493
  }
494
494
 
495
495
  // Overload of `string_view::rfind()` for finding a different C-style string
496
496
  // `s` within the `string_view`.
497
- size_type rfind(absl::Nonnull<const char*> s, size_type pos = npos) const {
497
+ size_type rfind(const char* absl_nonnull s, size_type pos = npos) const {
498
498
  return rfind(string_view(s), pos);
499
499
  }
500
500
 
@@ -513,15 +513,14 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
513
513
 
514
514
  // Overload of `string_view::find_first_of()` for finding a substring of a
515
515
  // different C-style string `s` within the `string_view`.
516
- size_type find_first_of(absl::Nonnull<const char*> s, size_type pos,
516
+ size_type find_first_of(const char* absl_nonnull s, size_type pos,
517
517
  size_type count) const {
518
518
  return find_first_of(string_view(s, count), pos);
519
519
  }
520
520
 
521
521
  // Overload of `string_view::find_first_of()` for finding a different C-style
522
522
  // string `s` within the `string_view`.
523
- size_type find_first_of(absl::Nonnull<const char*> s,
524
- size_type pos = 0) const {
523
+ size_type find_first_of(const char* absl_nonnull s, size_type pos = 0) const {
525
524
  return find_first_of(string_view(s), pos);
526
525
  }
527
526
 
@@ -540,14 +539,14 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
540
539
 
541
540
  // Overload of `string_view::find_last_of()` for finding a substring of a
542
541
  // different C-style string `s` within the `string_view`.
543
- size_type find_last_of(absl::Nonnull<const char*> s, size_type pos,
542
+ size_type find_last_of(const char* absl_nonnull s, size_type pos,
544
543
  size_type count) const {
545
544
  return find_last_of(string_view(s, count), pos);
546
545
  }
547
546
 
548
547
  // Overload of `string_view::find_last_of()` for finding a different C-style
549
548
  // string `s` within the `string_view`.
550
- size_type find_last_of(absl::Nonnull<const char*> s,
549
+ size_type find_last_of(const char* absl_nonnull s,
551
550
  size_type pos = npos) const {
552
551
  return find_last_of(string_view(s), pos);
553
552
  }
@@ -565,14 +564,14 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
565
564
 
566
565
  // Overload of `string_view::find_first_not_of()` for finding a substring of a
567
566
  // different C-style string `s` within the `string_view`.
568
- size_type find_first_not_of(absl::Nonnull<const char*> s, size_type pos,
567
+ size_type find_first_not_of(const char* absl_nonnull s, size_type pos,
569
568
  size_type count) const {
570
569
  return find_first_not_of(string_view(s, count), pos);
571
570
  }
572
571
 
573
572
  // Overload of `string_view::find_first_not_of()` for finding a different
574
573
  // C-style string `s` within the `string_view`.
575
- size_type find_first_not_of(absl::Nonnull<const char*> s,
574
+ size_type find_first_not_of(const char* absl_nonnull s,
576
575
  size_type pos = 0) const {
577
576
  return find_first_not_of(string_view(s), pos);
578
577
  }
@@ -591,14 +590,14 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
591
590
 
592
591
  // Overload of `string_view::find_last_not_of()` for finding a substring of a
593
592
  // different C-style string `s` within the `string_view`.
594
- size_type find_last_not_of(absl::Nonnull<const char*> s, size_type pos,
593
+ size_type find_last_not_of(const char* absl_nonnull s, size_type pos,
595
594
  size_type count) const {
596
595
  return find_last_not_of(string_view(s, count), pos);
597
596
  }
598
597
 
599
598
  // Overload of `string_view::find_last_not_of()` for finding a different
600
599
  // C-style string `s` within the `string_view`.
601
- size_type find_last_not_of(absl::Nonnull<const char*> s,
600
+ size_type find_last_not_of(const char* absl_nonnull s,
602
601
  size_type pos = npos) const {
603
602
  return find_last_not_of(string_view(s), pos);
604
603
  }
@@ -659,7 +658,7 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
659
658
  // The constructor from std::string delegates to this constructor.
660
659
  // See the comment on that constructor for the rationale.
661
660
  struct SkipCheckLengthTag {};
662
- string_view(absl::Nullable<const char*> data, size_type len,
661
+ string_view(const char* absl_nullable data, size_type len,
663
662
  SkipCheckLengthTag) noexcept
664
663
  : ptr_(data), length_(len) {}
665
664
 
@@ -667,10 +666,11 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
667
666
  (std::numeric_limits<difference_type>::max)();
668
667
 
669
668
  static constexpr size_type CheckLengthInternal(size_type len) {
670
- return ABSL_HARDENING_ASSERT(len <= kMaxSize), len;
669
+ ABSL_HARDENING_ASSERT(len <= kMaxSize);
670
+ return len;
671
671
  }
672
672
 
673
- static constexpr size_type StrlenInternal(absl::Nonnull<const char*> str) {
673
+ static constexpr size_type StrlenInternal(const char* absl_nonnull str) {
674
674
  #if defined(_MSC_VER) && !defined(__clang__)
675
675
  // MSVC 2017+ can evaluate this at compile-time.
676
676
  const char* begin = str;
@@ -688,10 +688,6 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
688
688
  #endif
689
689
  }
690
690
 
691
- static constexpr size_t Min(size_type length_a, size_type length_b) {
692
- return length_a < length_b ? length_a : length_b;
693
- }
694
-
695
691
  static constexpr int CompareImpl(size_type length_a, size_type length_b,
696
692
  int compare_result) {
697
693
  return compare_result == 0 ? static_cast<int>(length_a > length_b) -
@@ -699,7 +695,7 @@ class ABSL_INTERNAL_ATTRIBUTE_VIEW string_view {
699
695
  : (compare_result < 0 ? -1 : 1);
700
696
  }
701
697
 
702
- absl::Nullable<const char*> ptr_;
698
+ const char* absl_nullable ptr_;
703
699
  size_type length_;
704
700
  };
705
701
 
@@ -760,7 +756,7 @@ inline string_view ClippedSubstr(string_view s, size_t pos,
760
756
  // Creates an `absl::string_view` from a pointer `p` even if it's null-valued.
761
757
  // This function should be used where an `absl::string_view` can be created from
762
758
  // a possibly-null pointer.
763
- constexpr string_view NullSafeStringView(absl::Nullable<const char*> p) {
759
+ constexpr string_view NullSafeStringView(const char* absl_nullable p) {
764
760
  return p ? string_view(p) : string_view();
765
761
  }
766
762
 
@@ -24,6 +24,7 @@
24
24
  #include <cstddef>
25
25
  #include <string>
26
26
 
27
+ #include "absl/base/attributes.h"
27
28
  #include "absl/base/macros.h"
28
29
  #include "absl/base/nullability.h"
29
30
  #include "absl/strings/ascii.h"
@@ -44,8 +45,8 @@ ABSL_NAMESPACE_BEGIN
44
45
  // absl::string_view input("abc");
45
46
  // EXPECT_TRUE(absl::ConsumePrefix(&input, "a"));
46
47
  // EXPECT_EQ(input, "bc");
47
- inline bool ConsumePrefix(absl::Nonnull<absl::string_view*> str,
48
- absl::string_view expected) {
48
+ inline constexpr bool ConsumePrefix(absl::string_view* absl_nonnull str,
49
+ absl::string_view expected) {
49
50
  if (!absl::StartsWith(*str, expected)) return false;
50
51
  str->remove_prefix(expected.size());
51
52
  return true;
@@ -61,8 +62,8 @@ inline bool ConsumePrefix(absl::Nonnull<absl::string_view*> str,
61
62
  // absl::string_view input("abcdef");
62
63
  // EXPECT_TRUE(absl::ConsumeSuffix(&input, "def"));
63
64
  // EXPECT_EQ(input, "abc");
64
- inline bool ConsumeSuffix(absl::Nonnull<absl::string_view*> str,
65
- absl::string_view expected) {
65
+ inline constexpr bool ConsumeSuffix(absl::string_view* absl_nonnull str,
66
+ absl::string_view expected) {
66
67
  if (!absl::EndsWith(*str, expected)) return false;
67
68
  str->remove_suffix(expected.size());
68
69
  return true;
@@ -73,8 +74,9 @@ inline bool ConsumeSuffix(absl::Nonnull<absl::string_view*> str,
73
74
  // Returns a view into the input string `str` with the given `prefix` removed,
74
75
  // but leaving the original string intact. If the prefix does not match at the
75
76
  // start of the string, returns the original string instead.
76
- ABSL_MUST_USE_RESULT inline absl::string_view StripPrefix(
77
- absl::string_view str, absl::string_view prefix) {
77
+ [[nodiscard]] inline constexpr absl::string_view StripPrefix(
78
+ absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND,
79
+ absl::string_view prefix) {
78
80
  if (absl::StartsWith(str, prefix)) str.remove_prefix(prefix.size());
79
81
  return str;
80
82
  }
@@ -84,8 +86,9 @@ ABSL_MUST_USE_RESULT inline absl::string_view StripPrefix(
84
86
  // Returns a view into the input string `str` with the given `suffix` removed,
85
87
  // but leaving the original string intact. If the suffix does not match at the
86
88
  // end of the string, returns the original string instead.
87
- ABSL_MUST_USE_RESULT inline absl::string_view StripSuffix(
88
- absl::string_view str, absl::string_view suffix) {
89
+ [[nodiscard]] inline constexpr absl::string_view StripSuffix(
90
+ absl::string_view str ABSL_ATTRIBUTE_LIFETIME_BOUND,
91
+ absl::string_view suffix) {
89
92
  if (absl::EndsWith(str, suffix)) str.remove_suffix(suffix.size());
90
93
  return str;
91
94
  }
@@ -35,9 +35,10 @@ namespace absl {
35
35
  ABSL_NAMESPACE_BEGIN
36
36
  namespace substitute_internal {
37
37
 
38
- void SubstituteAndAppendArray(
39
- absl::Nonnull<std::string*> output, absl::string_view format,
40
- absl::Nullable<const absl::string_view*> args_array, size_t num_args) {
38
+ void SubstituteAndAppendArray(std::string* absl_nonnull output,
39
+ absl::string_view format,
40
+ const absl::string_view* absl_nullable args_array,
41
+ size_t num_args) {
41
42
  // Determine total size needed.
42
43
  size_t size = 0;
43
44
  for (size_t i = 0; i < format.size(); i++) {
@@ -109,7 +110,7 @@ void SubstituteAndAppendArray(
109
110
  assert(target == output->data() + output->size());
110
111
  }
111
112
 
112
- Arg::Arg(absl::Nullable<const void*> value) {
113
+ Arg::Arg(const void* absl_nullable value) {
113
114
  static_assert(sizeof(scratch_) >= sizeof(value) * 2 + 2,
114
115
  "fix sizeof(scratch_)");
115
116
  if (value == nullptr) {