grpc 1.63.0 → 1.65.2

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 (1196) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +105 -103
  3. data/include/grpc/credentials.h +1222 -0
  4. data/include/grpc/event_engine/event_engine.h +13 -6
  5. data/include/grpc/grpc.h +7 -0
  6. data/include/grpc/grpc_crl_provider.h +1 -0
  7. data/include/grpc/grpc_security.h +0 -1171
  8. data/include/grpc/impl/channel_arg_names.h +7 -6
  9. data/include/grpc/module.modulemap +2 -0
  10. data/include/grpc/passive_listener.h +62 -0
  11. data/include/grpc/support/log.h +7 -17
  12. data/include/grpc/support/port_platform.h +3 -0
  13. data/src/core/{lib/channel → channelz}/channel_trace.cc +57 -63
  14. data/src/core/{lib/channel → channelz}/channel_trace.h +22 -20
  15. data/src/core/{lib/channel → channelz}/channelz.cc +71 -9
  16. data/src/core/{lib/channel → channelz}/channelz.h +52 -13
  17. data/src/core/{lib/channel → channelz}/channelz_registry.cc +11 -9
  18. data/src/core/{lib/channel → channelz}/channelz_registry.h +6 -6
  19. data/src/core/client_channel/backup_poller.cc +4 -5
  20. data/src/core/client_channel/client_channel.cc +1324 -0
  21. data/src/core/client_channel/client_channel.h +243 -0
  22. data/src/core/client_channel/client_channel_filter.cc +312 -759
  23. data/src/core/client_channel/client_channel_filter.h +13 -68
  24. data/src/core/client_channel/client_channel_internal.h +19 -7
  25. data/src/core/client_channel/client_channel_plugin.cc +1 -14
  26. data/src/core/client_channel/client_channel_service_config.h +4 -4
  27. data/src/core/client_channel/config_selector.cc +1 -1
  28. data/src/core/client_channel/config_selector.h +5 -4
  29. data/src/core/client_channel/connector.h +1 -1
  30. data/src/core/client_channel/dynamic_filters.cc +6 -5
  31. data/src/core/client_channel/dynamic_filters.h +1 -3
  32. data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
  33. data/src/core/client_channel/load_balanced_call_destination.h +49 -0
  34. data/src/core/client_channel/local_subchannel_pool.cc +5 -3
  35. data/src/core/client_channel/retry_filter.cc +3 -10
  36. data/src/core/client_channel/retry_filter.h +5 -9
  37. data/src/core/client_channel/retry_filter_legacy_call_data.cc +70 -76
  38. data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
  39. data/src/core/client_channel/retry_service_config.cc +4 -5
  40. data/src/core/client_channel/retry_service_config.h +3 -3
  41. data/src/core/client_channel/subchannel.cc +241 -129
  42. data/src/core/client_channel/subchannel.h +31 -19
  43. data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
  44. data/src/core/client_channel/subchannel_pool_interface.h +2 -4
  45. data/src/core/client_channel/subchannel_stream_client.cc +41 -52
  46. data/src/core/client_channel/subchannel_stream_client.h +2 -4
  47. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +11 -13
  48. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +3 -2
  49. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
  50. data/src/core/ext/filters/census/grpc_context.cc +2 -4
  51. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +16 -15
  52. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +12 -11
  53. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +11 -16
  54. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +5 -4
  55. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
  56. data/src/core/ext/filters/http/client/http_client_filter.cc +6 -4
  57. data/src/core/ext/filters/http/client/http_client_filter.h +6 -5
  58. data/src/core/ext/filters/http/client_authority_filter.cc +5 -3
  59. data/src/core/ext/filters/http/client_authority_filter.h +6 -4
  60. data/src/core/ext/filters/http/message_compress/compression_filter.cc +19 -23
  61. data/src/core/ext/filters/http/message_compress/compression_filter.h +10 -8
  62. data/src/core/ext/filters/http/server/http_server_filter.cc +4 -4
  63. data/src/core/ext/filters/http/server/http_server_filter.h +6 -5
  64. data/src/core/ext/filters/message_size/message_size_filter.cc +16 -28
  65. data/src/core/ext/filters/message_size/message_size_filter.h +14 -12
  66. data/src/core/ext/filters/rbac/rbac_filter.cc +13 -11
  67. data/src/core/ext/filters/rbac/rbac_filter.h +6 -5
  68. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
  69. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
  70. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +14 -18
  71. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +4 -2
  72. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
  73. data/src/core/ext/transport/chttp2/alpn/alpn.cc +5 -4
  74. data/src/core/ext/transport/chttp2/alpn/alpn.h +2 -2
  75. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +23 -38
  76. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -8
  77. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +233 -158
  78. data/src/core/ext/transport/chttp2/server/chttp2_server.h +36 -3
  79. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +6 -6
  80. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +1 -2
  81. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +8 -7
  82. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
  83. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +190 -165
  84. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +10 -11
  85. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +3 -3
  86. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +2 -2
  87. data/src/core/ext/transport/chttp2/transport/decode_huff.h +2 -2
  88. data/src/core/ext/transport/chttp2/transport/flow_control.cc +6 -8
  89. data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -6
  90. data/src/core/ext/transport/chttp2/transport/frame.cc +4 -4
  91. data/src/core/ext/transport/chttp2/transport/frame.h +2 -2
  92. data/src/core/ext/transport/chttp2/transport/frame_data.cc +3 -3
  93. data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -2
  94. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +5 -5
  95. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
  96. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -9
  97. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
  98. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +4 -5
  99. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -2
  100. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +10 -7
  101. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -2
  102. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -4
  103. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -2
  104. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
  105. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +9 -7
  106. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +10 -4
  107. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +10 -9
  108. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +2 -2
  109. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +4 -3
  110. data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +3 -3
  111. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +29 -31
  112. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -3
  113. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +8 -13
  114. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +2 -2
  115. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +3 -3
  116. data/src/core/ext/transport/chttp2/transport/http2_settings.h +3 -3
  117. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +2 -2
  118. data/src/core/ext/transport/chttp2/transport/internal.h +31 -23
  119. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +4 -3
  120. data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +2 -2
  121. data/src/core/ext/transport/chttp2/transport/parsing.cc +29 -39
  122. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +1 -2
  123. data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +2 -2
  124. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +3 -5
  125. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +1 -4
  126. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +30 -15
  127. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +7 -6
  128. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +10 -11
  129. data/src/core/ext/transport/chttp2/transport/varint.cc +2 -2
  130. data/src/core/ext/transport/chttp2/transport/varint.h +4 -3
  131. data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +4 -3
  132. data/src/core/ext/transport/chttp2/transport/write_size_policy.h +2 -2
  133. data/src/core/ext/transport/chttp2/transport/writing.cc +59 -47
  134. data/src/core/ext/transport/inproc/inproc_transport.cc +65 -41
  135. data/src/core/ext/transport/inproc/inproc_transport.h +2 -5
  136. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +20 -23
  137. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +1 -4
  138. data/src/core/{lib/transport → handshaker/endpoint_info}/endpoint_info_handshaker.cc +6 -6
  139. data/src/core/{lib/transport → handshaker/endpoint_info}/endpoint_info_handshaker.h +3 -3
  140. data/src/core/{lib/transport → handshaker}/handshaker.cc +14 -20
  141. data/src/core/{lib/transport → handshaker}/handshaker.h +4 -5
  142. data/src/core/{lib/transport → handshaker}/handshaker_factory.h +19 -3
  143. data/src/core/{lib/transport → handshaker}/handshaker_registry.cc +3 -3
  144. data/src/core/{lib/transport → handshaker}/handshaker_registry.h +6 -6
  145. data/src/core/{lib/transport → handshaker/http_connect}/http_connect_handshaker.cc +16 -25
  146. data/src/core/{lib/transport → handshaker/http_connect}/http_connect_handshaker.h +3 -3
  147. data/src/core/{client_channel → handshaker/http_connect}/http_proxy_mapper.cc +16 -18
  148. data/src/core/{client_channel → handshaker/http_connect}/http_proxy_mapper.h +6 -6
  149. data/src/core/{lib/handshaker → handshaker}/proxy_mapper.h +5 -5
  150. data/src/core/{lib/handshaker → handshaker}/proxy_mapper_registry.cc +3 -3
  151. data/src/core/{lib/handshaker → handshaker}/proxy_mapper_registry.h +6 -6
  152. data/src/core/{lib/security/transport → handshaker/security}/secure_endpoint.cc +42 -36
  153. data/src/core/{lib/security/transport → handshaker/security}/secure_endpoint.h +4 -7
  154. data/src/core/{lib/security/transport → handshaker/security}/security_handshaker.cc +35 -47
  155. data/src/core/{lib/security/transport → handshaker/security}/security_handshaker.h +5 -6
  156. data/src/core/{lib/transport → handshaker/tcp_connect}/tcp_connect_handshaker.cc +10 -9
  157. data/src/core/{lib/transport → handshaker/tcp_connect}/tcp_connect_handshaker.h +3 -3
  158. data/src/core/lib/address_utils/parse_address.cc +30 -40
  159. data/src/core/lib/address_utils/parse_address.h +2 -2
  160. data/src/core/lib/address_utils/sockaddr_utils.cc +20 -15
  161. data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
  162. data/src/core/lib/avl/avl.h +3 -3
  163. data/src/core/lib/backoff/backoff.cc +2 -2
  164. data/src/core/lib/backoff/backoff.h +2 -2
  165. data/src/core/lib/backoff/random_early_detection.cc +2 -2
  166. data/src/core/lib/backoff/random_early_detection.h +2 -2
  167. data/src/core/lib/channel/call_finalization.h +2 -2
  168. data/src/core/lib/channel/channel_args.cc +17 -21
  169. data/src/core/lib/channel/channel_args.h +20 -10
  170. data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
  171. data/src/core/lib/channel/channel_args_preconditioning.h +1 -2
  172. data/src/core/lib/channel/channel_stack.cc +13 -70
  173. data/src/core/lib/channel/channel_stack.h +14 -39
  174. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  175. data/src/core/lib/channel/channel_stack_builder.h +2 -7
  176. data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -150
  177. data/src/core/lib/channel/channel_stack_builder_impl.h +2 -4
  178. data/src/core/lib/channel/connected_channel.cc +40 -694
  179. data/src/core/lib/channel/promise_based_filter.cc +111 -122
  180. data/src/core/lib/channel/promise_based_filter.h +219 -531
  181. data/src/core/lib/channel/status_util.cc +3 -3
  182. data/src/core/lib/channel/status_util.h +1 -2
  183. data/src/core/lib/compression/compression.cc +2 -3
  184. data/src/core/lib/compression/compression_internal.cc +3 -3
  185. data/src/core/lib/compression/compression_internal.h +1 -2
  186. data/src/core/lib/compression/message_compress.cc +15 -14
  187. data/src/core/lib/compression/message_compress.h +1 -2
  188. data/src/core/lib/config/config_vars.cc +5 -10
  189. data/src/core/lib/config/config_vars.h +3 -7
  190. data/src/core/lib/config/config_vars_non_generated.cc +2 -2
  191. data/src/core/lib/config/core_configuration.cc +9 -8
  192. data/src/core/lib/config/core_configuration.h +8 -8
  193. data/src/core/lib/config/load_config.cc +4 -4
  194. data/src/core/lib/config/load_config.h +2 -2
  195. data/src/core/lib/debug/event_log.cc +3 -3
  196. data/src/core/lib/debug/event_log.h +3 -3
  197. data/src/core/lib/debug/trace.cc +44 -61
  198. data/src/core/lib/debug/trace.h +2 -97
  199. data/src/core/lib/debug/trace_flags.cc +255 -0
  200. data/src/core/lib/debug/trace_flags.h +133 -0
  201. data/src/core/lib/debug/trace_impl.h +115 -0
  202. data/src/core/lib/event_engine/ares_resolver.cc +23 -26
  203. data/src/core/lib/event_engine/ares_resolver.h +3 -5
  204. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +4 -2
  205. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +3 -3
  206. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +19 -23
  207. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -1
  208. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +1 -2
  209. data/src/core/lib/event_engine/channel_args_endpoint_config.h +1 -2
  210. data/src/core/lib/event_engine/common_closures.h +1 -2
  211. data/src/core/lib/event_engine/default_event_engine.cc +1 -2
  212. data/src/core/lib/event_engine/default_event_engine.h +1 -2
  213. data/src/core/lib/event_engine/default_event_engine_factory.cc +1 -2
  214. data/src/core/lib/event_engine/default_event_engine_factory.h +1 -2
  215. data/src/core/lib/event_engine/event_engine.cc +29 -5
  216. data/src/core/lib/event_engine/event_engine_context.h +1 -2
  217. data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -2
  218. data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +2 -2
  219. data/src/core/lib/event_engine/extensions/supports_fd.h +8 -2
  220. data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
  221. data/src/core/lib/event_engine/forkable.cc +11 -11
  222. data/src/core/lib/event_engine/forkable.h +1 -13
  223. data/src/core/lib/event_engine/grpc_polled_fd.h +1 -2
  224. data/src/core/lib/event_engine/handle_containers.h +1 -2
  225. data/src/core/lib/event_engine/memory_allocator_factory.h +1 -2
  226. data/src/core/lib/event_engine/poller.h +1 -2
  227. data/src/core/lib/event_engine/posix.h +1 -2
  228. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +19 -19
  229. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +1 -2
  230. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +11 -11
  231. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +1 -2
  232. data/src/core/lib/event_engine/posix_engine/event_poller.h +1 -2
  233. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +2 -2
  234. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +2 -2
  235. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +1 -2
  236. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +5 -5
  237. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +2 -2
  238. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +3 -3
  239. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +2 -2
  240. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
  241. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +2 -2
  242. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +43 -58
  243. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +14 -13
  244. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +34 -17
  245. data/src/core/lib/event_engine/posix_engine/posix_engine.h +3 -2
  246. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +1 -2
  247. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +17 -18
  248. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +1 -2
  249. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +24 -28
  250. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +1 -2
  251. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +22 -20
  252. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -3
  253. data/src/core/lib/event_engine/posix_engine/timer.cc +2 -3
  254. data/src/core/lib/event_engine/posix_engine/timer.h +1 -2
  255. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +2 -2
  256. data/src/core/lib/event_engine/posix_engine/timer_heap.h +2 -2
  257. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +9 -11
  258. data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -2
  259. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +3 -3
  260. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +1 -2
  261. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +2 -2
  262. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -2
  263. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +2 -2
  264. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -2
  265. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +2 -2
  266. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +2 -2
  267. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +2 -2
  268. data/src/core/lib/event_engine/query_extensions.h +3 -2
  269. data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +1 -2
  270. data/src/core/lib/event_engine/resolved_address.cc +5 -4
  271. data/src/core/lib/event_engine/resolved_address_internal.h +1 -2
  272. data/src/core/lib/event_engine/shim.cc +3 -3
  273. data/src/core/lib/event_engine/slice.cc +4 -3
  274. data/src/core/lib/event_engine/slice_buffer.cc +1 -2
  275. data/src/core/lib/event_engine/tcp_socket_utils.cc +18 -16
  276. data/src/core/lib/event_engine/tcp_socket_utils.h +1 -2
  277. data/src/core/lib/event_engine/thread_local.cc +2 -2
  278. data/src/core/lib/event_engine/thread_local.h +1 -1
  279. data/src/core/lib/event_engine/thread_pool/thread_count.cc +1 -2
  280. data/src/core/lib/event_engine/thread_pool/thread_count.h +2 -3
  281. data/src/core/lib/event_engine/thread_pool/thread_pool.h +1 -2
  282. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +2 -2
  283. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +27 -28
  284. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +4 -8
  285. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +16 -15
  286. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +5 -5
  287. data/src/core/lib/event_engine/time_util.cc +1 -2
  288. data/src/core/lib/event_engine/time_util.h +1 -2
  289. data/src/core/lib/event_engine/trace.h +7 -19
  290. data/src/core/lib/event_engine/utils.cc +1 -2
  291. data/src/core/lib/event_engine/utils.h +1 -2
  292. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +31 -30
  293. data/src/core/lib/event_engine/windows/iocp.cc +10 -8
  294. data/src/core/lib/event_engine/windows/iocp.h +1 -1
  295. data/src/core/lib/event_engine/windows/win_socket.cc +32 -22
  296. data/src/core/lib/event_engine/windows/win_socket.h +4 -5
  297. data/src/core/lib/event_engine/windows/windows_endpoint.cc +24 -25
  298. data/src/core/lib/event_engine/windows/windows_engine.cc +205 -90
  299. data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
  300. data/src/core/lib/event_engine/windows/windows_listener.cc +19 -29
  301. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +2 -2
  302. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +1 -2
  303. data/src/core/lib/event_engine/work_queue/work_queue.h +1 -2
  304. data/src/core/lib/experiments/config.cc +16 -14
  305. data/src/core/lib/experiments/config.h +2 -2
  306. data/src/core/lib/experiments/experiments.cc +57 -158
  307. data/src/core/lib/experiments/experiments.h +35 -52
  308. data/src/core/lib/gprpp/atomic_utils.h +2 -2
  309. data/src/core/lib/gprpp/bitset.h +3 -3
  310. data/src/core/lib/gprpp/chunked_vector.h +6 -5
  311. data/src/core/lib/gprpp/construct_destruct.h +2 -2
  312. data/src/core/lib/gprpp/crash.cc +3 -5
  313. data/src/core/lib/gprpp/crash.h +2 -2
  314. data/src/core/lib/gprpp/debug_location.h +2 -2
  315. data/src/core/lib/gprpp/directory_reader.h +2 -2
  316. data/src/core/lib/gprpp/down_cast.h +3 -3
  317. data/src/core/lib/gprpp/dual_ref_counted.h +54 -41
  318. data/src/core/lib/gprpp/dump_args.cc +54 -0
  319. data/src/core/lib/gprpp/dump_args.h +69 -0
  320. data/src/core/lib/gprpp/env.h +2 -2
  321. data/src/core/lib/gprpp/examine_stack.cc +2 -2
  322. data/src/core/lib/gprpp/examine_stack.h +2 -2
  323. data/src/core/lib/gprpp/fork.cc +1 -2
  324. data/src/core/lib/gprpp/fork.h +2 -2
  325. data/src/core/lib/gprpp/glob.cc +70 -0
  326. data/src/core/lib/gprpp/glob.h +29 -0
  327. data/src/core/lib/gprpp/host_port.cc +6 -4
  328. data/src/core/lib/gprpp/host_port.h +2 -2
  329. data/src/core/lib/gprpp/linux/env.cc +2 -2
  330. data/src/core/lib/gprpp/load_file.cc +1 -2
  331. data/src/core/lib/gprpp/load_file.h +2 -2
  332. data/src/core/lib/gprpp/manual_constructor.h +2 -2
  333. data/src/core/lib/gprpp/match.h +2 -2
  334. data/src/core/lib/gprpp/memory.h +1 -2
  335. data/src/core/lib/gprpp/mpscq.cc +2 -2
  336. data/src/core/lib/gprpp/mpscq.h +5 -4
  337. data/src/core/lib/gprpp/no_destruct.h +2 -2
  338. data/src/core/lib/gprpp/notification.h +2 -2
  339. data/src/core/lib/gprpp/orphanable.h +2 -2
  340. data/src/core/lib/gprpp/overload.h +2 -2
  341. data/src/core/lib/gprpp/per_cpu.cc +2 -3
  342. data/src/core/lib/gprpp/per_cpu.h +1 -2
  343. data/src/core/lib/gprpp/posix/directory_reader.cc +2 -2
  344. data/src/core/lib/gprpp/posix/stat.cc +8 -7
  345. data/src/core/lib/gprpp/posix/thd.cc +18 -19
  346. data/src/core/lib/gprpp/ref_counted.h +35 -26
  347. data/src/core/lib/gprpp/ref_counted_ptr.h +2 -2
  348. data/src/core/lib/gprpp/ref_counted_string.cc +1 -2
  349. data/src/core/lib/gprpp/ref_counted_string.h +2 -2
  350. data/src/core/lib/gprpp/single_set_ptr.h +9 -6
  351. data/src/core/lib/gprpp/sorted_pack.h +2 -2
  352. data/src/core/lib/gprpp/stat.h +2 -2
  353. data/src/core/lib/gprpp/status_helper.cc +14 -33
  354. data/src/core/lib/gprpp/status_helper.h +5 -33
  355. data/src/core/lib/gprpp/strerror.cc +2 -2
  356. data/src/core/lib/gprpp/strerror.h +2 -2
  357. data/src/core/lib/gprpp/sync.h +5 -5
  358. data/src/core/lib/gprpp/table.h +2 -2
  359. data/src/core/lib/gprpp/tchar.cc +2 -2
  360. data/src/core/lib/gprpp/thd.h +7 -7
  361. data/src/core/lib/gprpp/time.cc +9 -10
  362. data/src/core/lib/gprpp/time.h +4 -4
  363. data/src/core/lib/gprpp/time_averaged_stats.cc +2 -2
  364. data/src/core/lib/gprpp/time_util.cc +5 -4
  365. data/src/core/lib/gprpp/time_util.h +1 -2
  366. data/src/core/lib/gprpp/unique_type_name.h +3 -3
  367. data/src/core/lib/gprpp/uuid_v4.cc +2 -2
  368. data/src/core/lib/gprpp/uuid_v4.h +2 -2
  369. data/src/core/lib/gprpp/validation_errors.cc +12 -3
  370. data/src/core/lib/gprpp/validation_errors.h +13 -2
  371. data/src/core/lib/gprpp/windows/stat.cc +6 -5
  372. data/src/core/lib/gprpp/windows/thd.cc +7 -4
  373. data/src/core/lib/gprpp/work_serializer.cc +53 -62
  374. data/src/core/lib/gprpp/work_serializer.h +1 -2
  375. data/src/core/lib/iomgr/buffer_list.cc +5 -4
  376. data/src/core/lib/iomgr/buffer_list.h +1 -2
  377. data/src/core/lib/iomgr/call_combiner.cc +23 -31
  378. data/src/core/lib/iomgr/call_combiner.h +2 -5
  379. data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
  380. data/src/core/lib/iomgr/closure.cc +2 -2
  381. data/src/core/lib/iomgr/closure.h +6 -7
  382. data/src/core/lib/iomgr/combiner.cc +13 -14
  383. data/src/core/lib/iomgr/combiner.h +1 -4
  384. data/src/core/lib/iomgr/endpoint.cc +1 -7
  385. data/src/core/lib/iomgr/endpoint.h +1 -4
  386. data/src/core/lib/iomgr/endpoint_cfstream.cc +26 -46
  387. data/src/core/lib/iomgr/endpoint_pair_posix.cc +6 -5
  388. data/src/core/lib/iomgr/endpoint_pair_windows.cc +15 -15
  389. data/src/core/lib/iomgr/error.cc +16 -24
  390. data/src/core/lib/iomgr/error.h +4 -4
  391. data/src/core/lib/iomgr/ev_apple.cc +3 -5
  392. data/src/core/lib/iomgr/ev_epoll1_linux.cc +58 -56
  393. data/src/core/lib/iomgr/ev_poll_posix.cc +47 -38
  394. data/src/core/lib/iomgr/ev_posix.cc +9 -11
  395. data/src/core/lib/iomgr/ev_posix.h +11 -8
  396. data/src/core/lib/iomgr/event_engine_shims/closure.cc +3 -4
  397. data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
  398. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +17 -31
  399. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -2
  400. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +1 -2
  401. data/src/core/lib/iomgr/event_engine_shims/tcp_client.h +1 -2
  402. data/src/core/lib/iomgr/exec_ctx.cc +7 -7
  403. data/src/core/lib/iomgr/exec_ctx.h +7 -5
  404. data/src/core/lib/iomgr/executor.cc +13 -23
  405. data/src/core/lib/iomgr/executor.h +1 -1
  406. data/src/core/lib/iomgr/fork_posix.cc +8 -10
  407. data/src/core/lib/iomgr/fork_windows.cc +3 -1
  408. data/src/core/lib/iomgr/grpc_if_nametoindex.h +2 -2
  409. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
  410. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
  411. data/src/core/lib/iomgr/internal_errqueue.cc +5 -4
  412. data/src/core/lib/iomgr/iocp_windows.cc +13 -9
  413. data/src/core/lib/iomgr/iocp_windows.h +0 -1
  414. data/src/core/lib/iomgr/iomgr.cc +14 -19
  415. data/src/core/lib/iomgr/iomgr.h +2 -2
  416. data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
  417. data/src/core/lib/iomgr/iomgr_internal.h +2 -2
  418. data/src/core/lib/iomgr/iomgr_windows.cc +4 -2
  419. data/src/core/lib/iomgr/lockfree_event.cc +7 -8
  420. data/src/core/lib/iomgr/lockfree_event.h +1 -2
  421. data/src/core/lib/iomgr/polling_entity.cc +5 -5
  422. data/src/core/lib/iomgr/pollset.cc +2 -2
  423. data/src/core/lib/iomgr/pollset.h +0 -3
  424. data/src/core/lib/iomgr/pollset_set.cc +2 -2
  425. data/src/core/lib/iomgr/pollset_set_windows.cc +2 -2
  426. data/src/core/lib/iomgr/pollset_windows.cc +0 -2
  427. data/src/core/lib/iomgr/pollset_windows.h +0 -1
  428. data/src/core/lib/iomgr/python_util.h +1 -2
  429. data/src/core/lib/iomgr/resolve_address.cc +1 -2
  430. data/src/core/lib/iomgr/resolve_address.h +1 -2
  431. data/src/core/lib/iomgr/resolve_address_impl.h +2 -2
  432. data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
  433. data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
  434. data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
  435. data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
  436. data/src/core/lib/iomgr/resolved_address.h +2 -2
  437. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -1
  438. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  439. data/src/core/lib/iomgr/socket_factory_posix.h +1 -2
  440. data/src/core/lib/iomgr/socket_mutator.cc +2 -3
  441. data/src/core/lib/iomgr/socket_mutator.h +1 -2
  442. data/src/core/lib/iomgr/socket_utils.h +2 -2
  443. data/src/core/lib/iomgr/socket_utils_common_posix.cc +28 -33
  444. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -2
  445. data/src/core/lib/iomgr/socket_utils_posix.h +1 -2
  446. data/src/core/lib/iomgr/socket_windows.cc +8 -9
  447. data/src/core/lib/iomgr/tcp_client.cc +2 -2
  448. data/src/core/lib/iomgr/tcp_client.h +1 -2
  449. data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
  450. data/src/core/lib/iomgr/tcp_client_posix.cc +14 -19
  451. data/src/core/lib/iomgr/tcp_client_windows.cc +9 -9
  452. data/src/core/lib/iomgr/tcp_posix.cc +99 -125
  453. data/src/core/lib/iomgr/tcp_posix.h +0 -2
  454. data/src/core/lib/iomgr/tcp_server.cc +2 -2
  455. data/src/core/lib/iomgr/tcp_server.h +1 -2
  456. data/src/core/lib/iomgr/tcp_server_posix.cc +35 -38
  457. data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -2
  458. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +10 -12
  459. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -8
  460. data/src/core/lib/iomgr/tcp_server_windows.cc +25 -30
  461. data/src/core/lib/iomgr/tcp_windows.cc +33 -47
  462. data/src/core/lib/iomgr/timer.cc +2 -2
  463. data/src/core/lib/iomgr/timer.h +1 -2
  464. data/src/core/lib/iomgr/timer_generic.cc +20 -23
  465. data/src/core/lib/iomgr/timer_generic.h +0 -1
  466. data/src/core/lib/iomgr/timer_heap.cc +2 -3
  467. data/src/core/lib/iomgr/timer_manager.cc +21 -33
  468. data/src/core/lib/iomgr/timer_manager.h +2 -2
  469. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -2
  470. data/src/core/lib/iomgr/unix_sockets_posix.h +1 -2
  471. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +3 -1
  472. data/src/core/lib/iomgr/vsock.cc +3 -3
  473. data/src/core/lib/iomgr/vsock.h +1 -2
  474. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
  475. data/src/core/lib/matchers/matchers.cc +2 -2
  476. data/src/core/lib/matchers/matchers.h +2 -2
  477. data/src/core/lib/promise/activity.cc +4 -3
  478. data/src/core/lib/promise/activity.h +34 -11
  479. data/src/core/lib/promise/all_ok.h +2 -2
  480. data/src/core/lib/promise/arena_promise.h +2 -2
  481. data/src/core/lib/promise/cancel_callback.h +24 -0
  482. data/src/core/lib/promise/context.h +14 -3
  483. data/src/core/lib/promise/detail/basic_seq.h +1 -2
  484. data/src/core/lib/promise/detail/join_state.h +365 -408
  485. data/src/core/lib/promise/detail/promise_factory.h +2 -2
  486. data/src/core/lib/promise/detail/promise_like.h +15 -8
  487. data/src/core/lib/promise/detail/seq_state.h +1192 -1192
  488. data/src/core/lib/promise/detail/status.h +4 -3
  489. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -2
  490. data/src/core/lib/promise/for_each.h +91 -30
  491. data/src/core/lib/promise/if.h +2 -2
  492. data/src/core/lib/promise/interceptor_list.h +9 -10
  493. data/src/core/lib/promise/latch.h +17 -17
  494. data/src/core/lib/promise/loop.h +2 -2
  495. data/src/core/lib/promise/map.h +19 -2
  496. data/src/core/lib/promise/observable.h +182 -0
  497. data/src/core/lib/promise/party.cc +22 -23
  498. data/src/core/lib/promise/party.h +19 -17
  499. data/src/core/lib/promise/pipe.h +31 -50
  500. data/src/core/lib/promise/poll.h +6 -5
  501. data/src/core/lib/promise/prioritized_race.h +2 -2
  502. data/src/core/lib/promise/promise.h +3 -2
  503. data/src/core/lib/promise/race.h +2 -2
  504. data/src/core/lib/promise/seq.h +2 -2
  505. data/src/core/lib/promise/sleep.cc +1 -2
  506. data/src/core/lib/promise/sleep.h +1 -2
  507. data/src/core/lib/promise/status_flag.h +10 -8
  508. data/src/core/lib/promise/try_join.h +4 -3
  509. data/src/core/lib/promise/try_seq.h +4 -3
  510. data/src/core/lib/resource_quota/api.cc +1 -2
  511. data/src/core/lib/resource_quota/api.h +1 -2
  512. data/src/core/lib/resource_quota/arena.cc +57 -81
  513. data/src/core/lib/resource_quota/arena.h +119 -211
  514. data/src/core/lib/resource_quota/connection_quota.cc +8 -9
  515. data/src/core/lib/resource_quota/connection_quota.h +2 -2
  516. data/src/core/lib/resource_quota/memory_quota.cc +20 -21
  517. data/src/core/lib/resource_quota/memory_quota.h +6 -7
  518. data/src/core/lib/resource_quota/periodic_update.cc +3 -3
  519. data/src/core/lib/resource_quota/periodic_update.h +2 -2
  520. data/src/core/lib/resource_quota/resource_quota.cc +2 -2
  521. data/src/core/lib/resource_quota/resource_quota.h +2 -3
  522. data/src/core/lib/resource_quota/thread_quota.cc +4 -3
  523. data/src/core/lib/resource_quota/thread_quota.h +2 -2
  524. data/src/core/lib/security/authorization/audit_logging.cc +6 -6
  525. data/src/core/lib/security/authorization/audit_logging.h +1 -2
  526. data/src/core/lib/security/authorization/authorization_engine.h +2 -2
  527. data/src/core/lib/security/authorization/authorization_policy_provider.h +2 -3
  528. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +2 -3
  529. data/src/core/lib/security/authorization/evaluate_args.cc +8 -11
  530. data/src/core/lib/security/authorization/evaluate_args.h +1 -2
  531. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +4 -3
  532. data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -2
  533. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +9 -11
  534. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +8 -8
  535. data/src/core/lib/security/authorization/matchers.cc +4 -5
  536. data/src/core/lib/security/authorization/matchers.h +2 -2
  537. data/src/core/lib/security/authorization/rbac_policy.cc +2 -2
  538. data/src/core/lib/security/authorization/rbac_policy.h +1 -2
  539. data/src/core/lib/security/authorization/stdout_logger.cc +4 -3
  540. data/src/core/lib/security/authorization/stdout_logger.h +1 -2
  541. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +4 -4
  542. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +6 -6
  543. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +2 -2
  544. data/src/core/lib/security/context/security_context.cc +17 -16
  545. data/src/core/lib/security/context/security_context.h +33 -10
  546. data/src/core/lib/security/credentials/alts/alts_credentials.cc +1 -2
  547. data/src/core/lib/security/credentials/alts/alts_credentials.h +3 -3
  548. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +4 -3
  549. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
  550. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -6
  551. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +4 -5
  552. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +2 -2
  553. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +1 -2
  554. data/src/core/lib/security/credentials/call_creds_util.cc +3 -3
  555. data/src/core/lib/security/credentials/call_creds_util.h +2 -2
  556. data/src/core/lib/security/credentials/channel_creds_registry.h +4 -4
  557. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +7 -5
  558. data/src/core/lib/security/credentials/composite/composite_credentials.cc +9 -8
  559. data/src/core/lib/security/credentials/composite/composite_credentials.h +3 -3
  560. data/src/core/lib/security/credentials/credentials.cc +10 -9
  561. data/src/core/lib/security/credentials/credentials.h +5 -4
  562. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +9 -8
  563. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +4 -4
  564. data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -2
  565. data/src/core/lib/security/credentials/external/aws_request_signer.h +2 -2
  566. data/src/core/lib/security/credentials/external/external_account_credentials.cc +16 -17
  567. data/src/core/lib/security/credentials/external/external_account_credentials.h +5 -5
  568. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +3 -4
  569. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +2 -2
  570. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -7
  571. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +3 -3
  572. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
  573. data/src/core/lib/security/credentials/fake/fake_credentials.h +3 -3
  574. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +4 -5
  575. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +19 -18
  576. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +3 -3
  577. data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -5
  578. data/src/core/lib/security/credentials/iam/iam_credentials.h +3 -3
  579. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
  580. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +2 -2
  581. data/src/core/lib/security/credentials/jwt/json_token.cc +19 -19
  582. data/src/core/lib/security/credentials/jwt/json_token.h +2 -3
  583. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +10 -8
  584. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +3 -3
  585. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +65 -69
  586. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +2 -3
  587. data/src/core/lib/security/credentials/local/local_credentials.cc +1 -2
  588. data/src/core/lib/security/credentials/local/local_credentials.h +3 -3
  589. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
  590. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +6 -6
  591. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +9 -10
  592. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +3 -5
  593. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +28 -34
  594. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +6 -4
  595. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +26 -25
  596. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +2 -2
  597. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +2 -2
  598. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +28 -36
  599. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +4 -4
  600. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +3 -3
  601. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +5 -4
  602. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +23 -22
  603. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +1 -0
  604. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +5 -7
  605. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +1 -2
  606. data/src/core/lib/security/credentials/tls/tls_credentials.cc +15 -18
  607. data/src/core/lib/security/credentials/tls/tls_credentials.h +2 -2
  608. data/src/core/lib/security/credentials/tls/tls_utils.cc +5 -6
  609. data/src/core/lib/security/credentials/tls/tls_utils.h +1 -2
  610. data/src/core/lib/security/credentials/xds/xds_credentials.cc +8 -8
  611. data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
  612. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +27 -30
  613. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +2 -2
  614. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +20 -17
  615. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +2 -2
  616. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +6 -5
  617. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +3 -3
  618. data/src/core/lib/security/security_connector/load_system_roots.h +1 -2
  619. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +8 -8
  620. data/src/core/lib/security/security_connector/load_system_roots_supported.h +1 -2
  621. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
  622. data/src/core/lib/security/security_connector/local/local_security_connector.cc +19 -23
  623. data/src/core/lib/security/security_connector/local/local_security_connector.h +2 -2
  624. data/src/core/lib/security/security_connector/security_connector.cc +8 -10
  625. data/src/core/lib/security/security_connector/security_connector.h +4 -6
  626. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +23 -25
  627. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +2 -2
  628. data/src/core/lib/security/security_connector/ssl_utils.cc +29 -30
  629. data/src/core/lib/security/security_connector/ssl_utils.h +1 -2
  630. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +42 -53
  631. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +3 -3
  632. data/src/core/lib/security/transport/auth_filters.h +14 -13
  633. data/src/core/lib/security/transport/client_auth_filter.cc +13 -18
  634. data/src/core/lib/security/transport/server_auth_filter.cc +10 -13
  635. data/src/core/lib/security/util/json_util.cc +1 -2
  636. data/src/core/lib/security/util/json_util.h +1 -1
  637. data/src/core/lib/slice/percent_encoding.cc +4 -3
  638. data/src/core/lib/slice/slice.cc +11 -10
  639. data/src/core/lib/slice/slice.h +5 -5
  640. data/src/core/lib/slice/slice_buffer.cc +15 -14
  641. data/src/core/lib/slice/slice_buffer.h +1 -2
  642. data/src/core/lib/slice/slice_internal.h +3 -3
  643. data/src/core/lib/slice/slice_refcount.h +3 -6
  644. data/src/core/lib/slice/slice_string_helpers.cc +3 -3
  645. data/src/core/lib/slice/slice_string_helpers.h +1 -2
  646. data/src/core/lib/surface/api_trace.h +2 -5
  647. data/src/core/lib/surface/byte_buffer.cc +1 -2
  648. data/src/core/lib/surface/byte_buffer_reader.cc +4 -3
  649. data/src/core/lib/surface/call.cc +102 -3899
  650. data/src/core/lib/surface/call.h +158 -90
  651. data/src/core/lib/surface/call_details.cc +1 -2
  652. data/src/core/lib/surface/call_log_batch.cc +2 -3
  653. data/src/core/lib/surface/call_test_only.h +1 -2
  654. data/src/core/lib/surface/call_utils.cc +276 -0
  655. data/src/core/lib/surface/call_utils.h +449 -0
  656. data/src/core/lib/surface/channel.cc +17 -11
  657. data/src/core/lib/surface/channel.h +12 -10
  658. data/src/core/lib/surface/channel_create.cc +18 -9
  659. data/src/core/lib/surface/channel_create.h +5 -4
  660. data/src/core/lib/surface/channel_init.cc +27 -83
  661. data/src/core/lib/surface/channel_init.h +27 -100
  662. data/src/core/lib/surface/channel_stack_type.cc +2 -2
  663. data/src/core/lib/surface/client_call.cc +419 -0
  664. data/src/core/lib/surface/client_call.h +180 -0
  665. data/src/core/lib/surface/completion_queue.cc +45 -51
  666. data/src/core/lib/surface/completion_queue.h +1 -10
  667. data/src/core/lib/surface/completion_queue_factory.cc +9 -8
  668. data/src/core/lib/surface/completion_queue_factory.h +1 -2
  669. data/src/core/lib/surface/event_string.cc +2 -2
  670. data/src/core/lib/surface/event_string.h +1 -2
  671. data/src/core/lib/surface/filter_stack_call.cc +1157 -0
  672. data/src/core/lib/surface/filter_stack_call.h +369 -0
  673. data/src/core/lib/surface/init.cc +8 -8
  674. data/src/core/lib/surface/init_internally.cc +2 -2
  675. data/src/core/lib/surface/lame_client.cc +10 -13
  676. data/src/core/lib/surface/lame_client.h +6 -11
  677. data/src/core/lib/surface/legacy_channel.cc +52 -39
  678. data/src/core/lib/surface/legacy_channel.h +11 -21
  679. data/src/core/lib/surface/metadata_array.cc +1 -2
  680. data/src/core/lib/surface/server_call.cc +222 -0
  681. data/src/core/lib/surface/server_call.h +167 -0
  682. data/src/core/lib/surface/validate_metadata.cc +1 -2
  683. data/src/core/lib/surface/validate_metadata.h +3 -3
  684. data/src/core/lib/surface/version.cc +3 -4
  685. data/src/core/lib/transport/bdp_estimator.cc +7 -7
  686. data/src/core/lib/transport/bdp_estimator.h +6 -8
  687. data/src/core/lib/transport/{call_size_estimator.cc → call_arena_allocator.cc} +3 -3
  688. data/src/core/lib/transport/{call_size_estimator.h → call_arena_allocator.h} +29 -6
  689. data/src/core/lib/transport/call_destination.h +76 -0
  690. data/src/core/lib/transport/call_filters.cc +54 -21
  691. data/src/core/lib/transport/call_filters.h +240 -84
  692. data/src/core/lib/transport/call_final_info.cc +2 -2
  693. data/src/core/lib/transport/call_final_info.h +1 -2
  694. data/src/core/lib/transport/call_spine.cc +17 -19
  695. data/src/core/lib/transport/call_spine.h +238 -215
  696. data/src/core/lib/transport/connectivity_state.cc +9 -12
  697. data/src/core/lib/transport/connectivity_state.h +1 -4
  698. data/src/core/lib/transport/error_utils.cc +1 -2
  699. data/src/core/lib/transport/error_utils.h +1 -2
  700. data/src/core/lib/transport/interception_chain.cc +155 -0
  701. data/src/core/lib/transport/interception_chain.h +236 -0
  702. data/src/core/lib/transport/message.cc +1 -2
  703. data/src/core/lib/transport/metadata.cc +2 -2
  704. data/src/core/lib/transport/metadata_batch.cc +2 -2
  705. data/src/core/lib/transport/metadata_batch.h +43 -5
  706. data/src/core/lib/transport/metadata_compression_traits.h +2 -2
  707. data/src/core/lib/transport/metadata_info.cc +2 -2
  708. data/src/core/lib/transport/metadata_info.h +1 -1
  709. data/src/core/lib/transport/parsed_metadata.cc +2 -2
  710. data/src/core/lib/transport/parsed_metadata.h +1 -2
  711. data/src/core/lib/transport/simple_slice_based_metadata.h +2 -2
  712. data/src/core/lib/transport/status_conversion.cc +2 -2
  713. data/src/core/lib/transport/status_conversion.h +1 -2
  714. data/src/core/lib/transport/timeout_encoding.cc +5 -5
  715. data/src/core/lib/transport/timeout_encoding.h +2 -2
  716. data/src/core/lib/transport/transport.cc +4 -8
  717. data/src/core/lib/transport/transport.h +80 -74
  718. data/src/core/lib/transport/transport_op_string.cc +1 -2
  719. data/src/core/lib/uri/uri_parser.cc +3 -3
  720. data/src/core/lib/uri/uri_parser.h +2 -2
  721. data/src/core/load_balancing/address_filtering.cc +2 -2
  722. data/src/core/load_balancing/address_filtering.h +2 -2
  723. data/src/core/load_balancing/backend_metric_data.h +2 -2
  724. data/src/core/load_balancing/backend_metric_parser.cc +2 -2
  725. data/src/core/load_balancing/backend_metric_parser.h +2 -2
  726. data/src/core/load_balancing/child_policy_handler.cc +14 -14
  727. data/src/core/load_balancing/child_policy_handler.h +2 -2
  728. data/src/core/load_balancing/delegating_helper.h +2 -3
  729. data/src/core/load_balancing/endpoint_list.cc +11 -13
  730. data/src/core/load_balancing/endpoint_list.h +16 -10
  731. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +29 -30
  732. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +20 -8
  733. data/src/core/load_balancing/grpclb/grpclb.cc +65 -70
  734. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +3 -3
  735. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.h +1 -2
  736. data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +1 -2
  737. data/src/core/load_balancing/grpclb/grpclb_client_stats.h +1 -2
  738. data/src/core/load_balancing/grpclb/load_balancer_api.cc +4 -6
  739. data/src/core/load_balancing/grpclb/load_balancer_api.h +2 -3
  740. data/src/core/load_balancing/health_check_client.cc +14 -18
  741. data/src/core/load_balancing/health_check_client.h +2 -2
  742. data/src/core/load_balancing/health_check_client_internal.h +1 -2
  743. data/src/core/load_balancing/lb_policy.cc +7 -10
  744. data/src/core/load_balancing/lb_policy.h +20 -5
  745. data/src/core/load_balancing/lb_policy_factory.h +3 -3
  746. data/src/core/load_balancing/lb_policy_registry.cc +5 -6
  747. data/src/core/load_balancing/lb_policy_registry.h +3 -3
  748. data/src/core/load_balancing/oob_backend_metric.cc +6 -9
  749. data/src/core/load_balancing/oob_backend_metric.h +2 -2
  750. data/src/core/load_balancing/oob_backend_metric_internal.h +1 -2
  751. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +36 -38
  752. data/src/core/load_balancing/outlier_detection/outlier_detection.h +5 -5
  753. data/src/core/load_balancing/pick_first/pick_first.cc +1141 -156
  754. data/src/core/load_balancing/priority/priority.cc +41 -38
  755. data/src/core/load_balancing/ring_hash/ring_hash.cc +45 -30
  756. data/src/core/load_balancing/ring_hash/ring_hash.h +5 -5
  757. data/src/core/load_balancing/rls/rls.cc +106 -99
  758. data/src/core/load_balancing/round_robin/round_robin.cc +43 -35
  759. data/src/core/load_balancing/subchannel_interface.h +1 -2
  760. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +4 -4
  761. data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +2 -2
  762. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +79 -58
  763. data/src/core/load_balancing/weighted_target/weighted_target.cc +29 -32
  764. data/src/core/load_balancing/weighted_target/weighted_target.h +1 -1
  765. data/src/core/load_balancing/xds/cds.cc +25 -28
  766. data/src/core/load_balancing/xds/xds_cluster_impl.cc +28 -28
  767. data/src/core/load_balancing/xds/xds_cluster_manager.cc +17 -20
  768. data/src/core/load_balancing/xds/xds_override_host.cc +46 -47
  769. data/src/core/load_balancing/xds/xds_override_host.h +5 -5
  770. data/src/core/load_balancing/xds/xds_wrr_locality.cc +12 -15
  771. data/src/core/plugin_registry/grpc_plugin_registry.cc +11 -10
  772. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +1 -2
  773. data/src/core/resolver/binder/binder_resolver.cc +7 -6
  774. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +8 -8
  775. data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -2
  776. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +3 -3
  777. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -3
  778. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +36 -35
  779. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +20 -27
  780. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -7
  781. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +1 -1
  782. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +2 -2
  783. data/src/core/resolver/dns/dns_resolver_plugin.cc +10 -10
  784. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +9 -14
  785. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -3
  786. data/src/core/resolver/dns/event_engine/service_config_helper.cc +7 -7
  787. data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
  788. data/src/core/resolver/dns/native/dns_resolver.cc +11 -13
  789. data/src/core/resolver/endpoint_addresses.cc +5 -5
  790. data/src/core/resolver/endpoint_addresses.h +2 -2
  791. data/src/core/resolver/fake/fake_resolver.cc +5 -5
  792. data/src/core/resolver/fake/fake_resolver.h +2 -3
  793. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +22 -23
  794. data/src/core/resolver/polling_resolver.cc +35 -40
  795. data/src/core/resolver/polling_resolver.h +1 -2
  796. data/src/core/resolver/resolver.cc +3 -7
  797. data/src/core/resolver/resolver.h +2 -4
  798. data/src/core/resolver/resolver_factory.h +3 -3
  799. data/src/core/resolver/resolver_registry.cc +11 -13
  800. data/src/core/resolver/resolver_registry.h +3 -3
  801. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +5 -6
  802. data/src/core/resolver/xds/xds_dependency_manager.cc +27 -27
  803. data/src/core/resolver/xds/xds_dependency_manager.h +7 -7
  804. data/src/core/resolver/xds/xds_resolver.cc +32 -39
  805. data/src/core/resolver/xds/xds_resolver_attributes.h +2 -2
  806. data/src/core/{lib/surface → server}/server.cc +306 -424
  807. data/src/core/{lib/surface → server}/server.h +43 -26
  808. data/src/core/{lib/channel → server}/server_call_tracer_filter.cc +16 -20
  809. data/src/core/{lib/channel → server}/server_call_tracer_filter.h +3 -3
  810. data/src/core/{ext/filters/server_config_selector → server}/server_config_selector.h +6 -6
  811. data/src/core/{ext/filters/server_config_selector → server}/server_config_selector_filter.cc +39 -40
  812. data/src/core/{ext/filters/server_config_selector → server}/server_config_selector_filter.h +3 -3
  813. data/src/core/{lib/surface → server}/server_interface.h +6 -4
  814. data/src/core/{ext/xds → server}/xds_channel_stack_modifier.cc +4 -4
  815. data/src/core/{ext/xds → server}/xds_channel_stack_modifier.h +5 -6
  816. data/src/core/{ext/xds → server}/xds_server_config_fetcher.cc +24 -26
  817. data/src/core/service_config/service_config.h +2 -3
  818. data/src/core/service_config/service_config_call_data.h +15 -13
  819. data/src/core/service_config/service_config_channel_arg_filter.cc +12 -11
  820. data/src/core/service_config/service_config_impl.cc +7 -7
  821. data/src/core/service_config/service_config_impl.h +4 -4
  822. data/src/core/service_config/service_config_parser.cc +4 -8
  823. data/src/core/service_config/service_config_parser.h +3 -3
  824. data/src/core/{lib/channel → telemetry}/call_tracer.cc +25 -35
  825. data/src/core/{lib/channel → telemetry}/call_tracer.h +33 -11
  826. data/src/core/{lib/debug → telemetry}/histogram_view.cc +2 -2
  827. data/src/core/{lib/debug → telemetry}/histogram_view.h +5 -5
  828. data/src/core/telemetry/metrics.cc +178 -0
  829. data/src/core/telemetry/metrics.h +562 -0
  830. data/src/core/{lib/debug → telemetry}/stats.cc +3 -3
  831. data/src/core/{lib/debug → telemetry}/stats.h +7 -7
  832. data/src/core/{lib/debug → telemetry}/stats_data.cc +3 -3
  833. data/src/core/{lib/debug → telemetry}/stats_data.h +6 -6
  834. data/src/core/{lib/channel → telemetry}/tcp_tracer.h +5 -5
  835. data/src/core/tsi/alts/crypt/aes_gcm.cc +1 -2
  836. data/src/core/tsi/alts/crypt/gsec.cc +1 -2
  837. data/src/core/tsi/alts/crypt/gsec.h +1 -2
  838. data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
  839. data/src/core/tsi/alts/frame_protector/alts_counter.h +1 -2
  840. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
  841. data/src/core/tsi/alts/frame_protector/alts_crypter.h +1 -2
  842. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -15
  843. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +2 -2
  844. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +1 -2
  845. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +1 -2
  846. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -2
  847. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -2
  848. data/src/core/tsi/alts/frame_protector/frame_handler.cc +1 -2
  849. data/src/core/tsi/alts/frame_protector/frame_handler.h +2 -2
  850. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +63 -64
  851. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -2
  852. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +5 -4
  853. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -2
  854. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +54 -53
  855. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -2
  856. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +7 -5
  857. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -2
  858. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +4 -3
  859. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +1 -2
  860. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +10 -8
  861. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +2 -2
  862. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +6 -5
  863. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +2 -2
  864. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +1 -2
  865. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +10 -6
  866. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +1 -2
  867. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +2 -2
  868. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +9 -7
  869. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +2 -2
  870. data/src/core/tsi/fake_transport_security.cc +20 -21
  871. data/src/core/tsi/local_transport_security.cc +7 -7
  872. data/src/core/tsi/local_transport_security.h +1 -2
  873. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +6 -5
  874. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +1 -2
  875. data/src/core/tsi/ssl/session_cache/ssl_session.h +1 -2
  876. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +15 -14
  877. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +1 -2
  878. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +3 -4
  879. data/src/core/tsi/ssl_transport_security.cc +96 -100
  880. data/src/core/tsi/ssl_transport_security.h +1 -2
  881. data/src/core/tsi/ssl_transport_security_utils.cc +85 -28
  882. data/src/core/tsi/ssl_transport_security_utils.h +12 -2
  883. data/src/core/tsi/ssl_types.h +2 -2
  884. data/src/core/tsi/transport_security.cc +1 -6
  885. data/src/core/tsi/transport_security.h +2 -4
  886. data/src/core/tsi/transport_security_grpc.cc +2 -2
  887. data/src/core/tsi/transport_security_grpc.h +1 -2
  888. data/src/core/tsi/transport_security_interface.h +2 -6
  889. data/src/core/{lib/gpr → util}/alloc.cc +3 -1
  890. data/src/core/{lib/gpr → util}/alloc.h +3 -3
  891. data/src/core/{lib/gpr → util}/android/log.cc +0 -19
  892. data/src/core/{lib/gpr → util}/atm.cc +1 -1
  893. data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +26 -26
  894. data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +9 -9
  895. data/src/core/{lib/http → util/http_client}/format_request.cc +2 -2
  896. data/src/core/{lib/http → util/http_client}/format_request.h +4 -4
  897. data/src/core/{lib/http → util/http_client}/httpcli.cc +12 -13
  898. data/src/core/{lib/http → util/http_client}/httpcli.h +5 -5
  899. data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +10 -10
  900. data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +3 -3
  901. data/src/core/{lib/http → util/http_client}/parser.cc +6 -7
  902. data/src/core/{lib/http → util/http_client}/parser.h +3 -5
  903. data/src/core/{lib → util}/json/json.h +3 -3
  904. data/src/core/{lib → util}/json/json_args.h +3 -3
  905. data/src/core/{lib → util}/json/json_channel_args.h +4 -4
  906. data/src/core/{lib → util}/json/json_object_loader.cc +1 -1
  907. data/src/core/{lib → util}/json/json_object_loader.h +5 -5
  908. data/src/core/{lib → util}/json/json_reader.cc +4 -3
  909. data/src/core/{lib → util}/json/json_reader.h +4 -4
  910. data/src/core/{lib → util}/json/json_util.cc +3 -3
  911. data/src/core/{lib → util}/json/json_util.h +4 -4
  912. data/src/core/{lib → util}/json/json_writer.cc +1 -1
  913. data/src/core/{lib → util}/json/json_writer.h +4 -4
  914. data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
  915. data/src/core/util/log.cc +167 -0
  916. data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
  917. data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
  918. data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
  919. data/src/core/{lib/gpr → util}/posix/sync.cc +25 -23
  920. data/src/core/{lib/gpr → util}/posix/time.cc +10 -7
  921. data/src/core/{lib/gpr → util}/posix/tmpfile.cc +5 -3
  922. data/src/core/{lib/gpr → util}/spinlock.h +3 -3
  923. data/src/core/{lib/gpr → util}/string.cc +2 -2
  924. data/src/core/{lib/gpr → util}/string.h +3 -3
  925. data/src/core/{lib/gpr → util}/sync.cc +5 -3
  926. data/src/core/{lib/gpr → util}/time.cc +10 -8
  927. data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
  928. data/src/core/{lib/gpr → util}/time_precise.h +3 -3
  929. data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
  930. data/src/core/{lib/gpr → util}/useful.h +3 -3
  931. data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
  932. data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
  933. data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
  934. data/src/core/{lib/gpr → util}/windows/sync.cc +3 -1
  935. data/src/core/{lib/gpr → util}/windows/time.cc +5 -2
  936. data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
  937. data/src/core/{ext/xds → xds/grpc}/certificate_provider_store.cc +5 -6
  938. data/src/core/{ext/xds → xds/grpc}/certificate_provider_store.h +8 -9
  939. data/src/core/{ext/xds → xds/grpc}/file_watcher_certificate_provider_factory.cc +5 -6
  940. data/src/core/{ext/xds → xds/grpc}/file_watcher_certificate_provider_factory.h +7 -8
  941. data/src/core/{ext/xds → xds/grpc}/upb_utils.h +5 -5
  942. data/src/core/{ext/xds → xds/grpc}/xds_audit_logger_registry.cc +4 -4
  943. data/src/core/{ext/xds → xds/grpc}/xds_audit_logger_registry.h +7 -7
  944. data/src/core/{ext/xds → xds/grpc}/xds_bootstrap_grpc.cc +7 -8
  945. data/src/core/{ext/xds → xds/grpc}/xds_bootstrap_grpc.h +14 -14
  946. data/src/core/{ext/xds → xds/grpc}/xds_certificate_provider.cc +5 -5
  947. data/src/core/{ext/xds → xds/grpc}/xds_certificate_provider.h +5 -6
  948. data/src/core/{ext/xds → xds/grpc}/xds_client_grpc.cc +51 -34
  949. data/src/core/{ext/xds → xds/grpc}/xds_client_grpc.h +10 -11
  950. data/src/core/{ext/xds → xds/grpc}/xds_cluster.cc +22 -14
  951. data/src/core/{ext/xds → xds/grpc}/xds_cluster.h +12 -13
  952. data/src/core/{ext/xds → xds/grpc}/xds_cluster_specifier_plugin.cc +6 -6
  953. data/src/core/{ext/xds → xds/grpc}/xds_cluster_specifier_plugin.h +7 -7
  954. data/src/core/{ext/xds → xds/grpc}/xds_common_types.cc +6 -7
  955. data/src/core/{ext/xds → xds/grpc}/xds_common_types.h +7 -7
  956. data/src/core/{ext/xds → xds/grpc}/xds_endpoint.cc +11 -12
  957. data/src/core/{ext/xds → xds/grpc}/xds_endpoint.h +9 -9
  958. data/src/core/{ext/xds → xds/grpc}/xds_health_status.cc +3 -3
  959. data/src/core/{ext/xds → xds/grpc}/xds_health_status.h +5 -5
  960. data/src/core/{ext/xds → xds/grpc}/xds_http_fault_filter.cc +6 -7
  961. data/src/core/{ext/xds → xds/grpc}/xds_http_fault_filter.h +8 -8
  962. data/src/core/{ext/xds → xds/grpc}/xds_http_filters.cc +8 -9
  963. data/src/core/{ext/xds → xds/grpc}/xds_http_filters.h +9 -9
  964. data/src/core/{ext/xds → xds/grpc}/xds_http_rbac_filter.cc +9 -10
  965. data/src/core/{ext/xds → xds/grpc}/xds_http_rbac_filter.h +8 -8
  966. data/src/core/{ext/xds → xds/grpc}/xds_http_stateful_session_filter.cc +7 -8
  967. data/src/core/{ext/xds → xds/grpc}/xds_http_stateful_session_filter.h +8 -8
  968. data/src/core/{ext/xds → xds/grpc}/xds_lb_policy_registry.cc +3 -4
  969. data/src/core/{ext/xds → xds/grpc}/xds_lb_policy_registry.h +7 -7
  970. data/src/core/{ext/xds → xds/grpc}/xds_listener.cc +12 -14
  971. data/src/core/{ext/xds → xds/grpc}/xds_listener.h +12 -12
  972. data/src/core/{ext/xds → xds/grpc}/xds_route_config.cc +23 -24
  973. data/src/core/{ext/xds → xds/grpc}/xds_route_config.h +11 -11
  974. data/src/core/{ext/xds → xds/grpc}/xds_routing.cc +6 -6
  975. data/src/core/{ext/xds → xds/grpc}/xds_routing.h +8 -8
  976. data/src/core/{ext/xds → xds/grpc}/xds_transport_grpc.cc +16 -16
  977. data/src/core/{ext/xds → xds/grpc}/xds_transport_grpc.h +7 -8
  978. data/src/core/{ext/xds → xds/xds_client}/xds_api.cc +9 -14
  979. data/src/core/{ext/xds → xds/xds_client}/xds_api.h +7 -7
  980. data/src/core/{ext/xds → xds/xds_client}/xds_bootstrap.cc +4 -4
  981. data/src/core/{ext/xds → xds/xds_client}/xds_bootstrap.h +6 -6
  982. data/src/core/{ext/xds → xds/xds_client}/xds_channel_args.h +3 -3
  983. data/src/core/{ext/xds → xds/xds_client}/xds_client.cc +60 -62
  984. data/src/core/{ext/xds → xds/xds_client}/xds_client.h +10 -14
  985. data/src/core/{ext/xds → xds/xds_client}/xds_client_stats.cc +23 -22
  986. data/src/core/{ext/xds → xds/xds_client}/xds_client_stats.h +8 -8
  987. data/src/core/{ext/xds → xds/xds_client}/xds_metrics.h +7 -5
  988. data/src/core/{ext/xds → xds/xds_client}/xds_resource_type.h +6 -6
  989. data/src/core/{ext/xds → xds/xds_client}/xds_resource_type_impl.h +7 -7
  990. data/src/core/{ext/xds → xds/xds_client}/xds_transport.h +6 -6
  991. data/src/ruby/bin/math_pb.rb +1 -22
  992. data/src/ruby/ext/grpc/rb_call.c +8 -1
  993. data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
  994. data/src/ruby/ext/grpc/rb_call_credentials.h +1 -0
  995. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  996. data/src/ruby/ext/grpc/rb_channel_credentials.c +1 -0
  997. data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
  998. data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
  999. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +130 -130
  1000. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +198 -197
  1001. data/src/ruby/ext/grpc/rb_server.c +40 -22
  1002. data/src/ruby/ext/grpc/rb_server_credentials.c +1 -0
  1003. data/src/ruby/ext/grpc/rb_server_credentials.h +1 -0
  1004. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +1 -0
  1005. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +1 -0
  1006. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -0
  1007. data/src/ruby/lib/grpc/version.rb +1 -1
  1008. data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
  1009. data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
  1010. data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
  1011. data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
  1012. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
  1013. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
  1014. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
  1015. data/third_party/abseil-cpp/absl/log/check.h +209 -0
  1016. data/third_party/abseil-cpp/absl/log/internal/check_impl.h +150 -0
  1017. data/third_party/abseil-cpp/absl/log/internal/check_op.cc +118 -0
  1018. data/third_party/abseil-cpp/absl/log/internal/check_op.h +420 -0
  1019. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
  1020. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +13 -18
  1021. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +25 -10
  1022. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +3 -18
  1023. data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +3 -2
  1024. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +1 -1
  1025. data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +19 -15
  1026. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +7 -0
  1027. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +48 -66
  1028. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +7 -3
  1029. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +20 -28
  1030. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +9 -4
  1031. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +2 -2
  1032. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
  1033. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +4 -1
  1034. data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -15
  1035. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +7 -61
  1036. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +7 -7
  1037. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +1 -0
  1038. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1539 -0
  1039. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
  1040. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +36 -20
  1041. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +3 -4
  1042. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
  1043. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +81 -60
  1044. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +41 -120
  1045. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +13 -13
  1046. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +7 -0
  1047. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +137 -0
  1048. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +120 -0
  1049. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +30 -0
  1050. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +3 -4
  1051. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +30 -0
  1052. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +1 -4
  1053. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +30 -0
  1054. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +1 -4
  1055. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +6 -7
  1056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +21 -0
  1057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +31 -7
  1058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -2
  1059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +1 -1
  1060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +3 -3
  1061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +1 -1
  1062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +46 -2
  1063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +8 -5
  1064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
  1065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +1 -1
  1066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +2 -2
  1067. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +14 -7
  1068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +2 -1
  1069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +0 -3
  1070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +11 -7
  1071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +5 -0
  1072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +5 -1
  1073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
  1074. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +2 -1
  1075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +11 -11
  1076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +22 -8
  1077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +6 -4
  1078. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +3 -6
  1079. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +78 -29
  1080. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +4 -4
  1081. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +3 -3
  1082. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +10 -4
  1083. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +7 -0
  1084. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +2 -0
  1085. data/third_party/boringssl-with-bazel/src/crypto/internal.h +62 -27
  1086. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
  1087. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +2 -1
  1088. data/third_party/boringssl-with-bazel/src/crypto/mem.c +18 -9
  1089. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -17
  1090. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +44 -41
  1091. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +13 -12
  1092. data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +7 -6
  1093. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +26 -33
  1094. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +1 -1
  1095. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +4 -5
  1096. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +5 -1
  1097. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +9 -4
  1098. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +2 -2
  1099. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +1 -1
  1100. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +2 -0
  1101. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
  1102. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
  1103. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +21 -25
  1104. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +8 -25
  1105. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +2 -2
  1106. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +1 -6
  1107. data/third_party/boringssl-with-bazel/{err_data.c → src/gen/crypto/err_data.c} +487 -485
  1108. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -1
  1109. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +85 -42
  1110. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +12 -4
  1111. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +10 -11
  1112. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +17 -1
  1113. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +10 -3
  1114. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -0
  1115. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +25 -14
  1116. data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +1 -0
  1117. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +15 -3
  1118. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +131 -0
  1119. data/third_party/boringssl-with-bazel/src/include/openssl/{kyber.h → experimental/kyber.h} +10 -0
  1120. data/third_party/boringssl-with-bazel/src/{crypto/spx/internal.h → include/openssl/experimental/spx.h} +24 -13
  1121. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +2 -2
  1122. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +63 -53
  1123. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +19 -10
  1124. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +26 -12
  1125. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +358 -102
  1126. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +10 -3
  1127. data/third_party/boringssl-with-bazel/src/include/openssl/target.h +13 -10
  1128. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +2 -2
  1129. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +2931 -2453
  1130. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +6 -8
  1131. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +4 -4
  1132. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
  1133. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +19 -18
  1134. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +3 -9
  1135. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +64 -58
  1136. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +1 -1
  1137. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +17 -7
  1138. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +69 -16
  1139. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +145 -114
  1140. data/third_party/boringssl-with-bazel/src/ssl/internal.h +243 -189
  1141. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +1 -1
  1142. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -1
  1143. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +59 -385
  1144. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +21 -19
  1145. data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +423 -0
  1146. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +2 -2
  1147. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +2 -1
  1148. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +108 -81
  1149. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +116 -93
  1150. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +6 -14
  1151. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +1 -1
  1152. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +48 -116
  1153. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +21 -27
  1154. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +36 -3
  1155. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +53 -18
  1156. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +1 -1
  1157. metadata +207 -196
  1158. data/src/core/client_channel/client_channel_channelz.cc +0 -93
  1159. data/src/core/client_channel/client_channel_channelz.h +0 -85
  1160. data/src/core/ext/filters/deadline/deadline_filter.cc +0 -407
  1161. data/src/core/ext/filters/deadline/deadline_filter.h +0 -85
  1162. data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
  1163. data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
  1164. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
  1165. data/src/core/lib/channel/channel_stack_trace.cc +0 -19
  1166. data/src/core/lib/channel/channel_stack_trace.h +0 -24
  1167. data/src/core/lib/channel/context.h +0 -77
  1168. data/src/core/lib/channel/metrics.cc +0 -396
  1169. data/src/core/lib/channel/metrics.h +0 -406
  1170. data/src/core/lib/event_engine/trace.cc +0 -25
  1171. data/src/core/lib/gpr/log.cc +0 -166
  1172. data/src/core/lib/gpr/log_internal.h +0 -55
  1173. data/src/core/lib/iomgr/ev_windows.cc +0 -30
  1174. data/src/core/lib/promise/trace.cc +0 -20
  1175. data/src/core/lib/promise/trace.h +0 -24
  1176. data/src/core/lib/resource_quota/trace.cc +0 -19
  1177. data/src/core/lib/resource_quota/trace.h +0 -24
  1178. data/src/core/lib/security/transport/tsi_error.cc +0 -31
  1179. data/src/core/lib/security/transport/tsi_error.h +0 -30
  1180. data/src/core/lib/slice/slice_refcount.cc +0 -20
  1181. data/src/core/lib/surface/api_trace.cc +0 -25
  1182. data/src/core/lib/surface/call_trace.h +0 -24
  1183. data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
  1184. data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
  1185. data/src/core/lib/transport/batch_builder.cc +0 -170
  1186. data/src/core/lib/transport/batch_builder.h +0 -476
  1187. data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
  1188. data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
  1189. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
  1190. data/third_party/boringssl-with-bazel/src/include/openssl/pki/certificate.h +0 -83
  1191. data/third_party/boringssl-with-bazel/src/include/openssl/pki/signature_verify_cache.h +0 -41
  1192. /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
  1193. /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
  1194. /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
  1195. /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
  1196. /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
