grpc 1.66.0 → 1.67.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (547) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +19 -10
  3. data/include/grpc/credentials.h +1 -1
  4. data/include/grpc/event_engine/README.md +1 -1
  5. data/include/grpc/event_engine/internal/slice_cast.h +1 -1
  6. data/include/grpc/event_engine/slice.h +0 -1
  7. data/include/grpc/event_engine/slice_buffer.h +0 -1
  8. data/include/grpc/grpc_crl_provider.h +1 -1
  9. data/include/grpc/impl/channel_arg_names.h +1 -1
  10. data/include/grpc/support/log.h +34 -32
  11. data/include/grpc/support/sync_generic.h +2 -4
  12. data/src/core/channelz/channelz.cc +0 -1
  13. data/src/core/channelz/channelz_registry.cc +0 -1
  14. data/src/core/client_channel/client_channel.cc +10 -7
  15. data/src/core/client_channel/client_channel.h +1 -1
  16. data/src/core/client_channel/client_channel_filter.cc +21 -18
  17. data/src/core/client_channel/client_channel_filter.h +1 -1
  18. data/src/core/client_channel/client_channel_internal.h +0 -2
  19. data/src/core/client_channel/config_selector.h +0 -1
  20. data/src/core/client_channel/dynamic_filters.cc +0 -2
  21. data/src/core/client_channel/local_subchannel_pool.cc +0 -2
  22. data/src/core/client_channel/retry_filter.h +0 -1
  23. data/src/core/client_channel/retry_filter_legacy_call_data.cc +175 -257
  24. data/src/core/client_channel/subchannel.cc +21 -27
  25. data/src/core/client_channel/subchannel_stream_client.cc +1 -1
  26. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +8 -9
  27. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +0 -1
  28. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -4
  29. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +167 -0
  30. data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +82 -0
  31. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +81 -0
  32. data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +87 -0
  33. data/src/core/ext/filters/http/message_compress/compression_filter.cc +7 -9
  34. data/src/core/ext/filters/http/server/http_server_filter.cc +2 -4
  35. data/src/core/ext/filters/message_size/message_size_filter.cc +6 -7
  36. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +0 -2
  37. data/src/core/ext/transport/chttp2/alpn/alpn.cc +0 -1
  38. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +6 -8
  39. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +0 -1
  40. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +288 -265
  41. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -4
  42. data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -1
  43. data/src/core/ext/transport/chttp2/transport/frame.cc +0 -1
  44. data/src/core/ext/transport/chttp2/transport/frame_data.cc +0 -1
  45. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +0 -1
  46. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +6 -6
  47. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +3 -4
  48. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +5 -6
  49. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +0 -1
  50. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -3
  51. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
  52. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +0 -1
  53. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +3 -3
  54. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +37 -5
  55. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +27 -6
  56. data/src/core/ext/transport/chttp2/transport/internal.h +2 -3
  57. data/src/core/ext/transport/chttp2/transport/parsing.cc +21 -32
  58. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -1
  59. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +6 -8
  60. data/src/core/ext/transport/chttp2/transport/varint.h +0 -1
  61. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +0 -1
  62. data/src/core/ext/transport/chttp2/transport/writing.cc +22 -22
  63. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +431 -0
  64. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +129 -0
  65. data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +33 -0
  66. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +16 -0
  67. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +13 -2
  68. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +397 -22
  69. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +94 -20
  70. data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +2 -0
  71. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +86 -0
  72. data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +47 -0
  73. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +108 -107
  74. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +101 -78
  75. data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +10 -0
  76. data/src/core/handshaker/handshaker.cc +21 -29
  77. data/src/core/handshaker/security/secure_endpoint.cc +3 -3
  78. data/src/core/handshaker/security/security_handshaker.cc +60 -72
  79. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +0 -1
  80. data/src/core/lib/backoff/backoff.cc +7 -10
  81. data/src/core/lib/backoff/backoff.h +4 -6
  82. data/src/core/lib/channel/channel_stack.cc +0 -1
  83. data/src/core/lib/channel/channel_stack.h +0 -1
  84. data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -1
  85. data/src/core/lib/channel/connected_channel.cc +0 -1
  86. data/src/core/lib/channel/promise_based_filter.cc +146 -194
  87. data/src/core/lib/channel/promise_based_filter.h +1 -1
  88. data/src/core/lib/compression/compression_internal.cc +0 -1
  89. data/src/core/lib/config/config_vars.cc +11 -1
  90. data/src/core/lib/config/config_vars.h +8 -0
  91. data/src/core/lib/config/core_configuration.cc +0 -1
  92. data/src/core/lib/config/core_configuration.h +0 -1
  93. data/src/core/lib/debug/event_log.cc +0 -1
  94. data/src/core/lib/debug/trace_flags.cc +4 -18
  95. data/src/core/lib/debug/trace_flags.h +2 -5
  96. data/src/core/lib/debug/trace_impl.h +6 -0
  97. data/src/core/lib/event_engine/ares_resolver.cc +89 -56
  98. data/src/core/lib/event_engine/ares_resolver.h +0 -9
  99. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +14 -1
  100. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +1 -1
  101. data/src/core/lib/event_engine/forkable.cc +0 -1
  102. data/src/core/lib/event_engine/forkable.h +0 -1
  103. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
  104. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +4 -4
  105. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +0 -1
  106. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +0 -1
  107. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +9 -1
  108. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +0 -1
  109. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +2 -2
  110. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +1 -2
  111. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -9
  112. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +0 -1
  113. data/src/core/lib/event_engine/resolved_address.cc +0 -1
  114. data/src/core/lib/event_engine/slice.cc +0 -1
  115. data/src/core/lib/event_engine/thread_pool/thread_count.cc +0 -1
  116. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +3 -5
  117. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +121 -93
  118. data/src/core/lib/experiments/config.cc +12 -10
  119. data/src/core/lib/experiments/experiments.cc +45 -66
  120. data/src/core/lib/experiments/experiments.h +22 -27
  121. data/src/core/lib/gprpp/chunked_vector.h +0 -1
  122. data/src/core/lib/gprpp/down_cast.h +0 -1
  123. data/src/core/lib/gprpp/host_port.cc +0 -1
  124. data/src/core/lib/gprpp/load_file.cc +0 -1
  125. data/src/core/lib/gprpp/mpscq.h +0 -1
  126. data/src/core/lib/gprpp/single_set_ptr.h +0 -1
  127. data/src/core/lib/gprpp/status_helper.cc +0 -1
  128. data/src/core/lib/gprpp/sync.h +0 -1
  129. data/src/core/lib/gprpp/table.h +28 -0
  130. data/src/core/lib/gprpp/thd.h +0 -1
  131. data/src/core/lib/gprpp/time.h +0 -1
  132. data/src/core/lib/gprpp/time_util.cc +0 -1
  133. data/src/core/lib/gprpp/windows/directory_reader.cc +0 -2
  134. data/src/core/lib/gprpp/windows/thd.cc +0 -1
  135. data/src/core/lib/gprpp/work_serializer.cc +23 -34
  136. data/src/core/lib/iomgr/buffer_list.cc +0 -1
  137. data/src/core/lib/iomgr/call_combiner.h +6 -8
  138. data/src/core/lib/iomgr/cfstream_handle.cc +6 -8
  139. data/src/core/lib/iomgr/closure.h +5 -8
  140. data/src/core/lib/iomgr/combiner.cc +6 -8
  141. data/src/core/lib/iomgr/endpoint_cfstream.cc +17 -22
  142. data/src/core/lib/iomgr/endpoint_pair_posix.cc +0 -1
  143. data/src/core/lib/iomgr/error.h +0 -1
  144. data/src/core/lib/iomgr/ev_apple.cc +13 -18
  145. data/src/core/lib/iomgr/ev_epoll1_linux.cc +47 -85
  146. data/src/core/lib/iomgr/ev_poll_posix.cc +17 -24
  147. data/src/core/lib/iomgr/ev_posix.cc +55 -44
  148. data/src/core/lib/iomgr/ev_posix.h +0 -5
  149. data/src/core/lib/iomgr/event_engine_shims/closure.cc +7 -9
  150. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +3 -4
  151. data/src/core/lib/iomgr/exec_ctx.cc +6 -9
  152. data/src/core/lib/iomgr/exec_ctx.h +26 -16
  153. data/src/core/lib/iomgr/executor.cc +43 -33
  154. data/src/core/lib/iomgr/fork_windows.cc +0 -1
  155. data/src/core/lib/iomgr/internal_errqueue.cc +0 -1
  156. data/src/core/lib/iomgr/iocp_windows.cc +0 -1
  157. data/src/core/lib/iomgr/iomgr_windows.cc +0 -2
  158. data/src/core/lib/iomgr/lockfree_event.cc +7 -11
  159. data/src/core/lib/iomgr/polling_entity.cc +10 -3
  160. data/src/core/lib/iomgr/pollset_windows.cc +0 -2
  161. data/src/core/lib/iomgr/resolve_address.cc +0 -1
  162. data/src/core/lib/iomgr/resolve_address_posix.cc +0 -1
  163. data/src/core/lib/iomgr/resolve_address_windows.cc +0 -1
  164. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +0 -1
  165. data/src/core/lib/iomgr/socket_mutator.cc +0 -1
  166. data/src/core/lib/iomgr/socket_utils_linux.cc +0 -2
  167. data/src/core/lib/iomgr/socket_utils_posix.cc +0 -1
  168. data/src/core/lib/iomgr/socket_utils_windows.cc +0 -2
  169. data/src/core/lib/iomgr/tcp_client_cfstream.cc +7 -12
  170. data/src/core/lib/iomgr/tcp_client_posix.cc +8 -12
  171. data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
  172. data/src/core/lib/iomgr/tcp_posix.cc +32 -68
  173. data/src/core/lib/iomgr/tcp_server_posix.cc +7 -11
  174. data/src/core/lib/iomgr/tcp_windows.cc +4 -12
  175. data/src/core/lib/iomgr/timer_generic.cc +46 -65
  176. data/src/core/lib/iomgr/timer_manager.cc +4 -5
  177. data/src/core/lib/iomgr/unix_sockets_posix.cc +0 -1
  178. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -2
  179. data/src/core/lib/iomgr/vsock.cc +0 -1
  180. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +0 -2
  181. data/src/core/lib/promise/activity.h +0 -1
  182. data/src/core/lib/promise/context.h +0 -1
  183. data/src/core/lib/promise/detail/join_state.h +44 -44
  184. data/src/core/lib/promise/detail/seq_state.h +1101 -1356
  185. data/src/core/lib/promise/for_each.h +8 -15
  186. data/src/core/lib/promise/interceptor_list.h +17 -27
  187. data/src/core/lib/promise/latch.h +16 -24
  188. data/src/core/lib/promise/map.h +1 -1
  189. data/src/core/lib/promise/party.cc +238 -114
  190. data/src/core/lib/promise/party.h +105 -308
  191. data/src/core/lib/promise/pipe.h +3 -4
  192. data/src/core/lib/promise/poll.h +0 -1
  193. data/src/core/lib/promise/status_flag.h +0 -1
  194. data/src/core/lib/resource_quota/connection_quota.cc +0 -1
  195. data/src/core/lib/resource_quota/memory_quota.cc +11 -19
  196. data/src/core/lib/resource_quota/memory_quota.h +2 -4
  197. data/src/core/lib/resource_quota/periodic_update.cc +2 -3
  198. data/src/core/lib/resource_quota/thread_quota.cc +0 -1
  199. data/src/core/lib/security/authorization/audit_logging.cc +0 -1
  200. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +0 -1
  201. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +14 -19
  202. data/src/core/lib/security/authorization/stdout_logger.cc +0 -1
  203. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +0 -1
  204. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +0 -1
  205. data/src/core/lib/security/credentials/call_creds_util.cc +0 -1
  206. data/src/core/lib/security/credentials/composite/composite_credentials.cc +0 -1
  207. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -0
  208. data/src/core/lib/security/credentials/credentials.h +1 -2
  209. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +322 -324
  210. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +53 -42
  211. data/src/core/lib/security/credentials/external/external_account_credentials.cc +391 -353
  212. data/src/core/lib/security/credentials/external/external_account_credentials.h +121 -51
  213. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +83 -44
  214. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +27 -7
  215. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +91 -116
  216. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +14 -17
  217. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -0
  218. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +196 -0
  219. data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
  220. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +27 -41
  221. data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
  222. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -0
  223. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -0
  224. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +163 -259
  225. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +34 -56
  226. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +12 -16
  227. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -0
  228. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -1
  229. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -1
  230. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -1
  231. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +0 -1
  232. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +0 -1
  233. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +298 -0
  234. data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +176 -0
  235. data/src/core/lib/security/credentials/xds/xds_credentials.cc +0 -1
  236. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +0 -1
  237. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +0 -1
  238. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +0 -1
  239. data/src/core/lib/security/transport/server_auth_filter.cc +4 -6
  240. data/src/core/lib/slice/percent_encoding.cc +0 -1
  241. data/src/core/lib/slice/slice.cc +0 -1
  242. data/src/core/lib/slice/slice.h +0 -1
  243. data/src/core/lib/slice/slice_buffer.cc +0 -1
  244. data/src/core/lib/slice/slice_internal.h +0 -1
  245. data/src/core/lib/slice/slice_refcount.h +6 -8
  246. data/src/core/lib/surface/byte_buffer_reader.cc +0 -1
  247. data/src/core/lib/surface/call.cc +3 -5
  248. data/src/core/lib/surface/call_utils.h +0 -1
  249. data/src/core/lib/surface/channel.cc +0 -1
  250. data/src/core/lib/surface/channel_create.cc +0 -1
  251. data/src/core/lib/surface/channel_init.h +0 -1
  252. data/src/core/lib/surface/client_call.cc +0 -1
  253. data/src/core/lib/surface/client_call.h +0 -1
  254. data/src/core/lib/surface/completion_queue.cc +28 -4
  255. data/src/core/lib/surface/completion_queue_factory.cc +0 -1
  256. data/src/core/lib/surface/filter_stack_call.cc +9 -9
  257. data/src/core/lib/surface/filter_stack_call.h +0 -1
  258. data/src/core/lib/surface/lame_client.cc +0 -1
  259. data/src/core/lib/surface/server_call.cc +0 -1
  260. data/src/core/lib/surface/server_call.h +0 -1
  261. data/src/core/lib/surface/validate_metadata.h +0 -1
  262. data/src/core/lib/surface/version.cc +2 -2
  263. data/src/core/lib/transport/bdp_estimator.cc +9 -12
  264. data/src/core/lib/transport/bdp_estimator.h +6 -8
  265. data/src/core/lib/transport/call_arena_allocator.cc +2 -16
  266. data/src/core/lib/transport/call_arena_allocator.h +20 -5
  267. data/src/core/lib/transport/call_filters.cc +6 -9
  268. data/src/core/lib/transport/call_spine.h +24 -13
  269. data/src/core/lib/transport/connectivity_state.cc +34 -42
  270. data/src/core/lib/transport/metadata_batch.h +41 -1
  271. data/src/core/lib/transport/timeout_encoding.cc +0 -1
  272. data/src/core/lib/transport/transport.h +6 -8
  273. data/src/core/lib/transport/transport_op_string.cc +0 -1
  274. data/src/core/lib/uri/uri_parser.cc +0 -1
  275. data/src/core/load_balancing/grpclb/grpclb.cc +55 -71
  276. data/src/core/load_balancing/health_check_client.cc +31 -42
  277. data/src/core/load_balancing/oob_backend_metric.cc +2 -4
  278. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +99 -129
  279. data/src/core/load_balancing/pick_first/pick_first.cc +168 -228
  280. data/src/core/load_balancing/priority/priority.cc +77 -106
  281. data/src/core/load_balancing/ring_hash/ring_hash.cc +32 -46
  282. data/src/core/load_balancing/rls/rls.cc +142 -187
  283. data/src/core/load_balancing/round_robin/round_robin.cc +36 -55
  284. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +0 -1
  285. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +85 -110
  286. data/src/core/load_balancing/weighted_target/weighted_target.cc +52 -75
  287. data/src/core/load_balancing/xds/cds.cc +26 -43
  288. data/src/core/load_balancing/xds/xds_cluster_impl.cc +57 -54
  289. data/src/core/load_balancing/xds/xds_cluster_manager.cc +36 -50
  290. data/src/core/load_balancing/xds/xds_override_host.cc +95 -131
  291. data/src/core/load_balancing/xds/xds_wrr_locality.cc +15 -23
  292. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +3 -0
  293. data/src/core/resolver/binder/binder_resolver.cc +0 -2
  294. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +62 -44
  295. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +0 -2
  296. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +110 -89
  297. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +132 -96
  298. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +0 -7
  299. data/src/core/resolver/dns/dns_resolver_plugin.cc +0 -1
  300. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +40 -39
  301. data/src/core/resolver/dns/native/dns_resolver.cc +8 -14
  302. data/src/core/resolver/endpoint_addresses.cc +0 -1
  303. data/src/core/resolver/fake/fake_resolver.cc +0 -1
  304. data/src/core/resolver/polling_resolver.cc +6 -15
  305. data/src/core/resolver/polling_resolver.h +1 -1
  306. data/src/core/resolver/xds/xds_config.cc +96 -0
  307. data/src/core/resolver/xds/xds_config.h +109 -0
  308. data/src/core/resolver/xds/xds_dependency_manager.cc +59 -154
  309. data/src/core/resolver/xds/xds_dependency_manager.h +1 -69
  310. data/src/core/resolver/xds/xds_resolver.cc +51 -55
  311. data/src/core/server/server.cc +2 -2
  312. data/src/core/server/server_config_selector_filter.cc +0 -1
  313. data/src/core/server/xds_server_config_fetcher.cc +4 -6
  314. data/src/core/service_config/service_config_call_data.h +2 -3
  315. data/src/core/service_config/service_config_channel_arg_filter.cc +0 -1
  316. data/src/core/service_config/service_config_impl.h +0 -1
  317. data/src/core/telemetry/call_tracer.cc +0 -1
  318. data/src/core/telemetry/metrics.h +0 -1
  319. data/src/core/telemetry/stats_data.cc +67 -0
  320. data/src/core/telemetry/stats_data.h +48 -0
  321. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +0 -1
  322. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +0 -1
  323. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +0 -1
  324. data/src/core/tsi/fake_transport_security.cc +6 -5
  325. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +0 -1
  326. data/src/core/util/alloc.cc +0 -1
  327. data/src/core/util/gcp_metadata_query.cc +0 -1
  328. data/src/core/util/http_client/httpcli.cc +12 -15
  329. data/src/core/util/http_client/httpcli.h +16 -11
  330. data/src/core/util/http_client/parser.cc +3 -4
  331. data/src/core/util/json/json_reader.cc +0 -1
  332. data/src/core/util/latent_see.cc +29 -9
  333. data/src/core/util/latent_see.h +122 -27
  334. data/src/core/util/log.cc +36 -55
  335. data/src/core/util/lru_cache.h +104 -0
  336. data/src/core/util/msys/tmpfile.cc +0 -1
  337. data/src/core/util/posix/sync.cc +0 -1
  338. data/src/core/util/posix/time.cc +0 -1
  339. data/src/core/util/ring_buffer.h +123 -0
  340. data/src/core/util/spinlock.h +1 -2
  341. data/src/core/util/string.cc +7 -7
  342. data/src/core/util/sync.cc +0 -1
  343. data/src/core/util/sync_abseil.cc +0 -1
  344. data/src/core/util/time.cc +0 -1
  345. data/src/core/util/unique_ptr_with_bitset.h +86 -0
  346. data/src/core/util/useful.h +0 -24
  347. data/src/core/util/windows/cpu.cc +0 -1
  348. data/src/core/util/windows/sync.cc +0 -1
  349. data/src/core/util/windows/time.cc +0 -1
  350. data/src/core/util/windows/tmpfile.cc +0 -1
  351. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +0 -32
  352. data/src/core/xds/grpc/xds_bootstrap_grpc.h +0 -5
  353. data/src/core/xds/grpc/xds_certificate_provider.cc +0 -1
  354. data/src/core/xds/grpc/xds_client_grpc.cc +11 -16
  355. data/src/core/xds/grpc/xds_cluster.cc +2 -8
  356. data/src/core/xds/grpc/xds_cluster.h +4 -4
  357. data/src/core/xds/grpc/xds_cluster_parser.cc +58 -96
  358. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +0 -1
  359. data/src/core/xds/grpc/xds_common_types_parser.cc +4 -4
  360. data/src/core/xds/grpc/xds_common_types_parser.h +17 -0
  361. data/src/core/xds/grpc/xds_endpoint_parser.cc +14 -14
  362. data/src/core/xds/grpc/xds_http_fault_filter.cc +15 -6
  363. data/src/core/xds/grpc/xds_http_fault_filter.h +5 -1
  364. data/src/core/xds/grpc/xds_http_filter.h +11 -1
  365. data/src/core/xds/grpc/xds_http_filter_registry.cc +7 -1
  366. data/src/core/xds/grpc/xds_http_filter_registry.h +8 -1
  367. data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +142 -0
  368. data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +61 -0
  369. data/src/core/xds/grpc/xds_http_rbac_filter.cc +14 -6
  370. data/src/core/xds/grpc/xds_http_rbac_filter.h +5 -1
  371. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +9 -1
  372. data/src/core/xds/grpc/xds_http_stateful_session_filter.h +5 -1
  373. data/src/core/xds/grpc/xds_lb_policy_registry.cc +14 -16
  374. data/src/core/xds/grpc/xds_listener_parser.cc +10 -11
  375. data/src/core/xds/grpc/xds_metadata.cc +62 -0
  376. data/src/core/xds/grpc/xds_metadata.h +127 -0
  377. data/src/core/xds/grpc/xds_metadata_parser.cc +143 -0
  378. data/src/core/xds/grpc/xds_metadata_parser.h +36 -0
  379. data/src/core/xds/grpc/xds_route_config_parser.cc +12 -17
  380. data/src/core/xds/grpc/xds_routing.cc +57 -22
  381. data/src/core/xds/grpc/xds_routing.h +10 -2
  382. data/src/core/xds/grpc/xds_transport_grpc.cc +0 -1
  383. data/src/core/xds/xds_client/xds_client.cc +124 -165
  384. data/src/core/xds/xds_client/xds_client_stats.cc +20 -27
  385. data/src/ruby/ext/grpc/rb_call.c +1 -1
  386. data/src/ruby/ext/grpc/rb_call_credentials.c +34 -27
  387. data/src/ruby/ext/grpc/rb_channel.c +22 -16
  388. data/src/ruby/ext/grpc/rb_event_thread.c +3 -2
  389. data/src/ruby/ext/grpc/rb_grpc.c +9 -8
  390. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -10
  391. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -15
  392. data/src/ruby/ext/grpc/rb_server.c +10 -8
  393. data/src/ruby/lib/grpc/generic/active_call.rb +8 -5
  394. data/src/ruby/lib/grpc/version.rb +1 -1
  395. data/src/ruby/spec/call_spec.rb +53 -40
  396. data/src/ruby/spec/channel_spec.rb +4 -2
  397. data/src/ruby/spec/client_server_spec.rb +148 -507
  398. data/src/ruby/spec/generic/active_call_spec.rb +64 -86
  399. data/src/ruby/spec/support/services.rb +3 -0
  400. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand/fork_detect.h → bcm_support.h} +51 -6
  401. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +43 -0
  402. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +72 -23
  403. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +1 -1
  404. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +160 -14
  405. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +2 -0
  406. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +79 -78
  407. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +89 -0
  408. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div.c → div.c.inc} +146 -179
  409. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{random.c → random.c.inc} +6 -8
  410. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{sqrt.c → sqrt.c.inc} +1 -1
  411. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aes.c → e_aes.c.inc} +9 -8
  412. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_key.c → ec_key.c.inc} +11 -7
  413. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-nistz.c → p256-nistz.c.inc} +104 -12
  414. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +65 -8
  415. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/{ecdsa.c → ecdsa.c.inc} +52 -107
  416. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +28 -11
  417. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -80
  418. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{rand.c → rand.c.inc} +26 -40
  419. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{padding.c → padding.c.inc} +2 -5
  420. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c → rsa_impl.c.inc} +1 -1
  421. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{self_check.c → self_check.c.inc} +9 -35
  422. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +2 -2
  423. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/{service_indicator.c → service_indicator.c.inc} +2 -2
  424. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +293 -2
  425. data/third_party/boringssl-with-bazel/src/crypto/internal.h +69 -14
  426. data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -3
  427. data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +73 -0
  428. data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c +1687 -0
  429. data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +90 -0
  430. data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +1097 -0
  431. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +4 -1
  432. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +4 -5
  433. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +2 -3
  434. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +1 -1
  435. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +1 -0
  436. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +9 -1
  437. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/fork_detect.c +26 -28
  438. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +9 -1
  439. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +9 -1
  440. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +19 -3
  441. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +26 -23
  442. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +37 -0
  443. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +9 -1
  444. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/urandom.c +19 -19
  445. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +8 -1
  446. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +2 -0
  447. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +14 -1
  448. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -9
  449. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +13 -15
  450. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +8 -6
  451. data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +136 -0
  452. data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +246 -0
  453. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +3 -0
  454. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +3 -4
  455. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +2 -2
  456. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +22 -0
  457. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +35 -5
  458. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -6
  459. data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +6 -0
  460. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +6 -1
  461. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +13 -1
  462. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +289 -55
  463. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +2 -0
  464. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +69 -38
  465. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +14 -3
  466. data/third_party/boringssl-with-bazel/src/ssl/internal.h +107 -14
  467. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +44 -16
  468. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +21 -1
  469. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +86 -1
  470. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +7 -4
  471. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +97 -3
  472. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +31 -2
  473. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +6 -0
  474. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +18 -4
  475. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +96 -34
  476. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +15 -5
  477. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +3 -23
  478. metadata +113 -87
  479. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +0 -45
  480. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +0 -67
  481. data/src/core/util/android/log.cc +0 -48
  482. data/src/core/util/linux/log.cc +0 -69
  483. data/src/core/util/posix/log.cc +0 -69
  484. data/src/core/util/windows/log.cc +0 -73
  485. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes.c → aes.c.inc} +0 -0
  486. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes_nohw.c → aes_nohw.c.inc} +0 -0
  487. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{key_wrap.c → key_wrap.c.inc} +0 -0
  488. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c → mode_wrappers.c.inc} +0 -0
  489. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{add.c → add.c.inc} +0 -0
  490. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/{x86_64-gcc.c → x86_64-gcc.c.inc} +0 -0
  491. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bn.c → bn.c.inc} +0 -0
  492. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c → bytes.c.inc} +0 -0
  493. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c → cmp.c.inc} +0 -0
  494. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{ctx.c → ctx.c.inc} +0 -0
  495. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div_extra.c → div_extra.c.inc} +0 -0
  496. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{exponentiation.c → exponentiation.c.inc} +0 -0
  497. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd.c → gcd.c.inc} +0 -0
  498. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd_extra.c → gcd_extra.c.inc} +0 -0
  499. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c → generic.c.inc} +0 -0
  500. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c → jacobi.c.inc} +0 -0
  501. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery.c → montgomery.c.inc} +0 -0
  502. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c → montgomery_inv.c.inc} +0 -0
  503. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{mul.c → mul.c.inc} +0 -0
  504. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{prime.c → prime.c.inc} +0 -0
  505. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c → rsaz_exp.c.inc} +0 -0
  506. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{shift.c → shift.c.inc} +0 -0
  507. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{aead.c → aead.c.inc} +0 -0
  508. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{cipher.c → cipher.c.inc} +0 -0
  509. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c → e_aesccm.c.inc} +0 -0
  510. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/{cmac.c → cmac.c.inc} +0 -0
  511. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c → check.c.inc} +0 -0
  512. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{dh.c → dh.c.inc} +0 -0
  513. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digest.c → digest.c.inc} +0 -0
  514. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digests.c → digests.c.inc} +0 -0
  515. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/{digestsign.c → digestsign.c.inc} +0 -0
  516. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec.c → ec.c.inc} +0 -0
  517. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c → ec_montgomery.c.inc} +0 -0
  518. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{felem.c → felem.c.inc} +0 -0
  519. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{oct.c → oct.c.inc} +0 -0
  520. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p224-64.c → p224-64.c.inc} +0 -0
  521. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256.c → p256.c.inc} +0 -0
  522. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{scalar.c → scalar.c.inc} +0 -0
  523. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c → simple.c.inc} +0 -0
  524. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple_mul.c → simple_mul.c.inc} +0 -0
  525. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{util.c → util.c.inc} +0 -0
  526. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{wnaf.c → wnaf.c.inc} +0 -0
  527. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/{ecdh.c → ecdh.c.inc} +0 -0
  528. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/{hkdf.c → hkdf.c.inc} +0 -0
  529. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/{hmac.c → hmac.c.inc} +0 -0
  530. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/{md4.c → md4.c.inc} +0 -0
  531. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/{md5.c → md5.c.inc} +0 -0
  532. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c → cbc.c.inc} +0 -0
  533. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c → cfb.c.inc} +0 -0
  534. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c → ctr.c.inc} +0 -0
  535. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm.c → gcm.c.inc} +0 -0
  536. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm_nohw.c → gcm_nohw.c.inc} +0 -0
  537. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c → ofb.c.inc} +0 -0
  538. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{polyval.c → polyval.c.inc} +0 -0
  539. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{ctrdrbg.c → ctrdrbg.c.inc} +0 -0
  540. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{blinding.c → blinding.c.inc} +0 -0
  541. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa.c → rsa.c.inc} +0 -0
  542. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c → fips.c.inc} +0 -0
  543. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha1.c → sha1.c.inc} +0 -0
  544. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha256.c → sha256.c.inc} +0 -0
  545. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha512.c → sha512.c.inc} +0 -0
  546. /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c → kdf.c.inc} +0 -0
  547. /data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/getrandom_fillin.h +0 -0
