grpc 1.64.3 → 1.65.0

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 (632) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +57 -58
  3. data/include/grpc/event_engine/event_engine.h +13 -6
  4. data/include/grpc/impl/channel_arg_names.h +7 -3
  5. data/include/grpc/module.modulemap +1 -0
  6. data/include/grpc/passive_listener.h +62 -0
  7. data/include/grpc/support/log.h +7 -17
  8. data/include/grpc/support/port_platform.h +3 -0
  9. data/src/core/channelz/channel_trace.cc +1 -1
  10. data/src/core/channelz/channel_trace.h +1 -1
  11. data/src/core/channelz/channelz.cc +3 -3
  12. data/src/core/channelz/channelz.h +7 -7
  13. data/src/core/channelz/channelz_registry.cc +4 -3
  14. data/src/core/client_channel/backup_poller.cc +4 -5
  15. data/src/core/client_channel/client_channel.cc +1324 -0
  16. data/src/core/client_channel/client_channel.h +243 -0
  17. data/src/core/client_channel/client_channel_filter.cc +266 -709
  18. data/src/core/client_channel/client_channel_filter.h +11 -64
  19. data/src/core/client_channel/client_channel_internal.h +16 -5
  20. data/src/core/client_channel/client_channel_plugin.cc +1 -14
  21. data/src/core/client_channel/client_channel_service_config.h +3 -3
  22. data/src/core/client_channel/config_selector.cc +1 -1
  23. data/src/core/client_channel/config_selector.h +1 -1
  24. data/src/core/client_channel/dynamic_filters.cc +3 -3
  25. data/src/core/client_channel/dynamic_filters.h +1 -3
  26. data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
  27. data/src/core/client_channel/load_balanced_call_destination.h +49 -0
  28. data/src/core/client_channel/retry_filter.cc +2 -9
  29. data/src/core/client_channel/retry_filter.h +2 -7
  30. data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
  31. data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
  32. data/src/core/client_channel/retry_service_config.cc +4 -5
  33. data/src/core/client_channel/retry_service_config.h +3 -3
  34. data/src/core/client_channel/subchannel.cc +220 -112
  35. data/src/core/client_channel/subchannel.h +31 -18
  36. data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
  37. data/src/core/client_channel/subchannel_pool_interface.h +2 -4
  38. data/src/core/client_channel/subchannel_stream_client.cc +36 -49
  39. data/src/core/client_channel/subchannel_stream_client.h +2 -4
  40. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
  41. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
  42. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
  43. data/src/core/ext/filters/census/grpc_context.cc +2 -4
  44. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
  45. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
  46. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
  47. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
  48. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
  49. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
  50. data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
  51. data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
  52. data/src/core/ext/filters/http/client_authority_filter.h +1 -0
  53. data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
  54. data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
  55. data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
  56. data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
  57. data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
  58. data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
  59. data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
  60. data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
  61. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
  62. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
  63. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
  64. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
  65. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
  66. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
  67. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
  68. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
  69. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
  70. data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
  71. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
  72. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
  73. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
  74. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
  75. data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
  76. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
  77. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
  78. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
  79. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
  80. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
  81. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
  82. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
  83. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
  84. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
  85. data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
  86. data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
  87. data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
  88. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
  89. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
  90. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
  91. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
  92. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
  93. data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
  94. data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
  95. data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
  96. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
  97. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
  98. data/src/core/handshaker/handshaker.cc +6 -14
  99. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
  100. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
  101. data/src/core/handshaker/security/secure_endpoint.cc +38 -32
  102. data/src/core/handshaker/security/secure_endpoint.h +0 -2
  103. data/src/core/handshaker/security/security_handshaker.cc +25 -37
  104. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
  105. data/src/core/lib/address_utils/parse_address.cc +27 -39
  106. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
  107. data/src/core/lib/avl/avl.h +1 -1
  108. data/src/core/lib/channel/channel_args.cc +13 -17
  109. data/src/core/lib/channel/channel_args.h +19 -8
  110. data/src/core/lib/channel/channel_stack.cc +5 -63
  111. data/src/core/lib/channel/channel_stack.h +13 -37
  112. data/src/core/lib/channel/channel_stack_builder.h +0 -5
  113. data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
  114. data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
  115. data/src/core/lib/channel/connected_channel.cc +37 -676
  116. data/src/core/lib/channel/promise_based_filter.cc +41 -47
  117. data/src/core/lib/channel/promise_based_filter.h +124 -477
  118. data/src/core/lib/channel/status_util.cc +1 -1
  119. data/src/core/lib/compression/compression.cc +1 -1
  120. data/src/core/lib/compression/message_compress.cc +6 -6
  121. data/src/core/lib/config/config_vars.cc +3 -8
  122. data/src/core/lib/config/config_vars.h +1 -5
  123. data/src/core/lib/debug/event_log.h +1 -1
  124. data/src/core/lib/debug/trace.cc +43 -59
  125. data/src/core/lib/debug/trace.h +2 -97
  126. data/src/core/lib/debug/trace_flags.cc +255 -0
  127. data/src/core/lib/debug/trace_flags.h +133 -0
  128. data/src/core/lib/debug/trace_impl.h +115 -0
  129. data/src/core/lib/event_engine/ares_resolver.cc +5 -7
  130. data/src/core/lib/event_engine/ares_resolver.h +1 -3
  131. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
  132. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
  133. data/src/core/lib/event_engine/event_engine.cc +29 -4
  134. data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
  135. data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
  136. data/src/core/lib/event_engine/forkable.cc +4 -5
  137. data/src/core/lib/event_engine/forkable.h +0 -11
  138. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
  139. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
  140. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
  141. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
  142. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
  143. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
  144. data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
  145. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
  146. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
  147. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
  148. data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
  149. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
  150. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
  151. data/src/core/lib/event_engine/shim.cc +1 -1
  152. data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
  153. data/src/core/lib/event_engine/thread_local.h +1 -1
  154. data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
  155. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
  156. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
  157. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
  158. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
  159. data/src/core/lib/event_engine/trace.h +6 -17
  160. data/src/core/lib/event_engine/windows/iocp.h +1 -1
  161. data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
  162. data/src/core/lib/event_engine/windows/win_socket.h +4 -5
  163. data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
  164. data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
  165. data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
  166. data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
  167. data/src/core/lib/experiments/experiments.cc +35 -151
  168. data/src/core/lib/experiments/experiments.h +12 -45
  169. data/src/core/lib/gprpp/bitset.h +1 -1
  170. data/src/core/lib/gprpp/crash.cc +2 -3
  171. data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
  172. data/src/core/lib/gprpp/dump_args.cc +54 -0
  173. data/src/core/lib/gprpp/dump_args.h +69 -0
  174. data/src/core/lib/gprpp/glob.cc +70 -0
  175. data/src/core/lib/gprpp/glob.h +29 -0
  176. data/src/core/lib/gprpp/per_cpu.cc +1 -1
  177. data/src/core/lib/gprpp/posix/stat.cc +3 -4
  178. data/src/core/lib/gprpp/posix/thd.cc +8 -9
  179. data/src/core/lib/gprpp/ref_counted.h +30 -22
  180. data/src/core/lib/gprpp/single_set_ptr.h +5 -3
  181. data/src/core/lib/gprpp/status_helper.cc +11 -30
  182. data/src/core/lib/gprpp/status_helper.h +3 -31
  183. data/src/core/lib/gprpp/time.cc +3 -4
  184. data/src/core/lib/gprpp/time.h +3 -2
  185. data/src/core/lib/gprpp/unique_type_name.h +1 -1
  186. data/src/core/lib/gprpp/validation_errors.cc +10 -1
  187. data/src/core/lib/gprpp/validation_errors.h +11 -0
  188. data/src/core/lib/gprpp/windows/stat.cc +3 -4
  189. data/src/core/lib/gprpp/windows/thd.cc +3 -2
  190. data/src/core/lib/gprpp/work_serializer.cc +48 -57
  191. data/src/core/lib/iomgr/buffer_list.cc +4 -2
  192. data/src/core/lib/iomgr/call_combiner.cc +18 -27
  193. data/src/core/lib/iomgr/call_combiner.h +1 -3
  194. data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
  195. data/src/core/lib/iomgr/closure.h +2 -4
  196. data/src/core/lib/iomgr/combiner.cc +6 -8
  197. data/src/core/lib/iomgr/combiner.h +0 -2
  198. data/src/core/lib/iomgr/endpoint.cc +0 -6
  199. data/src/core/lib/iomgr/endpoint.h +0 -2
  200. data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
  201. data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
  202. data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
  203. data/src/core/lib/iomgr/error.cc +13 -21
  204. data/src/core/lib/iomgr/error.h +1 -1
  205. data/src/core/lib/iomgr/ev_apple.cc +3 -5
  206. data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
  207. data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
  208. data/src/core/lib/iomgr/ev_posix.cc +8 -9
  209. data/src/core/lib/iomgr/ev_posix.h +10 -7
  210. data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
  211. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
  212. data/src/core/lib/iomgr/exec_ctx.cc +2 -2
  213. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  214. data/src/core/lib/iomgr/executor.cc +6 -15
  215. data/src/core/lib/iomgr/executor.h +1 -1
  216. data/src/core/lib/iomgr/fork_posix.cc +8 -10
  217. data/src/core/lib/iomgr/fork_windows.cc +3 -1
  218. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
  219. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
  220. data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
  221. data/src/core/lib/iomgr/iocp_windows.cc +4 -3
  222. data/src/core/lib/iomgr/iomgr.cc +13 -17
  223. data/src/core/lib/iomgr/lockfree_event.cc +3 -5
  224. data/src/core/lib/iomgr/pollset.h +0 -2
  225. data/src/core/lib/iomgr/pollset_windows.cc +0 -2
  226. data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
  227. data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
  228. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  229. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  230. data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
  231. data/src/core/lib/iomgr/socket_windows.cc +4 -6
  232. data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
  233. data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
  234. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
  235. data/src/core/lib/iomgr/tcp_posix.cc +57 -84
  236. data/src/core/lib/iomgr/tcp_posix.h +0 -2
  237. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
  238. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
  239. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
  240. data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
  241. data/src/core/lib/iomgr/tcp_windows.cc +25 -41
  242. data/src/core/lib/iomgr/timer_generic.cc +17 -20
  243. data/src/core/lib/iomgr/timer_heap.cc +1 -1
  244. data/src/core/lib/iomgr/timer_manager.cc +17 -30
  245. data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
  246. data/src/core/lib/iomgr/vsock.cc +1 -1
  247. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
  248. data/src/core/lib/promise/activity.h +27 -4
  249. data/src/core/lib/promise/cancel_callback.h +24 -0
  250. data/src/core/lib/promise/context.h +11 -0
  251. data/src/core/lib/promise/detail/basic_seq.h +1 -2
  252. data/src/core/lib/promise/detail/join_state.h +354 -398
  253. data/src/core/lib/promise/detail/promise_like.h +6 -5
  254. data/src/core/lib/promise/detail/seq_state.h +1178 -1178
  255. data/src/core/lib/promise/for_each.h +6 -6
  256. data/src/core/lib/promise/interceptor_list.h +6 -7
  257. data/src/core/lib/promise/latch.h +9 -9
  258. data/src/core/lib/promise/map.h +17 -0
  259. data/src/core/lib/promise/observable.h +182 -0
  260. data/src/core/lib/promise/party.cc +7 -8
  261. data/src/core/lib/promise/party.h +10 -8
  262. data/src/core/lib/promise/pipe.h +16 -35
  263. data/src/core/lib/promise/promise.h +1 -0
  264. data/src/core/lib/promise/status_flag.h +2 -0
  265. data/src/core/lib/resource_quota/arena.cc +56 -79
  266. data/src/core/lib/resource_quota/arena.h +118 -209
  267. data/src/core/lib/resource_quota/memory_quota.cc +12 -13
  268. data/src/core/lib/resource_quota/memory_quota.h +2 -3
  269. data/src/core/lib/resource_quota/periodic_update.cc +1 -1
  270. data/src/core/lib/resource_quota/resource_quota.h +1 -1
  271. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  272. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  273. data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
  274. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
  275. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
  276. data/src/core/lib/security/authorization/matchers.cc +3 -3
  277. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
  278. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
  279. data/src/core/lib/security/context/security_context.cc +12 -13
  280. data/src/core/lib/security/context/security_context.h +31 -8
  281. data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
  282. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
  283. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
  284. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
  285. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
  286. data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
  287. data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
  288. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
  289. data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
  290. data/src/core/lib/security/credentials/credentials.cc +6 -6
  291. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
  292. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
  293. data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
  294. data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
  295. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
  296. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
  297. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
  298. data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
  299. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
  300. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
  301. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
  302. data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
  303. data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
  304. data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
  305. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
  306. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
  307. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
  308. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  309. data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
  310. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
  311. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
  312. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
  313. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
  314. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
  315. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
  316. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
  317. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
  318. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
  319. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
  320. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
  321. data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
  322. data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
  323. data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
  324. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
  325. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
  326. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
  327. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
  328. data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
  329. data/src/core/lib/security/security_connector/security_connector.cc +1 -4
  330. data/src/core/lib/security/security_connector/security_connector.h +1 -3
  331. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
  332. data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
  333. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
  334. data/src/core/lib/security/transport/auth_filters.h +1 -0
  335. data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
  336. data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
  337. data/src/core/lib/security/util/json_util.h +1 -1
  338. data/src/core/lib/slice/slice.h +1 -1
  339. data/src/core/lib/slice/slice_refcount.h +2 -4
  340. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  341. data/src/core/lib/surface/api_trace.h +1 -3
  342. data/src/core/lib/surface/call.cc +64 -3738
  343. data/src/core/lib/surface/call.h +41 -143
  344. data/src/core/lib/surface/call_log_batch.cc +1 -1
  345. data/src/core/lib/surface/call_utils.cc +276 -0
  346. data/src/core/lib/surface/call_utils.h +449 -0
  347. data/src/core/lib/surface/channel.cc +8 -3
  348. data/src/core/lib/surface/channel.h +10 -7
  349. data/src/core/lib/surface/channel_create.cc +14 -6
  350. data/src/core/lib/surface/channel_create.h +3 -2
  351. data/src/core/lib/surface/channel_init.cc +21 -77
  352. data/src/core/lib/surface/channel_init.h +19 -97
  353. data/src/core/lib/surface/client_call.cc +419 -0
  354. data/src/core/lib/surface/client_call.h +180 -0
  355. data/src/core/lib/surface/completion_queue.cc +28 -33
  356. data/src/core/lib/surface/completion_queue.h +0 -8
  357. data/src/core/lib/surface/filter_stack_call.cc +1157 -0
  358. data/src/core/lib/surface/filter_stack_call.h +369 -0
  359. data/src/core/lib/surface/init.cc +7 -6
  360. data/src/core/lib/surface/lame_client.cc +1 -1
  361. data/src/core/lib/surface/legacy_channel.cc +40 -27
  362. data/src/core/lib/surface/legacy_channel.h +9 -18
  363. data/src/core/lib/surface/server_call.cc +222 -0
  364. data/src/core/lib/surface/server_call.h +167 -0
  365. data/src/core/lib/surface/version.cc +2 -2
  366. data/src/core/lib/transport/bdp_estimator.cc +3 -5
  367. data/src/core/lib/transport/bdp_estimator.h +2 -4
  368. data/src/core/lib/transport/call_arena_allocator.h +9 -7
  369. data/src/core/lib/transport/call_destination.h +76 -0
  370. data/src/core/lib/transport/call_filters.cc +28 -10
  371. data/src/core/lib/transport/call_filters.h +128 -22
  372. data/src/core/lib/transport/call_spine.cc +5 -6
  373. data/src/core/lib/transport/call_spine.h +159 -334
  374. data/src/core/lib/transport/connectivity_state.cc +8 -10
  375. data/src/core/lib/transport/connectivity_state.h +0 -2
  376. data/src/core/lib/transport/interception_chain.cc +155 -0
  377. data/src/core/lib/transport/interception_chain.h +236 -0
  378. data/src/core/lib/transport/metadata_batch.h +10 -1
  379. data/src/core/lib/transport/metadata_info.h +1 -1
  380. data/src/core/lib/transport/transport.cc +3 -6
  381. data/src/core/lib/transport/transport.h +43 -40
  382. data/src/core/load_balancing/child_policy_handler.cc +8 -8
  383. data/src/core/load_balancing/endpoint_list.cc +5 -5
  384. data/src/core/load_balancing/endpoint_list.h +1 -1
  385. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
  386. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
  387. data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
  388. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
  389. data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
  390. data/src/core/load_balancing/health_check_client.cc +10 -13
  391. data/src/core/load_balancing/lb_policy.cc +5 -8
  392. data/src/core/load_balancing/lb_policy.h +19 -3
  393. data/src/core/load_balancing/lb_policy_factory.h +1 -1
  394. data/src/core/load_balancing/lb_policy_registry.cc +2 -3
  395. data/src/core/load_balancing/lb_policy_registry.h +1 -1
  396. data/src/core/load_balancing/oob_backend_metric.cc +2 -4
  397. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
  398. data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
  399. data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
  400. data/src/core/load_balancing/priority/priority.cc +26 -28
  401. data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
  402. data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
  403. data/src/core/load_balancing/rls/rls.cc +82 -82
  404. data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
  405. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
  406. data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
  407. data/src/core/load_balancing/xds/cds.cc +14 -16
  408. data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
  409. data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
  410. data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
  411. data/src/core/load_balancing/xds/xds_override_host.h +3 -3
  412. data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
  413. data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
  414. data/src/core/resolver/binder/binder_resolver.cc +3 -2
  415. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
  416. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
  417. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
  418. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
  419. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  420. data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
  421. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
  422. data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
  423. data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
  424. data/src/core/resolver/endpoint_addresses.cc +1 -1
  425. data/src/core/resolver/fake/fake_resolver.cc +1 -1
  426. data/src/core/resolver/fake/fake_resolver.h +1 -1
  427. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
  428. data/src/core/resolver/polling_resolver.cc +30 -35
  429. data/src/core/resolver/resolver.cc +2 -6
  430. data/src/core/resolver/resolver.h +0 -2
  431. data/src/core/resolver/resolver_registry.cc +6 -8
  432. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
  433. data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
  434. data/src/core/resolver/xds/xds_resolver.cc +13 -15
  435. data/src/core/server/server.cc +269 -389
  436. data/src/core/server/server.h +37 -19
  437. data/src/core/server/server_call_tracer_filter.cc +7 -14
  438. data/src/core/server/server_config_selector.h +1 -1
  439. data/src/core/server/server_config_selector_filter.cc +3 -3
  440. data/src/core/server/server_interface.h +2 -0
  441. data/src/core/server/xds_channel_stack_modifier.cc +1 -1
  442. data/src/core/server/xds_channel_stack_modifier.h +1 -1
  443. data/src/core/server/xds_server_config_fetcher.cc +1 -4
  444. data/src/core/service_config/service_config.h +1 -1
  445. data/src/core/service_config/service_config_call_data.h +13 -11
  446. data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
  447. data/src/core/service_config/service_config_impl.cc +5 -5
  448. data/src/core/service_config/service_config_impl.h +1 -1
  449. data/src/core/service_config/service_config_parser.cc +3 -6
  450. data/src/core/service_config/service_config_parser.h +1 -1
  451. data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
  452. data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
  453. data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
  454. data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
  455. data/src/core/telemetry/metrics.cc +178 -0
  456. data/src/core/telemetry/metrics.h +562 -0
  457. data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
  458. data/src/core/{lib/debug → telemetry}/stats.h +5 -5
  459. data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
  460. data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
  461. data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
  462. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
  463. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
  464. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
  465. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
  466. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
  467. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
  468. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
  469. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  470. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
  471. data/src/core/tsi/fake_transport_security.cc +14 -17
  472. data/src/core/tsi/local_transport_security.cc +6 -5
  473. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
  474. data/src/core/tsi/ssl_transport_security.cc +76 -81
  475. data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
  476. data/src/core/tsi/ssl_transport_security_utils.h +11 -0
  477. data/src/core/tsi/transport_security.cc +0 -4
  478. data/src/core/tsi/transport_security.h +0 -2
  479. data/src/core/tsi/transport_security_interface.h +0 -4
  480. data/src/core/{lib/gpr → util}/alloc.h +3 -3
  481. data/src/core/{lib/gpr → util}/android/log.cc +0 -19
  482. data/src/core/{lib/gpr → util}/atm.cc +1 -1
  483. data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
  484. data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
  485. data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
  486. data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
  487. data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
  488. data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
  489. data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
  490. data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
  491. data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
  492. data/src/core/{lib/http → util/http_client}/parser.h +5 -6
  493. data/src/core/{lib → util}/json/json.h +5 -4
  494. data/src/core/{lib → util}/json/json_args.h +5 -5
  495. data/src/core/{lib → util}/json/json_channel_args.h +6 -6
  496. data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
  497. data/src/core/{lib → util}/json/json_object_loader.h +7 -7
  498. data/src/core/{lib → util}/json/json_reader.cc +3 -2
  499. data/src/core/{lib → util}/json/json_reader.h +6 -6
  500. data/src/core/{lib → util}/json/json_util.cc +4 -4
  501. data/src/core/{lib → util}/json/json_util.h +6 -6
  502. data/src/core/{lib → util}/json/json_writer.cc +3 -3
  503. data/src/core/{lib → util}/json/json_writer.h +6 -6
  504. data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
  505. data/src/core/util/log.cc +165 -0
  506. data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
  507. data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
  508. data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
  509. data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
  510. data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
  511. data/src/core/{lib/gpr → util}/spinlock.h +3 -3
  512. data/src/core/{lib/gpr → util}/string.cc +2 -2
  513. data/src/core/{lib/gpr → util}/string.h +3 -3
  514. data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
  515. data/src/core/{lib/gpr → util}/time_precise.h +3 -3
  516. data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
  517. data/src/core/{lib/gpr → util}/useful.h +3 -3
  518. data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
  519. data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
  520. data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
  521. data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
  522. data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
  523. data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
  524. data/src/core/xds/grpc/certificate_provider_store.h +4 -4
  525. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
  526. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
  527. data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
  528. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
  529. data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
  530. data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
  531. data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
  532. data/src/core/xds/grpc/xds_client_grpc.h +2 -2
  533. data/src/core/xds/grpc/xds_cluster.cc +4 -5
  534. data/src/core/xds/grpc/xds_cluster.h +1 -1
  535. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
  536. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
  537. data/src/core/xds/grpc/xds_common_types.cc +1 -1
  538. data/src/core/xds/grpc/xds_common_types.h +1 -1
  539. data/src/core/xds/grpc/xds_endpoint.cc +4 -5
  540. data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
  541. data/src/core/xds/grpc/xds_http_filters.h +2 -2
  542. data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
  543. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
  544. data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
  545. data/src/core/xds/grpc/xds_listener.cc +4 -6
  546. data/src/core/xds/grpc/xds_route_config.cc +7 -8
  547. data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
  548. data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
  549. data/src/core/xds/xds_client/xds_api.cc +5 -9
  550. data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
  551. data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
  552. data/src/core/xds/xds_client/xds_client.cc +39 -45
  553. data/src/core/xds/xds_client/xds_client.h +0 -3
  554. data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
  555. data/src/core/xds/xds_client/xds_client_stats.h +2 -2
  556. data/src/ruby/bin/math_pb.rb +1 -22
  557. data/src/ruby/ext/grpc/rb_call.c +8 -1
  558. data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
  559. data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
  560. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
  561. data/src/ruby/ext/grpc/rb_server.c +39 -22
  562. data/src/ruby/lib/grpc/version.rb +1 -1
  563. data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
  564. data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
  565. data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
  566. data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
  567. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
  568. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
  569. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
  570. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
  571. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
  572. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
  573. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
  574. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
  575. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
  576. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
  577. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
  578. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
  579. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
  580. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
  581. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
  582. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
  583. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
  584. data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
  585. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
  586. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
  587. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
  588. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
  589. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
  590. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
  591. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
  592. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
  593. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
  594. data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
  595. metadata +103 -93
  596. data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
  597. data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
  598. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
  599. data/src/core/handshaker/security/tsi_error.cc +0 -31
  600. data/src/core/handshaker/security/tsi_error.h +0 -30
  601. data/src/core/lib/channel/channel_stack_trace.cc +0 -19
  602. data/src/core/lib/channel/channel_stack_trace.h +0 -24
  603. data/src/core/lib/channel/context.h +0 -105
  604. data/src/core/lib/channel/metrics.cc +0 -334
  605. data/src/core/lib/channel/metrics.h +0 -365
  606. data/src/core/lib/event_engine/trace.cc +0 -25
  607. data/src/core/lib/gpr/log.cc +0 -166
  608. data/src/core/lib/iomgr/ev_windows.cc +0 -30
  609. data/src/core/lib/promise/trace.cc +0 -20
  610. data/src/core/lib/promise/trace.h +0 -24
  611. data/src/core/lib/resource_quota/trace.cc +0 -19
  612. data/src/core/lib/resource_quota/trace.h +0 -24
  613. data/src/core/lib/slice/slice_refcount.cc +0 -20
  614. data/src/core/lib/surface/api_trace.cc +0 -25
  615. data/src/core/lib/surface/call_trace.h +0 -24
  616. data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
  617. data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
  618. data/src/core/lib/transport/batch_builder.cc +0 -172
  619. data/src/core/lib/transport/batch_builder.h +0 -474
  620. data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
  621. data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
  622. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
  623. /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
  624. /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
  625. /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
  626. /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
  627. /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
  628. /data/src/core/{lib/gpr → util}/sync.cc +0 -0
  629. /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
  630. /data/src/core/{lib/gpr → util}/time.cc +0 -0
  631. /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
  632. /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -32,10 +32,8 @@