@@ -12,8 +12,6 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include <grpc/support/port_platform.h>
16
-
17
15
  #include "src/core/lib/channel/promise_based_filter.h"
18
16
 
19
17
  #include <algorithm>
@@ -24,12 +22,14 @@
24
22
 
25
23
  #include "absl/base/attributes.h"
26
24
  #include "absl/functional/function_ref.h"
25
+ #include "absl/log/check.h"
27
26
  #include "absl/status/status.h"
28
27
  #include "absl/strings/str_cat.h"
29
28
  #include "absl/strings/str_format.h"
30
29
  #include "absl/strings/str_join.h"
31
30
 
32
31
  #include <grpc/status.h>
32
+ #include <grpc/support/port_platform.h>
33
33
 
34
34
  #include "src/core/lib/channel/channel_stack.h"
35
35
  #include "src/core/lib/debug/trace.h"
@@ -40,8 +40,6 @@
40
40
  #include "src/core/lib/promise/seq.h"
41
41
  #include "src/core/lib/slice/slice.h"
42
42
 
43
- extern grpc_core::TraceFlag grpc_trace_channel;
44
-
45
43
  namespace grpc_core {
46
44
  namespace promise_filter_detail {
47
45
 
@@ -90,10 +88,6 @@ BaseCallData::BaseCallData(
90
88
  arena_(args->arena),
91
89
  call_combiner_(args->call_combiner),
92
90
  deadline_(args->deadline),
93
- call_context_(flags & kFilterExaminesCallContext
94
- ? arena_->New<CallContext>(nullptr)
95
- : nullptr),
96
- context_(args->context),
97
91
  server_initial_metadata_pipe_(
98
92
  flags & kFilterExaminesServerInitialMetadata
99
93
  ? arena_->New<Pipe<ServerMetadataHandle>>(arena_)
@@ -107,7 +101,7 @@ BaseCallData::BaseCallData(
107
101
  ? arena_->New<ReceiveMessage>(this, make_recv_interceptor())
108
102
  : nullptr),
109
103
  event_engine_(
110
- static_cast<ChannelFilter*>(elem->channel_data)
104
+ ChannelFilterFromElem(elem)
111
105
  ->hack_until_per_channel_stack_event_engines_land_get_event_engine()) {
112
106
  }
113
107
 
@@ -181,7 +175,7 @@ BaseCallData::CapturedBatch::~CapturedBatch() {
181
175
  uintptr_t& refcnt = *RefCountField(batch_);
182
176
  if (refcnt == 0) return; // refcnt==0 ==> cancelled
183
177
  --refcnt;
184
- GPR_ASSERT(refcnt != 0);
178
+ CHECK_NE(refcnt, 0u);
185
179
  }
186
180
 
187
181
  BaseCallData::CapturedBatch::CapturedBatch(const CapturedBatch& rhs)
@@ -212,11 +206,11 @@ BaseCallData::CapturedBatch& BaseCallData::CapturedBatch::operator=(
212
206
 
213
207
  void BaseCallData::CapturedBatch::ResumeWith(Flusher* releaser) {
214
208
  auto* batch = std::exchange(batch_, nullptr);
215
- GPR_ASSERT(batch != nullptr);
209
+ CHECK_NE(batch, nullptr);
216
210
  uintptr_t& refcnt = *RefCountField(batch);
217
211
  if (refcnt == 0) {
218
212
  // refcnt==0 ==> cancelled
219
- if (grpc_trace_channel.enabled()) {
213
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
220
214
  gpr_log(GPR_INFO, "%sRESUME BATCH REQUEST CANCELLED",
221
215
  releaser->call()->DebugTag().c_str());
222
216
  }
@@ -229,7 +223,7 @@ void BaseCallData::CapturedBatch::ResumeWith(Flusher* releaser) {
229
223
 
230
224
  void BaseCallData::CapturedBatch::CompleteWith(Flusher* releaser) {
231
225
  auto* batch = std::exchange(batch_, nullptr);
232
- GPR_ASSERT(batch != nullptr);
226
+ CHECK_NE(batch, nullptr);
233
227
  uintptr_t& refcnt = *RefCountField(batch);
234
228
  if (refcnt == 0) return; // refcnt==0 ==> cancelled
235
229
  if (--refcnt == 0) {
@@ -240,7 +234,7 @@ void BaseCallData::CapturedBatch::CompleteWith(Flusher* releaser) {
240
234
  void BaseCallData::CapturedBatch::CancelWith(grpc_error_handle error,
241
235
  Flusher* releaser) {
242
236
  auto* batch = std::exchange(batch_, nullptr);
243
- GPR_ASSERT(batch != nullptr);
237
+ CHECK_NE(batch, nullptr);
244
238
  uintptr_t& refcnt = *RefCountField(batch);
245
239
  if (refcnt == 0) {
246
240
  // refcnt==0 ==> cancelled
@@ -272,7 +266,7 @@ BaseCallData::Flusher::~Flusher() {
272
266
  auto* batch = static_cast<grpc_transport_stream_op_batch*>(p);
273
267
  BaseCallData* call =
274
268
  static_cast<BaseCallData*>(batch->handler_private.extra_arg);
275
- if (grpc_trace_channel.enabled()) {
269
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
276
270
  gpr_log(GPR_INFO, "FLUSHER:forward batch via closure: %s",
277
271
  grpc_transport_stream_op_batch_string(batch, false).c_str());
278
272
  }
@@ -281,10 +275,10 @@ BaseCallData::Flusher::~Flusher() {
281
275
  };
282
276
  for (size_t i = 1; i < release_.size(); i++) {
283
277
  auto* batch = release_[i];
284
- if (call_->call_context_ != nullptr && call_->call_context_->traced()) {
278
+ if (call_->call() != nullptr && call_->call()->traced()) {
285
279
  batch->is_traced = true;
286
280
  }
287
- if (grpc_trace_channel.enabled()) {
281
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
288
282
  gpr_log(
289
283
  GPR_INFO, "FLUSHER:queue batch to forward in closure: %s",
290
284
  grpc_transport_stream_op_batch_string(release_[i], false).c_str());
@@ -297,11 +291,11 @@ BaseCallData::Flusher::~Flusher() {
297
291
  "flusher_batch");
298
292
  }
299
293
  call_closures_.RunClosuresWithoutYielding(call_->call_combiner());
300
- if (grpc_trace_channel.enabled()) {
294
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
301
295
  gpr_log(GPR_INFO, "FLUSHER:forward batch: %s",
302
296
  grpc_transport_stream_op_batch_string(release_[0], false).c_str());
303
297
  }
304
- if (call_->call_context_ != nullptr && call_->call_context_->traced()) {
298
+ if (call_->call() != nullptr && call_->call()->traced()) {
305
299
  release_[0]->is_traced = true;
306
300
  }
307
301
  grpc_call_next_op(call_->elem(), release_[0]);
@@ -338,7 +332,7 @@ const char* BaseCallData::SendMessage::StateString(State state) {
338
332
  }
339
333
 
340
334
  void BaseCallData::SendMessage::StartOp(CapturedBatch batch) {
341
- if (grpc_trace_channel.enabled()) {
335
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
342
336
  gpr_log(GPR_INFO, "%s SendMessage.StartOp st=%s", base_->LogTag().c_str(),
343
337
  StateString(state_));
344
338
  }
@@ -366,11 +360,11 @@ void BaseCallData::SendMessage::StartOp(CapturedBatch batch) {
366
360
 
367
361
  template <typename T>
368
362
  void BaseCallData::SendMessage::GotPipe(T* pipe_end) {
369
- if (grpc_trace_channel.enabled()) {
363
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
370
364
  gpr_log(GPR_INFO, "%s SendMessage.GotPipe st=%s", base_->LogTag().c_str(),
371
365
  StateString(state_));
372
366
  }
373
- GPR_ASSERT(pipe_end != nullptr);
367
+ CHECK_NE(pipe_end, nullptr);
374
368
  switch (state_) {
375
369
  case State::kInitial:
376
370
  state_ = State::kIdle;
@@ -414,7 +408,7 @@ bool BaseCallData::SendMessage::IsIdle() const {
414
408
 
415
409
  void BaseCallData::SendMessage::OnComplete(absl::Status status) {
416
410
  Flusher flusher(base_);
417
- if (grpc_trace_channel.enabled()) {
411
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
418
412
  gpr_log(GPR_INFO, "%s SendMessage.OnComplete st=%s status=%s",
419
413
  base_->LogTag().c_str(), StateString(state_),
420
414
  status.ToString().c_str());
@@ -445,7 +439,7 @@ void BaseCallData::SendMessage::OnComplete(absl::Status status) {
445
439
 
446
440
  void BaseCallData::SendMessage::Done(const ServerMetadata& metadata,
447
441
  Flusher* flusher) {
448
- if (grpc_trace_channel.enabled()) {
442
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
449
443
  gpr_log(GPR_INFO, "%s SendMessage.Done st=%s md=%s",
450
444
  base_->LogTag().c_str(), StateString(state_),
451
445
  metadata.DebugString().c_str());
@@ -488,7 +482,7 @@ void BaseCallData::SendMessage::Done(const ServerMetadata& metadata,
488
482
 
489
483
  void BaseCallData::SendMessage::WakeInsideCombiner(Flusher* flusher,
490
484
  bool allow_push_to_pipe) {
491
- if (grpc_trace_channel.enabled()) {
485
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
492
486
  gpr_log(GPR_INFO, "%s SendMessage.WakeInsideCombiner st=%s%s",
493
487
  base_->LogTag().c_str(), StateString(state_),
494
488
  state_ == State::kBatchCompleted
@@ -509,7 +503,7 @@ void BaseCallData::SendMessage::WakeInsideCombiner(Flusher* flusher,
509
503
  case State::kGotBatch:
510
504
  if (allow_push_to_pipe) {
511
505
  state_ = State::kPushedToPipe;
512
- auto message = GetContext<Arena>()->MakePooled<Message>();
506
+ auto message = Arena::MakePooled<Message>();
513
507
  message->payload()->Swap(batch_->payload->send_message.send_message);
514
508
  message->mutable_flags() = batch_->payload->send_message.flags;
515
509
  push_ = interceptor()->Push()->Push(std::move(message));
@@ -519,24 +513,24 @@ void BaseCallData::SendMessage::WakeInsideCombiner(Flusher* flusher,
519
513
  }
520
514
  ABSL_FALLTHROUGH_INTENDED;
521
515
  case State::kPushedToPipe: {
522
- GPR_ASSERT(push_.has_value());
516
+ CHECK(push_.has_value());
523
517
  auto r_push = (*push_)();
524
518
  if (auto* p = r_push.value_if_ready()) {
525
- if (grpc_trace_channel.enabled()) {
519
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
526
520
  gpr_log(GPR_INFO,
527
521
  "%s SendMessage.WakeInsideCombiner push complete, result=%s",
528
522
  base_->LogTag().c_str(), *p ? "true" : "false");
529
523
  }
530
524
  // We haven't pulled through yet, so this certainly shouldn't succeed.
531
- GPR_ASSERT(!*p);
525
+ CHECK(!*p);
532
526
  state_ = State::kCancelled;
533
527
  batch_.CancelWith(absl::CancelledError(), flusher);
534
528
  break;
535
529
  }
536
- GPR_ASSERT(next_.has_value());
530
+ CHECK(next_.has_value());
537
531
  auto r_next = (*next_)();
538
532
  if (auto* p = r_next.value_if_ready()) {
539
- if (grpc_trace_channel.enabled()) {
533
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
540
534
  gpr_log(GPR_INFO,
541
535
  "%s SendMessage.WakeInsideCombiner next complete, "
542
536
  "result.has_value=%s",
@@ -621,7 +615,7 @@ const char* BaseCallData::ReceiveMessage::StateString(State state) {
621
615
  }
622
616
 
623
617
  void BaseCallData::ReceiveMessage::StartOp(CapturedBatch& batch) {
624
- if (grpc_trace_channel.enabled()) {
618
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
625
619
  gpr_log(GPR_INFO, "%s ReceiveMessage.StartOp st=%s",
626
620
  base_->LogTag().c_str(), StateString(state_));
627
621
  }
@@ -662,7 +656,7 @@ void BaseCallData::ReceiveMessage::StartOp(CapturedBatch& batch) {
662
656
 
663
657
  template <typename T>
664
658
  void BaseCallData::ReceiveMessage::GotPipe(T* pipe_end) {
665
- if (grpc_trace_channel.enabled()) {
659
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
666
660
  gpr_log(GPR_INFO, "%s ReceiveMessage.GotPipe st=%s",
667
661
  base_->LogTag().c_str(), StateString(state_));
668
662
  }
@@ -698,7 +692,7 @@ void BaseCallData::ReceiveMessage::GotPipe(T* pipe_end) {
698
692
  }
699
693
 
700
694
  void BaseCallData::ReceiveMessage::OnComplete(absl::Status status) {
701
- if (grpc_trace_channel.enabled()) {
695
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
702
696
  gpr_log(GPR_INFO, "%s ReceiveMessage.OnComplete st=%s status=%s",
703
697
  base_->LogTag().c_str(), StateString(state_),
704
698
  status.ToString().c_str());
@@ -739,7 +733,7 @@ void BaseCallData::ReceiveMessage::OnComplete(absl::Status status) {
739
733
 
740
734
  void BaseCallData::ReceiveMessage::Done(const ServerMetadata& metadata,
741
735
  Flusher* flusher) {
742
- if (grpc_trace_channel.enabled()) {
736
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
743
737
  gpr_log(GPR_INFO, "%s ReceiveMessage.Done st=%s md=%s",
744
738
  base_->LogTag().c_str(), StateString(state_),
745
739
  metadata.DebugString().c_str());
@@ -798,7 +792,7 @@ void BaseCallData::ReceiveMessage::Done(const ServerMetadata& metadata,
798
792
 
799
793
  void BaseCallData::ReceiveMessage::WakeInsideCombiner(Flusher* flusher,
800
794
  bool allow_push_to_pipe) {
801
- if (grpc_trace_channel.enabled()) {
795
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
802
796
  gpr_log(GPR_INFO,
803
797
  "%s ReceiveMessage.WakeInsideCombiner st=%s push?=%s next?=%s "
804
798
  "allow_push_to_pipe=%s",
@@ -840,7 +834,7 @@ void BaseCallData::ReceiveMessage::WakeInsideCombiner(Flusher* flusher,
840
834
  } else {
841
835
  state_ = State::kCompletedWhilePushedToPipe;
842
836
  }
843
- auto message = GetContext<Arena>()->MakePooled<Message>();
837
+ auto message = Arena::MakePooled<Message>();
844
838
  message->payload()->Swap(&**intercepted_slice_buffer_);
845
839
  message->mutable_flags() = *intercepted_flags_;
846
840
  push_ = interceptor()->Push()->Push(std::move(message));
@@ -852,25 +846,25 @@ void BaseCallData::ReceiveMessage::WakeInsideCombiner(Flusher* flusher,
852
846
  completed_status_, "recv_message");
853
847
  break;
854
848
  }
855
- GPR_ASSERT(state_ == State::kPushedToPipe ||
856
- state_ == State::kCompletedWhilePushedToPipe);
849
+ CHECK(state_ == State::kPushedToPipe ||
850
+ state_ == State::kCompletedWhilePushedToPipe);
857
851
  ABSL_FALLTHROUGH_INTENDED;
858
852
  case State::kCompletedWhilePushedToPipe:
859
853
  case State::kPushedToPipe: {
860
- GPR_ASSERT(push_.has_value());
854
+ CHECK(push_.has_value());
861
855
  auto r_push = (*push_)();
862
856
  if (auto* p = r_push.value_if_ready()) {
863
- if (grpc_trace_channel.enabled()) {
857
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
864
858
  gpr_log(GPR_INFO,
865
859
  "%s ReceiveMessage.WakeInsideCombiner push complete: %s",
866
860
  base_->LogTag().c_str(), *p ? "true" : "false");
867
861
  }
868
862
  // We haven't pulled through yet, so this certainly shouldn't succeed.
869
- GPR_ASSERT(!*p);
863
+ CHECK(!*p);
870
864
  state_ = State::kCancelled;
871
865
  break;
872
866
  }
873
- GPR_ASSERT(next_.has_value());
867
+ CHECK(next_.has_value());
874
868
  auto r_next = (*next_)();
875
869
  if (auto* p = r_next.value_if_ready()) {
876
870
  next_.reset();
@@ -891,7 +885,7 @@ void BaseCallData::ReceiveMessage::WakeInsideCombiner(Flusher* flusher,
891
885
  p->cancelled() ? absl::CancelledError() : absl::OkStatus(),
892
886
  "recv_message");
893
887
  }
894
- if (grpc_trace_channel.enabled()) {
888
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
895
889
  gpr_log(GPR_INFO,
896
890
  "%s ReceiveMessage.WakeInsideCombiner next complete: %s "
897
891
  "new_state=%s",
@@ -908,9 +902,9 @@ void BaseCallData::ReceiveMessage::WakeInsideCombiner(Flusher* flusher,
908
902
  ABSL_FALLTHROUGH_INTENDED;
909
903
  case State::kCompletedWhilePulledFromPipe:
910
904
  case State::kPulledFromPipe: {
911
- GPR_ASSERT(push_.has_value());
905
+ CHECK(push_.has_value());
912
906
  if ((*push_)().ready()) {
913
- if (grpc_trace_channel.enabled()) {
907
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
914
908
  gpr_log(GPR_INFO,
915
909
  "%s ReceiveMessage.WakeInsideCombiner push complete",
916
910
  base_->LogTag().c_str());
@@ -1014,7 +1008,7 @@ class ClientCallData::PollContext {
1014
1008
  public:
1015
1009
  explicit PollContext(ClientCallData* self, Flusher* flusher)
1016
1010
  : self_(self), flusher_(flusher) {
1017
- GPR_ASSERT(self_->poll_ctx_ == nullptr);
1011
+ CHECK_EQ(self_->poll_ctx_, nullptr);
1018
1012
 
1019
1013
  self_->poll_ctx_ = this;
1020
1014
  scoped_activity_.Init(self_);
@@ -1025,12 +1019,12 @@ class ClientCallData::PollContext {
1025
1019
  PollContext& operator=(const PollContext&) = delete;
1026
1020
 
1027
1021
  void Run() {
1028
- GPR_DEBUG_ASSERT(HasContext<Arena>());
1029
- if (grpc_trace_channel.enabled()) {
1022
+ DCHECK(HasContext<Arena>());
1023
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
1030
1024
  gpr_log(GPR_INFO, "%s ClientCallData.PollContext.Run %s",
1031
1025
  self_->LogTag().c_str(), self_->DebugString().c_str());
1032
1026
  }
1033
- GPR_ASSERT(have_scoped_activity_);
1027
+ CHECK(have_scoped_activity_);
1034
1028
  repoll_ = false;
1035
1029
  if (self_->send_message() != nullptr) {
1036
1030
  self_->send_message()->WakeInsideCombiner(flusher_, true);
@@ -1065,10 +1059,8 @@ class ClientCallData::PollContext {
1065
1059
  case RecvInitialMetadata::kCompleteAndGotPipe:
1066
1060
  self_->recv_initial_metadata_->state =
1067
1061
  RecvInitialMetadata::kCompleteAndPushedToPipe;
1068
- GPR_ASSERT(
1069
- !self_->recv_initial_metadata_->metadata_push_.has_value());
1070
- GPR_ASSERT(
1071
- !self_->recv_initial_metadata_->metadata_next_.has_value());
1062
+ CHECK(!self_->recv_initial_metadata_->metadata_push_.has_value());
1063
+ CHECK(!self_->recv_initial_metadata_->metadata_next_.has_value());
1072
1064
  self_->recv_initial_metadata_->metadata_push_.emplace(
1073
1065
  self_->recv_initial_metadata_->server_initial_metadata_publisher
1074
1066
  ->Push(ServerMetadataHandle(
@@ -1079,7 +1071,7 @@ class ClientCallData::PollContext {
1079
1071
  self_->server_initial_metadata_pipe()->receiver.Next());
1080
1072
  ABSL_FALLTHROUGH_INTENDED;
1081
1073
  case RecvInitialMetadata::kCompleteAndPushedToPipe: {
1082
- GPR_ASSERT(self_->recv_initial_metadata_->metadata_next_.has_value());
1074
+ CHECK(self_->recv_initial_metadata_->metadata_next_.has_value());
1083
1075
  Poll<NextResult<ServerMetadataHandle>> p =
1084
1076
  (*self_->recv_initial_metadata_->metadata_next_)();
1085
1077
  if (NextResult<ServerMetadataHandle>* nr = p.value_if_ready()) {
@@ -1112,7 +1104,7 @@ class ClientCallData::PollContext {
1112
1104
  case SendInitialState::kForwarded: {
1113
1105
  // Poll the promise once since we're waiting for it.
1114
1106
  Poll<ServerMetadataHandle> poll = self_->promise_();
1115
- if (grpc_trace_channel.enabled()) {
1107
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
1116
1108
  gpr_log(GPR_INFO, "%s ClientCallData.PollContext.Run: poll=%s; %s",
1117
1109
  self_->LogTag().c_str(),
1118
1110
  PollToString(poll,
@@ -1173,7 +1165,7 @@ class ClientCallData::PollContext {
1173
1165
  }
1174
1166
  } else {
1175
1167
  self_->cancelled_error_ = StatusFromMetadata(*md);
1176
- GPR_ASSERT(!self_->cancelled_error_.ok());
1168
+ CHECK(!self_->cancelled_error_.ok());
1177
1169
  if (self_->recv_initial_metadata_ != nullptr) {
1178
1170
  switch (self_->recv_initial_metadata_->state) {
1179
1171
  case RecvInitialMetadata::kInitial:
@@ -1211,7 +1203,7 @@ class ClientCallData::PollContext {
1211
1203
  self_->send_initial_metadata_batch_.CancelWith(
1212
1204
  self_->cancelled_error_, flusher_);
1213
1205
  } else {
1214
- GPR_ASSERT(
1206
+ CHECK(
1215
1207
  self_->recv_trailing_state_ == RecvTrailingState::kInitial ||
1216
1208
  self_->recv_trailing_state_ == RecvTrailingState::kForwarded);
1217
1209
  self_->call_combiner()->Cancel(self_->cancelled_error_);
@@ -1315,7 +1307,7 @@ ClientCallData::ClientCallData(grpc_call_element* elem,
1315
1307
 
1316
1308
  ClientCallData::~ClientCallData() {
1317
1309
  ScopedActivity scoped_activity(this);
1318
- GPR_ASSERT(poll_ctx_ == nullptr);
1310
+ CHECK_EQ(poll_ctx_, nullptr);
1319
1311
  if (recv_initial_metadata_ != nullptr) {
1320
1312
  recv_initial_metadata_->~RecvInitialMetadata();
1321
1313
  }
@@ -1329,7 +1321,7 @@ std::string ClientCallData::DebugTag() const {
1329
1321
 
1330
1322
  // Activity implementation.
1331
1323
  void ClientCallData::ForceImmediateRepoll(WakeupMask) {
1332
- GPR_ASSERT(poll_ctx_ != nullptr);
1324
+ CHECK_NE(poll_ctx_, nullptr);
1333
1325
  poll_ctx_->Repoll();
1334
1326
  }
1335
1327
 
@@ -1392,7 +1384,7 @@ void ClientCallData::StartBatch(grpc_transport_stream_op_batch* b) {
1392
1384
  CapturedBatch batch(b);
1393
1385
  Flusher flusher(this);
1394
1386
 
1395
- if (grpc_trace_channel.enabled()) {
1387
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
1396
1388
  gpr_log(GPR_INFO, "%s StartBatch %s", LogTag().c_str(),
1397
1389
  DebugString().c_str());
1398
1390
  }
@@ -1400,10 +1392,9 @@ void ClientCallData::StartBatch(grpc_transport_stream_op_batch* b) {
1400
1392
  // If this is a cancel stream, cancel anything we have pending and propagate
1401
1393
  // the cancellation.
1402
1394
  if (batch->cancel_stream) {
1403
- GPR_ASSERT(!batch->send_initial_metadata &&
1404
- !batch->send_trailing_metadata && !batch->send_message &&
1405
- !batch->recv_initial_metadata && !batch->recv_message &&
1406
- !batch->recv_trailing_metadata);
1395
+ CHECK(!batch->send_initial_metadata && !batch->send_trailing_metadata &&
1396
+ !batch->send_message && !batch->recv_initial_metadata &&
1397
+ !batch->recv_message && !batch->recv_trailing_metadata);
1407
1398
  PollContext poll_ctx(this, &flusher);
1408
1399
  Cancel(batch->payload->cancel_stream.cancel_error, &flusher);
1409
1400
  poll_ctx.Run();
@@ -1474,12 +1465,12 @@ void ClientCallData::StartBatch(grpc_transport_stream_op_batch* b) {
1474
1465
  batch.CancelWith(cancelled_error_, &flusher);
1475
1466
  } else {
1476
1467
  // Otherwise, we should not have seen a send_initial_metadata op yet.
1477
- GPR_ASSERT(send_initial_state_ == SendInitialState::kInitial);
1468
+ CHECK(send_initial_state_ == SendInitialState::kInitial);
1478
1469
  // Mark ourselves as queued.
1479
1470
  send_initial_state_ = SendInitialState::kQueued;
1480
1471
  if (batch->recv_trailing_metadata) {
1481
1472
  // If there's a recv_trailing_metadata op, we queue that too.
1482
- GPR_ASSERT(recv_trailing_state_ == RecvTrailingState::kInitial);
1473
+ CHECK(recv_trailing_state_ == RecvTrailingState::kInitial);
1483
1474
  recv_trailing_state_ = RecvTrailingState::kQueued;
1484
1475
  }
1485
1476
  // This is the queuing!
@@ -1494,7 +1485,7 @@ void ClientCallData::StartBatch(grpc_transport_stream_op_batch* b) {
1494
1485
  if (recv_trailing_state_ == RecvTrailingState::kCancelled) {
1495
1486
  batch.CancelWith(cancelled_error_, &flusher);
1496
1487
  } else {
1497
- GPR_ASSERT(recv_trailing_state_ == RecvTrailingState::kInitial);
1488
+ CHECK(recv_trailing_state_ == RecvTrailingState::kInitial);
1498
1489
  recv_trailing_state_ = RecvTrailingState::kForwarded;
1499
1490
  HookRecvTrailingMetadata(batch);
1500
1491
  }
@@ -1517,7 +1508,7 @@ void ClientCallData::StartBatch(grpc_transport_stream_op_batch* b) {
1517
1508
 
1518
1509
  // Handle cancellation.
1519
1510
  void ClientCallData::Cancel(grpc_error_handle error, Flusher* flusher) {
1520
- if (grpc_trace_channel.enabled()) {
1511
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
1521
1512
  gpr_log(GPR_INFO, "%s Cancel error=%s", LogTag().c_str(),
1522
1513
  error.ToString().c_str());
1523
1514
  }
@@ -1572,8 +1563,8 @@ void ClientCallData::Cancel(grpc_error_handle error, Flusher* flusher) {
1572
1563
  // Begin running the promise - which will ultimately take some initial
1573
1564
  // metadata and return some trailing metadata.
1574
1565
  void ClientCallData::StartPromise(Flusher* flusher) {
1575
- GPR_ASSERT(send_initial_state_ == SendInitialState::kQueued);
1576
- ChannelFilter* filter = static_cast<ChannelFilter*>(elem()->channel_data);
1566
+ CHECK(send_initial_state_ == SendInitialState::kQueued);
1567
+ ChannelFilter* filter = promise_filter_detail::ChannelFilterFromElem(elem());
1577
1568
 
1578
1569
  // Construct the promise.
1579
1570
  PollContext ctx(this, flusher);
@@ -1597,7 +1588,7 @@ void ClientCallData::StartPromise(Flusher* flusher) {
1597
1588
  }
1598
1589
 
1599
1590
  void ClientCallData::RecvInitialMetadataReady(grpc_error_handle error) {
1600
- if (grpc_trace_channel.enabled()) {
1591
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
1601
1592
  gpr_log(GPR_INFO,
1602
1593
  "%s ClientCallData.RecvInitialMetadataReady %s error:%s md:%s",
1603
1594
  LogTag().c_str(), DebugString().c_str(), error.ToString().c_str(),
@@ -1681,12 +1672,12 @@ void ClientCallData::HookRecvTrailingMetadata(CapturedBatch batch) {
1681
1672
  // - return a wrapper around PollTrailingMetadata as the promise.
1682
1673
  ArenaPromise<ServerMetadataHandle> ClientCallData::MakeNextPromise(
1683
1674
  CallArgs call_args) {
1684
- if (grpc_trace_channel.enabled()) {
1675
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
1685
1676
  gpr_log(GPR_INFO, "%s ClientCallData.MakeNextPromise %s", LogTag().c_str(),
1686
1677
  DebugString().c_str());
1687
1678
  }
1688
- GPR_ASSERT(poll_ctx_ != nullptr);
1689
- GPR_ASSERT(send_initial_state_ == SendInitialState::kQueued);
1679
+ CHECK_NE(poll_ctx_, nullptr);
1680
+ CHECK(send_initial_state_ == SendInitialState::kQueued);
1690
1681
  send_initial_metadata_batch_->payload->send_initial_metadata
1691
1682
  .send_initial_metadata = call_args.client_initial_metadata.get();
1692
1683
  if (recv_initial_metadata_ != nullptr) {
@@ -1694,7 +1685,7 @@ ArenaPromise<ServerMetadataHandle> ClientCallData::MakeNextPromise(
1694
1685
  // It might be the one we passed in - in which case we know this filter
1695
1686
  // only wants to examine the metadata, or it might be a new instance, in
1696
1687
  // which case we know the filter wants to mutate.
1697
- GPR_ASSERT(call_args.server_initial_metadata != nullptr);
1688
+ CHECK_NE(call_args.server_initial_metadata, nullptr);
1698
1689
  recv_initial_metadata_->server_initial_metadata_publisher =
1699
1690
  call_args.server_initial_metadata;
1700
1691
  switch (recv_initial_metadata_->state) {
@@ -1723,17 +1714,17 @@ ArenaPromise<ServerMetadataHandle> ClientCallData::MakeNextPromise(
1723
1714
  recv_initial_metadata_->state))); // unreachable
1724
1715
  }
1725
1716
  } else {
1726
- GPR_ASSERT(call_args.server_initial_metadata == nullptr);
1717
+ CHECK_EQ(call_args.server_initial_metadata, nullptr);
1727
1718
  }
1728
1719
  if (send_message() != nullptr) {
1729
1720
  send_message()->GotPipe(call_args.client_to_server_messages);
1730
1721
  } else {
1731
- GPR_ASSERT(call_args.client_to_server_messages == nullptr);
1722
+ CHECK_EQ(call_args.client_to_server_messages, nullptr);
1732
1723
  }
1733
1724
  if (receive_message() != nullptr) {
1734
1725
  receive_message()->GotPipe(call_args.server_to_client_messages);
1735
1726
  } else {
1736
- GPR_ASSERT(call_args.server_to_client_messages == nullptr);
1727
+ CHECK_EQ(call_args.server_to_client_messages, nullptr);
1737
1728
  }
1738
1729
  return ArenaPromise<ServerMetadataHandle>(
1739
1730
  [this]() { return PollTrailingMetadata(); });
@@ -1744,14 +1735,14 @@ ArenaPromise<ServerMetadataHandle> ClientCallData::MakeNextPromise(
1744
1735
  // All polls: await receiving the trailing metadata, then return it to the
1745
1736
  // application.
1746
1737
  Poll<ServerMetadataHandle> ClientCallData::PollTrailingMetadata() {
1747
- if (grpc_trace_channel.enabled()) {
1738
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
1748
1739
  gpr_log(GPR_INFO, "%s ClientCallData.PollTrailingMetadata %s",
1749
1740
  LogTag().c_str(), DebugString().c_str());
1750
1741
  }
1751
- GPR_ASSERT(poll_ctx_ != nullptr);
1742
+ CHECK_NE(poll_ctx_, nullptr);
1752
1743
  if (send_initial_state_ == SendInitialState::kQueued) {
1753
1744
  // First poll: pass the send_initial_metadata op down the stack.
1754
- GPR_ASSERT(send_initial_metadata_batch_.is_captured());
1745
+ CHECK(send_initial_metadata_batch_.is_captured());
1755
1746
  send_initial_state_ = SendInitialState::kForwarded;
1756
1747
  if (recv_trailing_state_ == RecvTrailingState::kQueued) {
1757
1748
  // (and the recv_trailing_metadata op if it's part of the queuing)
@@ -1795,7 +1786,7 @@ void ClientCallData::RecvTrailingMetadataReadyCallback(
1795
1786
 
1796
1787
  void ClientCallData::RecvTrailingMetadataReady(grpc_error_handle error) {
1797
1788
  Flusher flusher(this);
1798
- if (grpc_trace_channel.enabled()) {
1789
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
1799
1790
  gpr_log(GPR_INFO,
1800
1791
  "%s ClientCallData.RecvTrailingMetadataReady "
1801
1792
  "recv_trailing_state=%s error=%s md=%s",
@@ -1821,7 +1812,7 @@ void ClientCallData::RecvTrailingMetadataReady(grpc_error_handle error) {
1821
1812
  SetStatusFromError(recv_trailing_metadata_, error);
1822
1813
  }
1823
1814
  // Record that we've got the callback.
1824
- GPR_ASSERT(recv_trailing_state_ == RecvTrailingState::kForwarded);
1815
+ CHECK(recv_trailing_state_ == RecvTrailingState::kForwarded);
1825
1816
  recv_trailing_state_ = RecvTrailingState::kComplete;
1826
1817
  if (receive_message() != nullptr) {
1827
1818
  receive_message()->Done(*recv_trailing_metadata_, &flusher);
@@ -1909,7 +1900,7 @@ class ServerCallData::PollContext {
1909
1900
  created_.line(), "; Old: ", self_->poll_ctx_->created_.file(), ":",
1910
1901
  self_->poll_ctx_->created_.line()));
1911
1902
  }
1912
- GPR_ASSERT(self_->poll_ctx_ == nullptr);
1903
+ CHECK_EQ(self_->poll_ctx_, nullptr);
1913
1904
  self_->poll_ctx_ = this;
1914
1905
  scoped_activity_.Init(self_);
1915
1906
  have_scoped_activity_ = true;
@@ -2010,14 +2001,14 @@ ServerCallData::ServerCallData(grpc_call_element* elem,
2010
2001
  }
2011
2002
 
2012
2003
  ServerCallData::~ServerCallData() {
2013
- if (grpc_trace_channel.enabled()) {
2004
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2014
2005
  gpr_log(GPR_INFO, "%s ~ServerCallData %s", LogTag().c_str(),
2015
2006
  DebugString().c_str());
2016
2007
  }
2017
2008
  if (send_initial_metadata_ != nullptr) {
2018
2009
  send_initial_metadata_->~SendInitialMetadata();
2019
2010
  }
2020
- GPR_ASSERT(poll_ctx_ == nullptr);
2011
+ CHECK_EQ(poll_ctx_, nullptr);
2021
2012
  }
2022
2013
 
2023
2014
  std::string ServerCallData::DebugTag() const {
@@ -2026,7 +2017,7 @@ std::string ServerCallData::DebugTag() const {
2026
2017
 
2027
2018
  // Activity implementation.
2028
2019
  void ServerCallData::ForceImmediateRepoll(WakeupMask) {
2029
- GPR_ASSERT(poll_ctx_ != nullptr);
2020
+ CHECK_NE(poll_ctx_, nullptr);
2030
2021
  poll_ctx_->Repoll();
2031
2022
  }
2032
2023
 
@@ -2038,7 +2029,7 @@ void ServerCallData::StartBatch(grpc_transport_stream_op_batch* b) {
2038
2029
  Flusher flusher(this);
2039
2030
  bool wake = false;
2040
2031
 
2041
- if (grpc_trace_channel.enabled()) {
2032
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2042
2033
  gpr_log(GPR_INFO, "%s StartBatch: %s", LogTag().c_str(),
2043
2034
  DebugString().c_str());
2044
2035
  }
@@ -2046,10 +2037,9 @@ void ServerCallData::StartBatch(grpc_transport_stream_op_batch* b) {
2046
2037
  // If this is a cancel stream, cancel anything we have pending and
2047
2038
  // propagate the cancellation.
2048
2039
  if (batch->cancel_stream) {
2049
- GPR_ASSERT(!batch->send_initial_metadata &&
2050
- !batch->send_trailing_metadata && !batch->send_message &&
2051
- !batch->recv_initial_metadata && !batch->recv_message &&
2052
- !batch->recv_trailing_metadata);
2040
+ CHECK(!batch->send_initial_metadata && !batch->send_trailing_metadata &&
2041
+ !batch->send_message && !batch->recv_initial_metadata &&
2042
+ !batch->recv_message && !batch->recv_trailing_metadata);
2053
2043
  PollContext poll_ctx(this, &flusher);
2054
2044
  Completed(batch->payload->cancel_stream.cancel_error,
2055
2045
  batch->payload->cancel_stream.tarpit, &flusher);
@@ -2064,11 +2054,11 @@ void ServerCallData::StartBatch(grpc_transport_stream_op_batch* b) {
2064
2054
  // recv_initial_metadata: we hook the response of this so we can start the
2065
2055
  // promise at an appropriate time.
2066
2056
  if (batch->recv_initial_metadata) {
2067
- GPR_ASSERT(!batch->send_initial_metadata &&
2068
- !batch->send_trailing_metadata && !batch->send_message &&
2069
- !batch->recv_message && !batch->recv_trailing_metadata);
2057
+ CHECK(!batch->send_initial_metadata && !batch->send_trailing_metadata &&
2058
+ !batch->send_message && !batch->recv_message &&
2059
+ !batch->recv_trailing_metadata);
2070
2060
  // Otherwise, we should not have seen a send_initial_metadata op yet.
2071
- GPR_ASSERT(recv_initial_state_ == RecvInitialState::kInitial);
2061
+ CHECK(recv_initial_state_ == RecvInitialState::kInitial);
2072
2062
  // Hook the callback so we know when to start the promise.
2073
2063
  recv_initial_metadata_ =
2074
2064
  batch->payload->recv_initial_metadata.recv_initial_metadata;
@@ -2173,7 +2163,7 @@ void ServerCallData::StartBatch(grpc_transport_stream_op_batch* b) {
2173
2163
  // Handle cancellation.
2174
2164
  void ServerCallData::Completed(grpc_error_handle error,
2175
2165
  bool tarpit_cancellation, Flusher* flusher) {
2176
- if (grpc_trace_channel.enabled()) {
2166
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2177
2167
  gpr_log(
2178
2168
  GPR_DEBUG,
2179
2169
  "%sServerCallData::Completed: send_trailing_state=%s "
@@ -2250,14 +2240,13 @@ void ServerCallData::Completed(grpc_error_handle error,
2250
2240
  // - return a wrapper around PollTrailingMetadata as the promise.
2251
2241
  ArenaPromise<ServerMetadataHandle> ServerCallData::MakeNextPromise(
2252
2242
  CallArgs call_args) {
2253
- GPR_ASSERT(recv_initial_state_ == RecvInitialState::kComplete);
2254
- GPR_ASSERT(std::move(call_args.client_initial_metadata).get() ==
2255
- recv_initial_metadata_);
2243
+ CHECK(recv_initial_state_ == RecvInitialState::kComplete);
2244
+ CHECK(std::move(call_args.client_initial_metadata).get() ==
2245
+ recv_initial_metadata_);
2256
2246
  forward_recv_initial_metadata_callback_ = true;
2257
2247
  if (send_initial_metadata_ != nullptr) {
2258
- GPR_ASSERT(send_initial_metadata_->server_initial_metadata_publisher ==
2259
- nullptr);
2260
- GPR_ASSERT(call_args.server_initial_metadata != nullptr);
2248
+ CHECK(send_initial_metadata_->server_initial_metadata_publisher == nullptr);
2249
+ CHECK_NE(call_args.server_initial_metadata, nullptr);
2261
2250
  send_initial_metadata_->server_initial_metadata_publisher =
2262
2251
  call_args.server_initial_metadata;
2263
2252
  switch (send_initial_metadata_->state) {
@@ -2280,17 +2269,17 @@ ArenaPromise<ServerMetadataHandle> ServerCallData::MakeNextPromise(
2280
2269
  break;
2281
2270
  }
2282
2271
  } else {
2283
- GPR_ASSERT(call_args.server_initial_metadata == nullptr);
2272
+ CHECK_EQ(call_args.server_initial_metadata, nullptr);
2284
2273
  }
2285
2274
  if (send_message() != nullptr) {
2286
2275
  send_message()->GotPipe(call_args.server_to_client_messages);
2287
2276
  } else {
2288
- GPR_ASSERT(call_args.server_to_client_messages == nullptr);
2277
+ CHECK_EQ(call_args.server_to_client_messages, nullptr);
2289
2278
  }
2290
2279
  if (receive_message() != nullptr) {
2291
2280
  receive_message()->GotPipe(call_args.client_to_server_messages);
2292
2281
  } else {
2293
- GPR_ASSERT(call_args.client_to_server_messages == nullptr);
2282
+ CHECK_EQ(call_args.client_to_server_messages, nullptr);
2294
2283
  }
2295
2284
  return ArenaPromise<ServerMetadataHandle>(
2296
2285
  [this]() { return PollTrailingMetadata(); });
@@ -2300,7 +2289,7 @@ ArenaPromise<ServerMetadataHandle> ServerCallData::MakeNextPromise(
2300
2289
  // All polls: await sending the trailing metadata, then foward it down the
2301
2290
  // stack.
2302
2291
  Poll<ServerMetadataHandle> ServerCallData::PollTrailingMetadata() {
2303
- if (grpc_trace_channel.enabled()) {
2292
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2304
2293
  gpr_log(GPR_INFO, "%s PollTrailingMetadata: %s", LogTag().c_str(),
2305
2294
  StateString(send_trailing_state_));
2306
2295
  }
@@ -2331,7 +2320,7 @@ void ServerCallData::RecvTrailingMetadataReadyCallback(
2331
2320
  }
2332
2321
 
2333
2322
  void ServerCallData::RecvTrailingMetadataReady(grpc_error_handle error) {
2334
- if (grpc_trace_channel.enabled()) {
2323
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2335
2324
  gpr_log(GPR_INFO, "%s: RecvTrailingMetadataReady error=%s md=%s",
2336
2325
  LogTag().c_str(), error.ToString().c_str(),
2337
2326
  recv_trailing_metadata_->DebugString().c_str());
@@ -2351,11 +2340,11 @@ void ServerCallData::RecvInitialMetadataReadyCallback(void* arg,
2351
2340
 
2352
2341
  void ServerCallData::RecvInitialMetadataReady(grpc_error_handle error) {
2353
2342
  Flusher flusher(this);
2354
- if (grpc_trace_channel.enabled()) {
2343
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2355
2344
  gpr_log(GPR_INFO, "%s: RecvInitialMetadataReady %s", LogTag().c_str(),
2356
2345
  error.ToString().c_str());
2357
2346
  }
2358
- GPR_ASSERT(recv_initial_state_ == RecvInitialState::kForwarded);
2347
+ CHECK(recv_initial_state_ == RecvInitialState::kForwarded);
2359
2348
  // If there was an error we just propagate that through
2360
2349
  if (!error.ok()) {
2361
2350
  recv_initial_state_ = RecvInitialState::kResponded;
@@ -2370,7 +2359,7 @@ void ServerCallData::RecvInitialMetadataReady(grpc_error_handle error) {
2370
2359
  // Start the promise.
2371
2360
  ScopedContext context(this);
2372
2361
  // Construct the promise.
2373
- ChannelFilter* filter = static_cast<ChannelFilter*>(elem()->channel_data);
2362
+ ChannelFilter* filter = promise_filter_detail::ChannelFilterFromElem(elem());
2374
2363
  FakeActivity(this).Run([this, filter] {
2375
2364
  promise_ = filter->MakeCallPromise(
2376
2365
  CallArgs{WrapMetadata(recv_initial_metadata_),
@@ -2416,7 +2405,7 @@ std::string ServerCallData::DebugString() const {
2416
2405
  // Wakeup and poll the promise if appropriate.
2417
2406
  void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
2418
2407
  PollContext poll_ctx(this, flusher);
2419
- if (grpc_trace_channel.enabled()) {
2408
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2420
2409
  gpr_log(GPR_INFO, "%s: WakeInsideCombiner %s", LogTag().c_str(),
2421
2410
  DebugString().c_str());
2422
2411
  }
@@ -2426,8 +2415,8 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
2426
2415
  SendInitialMetadata::kQueuedAndGotPipe) {
2427
2416
  send_initial_metadata_->state =
2428
2417
  SendInitialMetadata::kQueuedAndPushedToPipe;
2429
- GPR_ASSERT(!send_initial_metadata_->metadata_push_.has_value());
2430
- GPR_ASSERT(!send_initial_metadata_->metadata_next_.has_value());
2418
+ CHECK(!send_initial_metadata_->metadata_push_.has_value());
2419
+ CHECK(!send_initial_metadata_->metadata_next_.has_value());
2431
2420
  send_initial_metadata_->metadata_push_.emplace(
2432
2421
  send_initial_metadata_->server_initial_metadata_publisher->Push(
2433
2422
  ServerMetadataHandle(
@@ -2439,12 +2428,12 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
2439
2428
  }
2440
2429
  if (send_initial_metadata_->metadata_push_.has_value()) {
2441
2430
  if ((*send_initial_metadata_->metadata_push_)().ready()) {
2442
- if (grpc_trace_channel.enabled()) {
2431
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2443
2432
  gpr_log(GPR_INFO, "%s: WakeInsideCombiner: metadata_push done",
2444
2433
  LogTag().c_str());
2445
2434
  }
2446
2435
  send_initial_metadata_->metadata_push_.reset();
2447
- } else if (grpc_trace_channel.enabled()) {
2436
+ } else if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2448
2437
  gpr_log(GPR_INFO, "%s: WakeInsideCombiner: metadata_push pending",
2449
2438
  LogTag().c_str());
2450
2439
  }
@@ -2462,7 +2451,7 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
2462
2451
  flusher,
2463
2452
  send_initial_metadata_ == nullptr ||
2464
2453
  send_initial_metadata_->state == SendInitialMetadata::kForwarded);
2465
- if (grpc_trace_channel.enabled()) {
2454
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2466
2455
  gpr_log(GPR_DEBUG,
2467
2456
  "%s: After send_message WakeInsideCombiner %s is_idle=%s "
2468
2457
  "is_forwarded=%s",
@@ -2491,7 +2480,7 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
2491
2480
  if (promise_.has_value()) {
2492
2481
  Poll<ServerMetadataHandle> poll;
2493
2482
  poll = promise_();
2494
- if (grpc_trace_channel.enabled()) {
2483
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2495
2484
  gpr_log(
2496
2485
  GPR_INFO,
2497
2486
  "%s: WakeInsideCombiner poll=%s; send_initial_metadata=%s "
@@ -2509,9 +2498,9 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
2509
2498
  if (send_initial_metadata_ != nullptr &&
2510
2499
  send_initial_metadata_->state ==
2511
2500
  SendInitialMetadata::kQueuedAndPushedToPipe) {
2512
- GPR_ASSERT(send_initial_metadata_->metadata_next_.has_value());
2501
+ CHECK(send_initial_metadata_->metadata_next_.has_value());
2513
2502
  auto p = (*send_initial_metadata_->metadata_next_)();
2514
- if (grpc_trace_channel.enabled()) {
2503
+ if (GRPC_TRACE_FLAG_ENABLED(channel)) {
2515
2504
  gpr_log(GPR_INFO,
2516
2505
  "%s: WakeInsideCombiner send_initial_metadata poll=%s",
2517
2506
  LogTag().c_str(),
@@ -2558,7 +2547,7 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
2558
2547
  StateString(send_trailing_state_))); // unreachable
2559
2548
  break;
2560
2549
  case SendTrailingState::kInitial: {
2561
- GPR_ASSERT(*md->get_pointer(GrpcStatusMetadata()) != GRPC_STATUS_OK);
2550
+ CHECK(*md->get_pointer(GrpcStatusMetadata()) != GRPC_STATUS_OK);
2562
2551
  Completed(StatusFromMetadata(*md), md->get(GrpcTarPit()).has_value(),
2563
2552
  flusher);
2564
2553
  } break;