@@ -139,21 +139,18 @@ RetryFilter::LegacyCallData::CallAttempt::CallAttempt(
139
139
  }
140
140
  },
141
141
  is_transparent_retry);
142
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
143
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
144
- << " attempt=" << this
145
- << ": created attempt, lb_call=" << lb_call_.get();
146
- }
142
+ GRPC_TRACE_LOG(retry, INFO)
143
+ << "chand=" << calld->chand_ << " calld=" << calld << " attempt=" << this
144
+ << ": created attempt, lb_call=" << lb_call_.get();
147
145
  // If per_attempt_recv_timeout is set, start a timer.
148
146
  if (calld->retry_policy_ != nullptr &&
149
147
  calld->retry_policy_->per_attempt_recv_timeout().has_value()) {
150
148
  const Duration per_attempt_recv_timeout =
151
149
  *calld->retry_policy_->per_attempt_recv_timeout();
152
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
153
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
154
- << " attempt=" << this << ": per-attempt timeout in "
155
- << per_attempt_recv_timeout.millis() << " ms";
156
- }
150
+ GRPC_TRACE_LOG(retry, INFO)
151
+ << "chand=" << calld->chand_ << " calld=" << calld
152
+ << " attempt=" << this << ": per-attempt timeout in "
153
+ << per_attempt_recv_timeout.millis() << " ms";
157
154
  // Schedule retry after computed delay.