32
32
  #include "src/core/client_channel/retry_throttle.h"
33
33
  #include "src/core/lib/backoff/backoff.h"
34
34
  #include "src/core/lib/channel/channel_stack.h"
35
- #include "src/core/lib/channel/context.h"
36
35
  #include "src/core/lib/channel/status_util.h"
37
36
  #include "src/core/lib/debug/trace.h"
38
- #include "src/core/lib/gpr/useful.h"
39
37
  #include "src/core/lib/gprpp/construct_destruct.h"
40
38
  #include "src/core/lib/gprpp/debug_location.h"
41
39
  #include "src/core/lib/gprpp/orphanable.h"
@@ -54,6 +52,7 @@
54
52
  #include "src/core/lib/transport/error_utils.h"
55
53
  #include "src/core/lib/transport/metadata_batch.h"
56
54
  #include "src/core/lib/transport/transport.h"
55
+ #include "src/core/util/useful.h"
57
56
 
58
57
  namespace grpc_core {
59
58
 
@@ -117,10 +116,8 @@ class RetryFilter::LegacyCallData::CallStackDestructionBarrier final
117
116
 
118
117
  RetryFilter::LegacyCallData::CallAttempt::CallAttempt(
119
118
  RetryFilter::LegacyCallData* calld, bool is_transparent_retry)
120
- : RefCounted(GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace) ? "CallAttempt"
121
- : nullptr),
119
+ : RefCounted(GRPC_TRACE_FLAG_ENABLED(retry) ? "CallAttempt" : nullptr),
122
120
  calld_(calld),
