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,15 +32,16 @@
32
32
  #include <sys/stat.h>
33
33
  #include <unistd.h>
34
34
 
35
+ #include "absl/log/log.h"
36
+
35
37
  #include <grpc/support/alloc.h>
36
- #include <grpc/support/log.h>
37
38
 
38
39
  #include "src/core/lib/config/config_vars.h"
39
- #include "src/core/lib/gpr/useful.h"
40
40
  #include "src/core/lib/gprpp/load_file.h"
41
41
  #include "src/core/lib/iomgr/error.h"
42
42
  #include "src/core/lib/security/security_connector/load_system_roots.h"
43
43
  #include "src/core/lib/security/security_connector/load_system_roots_supported.h"
44
+ #include "src/core/util/useful.h"
44
45
 
45
46
  namespace grpc_core {
46
47
  namespace {
@@ -79,8 +80,7 @@ void GetAbsoluteFilePath(const char* valid_file_dir,
79
80
  int path_len = snprintf(path_buffer, MAXPATHLEN, "%s/%s", valid_file_dir,
80
81
  file_entry_name);
81
82
  if (path_len == 0) {
82
- gpr_log(GPR_ERROR, "failed to get absolute path for file: %s",
83
- file_entry_name);
83
+ LOG(ERROR) << "failed to get absolute path for file: " << file_entry_name;
84
84
  }
85
85
  }
86
86
  }
@@ -110,7 +110,7 @@ grpc_slice CreateRootCertsBundle(const char* certs_directory) {
110
110
  if (stat_return == -1 || !S_ISREG(dir_entry_stat.st_mode)) {
111
111
  // no subdirectories.
112
112
  if (stat_return == -1) {
113
- gpr_log(GPR_ERROR, "failed to get status for file: %s", file_data.path);
113
+ LOG(ERROR) << "failed to get status for file: " << file_data.path;
114
114
  }
115
115
  continue;
116
116
  }
@@ -131,7 +131,7 @@ grpc_slice CreateRootCertsBundle(const char* certs_directory) {
131
131
  if (read_ret != -1) {
132
132
  bytes_read += read_ret;
133
133
  } else {
134
- gpr_log(GPR_ERROR, "failed to read file: %s", roots_filenames[i].path);
134
+ LOG(ERROR) << "failed to read file: " << roots_filenames[i].path;
135
135
  }
136
136
  }
137
137
  }
@@ -32,9 +32,9 @@
32
32
  #include <grpc/support/alloc.h>
33
33
  #include <grpc/support/log.h>
34
34
 
35
- #include "src/core/lib/gpr/useful.h"
36
35
  #include "src/core/lib/security/security_connector/load_system_roots.h"
37
36
  #include "src/core/lib/slice/slice_internal.h"
37
+ #include "src/core/util/useful.h"
38
38
 
39
39
  namespace grpc_core {
40
40
  namespace {
@@ -24,6 +24,7 @@
24
24
  #include <utility>
25
25
 
26
26
  #include "absl/log/check.h"
27
+ #include "absl/log/log.h"
27
28
  #include "absl/status/status.h"
28
29
  #include "absl/status/statusor.h"
29
30
  #include "absl/strings/match.h"
@@ -33,7 +34,6 @@
33
34
  #include <grpc/grpc.h>
34
35
  #include <grpc/grpc_security_constants.h>
35
36
  #include <grpc/support/alloc.h>
36
- #include <grpc/support/log.h>
37
37
  #include <grpc/support/port_platform.h>
38
38
  #include <grpc/support/string_util.h>
39
39
 
@@ -99,8 +99,7 @@ void local_check_peer(tsi_peer peer, grpc_endpoint* ep,
99
99
  absl::string_view local_addr = grpc_endpoint_get_local_address(ep);
100
100
  absl::StatusOr<grpc_core::URI> uri = grpc_core::URI::Parse(local_addr);
101
101
  if (!uri.ok() || !grpc_parse_uri(*uri, &resolved_addr)) {
102
- gpr_log(GPR_ERROR, "Could not parse endpoint address: %s",
103
- std::string(local_addr.data(), local_addr.size()).c_str());
102
+ LOG(ERROR) << "Could not parse endpoint address: " << local_addr;
104
103
  } else {
105
104
  grpc_resolved_address addr_normalized;
106
105
  grpc_resolved_address* addr =
@@ -269,9 +268,8 @@ grpc_local_channel_security_connector_create(
269
268
  grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
270
269
  const grpc_core::ChannelArgs& args, const char* target_name) {
271
270
  if (channel_creds == nullptr || target_name == nullptr) {
272
- gpr_log(
273
- GPR_ERROR,
274
- "Invalid arguments to grpc_local_channel_security_connector_create()");
271
+ LOG(ERROR) << "Invalid arguments to "
272
+ "grpc_local_channel_security_connector_create()";
275
273
  return nullptr;
276
274
  }
277
275
  // Perform sanity check on UDS address. For TCP local connection, the check
@@ -283,9 +281,8 @@ grpc_local_channel_security_connector_create(
283
281
  if (creds->connect_type() == UDS &&
284
282
  !absl::StartsWith(server_uri_str, GRPC_UDS_URI_PATTERN) &&
285
283
  !absl::StartsWith(server_uri_str, GRPC_ABSTRACT_UDS_URI_PATTERN)) {
286
- gpr_log(GPR_ERROR,
287
- "Invalid UDS target name to "
288
- "grpc_local_channel_security_connector_create()");
284
+ LOG(ERROR) << "Invalid UDS target name to "
285
+ "grpc_local_channel_security_connector_create()";
289
286
  return nullptr;
290
287
  }
291
288
  return grpc_core::MakeRefCounted<grpc_local_channel_security_connector>(
@@ -296,9 +293,8 @@ grpc_core::RefCountedPtr<grpc_server_security_connector>
296
293
  grpc_local_server_security_connector_create(
297
294
  grpc_core::RefCountedPtr<grpc_server_credentials> server_creds) {
298
295
  if (server_creds == nullptr) {
299
- gpr_log(
300
- GPR_ERROR,
301
- "Invalid arguments to grpc_local_server_security_connector_create()");
296
+ LOG(ERROR)
297
+ << "Invalid arguments to grpc_local_server_security_connector_create()";
302
298
  return nullptr;
303
299
  }
304
300
  return grpc_core::MakeRefCounted<grpc_local_server_security_connector>(
@@ -28,12 +28,9 @@
28
28
  #include <grpc/support/port_platform.h>
29
29
 
30
30
  #include "src/core/lib/channel/channel_args.h"
31
- #include "src/core/lib/gpr/useful.h"
32
31
  #include "src/core/lib/gprpp/debug_location.h"
33
32
  #include "src/core/lib/security/credentials/credentials.h"
34
-
35
- grpc_core::DebugOnlyTraceFlag grpc_trace_security_connector_refcount(
36
- false, "security_connector_refcount");
33
+ #include "src/core/util/useful.h"
37
34
 
38
35
  grpc_channel_security_connector::grpc_channel_security_connector(
39
36
  absl::string_view url_scheme,
@@ -42,8 +42,6 @@
42
42
  #include "src/core/lib/promise/arena_promise.h"
43
43
  #include "src/core/tsi/transport_security_interface.h"
44
44
 
45
- extern grpc_core::DebugOnlyTraceFlag grpc_trace_security_connector_refcount;
46
-
47
45
  // --- URL schemes. ---
48
46
 
49
47
  #define GRPC_SSL_URL_SCHEME "https"
@@ -63,7 +61,7 @@ class grpc_security_connector
63
61
  public:
64
62
  explicit grpc_security_connector(absl::string_view url_scheme)
65
63
  : grpc_core::RefCounted<grpc_security_connector>(
66
- GRPC_TRACE_FLAG_ENABLED(grpc_trace_security_connector_refcount)
64
+ GRPC_TRACE_FLAG_ENABLED(security_connector_refcount)
67
65
  ? "security_connector_refcount"
68
66
  : nullptr),
69
67
  url_scheme_(url_scheme) {}
@@ -25,13 +25,13 @@
25
25
  #include <utility>
26
26
 
27
27
  #include "absl/log/check.h"
28
+ #include "absl/log/log.h"
28
29
  #include "absl/status/status.h"
29
30
  #include "absl/strings/str_cat.h"
30
31
  #include "absl/strings/str_format.h"
31
32
  #include "absl/strings/string_view.h"
32
33
 
33
34
  #include <grpc/support/alloc.h>
34
- #include <grpc/support/log.h>
35
35
  #include <grpc/support/port_platform.h>
36
36
 
37
37
  #include "src/core/handshaker/handshaker.h"
@@ -112,8 +112,8 @@ class grpc_ssl_channel_security_connector final
112
112
  /*network_bio_buf_size=*/0,
113
113
  /*ssl_bio_buf_size=*/0, &tsi_hs);
114
114
  if (result != TSI_OK) {
115
- gpr_log(GPR_ERROR, "Handshaker creation failed with error %s.",
116
- tsi_result_to_string(result));
115
+ LOG(ERROR) << "Handshaker creation failed with error "
116
+ << tsi_result_to_string(result);
117
117
  return;
118
118
  }
119
119
  // Create handshakers.
@@ -204,8 +204,7 @@ class grpc_ssl_server_security_connector
204
204
  if (has_cert_config_fetcher()) {
205
205
  // Load initial credentials from certificate_config_fetcher:
206
206
  if (!try_fetch_ssl_server_credentials()) {
207
- gpr_log(GPR_ERROR,
208
- "Failed loading SSL server credentials from fetcher.");
207
+ LOG(ERROR) << "Failed loading SSL server credentials from fetcher.";
209
208
  return GRPC_SECURITY_ERROR;
210
209
  }
211
210
  } else {
@@ -236,8 +235,8 @@ class grpc_ssl_server_security_connector
236
235
  &options, &server_handshaker_factory_);
237
236
  gpr_free(alpn_protocol_strings);
238
237
  if (result != TSI_OK) {
239
- gpr_log(GPR_ERROR, "Handshaker factory creation failed with %s.",
240
- tsi_result_to_string(result));
238
+ LOG(ERROR) << "Handshaker factory creation failed with "
239
+ << tsi_result_to_string(result);
241
240
  return GRPC_SECURITY_ERROR;
242
241
  }
243
242
  }
@@ -254,8 +253,8 @@ class grpc_ssl_server_security_connector
254
253
  server_handshaker_factory_, /*network_bio_buf_size=*/0,
255
254
  /*ssl_bio_buf_size=*/0, &tsi_hs);
256
255
  if (result != TSI_OK) {
257
- gpr_log(GPR_ERROR, "Handshaker creation failed with error %s.",
258
- tsi_result_to_string(result));
256
+ LOG(ERROR) << "Handshaker creation failed with error "
257
+ << tsi_result_to_string(result);
259
258
  return;
260
259
  }
261
260
  // Create handshakers.
@@ -299,9 +298,8 @@ class grpc_ssl_server_security_connector
299
298
  status = try_replace_server_handshaker_factory(certificate_config);
300
299
  } else {
301
300
  // Log error, continue using previously-loaded credentials.
302
- gpr_log(GPR_ERROR,
303
- "Failed fetching new server credentials, continuing to "
304
- "use previously-loaded credentials.");
301
+ LOG(ERROR) << "Failed fetching new server credentials, continuing to "
302
+ "use previously-loaded credentials.";
305
303
  status = false;
306
304
  }
307
305
 
@@ -318,12 +316,12 @@ class grpc_ssl_server_security_connector
318
316
  bool try_replace_server_handshaker_factory(
319
317
  const grpc_ssl_server_certificate_config* config) {
320
318
  if (config == nullptr) {
321
- gpr_log(GPR_ERROR,
322
- "Server certificate config callback returned invalid (NULL) "
323
- "config.");
319
+ LOG(ERROR)
320
+ << "Server certificate config callback returned invalid (NULL) "
321
+ "config.";
324
322
  return false;
325
323
  }
326
- gpr_log(GPR_DEBUG, "Using new server certificate config (%p).", config);
324
+ VLOG(2) << "Using new server certificate config (" << config << ").";
327
325
 
328
326
  size_t num_alpn_protocols = 0;
329
327
  const char** alpn_protocol_strings =
@@ -351,8 +349,8 @@ class grpc_ssl_server_security_connector
351
349
  gpr_free(alpn_protocol_strings);
352
350
 
353
351
  if (result != TSI_OK) {
354
- gpr_log(GPR_ERROR, "Handshaker factory creation failed with %s.",
355
- tsi_result_to_string(result));
352
+ LOG(ERROR) << "Handshaker factory creation failed with "
353
+ << tsi_result_to_string(result);
356
354
  return false;
357
355
  }
358
356
  set_server_handshaker_factory(new_handshaker_factory);
@@ -380,7 +378,7 @@ grpc_ssl_channel_security_connector_create(
380
378
  const char* overridden_target_name,
381
379
  tsi_ssl_client_handshaker_factory* client_factory) {
382
380
  if (config == nullptr || target_name == nullptr) {
383
- gpr_log(GPR_ERROR, "An ssl channel needs a config and a target name.");
381
+ LOG(ERROR) << "An ssl channel needs a config and a target name.";
384
382
  return nullptr;
385
383
  }
386
384
 
@@ -26,6 +26,7 @@
26
26
  #include <vector>
27
27
 
28
28
  #include "absl/log/check.h"
29
+ #include "absl/log/log.h"
29
30
  #include "absl/strings/match.h"
30
31
  #include "absl/strings/str_cat.h"
31
32
  #include "absl/strings/str_split.h"
@@ -35,7 +36,6 @@
35
36
  #include <grpc/grpc_crl_provider.h>
36
37
  #include <grpc/impl/channel_arg_names.h>
37
38
  #include <grpc/support/alloc.h>
38
- #include <grpc/support/log.h>
39
39
  #include <grpc/support/port_platform.h>
40
40
  #include <grpc/support/string_util.h>
41
41
  #include <grpc/support/sync.h>
@@ -43,7 +43,6 @@
43
43
  #include "src/core/ext/transport/chttp2/alpn/alpn.h"
44
44
  #include "src/core/lib/channel/channel_args.h"
45
45
  #include "src/core/lib/config/config_vars.h"
46
- #include "src/core/lib/gpr/useful.h"
47
46
  #include "src/core/lib/gprpp/host_port.h"
48
47
  #include "src/core/lib/gprpp/load_file.h"
49
48
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
@@ -51,6 +50,7 @@
51
50
  #include "src/core/lib/security/security_connector/load_system_roots.h"
52
51
  #include "src/core/tsi/ssl_transport_security.h"
53
52
  #include "src/core/tsi/transport_security.h"
53
+ #include "src/core/util/useful.h"
54
54
 
55
55
  // -- Constants. --
56
56
 
@@ -123,7 +123,7 @@ tsi_tls_version grpc_get_tsi_tls_version(grpc_tls_version tls_version) {
123
123
  case grpc_tls_version::TLS1_3:
124
124
  return tsi_tls_version::TSI_TLS1_3;
125
125
  default:
126
- gpr_log(GPR_INFO, "Falling back to TLS 1.2.");
126
+ LOG(INFO) << "Falling back to TLS 1.2.";
127
127
  return tsi_tls_version::TSI_TLS1_2;
128
128
  }
129
129
  }
@@ -180,7 +180,7 @@ absl::Status SslCheckCallHost(absl::string_view host,
180
180
  status = GRPC_SECURITY_OK;
181
181
  }
182
182
  if (status != GRPC_SECURITY_OK) {
183
- gpr_log(GPR_ERROR, "call host does not match SSL server name");
183
+ LOG(ERROR) << "call host does not match SSL server name";
184
184
  grpc_shallow_peer_destruct(&peer);
185
185
  return absl::UnauthenticatedError(
186
186
  "call host does not match SSL server name");
@@ -232,16 +232,16 @@ static bool IsSpiffeId(absl::string_view uri) {
232
232
  return false;
233
233
  };
234
234
  if (uri.size() > 2048) {
235
- gpr_log(GPR_INFO, "Invalid SPIFFE ID: ID longer than 2048 bytes.");
235
+ LOG(INFO) << "Invalid SPIFFE ID: ID longer than 2048 bytes.";
236
236
  return false;
237
237
  }
238
238
  std::vector<absl::string_view> splits = absl::StrSplit(uri, '/');
239
239
  if (splits.size() < 4 || splits[3].empty()) {
240
- gpr_log(GPR_INFO, "Invalid SPIFFE ID: workload id is empty.");
240
+ LOG(INFO) << "Invalid SPIFFE ID: workload id is empty.";
241
241
  return false;
242
242
  }
243
243
  if (splits[2].size() > 255) {
244
- gpr_log(GPR_INFO, "Invalid SPIFFE ID: domain longer than 255 characters.");
244
+ LOG(INFO) << "Invalid SPIFFE ID: domain longer than 255 characters.";
245
245
  return false;
246
246
  }
247
247
  return true;
@@ -332,7 +332,7 @@ grpc_core::RefCountedPtr<grpc_auth_context> grpc_ssl_peer_to_auth_context(
332
332
  GRPC_PEER_SPIFFE_ID_PROPERTY_NAME,
333
333
  spiffe_data, spiffe_length);
334
334
  } else {
335
- gpr_log(GPR_INFO, "Invalid SPIFFE ID: multiple URI SANs.");
335
+ LOG(INFO) << "Invalid SPIFFE ID: multiple URI SANs.";
336
336
  }
337
337
  }
338
338
  return ctx;
@@ -419,13 +419,12 @@ grpc_security_status grpc_ssl_tsi_client_handshaker_factory_init(
419
419
  const char* root_certs;
420
420
  const tsi_ssl_root_certs_store* root_store;
421
421
  if (pem_root_certs == nullptr && !skip_server_certificate_verification) {
422
- gpr_log(GPR_INFO,
423
- "No root certificates specified; use ones stored in system default "
424
- "locations instead");
422
+ LOG(INFO) << "No root certificates specified; use ones stored in system "
423
+ "default locations instead";
425
424
  // Use default root certificates.
426
425
  root_certs = grpc_core::DefaultSslRootStore::GetPemRootCerts();
427
426
  if (root_certs == nullptr) {
428
- gpr_log(GPR_ERROR, "Could not get default pem root certs.");
427
+ LOG(ERROR) << "Could not get default pem root certs.";
429
428
  return GRPC_SECURITY_ERROR;
430
429
  }
431
430
  root_store = grpc_core::DefaultSslRootStore::GetRootStore();
@@ -458,8 +457,8 @@ grpc_security_status grpc_ssl_tsi_client_handshaker_factory_init(
458
457
  handshaker_factory);
459
458
  gpr_free(options.alpn_protocols);
460
459
  if (result != TSI_OK) {
461
- gpr_log(GPR_ERROR, "Handshaker factory creation failed with %s.",
462
- tsi_result_to_string(result));
460
+ LOG(ERROR) << "Handshaker factory creation failed with "
461
+ << tsi_result_to_string(result);
463
462
  return GRPC_SECURITY_ERROR;
464
463
  }
465
464
  return GRPC_SECURITY_OK;
@@ -497,8 +496,8 @@ grpc_security_status grpc_ssl_tsi_server_handshaker_factory_init(
497
496
  handshaker_factory);
498
497
  gpr_free(alpn_protocol_strings);
499
498
  if (result != TSI_OK) {
500
- gpr_log(GPR_ERROR, "Handshaker factory creation failed with %s.",
501
- tsi_result_to_string(result));
499
+ LOG(ERROR) << "Handshaker factory creation failed with "
500
+ << tsi_result_to_string(result);
502
501
  return GRPC_SECURITY_ERROR;
503
502
  }
504
503
  return GRPC_SECURITY_OK;
@@ -575,9 +574,8 @@ grpc_slice DefaultSslRootStore::ComputePemRootCerts() {
575
574
  auto slice =
576
575
  LoadFile(default_root_certs_path, /*add_null_terminator=*/true);
577
576
  if (!slice.ok()) {
578
- gpr_log(GPR_ERROR, "error loading file %s: %s",
579
- default_root_certs_path.c_str(),
580
- slice.status().ToString().c_str());
577
+ LOG(ERROR) << "error loading file " << default_root_certs_path << ": "
578
+ << slice.status();
581
579
  } else {
582
580
  result = std::move(*slice);
583
581
  }
@@ -603,8 +601,8 @@ grpc_slice DefaultSslRootStore::ComputePemRootCerts() {
603
601
  if (result.empty() && ovrd_res != GRPC_SSL_ROOTS_OVERRIDE_FAIL_PERMANENTLY) {
604
602
  auto slice = LoadFile(installed_roots_path, /*add_null_terminator=*/true);
605
603
  if (!slice.ok()) {
606
- gpr_log(GPR_ERROR, "error loading file %s: %s", installed_roots_path,
607
- slice.status().ToString().c_str());
604
+ LOG(ERROR) << "error loading file " << installed_roots_path << ": "
605
+ << slice.status();
608
606
  } else {
609
607
  result = std::move(*slice);
610
608
  }
@@ -26,13 +26,13 @@
26
26
 
27
27
  #include "absl/functional/bind_front.h"
28
28
  #include "absl/log/check.h"
29
+ #include "absl/log/log.h"
29
30
  #include "absl/strings/str_cat.h"
30
31
  #include "absl/strings/string_view.h"
31
32
 
32
33
  #include <grpc/grpc.h>
33
34
  #include <grpc/grpc_security_constants.h>
34
35
  #include <grpc/support/alloc.h>
35
- #include <grpc/support/log.h>
36
36
  #include <grpc/support/port_platform.h>
37
37
  #include <grpc/support/string_util.h>
38
38
 
@@ -246,21 +246,18 @@ TlsChannelSecurityConnector::CreateTlsChannelSecurityConnector(
246
246
  const char* target_name, const char* overridden_target_name,
247
247
  tsi_ssl_session_cache* ssl_session_cache) {
248
248
  if (channel_creds == nullptr) {
249
- gpr_log(GPR_ERROR,
250
- "channel_creds is nullptr in "
251
- "TlsChannelSecurityConnectorCreate()");
249
+ LOG(ERROR) << "channel_creds is nullptr in "
250
+ "TlsChannelSecurityConnectorCreate()";
252
251
  return nullptr;
253
252
  }
254
253
  if (options == nullptr) {
255
- gpr_log(GPR_ERROR,
256
- "options is nullptr in "
257
- "TlsChannelSecurityConnectorCreate()");
254
+ LOG(ERROR) << "options is nullptr in "
255
+ "TlsChannelSecurityConnectorCreate()";
258
256
  return nullptr;
259
257
  }
260
258
  if (target_name == nullptr) {
261
- gpr_log(GPR_ERROR,
262
- "target_name is nullptr in "
263
- "TlsChannelSecurityConnectorCreate()");
259
+ LOG(ERROR) << "target_name is nullptr in "
260
+ "TlsChannelSecurityConnectorCreate()";
264
261
  return nullptr;
265
262
  }
266
263
  return MakeRefCounted<TlsChannelSecurityConnector>(
@@ -354,8 +351,8 @@ void TlsChannelSecurityConnector::add_handshakers(
354
351
  /*network_bio_buf_size=*/0,
355
352
  /*ssl_bio_buf_size=*/0, &tsi_hs);
356
353
  if (result != TSI_OK) {
357
- gpr_log(GPR_ERROR, "Handshaker creation failed with error %s.",
358
- tsi_result_to_string(result));
354
+ LOG(ERROR) << "Handshaker creation failed with error "
355
+ << tsi_result_to_string(result);
359
356
  }
360
357
  }
361
358
  // If tsi_hs is null, this will add a failing handshaker.
@@ -400,9 +397,8 @@ void TlsChannelSecurityConnector::cancel_check_peer(
400
397
  if (it != pending_verifier_requests_.end()) {
401
398
  pending_verifier_request = it->second->request();
402
399
  } else {
403
- gpr_log(GPR_INFO,
404
- "TlsChannelSecurityConnector::cancel_check_peer: no "
405
- "corresponding pending request found");
400
+ LOG(INFO) << "TlsChannelSecurityConnector::cancel_check_peer: no "
401
+ "corresponding pending request found";
406
402
  }
407
403
  }
408
404
  if (pending_verifier_request != nullptr) {
@@ -452,7 +448,7 @@ void TlsChannelSecurityConnector::TlsChannelCertificateWatcher::
452
448
  if (root_ready && identity_ready) {
453
449
  if (security_connector_->UpdateHandshakerFactoryLocked() !=
454
450
  GRPC_SECURITY_OK) {
455
- gpr_log(GPR_ERROR, "Update handshaker factory failed.");
451
+ LOG(ERROR) << "Update handshaker factory failed.";
456
452
  }
457
453
  }
458
454
  }
@@ -462,14 +458,12 @@ void TlsChannelSecurityConnector::TlsChannelCertificateWatcher::
462
458
  void TlsChannelSecurityConnector::TlsChannelCertificateWatcher::OnError(
463
459
  grpc_error_handle root_cert_error, grpc_error_handle identity_cert_error) {
464
460
  if (!root_cert_error.ok()) {
465
- gpr_log(GPR_ERROR,
466
- "TlsChannelCertificateWatcher getting root_cert_error: %s",
467
- StatusToString(root_cert_error).c_str());
461
+ LOG(ERROR) << "TlsChannelCertificateWatcher getting root_cert_error: "
462
+ << StatusToString(root_cert_error);
468
463
  }
469
464
  if (!identity_cert_error.ok()) {
470
- gpr_log(GPR_ERROR,
471
- "TlsChannelCertificateWatcher getting identity_cert_error: %s",
472
- StatusToString(identity_cert_error).c_str());
465
+ LOG(ERROR) << "TlsChannelCertificateWatcher getting identity_cert_error: "
466
+ << StatusToString(identity_cert_error);
473
467
  }
474
468
  }
475
469
 
@@ -565,15 +559,13 @@ TlsServerSecurityConnector::CreateTlsServerSecurityConnector(
565
559
  RefCountedPtr<grpc_server_credentials> server_creds,
566
560
  RefCountedPtr<grpc_tls_credentials_options> options) {
567
561
  if (server_creds == nullptr) {
568
- gpr_log(GPR_ERROR,
569
- "server_creds is nullptr in "
570
- "TlsServerSecurityConnectorCreate()");
562
+ LOG(ERROR) << "server_creds is nullptr in "
563
+ "TlsServerSecurityConnectorCreate()";
571
564
  return nullptr;
572
565
  }
573
566
  if (options == nullptr) {
574
- gpr_log(GPR_ERROR,
575
- "options is nullptr in "
576
- "TlsServerSecurityConnectorCreate()");
567
+ LOG(ERROR) << "options is nullptr in "
568
+ "TlsServerSecurityConnectorCreate()";
577
569
  return nullptr;
578
570
  }
579
571
  return MakeRefCounted<TlsServerSecurityConnector>(std::move(server_creds),
@@ -633,8 +625,8 @@ void TlsServerSecurityConnector::add_handshakers(
633
625
  server_handshaker_factory_, /*network_bio_buf_size=*/0,
634
626
  /*ssl_bio_buf_size=*/0, &tsi_hs);
635
627
  if (result != TSI_OK) {
636
- gpr_log(GPR_ERROR, "Handshaker creation failed with error %s.",
637
- tsi_result_to_string(result));
628
+ LOG(ERROR) << "Handshaker creation failed with error "
629
+ << tsi_result_to_string(result);
638
630
  }
639
631
  }
640
632
  // If tsi_hs is null, this will add a failing handshaker.
@@ -679,9 +671,8 @@ void TlsServerSecurityConnector::cancel_check_peer(
679
671
  if (it != pending_verifier_requests_.end()) {
680
672
  pending_verifier_request = it->second->request();
681
673
  } else {
682
- gpr_log(GPR_INFO,
683
- "TlsServerSecurityConnector::cancel_check_peer: no "
684
- "corresponding pending request found");
674
+ LOG(INFO) << "TlsServerSecurityConnector::cancel_check_peer: no "
675
+ "corresponding pending request found";
685
676
  }
686
677
  }
687
678
  if (pending_verifier_request != nullptr) {
@@ -721,7 +712,7 @@ void TlsServerSecurityConnector::TlsServerCertificateWatcher::
721
712
  (!root_being_watched && identity_being_watched && identity_has_value)) {
722
713
  if (security_connector_->UpdateHandshakerFactoryLocked() !=
723
714
  GRPC_SECURITY_OK) {
724
- gpr_log(GPR_ERROR, "Update handshaker factory failed.");
715
+ LOG(ERROR) << "Update handshaker factory failed.";
725
716
  }
726
717
  }
727
718
  }
@@ -731,14 +722,12 @@ void TlsServerSecurityConnector::TlsServerCertificateWatcher::
731
722
  void TlsServerSecurityConnector::TlsServerCertificateWatcher::OnError(
732
723
  grpc_error_handle root_cert_error, grpc_error_handle identity_cert_error) {
733
724
  if (!root_cert_error.ok()) {
734
- gpr_log(GPR_ERROR,
735
- "TlsServerCertificateWatcher getting root_cert_error: %s",
736
- StatusToString(root_cert_error).c_str());
725
+ LOG(ERROR) << "TlsServerCertificateWatcher getting root_cert_error: "
726
+ << StatusToString(root_cert_error);
737
727
  }
738
728
  if (!identity_cert_error.ok()) {
739
- gpr_log(GPR_ERROR,
740
- "TlsServerCertificateWatcher getting identity_cert_error: %s",
741
- StatusToString(identity_cert_error).c_str());
729
+ LOG(ERROR) << "TlsServerCertificateWatcher getting identity_cert_error: "
730
+ << StatusToString(identity_cert_error);
742
731
  }
743
732
  }
744
733
 
@@ -115,6 +115,7 @@ class ServerAuthFilter final : public ImplementChannelFilter<ServerAuthFilter> {
115
115
  }
116
116
  static const NoInterceptor OnServerInitialMetadata;
117
117
  static const NoInterceptor OnClientToServerMessage;
118
+ static const NoInterceptor OnClientToServerHalfClose;
118
119
  static const NoInterceptor OnServerToClientMessage;
119
120
  static const NoInterceptor OnServerTrailingMetadata;
120
121
  static const NoInterceptor OnFinalize;
@@ -36,7 +36,6 @@
36
36
  #include "src/core/lib/channel/channel_args.h"
37
37
  #include "src/core/lib/channel/channel_fwd.h"
38
38
  #include "src/core/lib/channel/channel_stack.h"
39
- #include "src/core/lib/channel/context.h"
40
39
  #include "src/core/lib/channel/promise_based_filter.h"
41
40
  #include "src/core/lib/channel/status_util.h"
42
41
  #include "src/core/lib/gprpp/debug_location.h"
@@ -110,8 +109,7 @@ ClientAuthFilter::ClientAuthFilter(
110
109
 
111
110
  ArenaPromise<absl::StatusOr<CallArgs>> ClientAuthFilter::GetCallCredsMetadata(
112
111
  CallArgs call_args) {
113
- auto* ctx = static_cast<grpc_client_security_context*>(
114
- GetContext<grpc_call_context_element>()[GRPC_CONTEXT_SECURITY].value);
112
+ auto* ctx = GetContext<grpc_client_security_context>();
115
113
  grpc_call_credentials* channel_call_creds =
116
114
  args_.security_connector->mutable_request_metadata_creds();
117
115
  const bool call_creds_has_md = (ctx != nullptr) && (ctx->creds != nullptr);
@@ -178,17 +176,13 @@ ArenaPromise<absl::StatusOr<CallArgs>> ClientAuthFilter::GetCallCredsMetadata(
178
176
 
179
177
  ArenaPromise<ServerMetadataHandle> ClientAuthFilter::MakeCallPromise(
180
178
  CallArgs call_args, NextPromiseFactory next_promise_factory) {
181
- auto* legacy_ctx = GetContext<grpc_call_context_element>();
182
- if (legacy_ctx[GRPC_CONTEXT_SECURITY].value == nullptr) {
183
- legacy_ctx[GRPC_CONTEXT_SECURITY].value =
184
- grpc_client_security_context_create(GetContext<Arena>(),
185
- /*creds=*/nullptr);
186
- legacy_ctx[GRPC_CONTEXT_SECURITY].destroy =
187
- grpc_client_security_context_destroy;
179
+ auto* sec_ctx = MaybeGetContext<grpc_client_security_context>();
180
+ if (sec_ctx == nullptr) {
181
+ sec_ctx = grpc_client_security_context_create(GetContext<Arena>(),
182
+ /*creds=*/nullptr);
183
+ SetContext<SecurityContext>(sec_ctx);
188
184
  }
189
- static_cast<grpc_client_security_context*>(
190
- legacy_ctx[GRPC_CONTEXT_SECURITY].value)
191
- ->auth_context = args_.auth_context;
185
+ sec_ctx->auth_context = args_.auth_context;
192
186
 
193
187
  auto* host =
194
188
  call_args.client_initial_metadata->get_pointer(HttpAuthorityMetadata());
@@ -38,7 +38,6 @@
38
38
  #include "src/core/lib/channel/channel_args.h"
39
39
  #include "src/core/lib/channel/channel_fwd.h"
40
40
  #include "src/core/lib/channel/channel_stack.h"
41
- #include "src/core/lib/channel/context.h"
42
41
  #include "src/core/lib/channel/promise_based_filter.h"
43
42
  #include "src/core/lib/debug/trace.h"
44
43
  #include "src/core/lib/gprpp/debug_location.h"
@@ -57,7 +56,6 @@
57
56
  #include "src/core/lib/security/transport/auth_filters.h" // IWYU pragma: keep
58
57
  #include "src/core/lib/slice/slice.h"
59
58
  #include "src/core/lib/slice/slice_internal.h"
60
- #include "src/core/lib/surface/call_trace.h"
61
59
  #include "src/core/lib/transport/metadata_batch.h"
62
60
  #include "src/core/lib/transport/transport.h"
63
61
 
@@ -68,6 +66,7 @@ const grpc_channel_filter ServerAuthFilter::kFilter =
68
66
  "server-auth");
69
67
 
70
68
  const NoInterceptor ServerAuthFilter::Call::OnClientToServerMessage;
69
+ const NoInterceptor ServerAuthFilter::Call::OnClientToServerHalfClose;
71
70
  const NoInterceptor ServerAuthFilter::Call::OnServerToClientMessage;
72
71
  const NoInterceptor ServerAuthFilter::Call::OnServerInitialMetadata;
73
72
  const NoInterceptor ServerAuthFilter::Call::OnServerTrailingMetadata;
@@ -133,7 +132,7 @@ struct ServerAuthFilter::RunApplicationCode::State {
133
132
  ServerAuthFilter::RunApplicationCode::RunApplicationCode(
134
133
  ServerAuthFilter* filter, ClientMetadata& metadata)
135
134
  : state_(GetContext<Arena>()->ManagedNew<State>(metadata)) {
136
- if (grpc_call_trace.enabled()) {
135
+ if (GRPC_TRACE_FLAG_ENABLED(call)) {
137
136
  gpr_log(GPR_ERROR,
138
137
  "%s[server-auth]: Delegate to application: filter=%p this=%p "
139
138
  "auth_ctx=%p",
@@ -202,11 +201,7 @@ ServerAuthFilter::Call::Call(ServerAuthFilter* filter) {
202
201
  grpc_server_security_context_create(GetContext<Arena>());
203
202
  server_ctx->auth_context =
204
203
  filter->auth_context_->Ref(DEBUG_LOCATION, "server_auth_filter");
205
- grpc_call_context_element& context =
206
- GetContext<grpc_call_context_element>()[GRPC_CONTEXT_SECURITY];
207
- if (context.value != nullptr) context.destroy(context.value);
208
- context.value = server_ctx;
209
- context.destroy = grpc_server_security_context_destroy;
204
+ SetContext<SecurityContext>(server_ctx);
210
205
  }
211
206
 
212
207
  ServerAuthFilter::ServerAuthFilter(