158
155
  GRPC_CALL_STACK_REF(calld->owning_call_, "OnPerAttemptRecvTimer");
159
156
  Ref(DEBUG_LOCATION, "OnPerAttemptRecvTimer").release();
@@ -167,10 +164,9 @@ RetryFilter::LegacyCallData::CallAttempt::CallAttempt(
167
164
  }
168
165
 
169
166
  RetryFilter::LegacyCallData::CallAttempt::~CallAttempt() {
170
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
171
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
172
- << " attempt=" << this << ": destroying call attempt";
173
- }
167
+ GRPC_TRACE_LOG(retry, INFO)
168
+ << "chand=" << calld_->chand_ << " calld=" << calld_
169
+ << " attempt=" << this << ": destroying call attempt";
174
170
  }
175
171
 
176
172
  void RetryFilter::LegacyCallData::CallAttempt::
@@ -234,12 +230,11 @@ void RetryFilter::LegacyCallData::CallAttempt::MaybeSwitchToFastPath() {
234
230
  // yet seen that op from the surface, we can't switch yet.
235
231
  if (recv_trailing_metadata_internal_batch_ != nullptr) return;
236
232
  // Switch to fast path.
237
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
238
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
239
- << " attempt=" << this
240
- << ": retry state no longer needed; "
241
- "moving LB call to parent and unreffing the call attempt";
242
- }
233
+ GRPC_TRACE_LOG(retry, INFO)
234
+ << "chand=" << calld_->chand_ << " calld=" << calld_
235
+ << " attempt=" << this
236
+ << ": retry state no longer needed; "
237
+ "moving LB call to parent and unreffing the call attempt";
243
238
  calld_->committed_call_ = std::move(lb_call_);