123
- batch_payload_(calld->call_context_),
124
121
  started_send_initial_metadata_(false),
125
122
  completed_send_initial_metadata_(false),
126
123
  started_send_trailing_metadata_(false),
@@ -137,14 +134,13 @@ RetryFilter::LegacyCallData::CallAttempt::CallAttempt(
137
134
  lb_call_committed_ = true;
138
135
  if (calld_->retry_committed_) {
139
136
  auto* service_config_call_data =
140
- static_cast<ClientChannelServiceConfigCallData*>(
141
- calld_->call_context_[GRPC_CONTEXT_SERVICE_CONFIG_CALL_DATA]
142
- .value);
137
+ DownCast<ClientChannelServiceConfigCallData*>(
138
+ calld_->arena_->GetContext<ServiceConfigCallData>());
143
139
  service_config_call_data->Commit();
144
140
  }
145
141
  },
146
142
  is_transparent_retry);
147
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
143
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
148
144
  gpr_log(GPR_INFO,
149
145
  "chand=%p calld=%p attempt=%p: created attempt, lb_call=%p",
150
146
  calld->chand_, calld, this, lb_call_.get());
@@ -154,7 +150,7 @@ RetryFilter::LegacyCallData::CallAttempt::CallAttempt(
154
150
  calld->retry_policy_->per_attempt_recv_timeout().has_value()) {
155
151
  const Duration per_attempt_recv_timeout =
156
152
  *calld->retry_policy_->per_attempt_recv_timeout();
157
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
153
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
158
154
  gpr_log(GPR_INFO,
159
155
  "chand=%p calld=%p attempt=%p: per-attempt timeout in %" PRId64
160
156
  " ms",
@@ -173,7 +169,7 @@ RetryFilter::LegacyCallData::CallAttempt::CallAttempt(
173
169
  }
174
170
 
175
171
  RetryFilter::LegacyCallData::CallAttempt::~CallAttempt() {
176
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
172
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
177
173
  gpr_log(GPR_INFO, "chand=%p calld=%p attempt=%p: destroying call attempt",
178
174
  calld_->chand_, calld_, this);
179
175
  }
@@ -240,7 +236,7 @@ void RetryFilter::LegacyCallData::CallAttempt::MaybeSwitchToFastPath() {
240
236
  // yet seen that op from the surface, we can't switch yet.
241
237
  if (recv_trailing_metadata_internal_batch_ != nullptr) return;
242
238
  // Switch to fast path.
243
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
239
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
244
240
  gpr_log(GPR_INFO,
245
241
  "chand=%p calld=%p attempt=%p: retry state no longer needed; "
246
242
  "moving LB call to parent and unreffing the call attempt",
@@ -259,7 +255,7 @@ RetryFilter::LegacyCallData::CallAttempt::MaybeCreateBatchForReplay() {
259
255
  // send_initial_metadata.
260
256
  if (calld_->seen_send_initial_metadata_ && !started_send_initial_metadata_ &&
261
257
  !calld_->pending_send_initial_metadata_) {
262
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
258
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
263
259
  gpr_log(GPR_INFO,
264
260
  "chand=%p calld=%p attempt=%p: replaying previously completed "
265
261
  "send_initial_metadata op",
@@ -273,7 +269,7 @@ RetryFilter::LegacyCallData::CallAttempt::MaybeCreateBatchForReplay() {
273
269
  if (started_send_message_count_ < calld_->send_messages_.size() &&
274
270
  started_send_message_count_ == completed_send_message_count_ &&
275
271
  !calld_->pending_send_message_) {
276
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
272
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
277
273
  gpr_log(GPR_INFO,
278
274
  "chand=%p calld=%p attempt=%p: replaying previously completed "
279
275
  "send_message op",
@@ -292,7 +288,7 @@ RetryFilter::LegacyCallData::CallAttempt::MaybeCreateBatchForReplay() {
292
288
  started_send_message_count_ == calld_->send_messages_.size() &&
293
289
  !started_send_trailing_metadata_ &&
294
290
  !calld_->pending_send_trailing_metadata_) {
295
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
291
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
296
292
  gpr_log(GPR_INFO,
297
293
  "chand=%p calld=%p attempt=%p: replaying previously completed "
298
294
  "send_trailing_metadata op",
@@ -323,7 +319,7 @@ void StartBatchInCallCombiner(void* arg, grpc_error_handle /*ignored*/) {
323
319
  void RetryFilter::LegacyCallData::CallAttempt::AddClosureForBatch(
324
320
  grpc_transport_stream_op_batch* batch, const char* reason,
325
321
  CallCombinerClosureList* closures) {
326
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
322
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
327
323
  gpr_log(GPR_INFO, "chand=%p calld=%p attempt=%p: adding batch (%s): %s",
328
324
  calld_->chand_, calld_, this, reason,
329
325
  grpc_transport_stream_op_batch_string(batch, false).c_str());
@@ -336,7 +332,7 @@ void RetryFilter::LegacyCallData::CallAttempt::AddClosureForBatch(
336
332
 
337
333
  void RetryFilter::LegacyCallData::CallAttempt::
338
334
  AddBatchForInternalRecvTrailingMetadata(CallCombinerClosureList* closures) {
339
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
335
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
340
336
  gpr_log(GPR_INFO,
341
337
  "chand=%p calld=%p attempt=%p: call failed but "
342
338
  "recv_trailing_metadata not started; starting it internally",
@@ -526,7 +522,7 @@ void RetryFilter::LegacyCallData::CallAttempt::AddRetriableBatches(
526
522
  }
527
523
 
528
524
  void RetryFilter::LegacyCallData::CallAttempt::StartRetriableBatches() {
529
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
525
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
530
526
  gpr_log(GPR_INFO,
531
527
  "chand=%p calld=%p attempt=%p: constructing retriable batches",
532
528
  calld_->chand_, calld_, this);
@@ -536,7 +532,7 @@ void RetryFilter::LegacyCallData::CallAttempt::StartRetriableBatches() {
536
532
  AddRetriableBatches(&closures);
537
533
  // Note: This will yield the call combiner.
538
534
  // Start batches on LB call.
539
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
535
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
540
536
  gpr_log(GPR_INFO,
541
537
  "chand=%p calld=%p attempt=%p: starting %" PRIuPTR
542
538
  " retriable batches on lb_call=%p",
@@ -564,7 +560,7 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
564
560
  if (calld_->retry_throttle_data_ != nullptr) {
565
561
  calld_->retry_throttle_data_->RecordSuccess();
566
562
  }
567
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
563
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
568
564
  gpr_log(GPR_INFO, "chand=%p calld=%p attempt=%p: call succeeded",
569
565
  calld_->chand_, calld_, this);
570
566
  }
@@ -572,7 +568,7 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
572
568
  }
573
569
  // Status is not OK. Check whether the status is retryable.
574
570
  if (!calld_->retry_policy_->retryable_status_codes().Contains(*status)) {
575
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
571
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
576
572
  gpr_log(GPR_INFO,
577
573
  "chand=%p calld=%p attempt=%p: status %s not configured as "
578
574
  "retryable",
@@ -591,7 +587,7 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
591
587
  // checks, so that we don't fail to record failures due to other factors.
592
588
  if (calld_->retry_throttle_data_ != nullptr &&
593
589
  !calld_->retry_throttle_data_->RecordFailure()) {
594
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
590
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
595
591
  gpr_log(GPR_INFO, "chand=%p calld=%p attempt=%p: retries throttled",
596
592
  calld_->chand_, calld_, this);
597
593
  }
@@ -599,7 +595,7 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
599
595
  }
600
596
  // Check whether the call is committed.
601
597
  if (calld_->retry_committed_) {
602
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
598
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
603
599
  gpr_log(GPR_INFO,
604
600
  "chand=%p calld=%p attempt=%p: retries already committed",
605
601
  calld_->chand_, calld_, this);
@@ -610,7 +606,7 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
610
606
  ++calld_->num_attempts_completed_;
611
607
  if (calld_->num_attempts_completed_ >=
612
608
  calld_->retry_policy_->max_attempts()) {
613
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
609
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
614
610
  gpr_log(
615
611
  GPR_INFO, "chand=%p calld=%p attempt=%p: exceeded %d retry attempts",
616
612
  calld_->chand_, calld_, this, calld_->retry_policy_->max_attempts());
@@ -620,7 +616,7 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
620
616
  // Check server push-back.
621
617
  if (server_pushback.has_value()) {
622
618
  if (*server_pushback < Duration::Zero()) {
623
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
619
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
624
620
  gpr_log(GPR_INFO,
625
621
  "chand=%p calld=%p attempt=%p: not retrying due to server "
626
622
  "push-back",
@@ -628,7 +624,7 @@ bool RetryFilter::LegacyCallData::CallAttempt::ShouldRetry(
628
624
  }
629
625
  return false;
630
626
  } else {
631
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
627
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
632
628
  gpr_log(
633
629
  GPR_INFO,
634
630
  "chand=%p calld=%p attempt=%p: server push-back: retry in %" PRIu64
@@ -678,7 +674,7 @@ void RetryFilter::LegacyCallData::CallAttempt::OnPerAttemptRecvTimerLocked(
678
674
  void* arg, grpc_error_handle error) {
679
675
  auto* call_attempt = static_cast<CallAttempt*>(arg);
680
676
  auto* calld = call_attempt->calld_;
681
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
677
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
682
678
  gpr_log(GPR_INFO,
683
679
  "chand=%p calld=%p attempt=%p: perAttemptRecvTimeout timer fired: "
684
680
  "error=%s, per_attempt_recv_timer_handle_.has_value()=%d",
@@ -717,7 +713,7 @@ void RetryFilter::LegacyCallData::CallAttempt::OnPerAttemptRecvTimerLocked(
717
713
  void RetryFilter::LegacyCallData::CallAttempt::
718
714
  MaybeCancelPerAttemptRecvTimer() {
719
715
  if (per_attempt_recv_timer_handle_.has_value()) {
720
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
716
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
721
717
  gpr_log(GPR_INFO,
722
718
  "chand=%p calld=%p attempt=%p: cancelling "
723
719
  "perAttemptRecvTimeout timer",
@@ -738,11 +734,10 @@ void RetryFilter::LegacyCallData::CallAttempt::
738
734
 
739
735
  RetryFilter::LegacyCallData::CallAttempt::BatchData::BatchData(
740
736
  RefCountedPtr<CallAttempt> attempt, int refcount, bool set_on_complete)
741
- : RefCounted(
742
- GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace) ? "BatchData" : nullptr,
743
- refcount),
737
+ : RefCounted(GRPC_TRACE_FLAG_ENABLED(retry) ? "BatchData" : nullptr,
738
+ refcount),
744
739
  call_attempt_(attempt.release()) {
745
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
740
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
746
741
  gpr_log(GPR_INFO, "chand=%p calld=%p attempt=%p: creating batch %p",
747
742
  call_attempt_->calld_->chand_, call_attempt_->calld_, call_attempt_,
748
743
  this);
@@ -763,7 +758,7 @@ RetryFilter::LegacyCallData::CallAttempt::BatchData::BatchData(
763
758
  }
764
759
 
765
760
  RetryFilter::LegacyCallData::CallAttempt::BatchData::~BatchData() {
766
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
761
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
767
762
  gpr_log(GPR_INFO, "chand=%p calld=%p attempt=%p: destroying batch %p",
768
763
  call_attempt_->calld_->chand_, call_attempt_->calld_, call_attempt_,
769
764
  this);
@@ -836,7 +831,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
836
831
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
837
832
  CallAttempt* call_attempt = batch_data->call_attempt_;
838
833
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
839
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
834
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
840
835
  gpr_log(GPR_INFO,
841
836
  "chand=%p calld=%p attempt=%p batch_data=%p: "
842
837
  "got recv_initial_metadata_ready, error=%s",
@@ -863,7 +858,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
863
858
  if (GPR_UNLIKELY(
864
859
  (call_attempt->trailing_metadata_available_ || !error.ok()) &&
865
860
  !call_attempt->completed_recv_trailing_metadata_)) {
866
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
861
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
867
862
  gpr_log(GPR_INFO,
868
863
  "chand=%p calld=%p attempt=%p: deferring "
869
864
  "recv_initial_metadata_ready (Trailers-Only)",
@@ -935,7 +930,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::RecvMessageReady(
935
930
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
936
931
  CallAttempt* call_attempt = batch_data->call_attempt_;
937
932
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
938
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
933
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
939
934
  gpr_log(GPR_INFO,
940
935
  "chand=%p calld=%p attempt=%p batch_data=%p: "
941
936
  "got recv_message_ready, error=%s",
@@ -965,7 +960,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::RecvMessageReady(
965
960
  if (GPR_UNLIKELY(
966
961
  (!call_attempt->recv_message_.has_value() || !error.ok()) &&
967
962
  !call_attempt->completed_recv_trailing_metadata_)) {
968
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
963
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
969
964
  gpr_log(GPR_INFO,
970
965
  "chand=%p calld=%p attempt=%p: deferring recv_message_ready "
971
966
  "(nullptr message and recv_trailing_metadata pending)",
@@ -1129,7 +1124,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1129
1124
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
1130
1125
  CallAttempt* call_attempt = batch_data->call_attempt_;
1131
1126
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
1132
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1127
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1133
1128
  gpr_log(GPR_INFO,
1134
1129
  "chand=%p calld=%p attempt=%p batch_data=%p: "
1135
1130
  "got recv_trailing_metadata_ready, error=%s",
@@ -1156,7 +1151,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1156
1151
  batch_data->batch_.payload->recv_trailing_metadata.recv_trailing_metadata;
1157
1152
  GetCallStatus(calld->deadline_, md_batch, error, &status, &server_pushback,
1158
1153
  &is_lb_drop, &stream_network_state);
1159
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1154
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1160
1155
  gpr_log(GPR_INFO,
1161
1156
  "chand=%p calld=%p attempt=%p: call finished, status=%s "
1162
1157
  "server_pushback=%s is_lb_drop=%d stream_network_state=%s",
@@ -1277,7 +1272,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1277
1272
  }
1278
1273
  }
1279
1274
  if (have_pending_send_ops) {
1280
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1275
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1281
1276
  gpr_log(GPR_INFO,
1282
1277
  "chand=%p calld=%p attempt=%p: starting next batch for pending "
1283
1278
  "send op(s)",
@@ -1292,7 +1287,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::OnComplete(
1292
1287
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
1293
1288
  CallAttempt* call_attempt = batch_data->call_attempt_;
1294
1289
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
1295
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1290
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1296
1291
  gpr_log(GPR_INFO,
1297
1292
  "chand=%p calld=%p attempt=%p batch_data=%p: "
1298
1293
  "got on_complete, error=%s, batch=%s",
@@ -1314,7 +1309,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::OnComplete(
1314
1309
  // recv_trailing_metadata comes back.
1315
1310
  if (GPR_UNLIKELY(!calld->retry_committed_ && !error.ok() &&
1316
1311
  !call_attempt->completed_recv_trailing_metadata_)) {
1317
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1312
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1318
1313
  gpr_log(GPR_INFO, "chand=%p calld=%p attempt=%p: deferring on_complete",
1319
1314
  calld->chand_, calld, call_attempt);
1320
1315
  }
@@ -1368,7 +1363,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::OnCompleteForCancelOp(
1368
1363
  RefCountedPtr<BatchData> batch_data(static_cast<BatchData*>(arg));
1369
1364
  CallAttempt* call_attempt = batch_data->call_attempt_;
1370
1365
  RetryFilter::LegacyCallData* calld = call_attempt->calld_;
1371
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1366
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1372
1367
  gpr_log(GPR_INFO,
1373
1368
  "chand=%p calld=%p attempt=%p batch_data=%p: "
1374
1369
  "got on_complete for cancel_stream batch, error=%s, batch=%s",
@@ -1412,7 +1407,7 @@ void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1412
1407
  void RetryFilter::LegacyCallData::CallAttempt::BatchData::
1413
1408
  AddRetriableSendMessageOp() {
1414
1409
  auto* calld = call_attempt_->calld_;
1415
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1410
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1416
1411
  gpr_log(
1417
1412
  GPR_INFO,
1418
1413
  "chand=%p calld=%p attempt=%p: starting calld->send_messages[%" PRIuPTR
@@ -1501,7 +1496,7 @@ grpc_error_handle RetryFilter::LegacyCallData::Init(
1501
1496
  grpc_call_element* elem, const grpc_call_element_args* args) {
1502
1497
  auto* chand = static_cast<RetryFilter*>(elem->channel_data);
1503
1498
  new (elem->call_data) RetryFilter::LegacyCallData(chand, *args);
1504
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1499
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1505
1500
  gpr_log(GPR_INFO, "chand=%p calld=%p: created call", chand,
1506
1501
  elem->call_data);
1507
1502
  }
@@ -1545,7 +1540,7 @@ RetryFilter::LegacyCallData::LegacyCallData(RetryFilter* chand,
1545
1540
  const grpc_call_element_args& args)
1546
1541
  : chand_(chand),
1547
1542
  retry_throttle_data_(chand->retry_throttle_data()),
1548
- retry_policy_(chand->GetRetryPolicy(args.context)),
1543
+ retry_policy_(chand->GetRetryPolicy(args.arena)),
1549
1544
  retry_backoff_(
1550
1545
  BackOff::Options()
1551
1546
  .set_initial_backoff(retry_policy_ == nullptr
@@ -1563,7 +1558,6 @@ RetryFilter::LegacyCallData::LegacyCallData(RetryFilter* chand,
1563
1558
  arena_(args.arena),
1564
1559
  owning_call_(args.call_stack),
1565
1560
  call_combiner_(args.call_combiner),
1566
- call_context_(args.context),
1567
1561
  call_stack_destruction_barrier_(
1568
1562
  arena_->New<CallStackDestructionBarrier>()),
1569
1563
  pending_send_initial_metadata_(false),
@@ -1584,8 +1578,7 @@ RetryFilter::LegacyCallData::~LegacyCallData() {
1584
1578
 
1585
1579
  void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1586
1580
  grpc_transport_stream_op_batch* batch) {
1587
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace) &&
1588
- !GRPC_TRACE_FLAG_ENABLED(grpc_trace_channel)) {
1581
+ if (GRPC_TRACE_FLAG_ENABLED(retry) && !GRPC_TRACE_FLAG_ENABLED(channel)) {
1589
1582
  gpr_log(GPR_INFO, "chand=%p calld=%p: batch started from surface: %s",
1590
1583
  chand_, this,
1591
1584
  grpc_transport_stream_op_batch_string(batch, false).c_str());
@@ -1608,7 +1601,7 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1608
1601
  if (GPR_UNLIKELY(batch->cancel_stream)) {
1609
1602
  // Save cancel_error in case subsequent batches are started.
1610
1603
  cancelled_from_surface_ = batch->payload->cancel_stream.cancel_error;
1611
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1604
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1612
1605
  gpr_log(GPR_INFO, "chand=%p calld=%p: cancelled from surface: %s", chand_,
1613
1606
  this, StatusToString(cancelled_from_surface_).c_str());
1614
1607
  }
@@ -1631,7 +1624,7 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1631
1624
  }
1632
1625
  // Cancel retry timer if needed.
1633
1626
  if (retry_timer_handle_.has_value()) {
1634
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1627
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1635
1628
  gpr_log(GPR_INFO, "chand=%p calld=%p: cancelling retry timer", chand_,
1636
1629
  this);
1637
1630
  }
@@ -1677,7 +1670,7 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1677
1670
  if (!retry_codepath_started_ && retry_committed_ &&
1678
1671
  (retry_policy_ == nullptr ||
1679
1672
  !retry_policy_->per_attempt_recv_timeout().has_value())) {
1680
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1673
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1681
1674
  gpr_log(GPR_INFO,
1682
1675
  "chand=%p calld=%p: retry committed before first attempt; "
1683
1676
  "creating LB call",
@@ -1685,8 +1678,8 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1685
1678
  }
1686
1679
  PendingBatchClear(pending);
1687
1680
  auto* service_config_call_data =
1688
- static_cast<ClientChannelServiceConfigCallData*>(
1689
- call_context_[GRPC_CONTEXT_SERVICE_CONFIG_CALL_DATA].value);
1681
+ DownCast<ClientChannelServiceConfigCallData*>(
1682
+ arena_->GetContext<ServiceConfigCallData>());
1690
1683
  committed_call_ = CreateLoadBalancedCall(
1691
1684
  [service_config_call_data]() { service_config_call_data->Commit(); },
1692
1685
  /*is_transparent_retry=*/false);
@@ -1696,7 +1689,7 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1696
1689
  // Otherwise, create a call attempt.
1697
1690
  // The attempt will automatically start any necessary replays or
1698
1691
  // pending batches.
1699
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1692
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1700
1693
  gpr_log(GPR_INFO, "chand=%p calld=%p: creating call attempt", chand_,
1701
1694
  this);
1702
1695
  }
@@ -1705,7 +1698,7 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1705
1698
  return;
1706
1699
  }
1707
1700
  // Send batches to call attempt.
1708
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1701
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1709
1702
  gpr_log(GPR_INFO, "chand=%p calld=%p: starting batch on attempt=%p", chand_,
1710
1703
  this, call_attempt_.get());
1711
1704
  }
@@ -1715,9 +1708,9 @@ void RetryFilter::LegacyCallData::StartTransportStreamOpBatch(
1715
1708
  OrphanablePtr<ClientChannelFilter::FilterBasedLoadBalancedCall>
1716
1709
  RetryFilter::LegacyCallData::CreateLoadBalancedCall(
1717
1710
  absl::AnyInvocable<void()> on_commit, bool is_transparent_retry) {
1718
- grpc_call_element_args args = {owning_call_, nullptr, call_context_,
1719
- path_, /*start_time=*/0, deadline_,
1720
- arena_, call_combiner_};
1711
+ grpc_call_element_args args = {owning_call_, nullptr, path_,
1712
+ /*start_time=*/0, deadline_, arena_,
1713
+ call_combiner_};
1721
1714
  return chand_->client_channel()->CreateLoadBalancedCall(
1722
1715
  args, pollent_,
1723
1716
  // This callback holds a ref to the CallStackDestructionBarrier
@@ -1763,7 +1756,7 @@ void RetryFilter::LegacyCallData::MaybeCacheSendOpsForBatch(
1763
1756
  }
1764
1757
 
1765
1758
  void RetryFilter::LegacyCallData::FreeCachedSendInitialMetadata() {
1766
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1759
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1767
1760
  gpr_log(GPR_INFO, "chand=%p calld=%p: destroying send_initial_metadata",
1768
1761
  chand_, this);
1769
1762
  }
@@ -1772,7 +1765,7 @@ void RetryFilter::LegacyCallData::FreeCachedSendInitialMetadata() {
1772
1765
 
1773
1766
  void RetryFilter::LegacyCallData::FreeCachedSendMessage(size_t idx) {
1774
1767
  if (send_messages_[idx].slices != nullptr) {
1775
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1768
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1776
1769
  gpr_log(GPR_INFO,
1777
1770
  "chand=%p calld=%p: destroying send_messages[%" PRIuPTR "]",
1778
1771
  chand_, this, idx);
@@ -1782,7 +1775,7 @@ void RetryFilter::LegacyCallData::FreeCachedSendMessage(size_t idx) {
1782
1775
  }
1783
1776
 
1784
1777
  void RetryFilter::LegacyCallData::FreeCachedSendTrailingMetadata() {
1785
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1778
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1786
1779
  gpr_log(GPR_INFO, "chand=%p calld=%p: destroying send_trailing_metadata",
1787
1780
  chand_, this);
1788
1781
  }
@@ -1821,7 +1814,7 @@ RetryFilter::LegacyCallData::PendingBatch*
1821
1814
  RetryFilter::LegacyCallData::PendingBatchesAdd(
1822
1815
  grpc_transport_stream_op_batch* batch) {
1823
1816
  const size_t idx = GetBatchIndex(batch);
1824
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1817
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1825
1818
  gpr_log(GPR_INFO,
1826
1819
  "chand=%p calld=%p: adding pending batch at index %" PRIuPTR,
1827
1820
  chand_, this, idx);
@@ -1852,7 +1845,7 @@ RetryFilter::LegacyCallData::PendingBatchesAdd(
1852
1845
  // ops have already been sent, and we commit to that attempt.
1853
1846
  if (GPR_UNLIKELY(bytes_buffered_for_retry_ >
1854
1847
  chand_->per_rpc_retry_buffer_size())) {
1855
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1848
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1856
1849
  gpr_log(GPR_INFO,
1857
1850
  "chand=%p calld=%p: exceeded retry buffer size, committing",
1858
1851
  chand_, this);
@@ -1889,7 +1882,7 @@ void RetryFilter::LegacyCallData::MaybeClearPendingBatch(
1889
1882
  (!batch->recv_trailing_metadata ||
1890
1883
  batch->payload->recv_trailing_metadata.recv_trailing_metadata_ready ==
1891
1884
  nullptr)) {
1892
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1885
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1893
1886
  gpr_log(GPR_INFO, "chand=%p calld=%p: clearing pending batch", chand_,
1894
1887
  this);
1895
1888
  }
@@ -1912,7 +1905,7 @@ void RetryFilter::LegacyCallData::FailPendingBatchInCallCombiner(
1912
1905
  // This is called via the call combiner, so access to calld is synchronized.
1913
1906
  void RetryFilter::LegacyCallData::PendingBatchesFail(grpc_error_handle error) {
1914
1907
  CHECK(!error.ok());
1915
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1908
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1916
1909
  size_t num_batches = 0;
1917
1910
  for (size_t i = 0; i < GPR_ARRAY_SIZE(pending_batches_); ++i) {
1918
1911
  if (pending_batches_[i].batch != nullptr) ++num_batches;
@@ -1946,7 +1939,7 @@ RetryFilter::LegacyCallData::PendingBatchFind(const char* log_message,
1946
1939
  PendingBatch* pending = &pending_batches_[i];
1947
1940
  grpc_transport_stream_op_batch* batch = pending->batch;
1948
1941
  if (batch != nullptr && predicate(batch)) {
1949
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1942
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1950
1943
  gpr_log(GPR_INFO,
1951
1944
  "chand=%p calld=%p: %s pending batch at index %" PRIuPTR,
1952
1945
  chand_, this, log_message, i);
@@ -1964,7 +1957,7 @@ RetryFilter::LegacyCallData::PendingBatchFind(const char* log_message,
1964
1957
  void RetryFilter::LegacyCallData::RetryCommit(CallAttempt* call_attempt) {
1965
1958
  if (retry_committed_) return;
1966
1959
  retry_committed_ = true;
1967
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1960
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
1968
1961
  gpr_log(GPR_INFO, "chand=%p calld=%p: committing retries", chand_, this);
1969
1962
  }
1970
1963
  if (call_attempt != nullptr) {
@@ -1976,8 +1969,8 @@ void RetryFilter::LegacyCallData::RetryCommit(CallAttempt* call_attempt) {
1976
1969
  // problem anymore.
1977
1970
  if (call_attempt->lb_call_committed()) {
1978
1971
  auto* service_config_call_data =
1979
- static_cast<ClientChannelServiceConfigCallData*>(
1980
- call_context_[GRPC_CONTEXT_SERVICE_CONFIG_CALL_DATA].value);
1972
+ DownCast<ClientChannelServiceConfigCallData*>(
1973
+ arena_->GetContext<ServiceConfigCallData>());
1981
1974
  service_config_call_data->Commit();
1982
1975
  }
1983
1976
  // Free cached send ops.
@@ -1998,7 +1991,7 @@ void RetryFilter::LegacyCallData::StartRetryTimer(
1998
1991
  } else {
1999
1992
  next_attempt_timeout = retry_backoff_.NextAttemptTime() - Timestamp::Now();
2000
1993
  }
2001
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
1994
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
2002
1995
  gpr_log(GPR_INFO,
2003
1996
  "chand=%p calld=%p: retrying failed call in %" PRId64 " ms", chand_,
2004
1997
  this, next_attempt_timeout.millis());
@@ -2031,7 +2024,7 @@ void RetryFilter::LegacyCallData::OnRetryTimerLocked(
2031
2024
 
2032
2025
  void RetryFilter::LegacyCallData::AddClosureToStartTransparentRetry(
2033
2026
  CallCombinerClosureList* closures) {
2034
- if (GRPC_TRACE_FLAG_ENABLED(grpc_retry_trace)) {
2027
+ if (GRPC_TRACE_FLAG_ENABLED(retry)) {
2035
2028
  gpr_log(GPR_INFO, "chand=%p calld=%p: scheduling transparent retry", chand_,
2036
2029
  this);
2037
2030
  }
@@ -37,7 +37,6 @@
37
37
  #include "src/core/lib/backoff/backoff.h"
38
38
  #include "src/core/lib/channel/channel_fwd.h"
39
39
  #include "src/core/lib/channel/channel_stack.h"
40
- #include "src/core/lib/channel/context.h"
41
40
  #include "src/core/lib/gprpp/debug_location.h"
42
41
  #include "src/core/lib/gprpp/orphanable.h"
43
42
  #include "src/core/lib/gprpp/ref_counted.h"
@@ -380,7 +379,6 @@ class RetryFilter::LegacyCallData final {
380
379
  Arena* arena_;
381
380
  grpc_call_stack* owning_call_;
382
381
  CallCombiner* call_combiner_;
383
- grpc_call_context_element* call_context_;
384
382
 
385
383
  grpc_error_handle cancelled_from_surface_;
386
384
 
@@ -23,6 +23,7 @@
23
23
  #include <utility>
24
24
  #include <vector>
25
25
 
26
+ #include "absl/log/log.h"
26
27
  #include "absl/strings/numbers.h"
27
28
  #include "absl/strings/str_cat.h"
28
29
  #include "absl/types/optional.h"
@@ -30,12 +31,11 @@
30
31
  #include <grpc/impl/channel_arg_names.h>
31
32
  #include <grpc/status.h>
32
33
  #include <grpc/support/json.h>
33
- #include <grpc/support/log.h>
34
34
 
35
35
  #include "src/core/lib/channel/channel_args.h"
36
36
  #include "src/core/lib/channel/status_util.h"
37
37
  #include "src/core/lib/config/core_configuration.h"
38
- #include "src/core/lib/json/json_channel_args.h"
38
+ #include "src/core/util/json/json_channel_args.h"
39
39
 
40
40
  // As per the retry design, we do not allow more than 5 retry attempts.
41
41
  #define MAX_MAX_RETRY_ATTEMPTS 5
@@ -142,9 +142,8 @@ void RetryMethodConfig::JsonPostLoad(const Json& json, const JsonArgs& args,
142
142
  if (max_attempts_ <= 1) {
143
143
  errors->AddError("must be at least 2");
144
144
  } else if (max_attempts_ > MAX_MAX_RETRY_ATTEMPTS) {
145
- gpr_log(GPR_ERROR,
146
- "service config: clamped retryPolicy.maxAttempts at %d",
147
- MAX_MAX_RETRY_ATTEMPTS);
145
+ LOG(ERROR) << "service config: clamped retryPolicy.maxAttempts at "
146
+ << MAX_MAX_RETRY_ATTEMPTS;
148
147
  max_attempts_ = MAX_MAX_RETRY_ATTEMPTS;
149
148
  }
150
149
  }
@@ -32,10 +32,10 @@
32
32
  #include "src/core/lib/config/core_configuration.h"
33
33
  #include "src/core/lib/gprpp/time.h"
34
34
  #include "src/core/lib/gprpp/validation_errors.h"
35
- #include "src/core/lib/json/json.h"
36
- #include "src/core/lib/json/json_args.h"
37
- #include "src/core/lib/json/json_object_loader.h"
38
35
  #include "src/core/service_config/service_config_parser.h"
36
+ #include "src/core/util/json/json.h"
37
+ #include "src/core/util/json/json_args.h"
38
+ #include "src/core/util/json/json_object_loader.h"
39
39
 
40
40
  namespace grpc_core {
41
41
  namespace internal {