244
239
  calld_->call_attempt_.reset(DEBUG_LOCATION, "MaybeSwitchToFastPath");
245
240
  }
@@ -253,12 +248,10 @@ RetryFilter::LegacyCallData::CallAttempt::MaybeCreateBatchForReplay() {
253
248
  // send_initial_metadata.
254
249
  if (calld_->seen_send_initial_metadata_ && !started_send_initial_metadata_ &&
255
250
  !calld_->pending_send_initial_metadata_) {
256
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
257
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
258
- << " attempt=" << this
259
- << ": replaying previously completed "
260
- "send_initial_metadata op";
261
- }
251
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << calld_->chand_
252
+ << " calld=" << calld_ << " attempt=" << this
253
+ << ": replaying previously completed "
254
+ "send_initial_metadata op";
262
255
  replay_batch_data = CreateBatch(1, true /* set_on_complete */);
263
256
  replay_batch_data->AddRetriableSendInitialMetadataOp();
264
257
  }
@@ -267,12 +260,10 @@ RetryFilter::LegacyCallData::CallAttempt::MaybeCreateBatchForReplay() {
267
260
  if (started_send_message_count_ < calld_->send_messages_.size() &&
268
261
  started_send_message_count_ == completed_send_message_count_ &&
269
262
  !calld_->pending_send_message_) {
270
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
271
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
272
- << " attempt=" << this
273
- << ": replaying previously completed "
274
- "send_message op";
275
- }
263
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << calld_->chand_
264
+ << " calld=" << calld_ << " attempt=" << this
265
+ << ": replaying previously completed "
266
+ "send_message op";
276
267
  if (replay_batch_data == nullptr) {
277
268
  replay_batch_data = CreateBatch(1, true /* set_on_complete */);
278
269
  }
@@ -286,12 +277,10 @@ RetryFilter::LegacyCallData::CallAttempt::MaybeCreateBatchForReplay() {
286
277
  started_send_message_count_ == calld_->send_messages_.size() &&
287
278
  !started_send_trailing_metadata_ &&
288
279
  !calld_->pending_send_trailing_metadata_) {
289
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
290
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
291
- << " attempt=" << this
292
- << ": replaying previously completed "
293
- "send_trailing_metadata op";
294
- }
280
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << calld_->chand_
281
+ << " calld=" << calld_ << " attempt=" << this
282
+ << ": replaying previously completed "
283
+ "send_trailing_metadata op";
295
284
  if (replay_batch_data == nullptr) {
296
285
  replay_batch_data = CreateBatch(1, true /* set_on_complete */);
297
286
  }
@@ -317,11 +306,10 @@ void StartBatchInCallCombiner(void* arg, grpc_error_handle /*ignored*/) {
317
306
  void RetryFilter::LegacyCallData::CallAttempt::AddClosureForBatch(
318
307
  grpc_transport_stream_op_batch* batch, const char* reason,
319
308
  CallCombinerClosureList* closures) {
320
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
321
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
322
- << " attempt=" << this << ": adding batch (" << reason
323
- << "): " << grpc_transport_stream_op_batch_string(batch, false);
324
- }
309
+ GRPC_TRACE_LOG(retry, INFO)
310
+ << "chand=" << calld_->chand_ << " calld=" << calld_
311
+ << " attempt=" << this << ": adding batch (" << reason
312
+ << "): " << grpc_transport_stream_op_batch_string(batch, false);
325
313
  batch->handler_private.extra_arg = lb_call_.get();
326
314
  GRPC_CLOSURE_INIT(&batch->handler_private.closure, StartBatchInCallCombiner,
327
315
  batch, grpc_schedule_on_exec_ctx);
@@ -330,12 +318,11 @@ void RetryFilter::LegacyCallData::CallAttempt::AddClosureForBatch(
330
318
 
331
319
  void RetryFilter::LegacyCallData::CallAttempt::
332
320
  AddBatchForInternalRecvTrailingMetadata(CallCombinerClosureList* closures) {
333
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
334
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
335
- << " attempt=" << this
336
- << ": call failed but recv_trailing_metadata not started; "
337
- "starting it internally";
338
- }
321
+ GRPC_TRACE_LOG(retry, INFO)
322
+ << "chand=" << calld_->chand_ << " calld=" << calld_
323
+ << " attempt=" << this
324
+ << ": call failed but recv_trailing_metadata not started; "
325
+ "starting it internally";
339
326
  // Create batch_data with 2 refs, since this batch will be unreffed twice:
340
327
  // once for the recv_trailing_metadata_ready callback when the batch
341
328
  // completes, and again when we actually get a recv_trailing_metadata
@@ -520,20 +507,18 @@ void RetryFilter::LegacyCallData::CallAttempt::AddRetriableBatches(
520
507
  }
521
508
 
522
509
  void RetryFilter::LegacyCallData::CallAttempt::StartRetriableBatches() {
523
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
524
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
525
- << " attempt=" << this << ": constructing retriable batches";
526
- }
510
+ GRPC_TRACE_LOG(retry, INFO)
511
+ << "chand=" << calld_->chand_ << " calld=" << calld_
512
+ << " attempt=" << this << ": constructing retriable batches";
527
513
  // Construct list of closures to execute, one for each pending batch.
528
514
  CallCombinerClosureList closures;
529
515
  AddRetriableBatches(&closures);
530
516
  // Note: This will yield the call combiner.
531
517
  // Start batches on LB call.
532
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
533
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
534
- << " attempt=" << this << ": starting " << closures.size()
535
- << " retriable batches on lb_call=" << lb_call_.get();
536
- }
518
+ GRPC_TRACE_LOG(retry, INFO)
519
+ << "chand=" << calld_->chand_ << " calld=" << calld_
520
+ << " attempt=" << this << ": starting " << closures.size()
521
+ << " retriable batches on lb_call=" << lb_call_.get();
537
522
  closures.RunClosures(calld_->call_combiner_);
538
523
  }
539
524
 
@@ -556,20 +541,18 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
556
541
  if (calld_->retry_throttle_data_ != nullptr) {
557
542
  calld_->retry_throttle_data_->RecordSuccess();
558
543
  }
559
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
560
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
561
- << " attempt=" << this << ": call succeeded";
562
- }
544
+ GRPC_TRACE_LOG(retry, INFO)
545
+ << "chand=" << calld_->chand_ << " calld=" << calld_
546
+ << " attempt=" << this << ": call succeeded";
563
547
  return false;
564
548
  }
565
549
  // Status is not OK. Check whether the status is retryable.
566
550
  if (!calld_->retry_policy_->retryable_status_codes().Contains(*status)) {
567
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
568
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
569
- << " attempt=" << this << ": status "
570
- << grpc_status_code_to_string(*status)
571
- << " not configured as retryable";
572
- }
551
+ GRPC_TRACE_LOG(retry, INFO)
552
+ << "chand=" << calld_->chand_ << " calld=" << calld_
553
+ << " attempt=" << this << ": status "
554
+ << grpc_status_code_to_string(*status)
555
+ << " not configured as retryable";
573
556
  return false;
574
557
  }
575
558
  }
@@ -582,46 +565,40 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
582
565
  // checks, so that we don't fail to record failures due to other factors.
583
566
  if (calld_->retry_throttle_data_ != nullptr &&
584
567
  !calld_->retry_throttle_data_->RecordFailure()) {
585
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
586
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
587
- << " attempt=" << this << ": retries throttled";
588
- }
568
+ GRPC_TRACE_LOG(retry, INFO)
569
+ << "chand=" << calld_->chand_ << " calld=" << calld_
570
+ << " attempt=" << this << ": retries throttled";
589
571
  return false;
590
572
  }
591
573
  // Check whether the call is committed.
592
574
  if (calld_->retry_committed_) {
593
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
594
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
595
- << " attempt=" << this << ": retries already committed";
596
- }
575
+ GRPC_TRACE_LOG(retry, INFO)
576
+ << "chand=" << calld_->chand_ << " calld=" << calld_
577
+ << " attempt=" << this << ": retries already committed";
597
578
  return false;
598
579
  }
599
580
  // Check whether we have retries remaining.
600
581
  ++calld_->num_attempts_completed_;
601
582
  if (calld_->num_attempts_completed_ >=
602
583
  calld_->retry_policy_->max_attempts()) {
603
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
604
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
605
- << " attempt=" << this << ": exceeded "
606
- << calld_->retry_policy_->max_attempts() << " retry attempts";
607
- }
584
+ GRPC_TRACE_LOG(retry, INFO)
585
+ << "chand=" << calld_->chand_ << " calld=" << calld_
586
+ << " attempt=" << this << ": exceeded "
587
+ << calld_->retry_policy_->max_attempts() << " retry attempts";
608
588
  return false;
609
589
  }
610
590
  // Check server push-back.
611
591
  if (server_pushback.has_value()) {
612
592
  if (*server_pushback < Duration::Zero()) {
613
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
614
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
615
- << " attempt=" << this
616
- << ": not retrying due to server push-back";
617
- }
593
+ GRPC_TRACE_LOG(retry, INFO)
594
+ << "chand=" << calld_->chand_ << " calld=" << calld_
595
+ << " attempt=" << this << ": not retrying due to server push-back";
618
596
  return false;
619
597
  } else {
620
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
621
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
622
- << " attempt=" << this << ": server push-back: retry in "
623
- << server_pushback->millis() << " ms";
624
- }
598
+ GRPC_TRACE_LOG(retry, INFO)
599
+ << "chand=" << calld_->chand_ << " calld=" << calld_
600
+ << " attempt=" << this << ": server push-back: retry in "
601
+ << server_pushback->millis() << " ms";
625
602
  }
626
603
  }
627
604
  // We should retry.
@@ -665,14 +642,12 @@ void RetryFilter::LegacyCallData::CallAttempt::OnPerAttemptRecvTimerLocked(
665
642
  void* arg, grpc_error_handle error) {
666
643
  auto* call_attempt = static_cast<CallAttempt*>(arg);
667
644
  auto* calld = call_attempt->calld_;
668
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
669
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
670
- << " attempt=" << call_attempt
671
- << ": perAttemptRecvTimeout timer fired: error="
672
- << StatusToString(error)
673
- << ", per_attempt_recv_timer_handle_.has_value()="
674
- << call_attempt->per_attempt_recv_timer_handle_.has_value();
675
- }
645
+ GRPC_TRACE_LOG(retry, INFO)
646
+ << "chand=" << calld->chand_ << " calld=" << calld
647
+ << " attempt=" << call_attempt
648
+ << ": perAttemptRecvTimeout timer fired: error=" << StatusToString(error)
649
+ << ", per_attempt_recv_timer_handle_.has_value()="
650
+ << call_attempt->per_attempt_recv_timer_handle_.has_value();
676
651
  CallCombinerClosureList closures;
677
652
  call_attempt->per_attempt_recv_timer_handle_.reset();
678
653
  // Cancel this attempt.
@@ -705,11 +680,9 @@ void RetryFilter::LegacyCallData::CallAttempt::OnPerAttemptRecvTimerLocked(
705
680
  void RetryFilter::LegacyCallData::CallAttempt::
706
681
  MaybeCancelPerAttemptRecvTimer() {
707
682
  if (per_attempt_recv_timer_handle_.has_value()) {
708
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
709
- LOG(INFO) << "chand=" << calld_->chand_ << " calld=" << calld_
710
- << " attempt=" << this
711
- << ": cancelling perAttemptRecvTimeout timer";
712
- }
683
+ GRPC_TRACE_LOG(retry, INFO)
684
+ << "chand=" << calld_->chand_ << " calld=" << calld_
685
+ << " attempt=" << this << ": cancelling perAttemptRecvTimeout timer";
713
686
  if (calld_->chand_->event_engine()->Cancel(
714
687
  *per_attempt_recv_timer_handle_)) {
715
688
  Unref(DEBUG_LOCATION, "OnPerAttemptRecvTimer");
@@ -728,11 +701,10 @@ RetryFilter::LegacyCallData::CallAttempt::BatchData::BatchData(
728
701
  : RefCounted(GRPC_TRACE_FLAG_ENABLED(retry) ? "BatchData" : nullptr,
729
702
  refcount),
730
703
  call_attempt_(attempt.release()) {
731
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
732
- LOG(INFO) << "chand=" << call_attempt_->calld_->chand_
733
- << " calld=" << call_attempt_->calld_
734
- << " attempt=" << call_attempt_ << ": creating batch " << this;
735
- }
704
+ GRPC_TRACE_LOG(retry, INFO)
705
+ << "chand=" << call_attempt_->calld_->chand_
706
+ << " calld=" << call_attempt_->calld_ << " attempt=" << call_attempt_
707
+ << ": creating batch " << this;
736
708
  // We hold a ref to the call stack for every batch sent on a call attempt.
737
709
  // This is because some batches on the call attempt may not complete
738
710
  // until after all of the batches are completed at the surface (because
@@ -749,11 +721,10 @@ RetryFilter::LegacyCallData::CallAttempt::BatchData::BatchData(
749
721
  }
750
722
 
751
723
  RetryFilter::LegacyCallData::CallAttempt::BatchData::~BatchData() {
752
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
753
- LOG(INFO) << "chand=" << call_attempt_->calld_->chand_
754
- << " calld=" << call_attempt_->calld_
755
- << " attempt=" << call_attempt_ << ": destroying batch " << this;
756
- }
724
+ GRPC_TRACE_LOG(retry, INFO)
725
+ << "chand=" << call_attempt_->calld_->chand_
726
+ << " calld=" << call_attempt_->calld_ << " attempt=" << call_attempt_
727
+ << ": destroying batch " << this;
757
728
  CallAttempt* call_attempt = std::exchange(call_attempt_, nullptr);
758
729
  grpc_call_stack* owning_call = call_attempt->calld_->owning_call_;
759
730
  call_attempt->Unref(DEBUG_LOCATION, "~BatchData");
@@ -822,13 +793,10 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
822
793
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
823
794
  CallAttempt* call_attempt = batch_data->call_attempt_;
824
795
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
825
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
826
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
827
- << " attempt=" << call_attempt
828
- << " batch_data=" << batch_data.get()
829
- << ": got recv_initial_metadata_ready, error="
830
- << StatusToString(error);
831
- }
796
+ GRPC_TRACE_LOG(retry, INFO)
797
+ << "chand=" << calld->chand_ << " calld=" << calld
798
+ << " attempt=" << call_attempt << " batch_data=" << batch_data.get()
799
+ << ": got recv_initial_metadata_ready, error=" << StatusToString(error);
832
800
  call_attempt->completed_recv_initial_metadata_ = true;
833
801
  // If this attempt has been abandoned, then we're not going to use the
834
802
  // result of this recv_initial_metadata op, so do nothing.
@@ -849,11 +817,10 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
849
817
  if (GPR_UNLIKELY(
850
818
  (call_attempt->trailing_metadata_available_ || !error.ok()) &&
851
819
  !call_attempt->completed_recv_trailing_metadata_)) {
852
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
853
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
854
- << " attempt=" << call_attempt
855
- << ": deferring recv_initial_metadata_ready (Trailers-Only)";
856
- }
820
+ GRPC_TRACE_LOG(retry, INFO)
821
+ << "chand=" << calld->chand_ << " calld=" << calld
822
+ << " attempt=" << call_attempt
823
+ << ": deferring recv_initial_metadata_ready (Trailers-Only)";
857
824
  call_attempt->recv_initial_metadata_ready_deferred_batch_ =
858
825
  std::move(batch_data);
859
826
  call_attempt->recv_initial_metadata_error_ = error;
@@ -920,12 +887,10 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::RecvMessageReady(
920
887
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
921
888
  CallAttempt* call_attempt = batch_data->call_attempt_;
922
889
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
923
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
924
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
925
- << " attempt=" << call_attempt
926
- << " batch_data=" << batch_data.get()
927
- << ": got recv_message_ready, error=" << StatusToString(error);
928
- }
890
+ GRPC_TRACE_LOG(retry, INFO)
891
+ << "chand=" << calld->chand_ << " calld=" << calld
892
+ << " attempt=" << call_attempt << " batch_data=" << batch_data.get()
893
+ << ": got recv_message_ready, error=" << StatusToString(error);
929
894
  ++call_attempt->completed_recv_message_count_;
930
895
  // If this attempt has been abandoned, then we're not going to use the
931
896
  // result of this recv_message op, so do nothing.
@@ -949,12 +914,11 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::RecvMessageReady(
949
914
  if (GPR_UNLIKELY(
950
915
  (!call_attempt->recv_message_.has_value() || !error.ok()) &&
951
916
  !call_attempt->completed_recv_trailing_metadata_)) {
952
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
953
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
954
- << " attempt=" << call_attempt
955
- << ": deferring recv_message_ready (nullptr message and "
956
- "recv_trailing_metadata pending)";
957
- }
917
+ GRPC_TRACE_LOG(retry, INFO)
918
+ << "chand=" << calld->chand_ << " calld=" << calld
919
+ << " attempt=" << call_attempt
920
+ << ": deferring recv_message_ready (nullptr message and "
921
+ "recv_trailing_metadata pending)";
958
922
  call_attempt->recv_message_ready_deferred_batch_ = std::move(batch_data);
959
923
  call_attempt->recv_message_error_ = error;
960
924
  CallCombinerClosureList closures;
@@ -1113,13 +1077,10 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1113
1077
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
1114
1078
  CallAttempt* call_attempt = batch_data->call_attempt_;
1115
1079
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
1116
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1117
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
1118
- << " attempt=" << call_attempt
1119
- << " batch_data=" << batch_data.get()
1120
- << ": got recv_trailing_metadata_ready, error="
1121
- << StatusToString(error);
1122
- }
1080
+ GRPC_TRACE_LOG(retry, INFO)
1081
+ << "chand=" << calld->chand_ << " calld=" << calld
1082
+ << " attempt=" << call_attempt << " batch_data=" << batch_data.get()
1083
+ << ": got recv_trailing_metadata_ready, error=" << StatusToString(error);
1123
1084
  call_attempt->completed_recv_trailing_metadata_ = true;
1124
1085
  // If this attempt has been abandoned, then we're not going to use the
1125
1086
  // result of this recv_trailing_metadata op, so do nothing.
@@ -1140,17 +1101,15 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1140
1101
  batch_data->batch_.payload->recv_trailing_metadata.recv_trailing_metadata;
1141
1102
  GetCallStatus(calld->deadline_, md_batch, error, &status, &server_pushback,
1142
1103
  &is_lb_drop, &stream_network_state);
1143
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1144
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
1145
- << " attempt=" << call_attempt << ": call finished, status="
1146
- << grpc_status_code_to_string(status) << " server_pushback="
1147
- << (server_pushback.has_value() ? server_pushback->ToString()
1148
- : "N/A")
1149
- << " is_lb_drop=" << is_lb_drop << " stream_network_state="
1150
- << (stream_network_state.has_value()
1151
- ? absl::StrCat(*stream_network_state)
1152
- : "N/A");
1153
- }
1104
+ GRPC_TRACE_LOG(retry, INFO)
1105
+ << "chand=" << calld->chand_ << " calld=" << calld
1106
+ << " attempt=" << call_attempt
1107
+ << ": call finished, status=" << grpc_status_code_to_string(status)
1108
+ << " server_pushback="
1109
+ << (server_pushback.has_value() ? server_pushback->ToString() : "N/A")
1110
+ << " is_lb_drop=" << is_lb_drop << " stream_network_state="
1111
+ << (stream_network_state.has_value() ? absl::StrCat(*stream_network_state)
1112
+ : "N/A");
1154
1113
  // Check if we should retry.
1155
1114
  if (!is_lb_drop) { // Never retry on LB drops.
1156
1115
  enum { kNoRetry, kTransparentRetry, kConfigurableRetry } retry = kNoRetry;
@@ -1259,11 +1218,10 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1259
1218
  }
1260
1219
  }
1261
1220
  if (have_pending_send_ops) {
1262
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1263
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
1264
- << " attempt=" << call_attempt_
1265
- << ": starting next batch for pending send op(s)";
1266
- }
1221
+ GRPC_TRACE_LOG(retry, INFO)
1222
+ << "chand=" << calld->chand_ << " calld=" << calld
1223
+ << " attempt=" << call_attempt_
1224
+ << ": starting next batch for pending send op(s)";
1267
1225
  call_attempt_->AddRetriableBatches(closures);
1268
1226
  }
1269
1227
  }
@@ -1273,15 +1231,11 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::OnComplete(
1273
1231
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
1274
1232
  CallAttempt* call_attempt = batch_data->call_attempt_;
1275
1233
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
1276
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1277
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
1278
- << " attempt=" << call_attempt
1279
- << " batch_data=" << batch_data.get()
1280
- << ": got on_complete, error=" << StatusToString(error)
1281
- << ", batch="
1282
- << grpc_transport_stream_op_batch_string(&batch_data->batch_,
1283
- false);
1284
- }
1234
+ GRPC_TRACE_LOG(retry, INFO)
1235
+ << "chand=" << calld->chand_ << " calld=" << calld
1236
+ << " attempt=" << call_attempt << " batch_data=" << batch_data.get()
1237
+ << ": got on_complete, error=" << StatusToString(error) << ", batch="
1238
+ << grpc_transport_stream_op_batch_string(&batch_data->batch_, false);
1285
1239
  // If this attempt has been abandoned, then we're not going to propagate
1286
1240
  // the completion of this batch, so do nothing.
1287
1241
  if (call_attempt->abandoned_) {
@@ -1295,10 +1249,9 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::OnComplete(
1295
1249
  // recv_trailing_metadata comes back.
1296
1250
  if (GPR_UNLIKELY(!calld->retry_committed_ && !error.ok() &&
1297
1251
  !call_attempt->completed_recv_trailing_metadata_)) {
1298
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1299
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
1300
- << " attempt=" << call_attempt << ": deferring on_complete";
1301
- }
1252
+ GRPC_TRACE_LOG(retry, INFO)
1253
+ << "chand=" << calld->chand_ << " calld=" << calld
1254
+ << " attempt=" << call_attempt << ": deferring on_complete";
1302
1255
  call_attempt->on_complete_deferred_batches_.emplace_back(
1303
1256
  std::move(batch_data), error);
1304
1257
  CallCombinerClosureList closures;
@@ -1349,15 +1302,12 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::OnCompleteForCancelOp(
1349
1302
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
1350
1303
  CallAttempt* call_attempt = batch_data->call_attempt_;
1351
1304
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
1352
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1353
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
1354
- << " attempt=" << call_attempt
1355
- << " batch_data=" << batch_data.get()
1356
- << ": got on_complete for cancel_stream batch, error="
1357
- << StatusToString(error) << ", batch="
1358
- << grpc_transport_stream_op_batch_string(&batch_data->batch_,
1359
- false);
1360
- }
1305
+ GRPC_TRACE_LOG(retry, INFO)
1306
+ << "chand=" << calld->chand_ << " calld=" << calld
1307
+ << " attempt=" << call_attempt << " batch_data=" << batch_data.get()
1308
+ << ": got on_complete for cancel_stream batch, error="
1309
+ << StatusToString(error) << ", batch="
1310
+ << grpc_transport_stream_op_batch_string(&batch_data->batch_, false);
1361
1311
  GRPC_CALL_COMBINER_STOP(
1362
1312
  calld->call_combiner_,
1363
1313
  "on_complete for internally generated cancel_stream op");
@@ -1392,12 +1342,10 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1392
1342
  void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1393
1343
  AddRetriableSendMessageOp() {
1394
1344
  auto* calld = call_attempt_->calld_;
1395
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1396
- LOG(INFO) << "chand=" << calld->chand_ << " calld=" << calld
1397
- << " attempt=" << call_attempt_
1398
- << ": starting calld->send_messages["
1399
- << call_attempt_->started_send_message_count_ << "]";
1400
- }
1345
+ GRPC_TRACE_LOG(retry, INFO)
1346
+ << "chand=" << calld->chand_ << " calld=" << calld
1347
+ << " attempt=" << call_attempt_ << ": starting calld->send_messages["
1348
+ << call_attempt_->started_send_message_count_ << "]";
1401
1349
  CachedSendMessage cache =
1402
1350
  calld->send_messages_[call_attempt_->started_send_message_count_];
1403
1351
  ++call_attempt_->started_send_message_count_;
@@ -1479,10 +1427,8 @@ grpc_error_handle RetryFilter::LegacyCallData::Init(
1479
1427
  grpc_call_element* elem, const grpc_call_element_args* args) {
1480
1428
  auto* chand = static_cast<RetryFilter*>(elem->channel_data);
1481
1429
  new (elem->call_data) RetryFilter::LegacyCallData(chand, *args);
1482
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1483
- LOG(INFO) << "chand=" << chand << " calld=" << elem->call_data
1484
- << ": created call";
1485
- }
1430
+ GRPC_TRACE_LOG(retry, INFO)
1431
+ << "chand=" << chand << " calld=" << elem->call_data << ": created call";
1486
1432
  return absl::OkStatus();
1487
1433
  }
1488
1434
 
@@ -1584,11 +1530,9 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1584
1530
  if (GPR_UNLIKELY(batch->cancel_stream)) {
1585
1531
  // Save cancel_error in case subsequent batches are started.
1586
1532
  cancelled_from_surface_ = batch->payload->cancel_stream.cancel_error;
1587
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1588
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1589
- << ": cancelled from surface: "
1590
- << StatusToString(cancelled_from_surface_);
1591
- }
1533
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1534
+ << ": cancelled from surface: "
1535
+ << StatusToString(cancelled_from_surface_);
1592
1536
  // Fail any pending batches.
1593
1537
  PendingBatchesFail(cancelled_from_surface_);
1594
1538
  // If we have a current call attempt, commit the call, then send
@@ -1608,10 +1552,8 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1608
1552
  }
1609
1553
  // Cancel retry timer if needed.
1610
1554
  if (retry_timer_handle_.has_value()) {
1611
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1612
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1613
- << ": cancelling retry timer";
1614
- }
1555
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1556
+ << ": cancelling retry timer";
1615
1557
  if (chand_->event_engine()->Cancel(*retry_timer_handle_)) {
1616
1558
  GRPC_CALL_STACK_UNREF(owning_call_, "OnRetryTimer");
1617
1559
  }
@@ -1654,11 +1596,9 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1654
1596
  if (!retry_codepath_started_ && retry_committed_ &&
1655
1597
  (retry_policy_ == nullptr ||
1656
1598
  !retry_policy_->per_attempt_recv_timeout().has_value())) {
1657
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1658
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1659
- << ": retry committed before first attempt; "
1660
- << "creating LB call";
1661
- }
1599
+ GRPC_TRACE_LOG(retry, INFO)
1600
+ << "chand=" << chand_ << " calld=" << this
1601
+ << ": retry committed before first attempt; creating LB call";
1662
1602
  PendingBatchClear(pending);
1663
1603
  auto* service_config_call_data =
1664
1604
  DownCast<ClientChannelServiceConfigCallData*>(
@@ -1672,19 +1612,16 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1672
1612
  // Otherwise, create a call attempt.
1673
1613
  // The attempt will automatically start any necessary replays or
1674
1614
  // pending batches.
1675
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1676
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1677
- << ": creating call attempt";
1678
- }
1615
+ GRPC_TRACE_LOG(retry, INFO)
1616
+ << "chand=" << chand_ << " calld=" << this << ": creating call attempt";
1679
1617
  retry_codepath_started_ = true;
1680
1618
  CreateCallAttempt(/*is_transparent_retry=*/false);
1681
1619
  return;
1682
1620
  }
1683
1621
  // Send batches to call attempt.
1684
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1685
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1686
- << ": starting batch on attempt=" << call_attempt_.get();
1687
- }
1622
+ GRPC_TRACE_LOG(retry, INFO)
1623
+ << "chand=" << chand_ << " calld=" << this
1624
+ << ": starting batch on attempt=" << call_attempt_.get();
1688
1625
  call_attempt_->StartRetriableBatches();
1689
1626
  }
1690
1627
 
@@ -1739,28 +1676,22 @@ void RetryFilter::LegacyCallData::MaybeCacheSendOpsForBatch(
1739
1676
  }
1740
1677
 
1741
1678
  void RetryFilter::LegacyCallData::FreeCachedSendInitialMetadata() {
1742
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1743
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1744
- << ": destroying send_initial_metadata";
1745
- }
1679
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1680
+ << ": destroying send_initial_metadata";
1746
1681
  send_initial_metadata_.Clear();
1747
1682
  }
1748
1683
 
1749
1684
  void RetryFilter::LegacyCallData::FreeCachedSendMessage(size_t idx) {
1750
1685
  if (send_messages_[idx].slices != nullptr) {
1751
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1752
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1753
- << ": destroying send_messages[" << idx << "]";
1754
- }
1686
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1687
+ << ": destroying send_messages[" << idx << "]";
1755
1688
  Destruct(std::exchange(send_messages_[idx].slices, nullptr));
1756
1689
  }
1757
1690
  }
1758
1691
 
1759
1692
  void RetryFilter::LegacyCallData::FreeCachedSendTrailingMetadata() {
1760
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1761
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1762
- << ": destroying send_trailing_metadata";
1763
- }
1693
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1694
+ << ": destroying send_trailing_metadata";
1764
1695
  send_trailing_metadata_.Clear();
1765
1696
  }
1766
1697
 
@@ -1796,10 +1727,8 @@ RetryFilter::LegacyCallData::PendingBatch*
1796
1727
  RetryFilter::LegacyCallData::PendingBatchesAdd(
1797
1728
  grpc_transport_stream_op_batch* batch) {
1798
1729
  const size_t idx = GetBatchIndex(batch);
1799
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1800
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1801
- << ": adding pending batch at index " << idx;
1802
- }
1730
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1731
+ << ": adding pending batch at index " << idx;
1803
1732
  PendingBatch* pending = &pending_batches_[idx];
1804
1733
  CHECK_EQ(pending->batch, nullptr);
1805
1734
  pending->batch = batch;
@@ -1826,10 +1755,8 @@ RetryFilter::LegacyCallData::PendingBatchesAdd(
1826
1755
  // ops have already been sent, and we commit to that attempt.
1827
1756
  if (GPR_UNLIKELY(bytes_buffered_for_retry_ >
1828
1757
  chand_->per_rpc_retry_buffer_size())) {
1829
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1830
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1831
- << ": exceeded retry buffer size, committing";
1832
- }
1758
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1759
+ << ": exceeded retry buffer size, committing";
1833
1760
  RetryCommit(call_attempt_.get());
1834
1761
  }
1835
1762
  return pending;
@@ -1862,10 +1789,8 @@ void RetryFilter::LegacyCallData::MaybeClearPendingBatch(
1862
1789
  (!batch->recv_trailing_metadata ||
1863
1790
  batch->payload->recv_trailing_metadata.recv_trailing_metadata_ready ==
1864
1791
  nullptr)) {
1865
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1866
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1867
- << ": clearing pending batch";
1868
- }
1792
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1793
+ << ": clearing pending batch";
1869
1794
  PendingBatchClear(pending);
1870
1795
  }
1871
1796
  }
@@ -1918,10 +1843,9 @@ RetryFilter::LegacyCallData::PendingBatchFind(const char* log_message,
1918
1843
  PendingBatch* pending = &pending_batches_[i];
1919
1844
  grpc_transport_stream_op_batch* batch = pending->batch;
1920
1845
  if (batch != nullptr && predicate(batch)) {
1921
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1922
- LOG(INFO) << "chand=" << chand_ << " calld=" << this << ": "
1923
- << log_message << " pending batch at index " << i;
1924
- }
1846
+ GRPC_TRACE_LOG(retry, INFO)
1847
+ << "chand=" << chand_ << " calld=" << this << ": " << log_message
1848
+ << " pending batch at index " << i;
1925
1849
  return pending;
1926
1850
  }
1927
1851
  }
@@ -1935,10 +1859,8 @@ RetryFilter::LegacyCallData::PendingBatchFind(const char* log_message,
1935
1859
  void RetryFilter::LegacyCallData::RetryCommit(CallAttempt* call_attempt) {
1936
1860
  if (retry_committed_) return;
1937
1861
  retry_committed_ = true;
1938
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1939
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1940
- << ": committing retries";
1941
- }
1862
+ GRPC_TRACE_LOG(retry, INFO)
1863
+ << "chand=" << chand_ << " calld=" << this << ": committing retries";
1942
1864
  if (call_attempt != nullptr) {
1943
1865
  // If the call attempt's LB call has been committed, invoke the
1944
1866
  // call's on_commit callback.
@@ -1968,13 +1890,11 @@ void RetryFilter::LegacyCallData::StartRetryTimer(
1968
1890
  next_attempt_timeout = *server_pushback;
1969
1891
  retry_backoff_.Reset();
1970
1892
  } else {
1971
- next_attempt_timeout = retry_backoff_.NextAttemptTime() - Timestamp::Now();
1972
- }
1973
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1974
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
1975
- << ": retrying failed call in " << next_attempt_timeout.millis()
1976
- << " ms";
1893
+ next_attempt_timeout = retry_backoff_.NextAttemptDelay();
1977
1894
  }
1895
+ GRPC_TRACE_LOG(retry, INFO)
1896
+ << "chand=" << chand_ << " calld=" << this << ": retrying failed call in "
1897
+ << next_attempt_timeout.millis() << " ms";
1978
1898
  // Schedule retry after computed delay.
1979
1899
  GRPC_CALL_STACK_REF(owning_call_, "OnRetryTimer");
1980
1900
  retry_timer_handle_ =
@@ -2003,10 +1923,8 @@ void RetryFilter::LegacyCallData::OnRetryTimerLocked(
2003
1923
 
2004
1924
  void RetryFilter::LegacyCallData::AddClosureToStartTransparentRetry(
2005
1925
  CallCombinerClosureList* closures) {
2006
- if (GRPC_TRACE_FLAG_ENABLED(retry)) {
2007
- LOG(INFO) << "chand=" << chand_ << " calld=" << this
2008
- << ": scheduling transparent retry";
2009
- }
1926
+ GRPC_TRACE_LOG(retry, INFO) << "chand=" << chand_ << " calld=" << this
1927
+ << ": scheduling transparent retry";
2010
1928
  GRPC_CALL_STACK_REF(owning_call_, "OnRetryTimer");
2011
1929
  GRPC_CLOSURE_INIT(&retry_closure_, StartTransparentRetry, this, nullptr);
2012
1930
  closures->Add(&retry_closure_, absl::OkStatus(), "start transparent retry");