grpc 1.64.3 → 1.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (632) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +57 -58
  3. data/include/grpc/event_engine/event_engine.h +13 -6
  4. data/include/grpc/impl/channel_arg_names.h +7 -3
  5. data/include/grpc/module.modulemap +1 -0
  6. data/include/grpc/passive_listener.h +62 -0
  7. data/include/grpc/support/log.h +7 -17
  8. data/include/grpc/support/port_platform.h +3 -0
  9. data/src/core/channelz/channel_trace.cc +1 -1
  10. data/src/core/channelz/channel_trace.h +1 -1
  11. data/src/core/channelz/channelz.cc +3 -3
  12. data/src/core/channelz/channelz.h +7 -7
  13. data/src/core/channelz/channelz_registry.cc +4 -3
  14. data/src/core/client_channel/backup_poller.cc +4 -5
  15. data/src/core/client_channel/client_channel.cc +1324 -0
  16. data/src/core/client_channel/client_channel.h +243 -0
  17. data/src/core/client_channel/client_channel_filter.cc +266 -709
  18. data/src/core/client_channel/client_channel_filter.h +11 -64
  19. data/src/core/client_channel/client_channel_internal.h +16 -5
  20. data/src/core/client_channel/client_channel_plugin.cc +1 -14
  21. data/src/core/client_channel/client_channel_service_config.h +3 -3
  22. data/src/core/client_channel/config_selector.cc +1 -1
  23. data/src/core/client_channel/config_selector.h +1 -1
  24. data/src/core/client_channel/dynamic_filters.cc +3 -3
  25. data/src/core/client_channel/dynamic_filters.h +1 -3
  26. data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
  27. data/src/core/client_channel/load_balanced_call_destination.h +49 -0
  28. data/src/core/client_channel/retry_filter.cc +2 -9
  29. data/src/core/client_channel/retry_filter.h +2 -7
  30. data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
  31. data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
  32. data/src/core/client_channel/retry_service_config.cc +4 -5
  33. data/src/core/client_channel/retry_service_config.h +3 -3
  34. data/src/core/client_channel/subchannel.cc +220 -112
  35. data/src/core/client_channel/subchannel.h +31 -18
  36. data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
  37. data/src/core/client_channel/subchannel_pool_interface.h +2 -4
  38. data/src/core/client_channel/subchannel_stream_client.cc +36 -49
  39. data/src/core/client_channel/subchannel_stream_client.h +2 -4
  40. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
  41. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
  42. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
  43. data/src/core/ext/filters/census/grpc_context.cc +2 -4
  44. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
  45. data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
  46. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
  47. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
  48. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
  49. data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
  50. data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
  51. data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
  52. data/src/core/ext/filters/http/client_authority_filter.h +1 -0
  53. data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
  54. data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
  55. data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
  56. data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
  57. data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
  58. data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
  59. data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
  60. data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
  61. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
  62. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
  63. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
  64. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
  65. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
  66. data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
  67. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
  68. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
  69. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
  70. data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
  71. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
  72. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
  73. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
  74. data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
  75. data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
  76. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
  77. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
  78. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
  79. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
  80. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
  81. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
  82. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
  83. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
  84. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
  85. data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
  86. data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
  87. data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
  88. data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
  89. data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
  90. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
  91. data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
  92. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
  93. data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
  94. data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
  95. data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
  96. data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
  97. data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
  98. data/src/core/handshaker/handshaker.cc +6 -14
  99. data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
  100. data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
  101. data/src/core/handshaker/security/secure_endpoint.cc +38 -32
  102. data/src/core/handshaker/security/secure_endpoint.h +0 -2
  103. data/src/core/handshaker/security/security_handshaker.cc +25 -37
  104. data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
  105. data/src/core/lib/address_utils/parse_address.cc +27 -39
  106. data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
  107. data/src/core/lib/avl/avl.h +1 -1
  108. data/src/core/lib/channel/channel_args.cc +13 -17
  109. data/src/core/lib/channel/channel_args.h +19 -8
  110. data/src/core/lib/channel/channel_stack.cc +5 -63
  111. data/src/core/lib/channel/channel_stack.h +13 -37
  112. data/src/core/lib/channel/channel_stack_builder.h +0 -5
  113. data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
  114. data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
  115. data/src/core/lib/channel/connected_channel.cc +37 -676
  116. data/src/core/lib/channel/promise_based_filter.cc +41 -47
  117. data/src/core/lib/channel/promise_based_filter.h +124 -477
  118. data/src/core/lib/channel/status_util.cc +1 -1
  119. data/src/core/lib/compression/compression.cc +1 -1
  120. data/src/core/lib/compression/message_compress.cc +6 -6
  121. data/src/core/lib/config/config_vars.cc +3 -8
  122. data/src/core/lib/config/config_vars.h +1 -5
  123. data/src/core/lib/debug/event_log.h +1 -1
  124. data/src/core/lib/debug/trace.cc +43 -59
  125. data/src/core/lib/debug/trace.h +2 -97
  126. data/src/core/lib/debug/trace_flags.cc +255 -0
  127. data/src/core/lib/debug/trace_flags.h +133 -0
  128. data/src/core/lib/debug/trace_impl.h +115 -0
  129. data/src/core/lib/event_engine/ares_resolver.cc +5 -7
  130. data/src/core/lib/event_engine/ares_resolver.h +1 -3
  131. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
  132. data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
  133. data/src/core/lib/event_engine/event_engine.cc +29 -4
  134. data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
  135. data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
  136. data/src/core/lib/event_engine/forkable.cc +4 -5
  137. data/src/core/lib/event_engine/forkable.h +0 -11
  138. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
  139. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
  140. data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
  141. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
  142. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
  143. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
  144. data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
  145. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
  146. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
  147. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
  148. data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
  149. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
  150. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
  151. data/src/core/lib/event_engine/shim.cc +1 -1
  152. data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
  153. data/src/core/lib/event_engine/thread_local.h +1 -1
  154. data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
  155. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
  156. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
  157. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
  158. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
  159. data/src/core/lib/event_engine/trace.h +6 -17
  160. data/src/core/lib/event_engine/windows/iocp.h +1 -1
  161. data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
  162. data/src/core/lib/event_engine/windows/win_socket.h +4 -5
  163. data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
  164. data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
  165. data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
  166. data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
  167. data/src/core/lib/experiments/experiments.cc +35 -151
  168. data/src/core/lib/experiments/experiments.h +12 -45
  169. data/src/core/lib/gprpp/bitset.h +1 -1
  170. data/src/core/lib/gprpp/crash.cc +2 -3
  171. data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
  172. data/src/core/lib/gprpp/dump_args.cc +54 -0
  173. data/src/core/lib/gprpp/dump_args.h +69 -0
  174. data/src/core/lib/gprpp/glob.cc +70 -0
  175. data/src/core/lib/gprpp/glob.h +29 -0
  176. data/src/core/lib/gprpp/per_cpu.cc +1 -1
  177. data/src/core/lib/gprpp/posix/stat.cc +3 -4
  178. data/src/core/lib/gprpp/posix/thd.cc +8 -9
  179. data/src/core/lib/gprpp/ref_counted.h +30 -22
  180. data/src/core/lib/gprpp/single_set_ptr.h +5 -3
  181. data/src/core/lib/gprpp/status_helper.cc +11 -30
  182. data/src/core/lib/gprpp/status_helper.h +3 -31
  183. data/src/core/lib/gprpp/time.cc +3 -4
  184. data/src/core/lib/gprpp/time.h +3 -2
  185. data/src/core/lib/gprpp/unique_type_name.h +1 -1
  186. data/src/core/lib/gprpp/validation_errors.cc +10 -1
  187. data/src/core/lib/gprpp/validation_errors.h +11 -0
  188. data/src/core/lib/gprpp/windows/stat.cc +3 -4
  189. data/src/core/lib/gprpp/windows/thd.cc +3 -2
  190. data/src/core/lib/gprpp/work_serializer.cc +48 -57
  191. data/src/core/lib/iomgr/buffer_list.cc +4 -2
  192. data/src/core/lib/iomgr/call_combiner.cc +18 -27
  193. data/src/core/lib/iomgr/call_combiner.h +1 -3
  194. data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
  195. data/src/core/lib/iomgr/closure.h +2 -4
  196. data/src/core/lib/iomgr/combiner.cc +6 -8
  197. data/src/core/lib/iomgr/combiner.h +0 -2
  198. data/src/core/lib/iomgr/endpoint.cc +0 -6
  199. data/src/core/lib/iomgr/endpoint.h +0 -2
  200. data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
  201. data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
  202. data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
  203. data/src/core/lib/iomgr/error.cc +13 -21
  204. data/src/core/lib/iomgr/error.h +1 -1
  205. data/src/core/lib/iomgr/ev_apple.cc +3 -5
  206. data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
  207. data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
  208. data/src/core/lib/iomgr/ev_posix.cc +8 -9
  209. data/src/core/lib/iomgr/ev_posix.h +10 -7
  210. data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
  211. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
  212. data/src/core/lib/iomgr/exec_ctx.cc +2 -2
  213. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  214. data/src/core/lib/iomgr/executor.cc +6 -15
  215. data/src/core/lib/iomgr/executor.h +1 -1
  216. data/src/core/lib/iomgr/fork_posix.cc +8 -10
  217. data/src/core/lib/iomgr/fork_windows.cc +3 -1
  218. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
  219. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
  220. data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
  221. data/src/core/lib/iomgr/iocp_windows.cc +4 -3
  222. data/src/core/lib/iomgr/iomgr.cc +13 -17
  223. data/src/core/lib/iomgr/lockfree_event.cc +3 -5
  224. data/src/core/lib/iomgr/pollset.h +0 -2
  225. data/src/core/lib/iomgr/pollset_windows.cc +0 -2
  226. data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
  227. data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
  228. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  229. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  230. data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
  231. data/src/core/lib/iomgr/socket_windows.cc +4 -6
  232. data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
  233. data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
  234. data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
  235. data/src/core/lib/iomgr/tcp_posix.cc +57 -84
  236. data/src/core/lib/iomgr/tcp_posix.h +0 -2
  237. data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
  238. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
  239. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
  240. data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
  241. data/src/core/lib/iomgr/tcp_windows.cc +25 -41
  242. data/src/core/lib/iomgr/timer_generic.cc +17 -20
  243. data/src/core/lib/iomgr/timer_heap.cc +1 -1
  244. data/src/core/lib/iomgr/timer_manager.cc +17 -30
  245. data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
  246. data/src/core/lib/iomgr/vsock.cc +1 -1
  247. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
  248. data/src/core/lib/promise/activity.h +27 -4
  249. data/src/core/lib/promise/cancel_callback.h +24 -0
  250. data/src/core/lib/promise/context.h +11 -0
  251. data/src/core/lib/promise/detail/basic_seq.h +1 -2
  252. data/src/core/lib/promise/detail/join_state.h +354 -398
  253. data/src/core/lib/promise/detail/promise_like.h +6 -5
  254. data/src/core/lib/promise/detail/seq_state.h +1178 -1178
  255. data/src/core/lib/promise/for_each.h +6 -6
  256. data/src/core/lib/promise/interceptor_list.h +6 -7
  257. data/src/core/lib/promise/latch.h +9 -9
  258. data/src/core/lib/promise/map.h +17 -0
  259. data/src/core/lib/promise/observable.h +182 -0
  260. data/src/core/lib/promise/party.cc +7 -8
  261. data/src/core/lib/promise/party.h +10 -8
  262. data/src/core/lib/promise/pipe.h +16 -35
  263. data/src/core/lib/promise/promise.h +1 -0
  264. data/src/core/lib/promise/status_flag.h +2 -0
  265. data/src/core/lib/resource_quota/arena.cc +56 -79
  266. data/src/core/lib/resource_quota/arena.h +118 -209
  267. data/src/core/lib/resource_quota/memory_quota.cc +12 -13
  268. data/src/core/lib/resource_quota/memory_quota.h +2 -3
  269. data/src/core/lib/resource_quota/periodic_update.cc +1 -1
  270. data/src/core/lib/resource_quota/resource_quota.h +1 -1
  271. data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
  272. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
  273. data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
  274. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
  275. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
  276. data/src/core/lib/security/authorization/matchers.cc +3 -3
  277. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
  278. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
  279. data/src/core/lib/security/context/security_context.cc +12 -13
  280. data/src/core/lib/security/context/security_context.h +31 -8
  281. data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
  282. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
  283. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
  284. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
  285. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
  286. data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
  287. data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
  288. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
  289. data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
  290. data/src/core/lib/security/credentials/credentials.cc +6 -6
  291. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
  292. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
  293. data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
  294. data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
  295. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
  296. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
  297. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
  298. data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
  299. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
  300. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
  301. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
  302. data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
  303. data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
  304. data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
  305. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
  306. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
  307. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
  308. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
  309. data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
  310. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
  311. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
  312. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
  313. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
  314. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
  315. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
  316. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
  317. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
  318. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
  319. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
  320. data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
  321. data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
  322. data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
  323. data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
  324. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
  325. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
  326. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
  327. data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
  328. data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
  329. data/src/core/lib/security/security_connector/security_connector.cc +1 -4
  330. data/src/core/lib/security/security_connector/security_connector.h +1 -3
  331. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
  332. data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
  333. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
  334. data/src/core/lib/security/transport/auth_filters.h +1 -0
  335. data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
  336. data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
  337. data/src/core/lib/security/util/json_util.h +1 -1
  338. data/src/core/lib/slice/slice.h +1 -1
  339. data/src/core/lib/slice/slice_refcount.h +2 -4
  340. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  341. data/src/core/lib/surface/api_trace.h +1 -3
  342. data/src/core/lib/surface/call.cc +64 -3738
  343. data/src/core/lib/surface/call.h +41 -143
  344. data/src/core/lib/surface/call_log_batch.cc +1 -1
  345. data/src/core/lib/surface/call_utils.cc +276 -0
  346. data/src/core/lib/surface/call_utils.h +449 -0
  347. data/src/core/lib/surface/channel.cc +8 -3
  348. data/src/core/lib/surface/channel.h +10 -7
  349. data/src/core/lib/surface/channel_create.cc +14 -6
  350. data/src/core/lib/surface/channel_create.h +3 -2
  351. data/src/core/lib/surface/channel_init.cc +21 -77
  352. data/src/core/lib/surface/channel_init.h +19 -97
  353. data/src/core/lib/surface/client_call.cc +419 -0
  354. data/src/core/lib/surface/client_call.h +180 -0
  355. data/src/core/lib/surface/completion_queue.cc +28 -33
  356. data/src/core/lib/surface/completion_queue.h +0 -8
  357. data/src/core/lib/surface/filter_stack_call.cc +1157 -0
  358. data/src/core/lib/surface/filter_stack_call.h +369 -0
  359. data/src/core/lib/surface/init.cc +7 -6
  360. data/src/core/lib/surface/lame_client.cc +1 -1
  361. data/src/core/lib/surface/legacy_channel.cc +40 -27
  362. data/src/core/lib/surface/legacy_channel.h +9 -18
  363. data/src/core/lib/surface/server_call.cc +222 -0
  364. data/src/core/lib/surface/server_call.h +167 -0
  365. data/src/core/lib/surface/version.cc +2 -2
  366. data/src/core/lib/transport/bdp_estimator.cc +3 -5
  367. data/src/core/lib/transport/bdp_estimator.h +2 -4
  368. data/src/core/lib/transport/call_arena_allocator.h +9 -7
  369. data/src/core/lib/transport/call_destination.h +76 -0
  370. data/src/core/lib/transport/call_filters.cc +28 -10
  371. data/src/core/lib/transport/call_filters.h +128 -22
  372. data/src/core/lib/transport/call_spine.cc +5 -6
  373. data/src/core/lib/transport/call_spine.h +159 -334
  374. data/src/core/lib/transport/connectivity_state.cc +8 -10
  375. data/src/core/lib/transport/connectivity_state.h +0 -2
  376. data/src/core/lib/transport/interception_chain.cc +155 -0
  377. data/src/core/lib/transport/interception_chain.h +236 -0
  378. data/src/core/lib/transport/metadata_batch.h +10 -1
  379. data/src/core/lib/transport/metadata_info.h +1 -1
  380. data/src/core/lib/transport/transport.cc +3 -6
  381. data/src/core/lib/transport/transport.h +43 -40
  382. data/src/core/load_balancing/child_policy_handler.cc +8 -8
  383. data/src/core/load_balancing/endpoint_list.cc +5 -5
  384. data/src/core/load_balancing/endpoint_list.h +1 -1
  385. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
  386. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
  387. data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
  388. data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
  389. data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
  390. data/src/core/load_balancing/health_check_client.cc +10 -13
  391. data/src/core/load_balancing/lb_policy.cc +5 -8
  392. data/src/core/load_balancing/lb_policy.h +19 -3
  393. data/src/core/load_balancing/lb_policy_factory.h +1 -1
  394. data/src/core/load_balancing/lb_policy_registry.cc +2 -3
  395. data/src/core/load_balancing/lb_policy_registry.h +1 -1
  396. data/src/core/load_balancing/oob_backend_metric.cc +2 -4
  397. data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
  398. data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
  399. data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
  400. data/src/core/load_balancing/priority/priority.cc +26 -28
  401. data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
  402. data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
  403. data/src/core/load_balancing/rls/rls.cc +82 -82
  404. data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
  405. data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
  406. data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
  407. data/src/core/load_balancing/xds/cds.cc +14 -16
  408. data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
  409. data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
  410. data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
  411. data/src/core/load_balancing/xds/xds_override_host.h +3 -3
  412. data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
  413. data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
  414. data/src/core/resolver/binder/binder_resolver.cc +3 -2
  415. data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
  416. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
  417. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
  418. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
  419. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  420. data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
  421. data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
  422. data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
  423. data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
  424. data/src/core/resolver/endpoint_addresses.cc +1 -1
  425. data/src/core/resolver/fake/fake_resolver.cc +1 -1
  426. data/src/core/resolver/fake/fake_resolver.h +1 -1
  427. data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
  428. data/src/core/resolver/polling_resolver.cc +30 -35
  429. data/src/core/resolver/resolver.cc +2 -6
  430. data/src/core/resolver/resolver.h +0 -2
  431. data/src/core/resolver/resolver_registry.cc +6 -8
  432. data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
  433. data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
  434. data/src/core/resolver/xds/xds_resolver.cc +13 -15
  435. data/src/core/server/server.cc +269 -389
  436. data/src/core/server/server.h +37 -19
  437. data/src/core/server/server_call_tracer_filter.cc +7 -14
  438. data/src/core/server/server_config_selector.h +1 -1
  439. data/src/core/server/server_config_selector_filter.cc +3 -3
  440. data/src/core/server/server_interface.h +2 -0
  441. data/src/core/server/xds_channel_stack_modifier.cc +1 -1
  442. data/src/core/server/xds_channel_stack_modifier.h +1 -1
  443. data/src/core/server/xds_server_config_fetcher.cc +1 -4
  444. data/src/core/service_config/service_config.h +1 -1
  445. data/src/core/service_config/service_config_call_data.h +13 -11
  446. data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
  447. data/src/core/service_config/service_config_impl.cc +5 -5
  448. data/src/core/service_config/service_config_impl.h +1 -1
  449. data/src/core/service_config/service_config_parser.cc +3 -6
  450. data/src/core/service_config/service_config_parser.h +1 -1
  451. data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
  452. data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
  453. data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
  454. data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
  455. data/src/core/telemetry/metrics.cc +178 -0
  456. data/src/core/telemetry/metrics.h +562 -0
  457. data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
  458. data/src/core/{lib/debug → telemetry}/stats.h +5 -5
  459. data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
  460. data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
  461. data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
  462. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
  463. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
  464. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
  465. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
  466. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
  467. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
  468. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
  469. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
  470. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
  471. data/src/core/tsi/fake_transport_security.cc +14 -17
  472. data/src/core/tsi/local_transport_security.cc +6 -5
  473. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
  474. data/src/core/tsi/ssl_transport_security.cc +76 -81
  475. data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
  476. data/src/core/tsi/ssl_transport_security_utils.h +11 -0
  477. data/src/core/tsi/transport_security.cc +0 -4
  478. data/src/core/tsi/transport_security.h +0 -2
  479. data/src/core/tsi/transport_security_interface.h +0 -4
  480. data/src/core/{lib/gpr → util}/alloc.h +3 -3
  481. data/src/core/{lib/gpr → util}/android/log.cc +0 -19
  482. data/src/core/{lib/gpr → util}/atm.cc +1 -1
  483. data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
  484. data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
  485. data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
  486. data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
  487. data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
  488. data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
  489. data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
  490. data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
  491. data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
  492. data/src/core/{lib/http → util/http_client}/parser.h +5 -6
  493. data/src/core/{lib → util}/json/json.h +5 -4
  494. data/src/core/{lib → util}/json/json_args.h +5 -5
  495. data/src/core/{lib → util}/json/json_channel_args.h +6 -6
  496. data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
  497. data/src/core/{lib → util}/json/json_object_loader.h +7 -7
  498. data/src/core/{lib → util}/json/json_reader.cc +3 -2
  499. data/src/core/{lib → util}/json/json_reader.h +6 -6
  500. data/src/core/{lib → util}/json/json_util.cc +4 -4
  501. data/src/core/{lib → util}/json/json_util.h +6 -6
  502. data/src/core/{lib → util}/json/json_writer.cc +3 -3
  503. data/src/core/{lib → util}/json/json_writer.h +6 -6
  504. data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
  505. data/src/core/util/log.cc +165 -0
  506. data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
  507. data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
  508. data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
  509. data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
  510. data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
  511. data/src/core/{lib/gpr → util}/spinlock.h +3 -3
  512. data/src/core/{lib/gpr → util}/string.cc +2 -2
  513. data/src/core/{lib/gpr → util}/string.h +3 -3
  514. data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
  515. data/src/core/{lib/gpr → util}/time_precise.h +3 -3
  516. data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
  517. data/src/core/{lib/gpr → util}/useful.h +3 -3
  518. data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
  519. data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
  520. data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
  521. data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
  522. data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
  523. data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
  524. data/src/core/xds/grpc/certificate_provider_store.h +4 -4
  525. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
  526. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
  527. data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
  528. data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
  529. data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
  530. data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
  531. data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
  532. data/src/core/xds/grpc/xds_client_grpc.h +2 -2
  533. data/src/core/xds/grpc/xds_cluster.cc +4 -5
  534. data/src/core/xds/grpc/xds_cluster.h +1 -1
  535. data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
  536. data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
  537. data/src/core/xds/grpc/xds_common_types.cc +1 -1
  538. data/src/core/xds/grpc/xds_common_types.h +1 -1
  539. data/src/core/xds/grpc/xds_endpoint.cc +4 -5
  540. data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
  541. data/src/core/xds/grpc/xds_http_filters.h +2 -2
  542. data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
  543. data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
  544. data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
  545. data/src/core/xds/grpc/xds_listener.cc +4 -6
  546. data/src/core/xds/grpc/xds_route_config.cc +7 -8
  547. data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
  548. data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
  549. data/src/core/xds/xds_client/xds_api.cc +5 -9
  550. data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
  551. data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
  552. data/src/core/xds/xds_client/xds_client.cc +39 -45
  553. data/src/core/xds/xds_client/xds_client.h +0 -3
  554. data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
  555. data/src/core/xds/xds_client/xds_client_stats.h +2 -2
  556. data/src/ruby/bin/math_pb.rb +1 -22
  557. data/src/ruby/ext/grpc/rb_call.c +8 -1
  558. data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
  559. data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
  560. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
  561. data/src/ruby/ext/grpc/rb_server.c +39 -22
  562. data/src/ruby/lib/grpc/version.rb +1 -1
  563. data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
  564. data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
  565. data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
  566. data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
  567. data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
  568. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
  569. data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
  570. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
  571. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
  572. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
  573. data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
  574. data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
  575. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
  576. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
  577. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
  578. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
  579. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
  580. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
  581. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
  582. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
  583. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
  584. data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
  585. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
  586. data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
  587. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
  588. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
  589. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
  590. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
  591. data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
  592. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
  593. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
  594. data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
  595. metadata +103 -93
  596. data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
  597. data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
  598. data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
  599. data/src/core/handshaker/security/tsi_error.cc +0 -31
  600. data/src/core/handshaker/security/tsi_error.h +0 -30
  601. data/src/core/lib/channel/channel_stack_trace.cc +0 -19
  602. data/src/core/lib/channel/channel_stack_trace.h +0 -24
  603. data/src/core/lib/channel/context.h +0 -105
  604. data/src/core/lib/channel/metrics.cc +0 -334
  605. data/src/core/lib/channel/metrics.h +0 -365
  606. data/src/core/lib/event_engine/trace.cc +0 -25
  607. data/src/core/lib/gpr/log.cc +0 -166
  608. data/src/core/lib/iomgr/ev_windows.cc +0 -30
  609. data/src/core/lib/promise/trace.cc +0 -20
  610. data/src/core/lib/promise/trace.h +0 -24
  611. data/src/core/lib/resource_quota/trace.cc +0 -19
  612. data/src/core/lib/resource_quota/trace.h +0 -24
  613. data/src/core/lib/slice/slice_refcount.cc +0 -20
  614. data/src/core/lib/surface/api_trace.cc +0 -25
  615. data/src/core/lib/surface/call_trace.h +0 -24
  616. data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
  617. data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
  618. data/src/core/lib/transport/batch_builder.cc +0 -172
  619. data/src/core/lib/transport/batch_builder.h +0 -474
  620. data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
  621. data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
  622. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
  623. /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
  624. /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
  625. /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
  626. /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
  627. /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
  628. /data/src/core/{lib/gpr → util}/sync.cc +0 -0
  629. /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
  630. /data/src/core/{lib/gpr → util}/time.cc +0 -0
  631. /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
  632. /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -16,10 +16,13 @@
16
16
  //
17
17
  //
18
18
 
19
+ #include <grpc/support/port_platform.h>
20
+
19
21
  #include <string.h>
20
22
 
21
23
  #include <string>
22
24
 
25
+ #include "absl/log/log.h"
23
26
  #include "absl/status/status.h"
24
27
  #include "absl/strings/str_cat.h"
25
28
  #include "absl/strings/string_view.h"
@@ -30,8 +33,6 @@
30
33
  #include <grpc/grpc_security.h>
31
34
  #include <grpc/impl/channel_arg_names.h>
32
35
  #include <grpc/support/alloc.h>
33
- #include <grpc/support/log.h>
34
- #include <grpc/support/port_platform.h>
35
36
  #include <grpc/support/string_util.h>
36
37
 
37
38
  #include "src/core/handshaker/handshaker.h"
@@ -94,8 +95,8 @@ class grpc_httpcli_ssl_channel_security_connector final
94
95
  handshaker_factory_, secure_peer_name_, /*network_bio_buf_size=*/0,
95
96
  /*ssl_bio_buf_size=*/0, &handshaker);
96
97
  if (result != TSI_OK) {
97
- gpr_log(GPR_ERROR, "Handshaker creation failed with error %s.",
98
- tsi_result_to_string(result));
98
+ LOG(ERROR) << "Handshaker creation failed with error "
99
+ << tsi_result_to_string(result);
99
100
  }
100
101
  }
101
102
  handshake_mgr->Add(SecurityHandshakerCreate(handshaker, this, args));
@@ -148,8 +149,7 @@ httpcli_ssl_channel_security_connector_create(
148
149
  const char* pem_root_certs, const tsi_ssl_root_certs_store* root_store,
149
150
  const char* secure_peer_name) {
150
151
  if (secure_peer_name != nullptr && pem_root_certs == nullptr) {
151
- gpr_log(GPR_ERROR,
152
- "Cannot assert a secure peer name without a trust root.");
152
+ LOG(ERROR) << "Cannot assert a secure peer name without a trust root.";
153
153
  return nullptr;
154
154
  }
155
155
  RefCountedPtr<grpc_httpcli_ssl_channel_security_connector> c =
@@ -157,8 +157,8 @@ httpcli_ssl_channel_security_connector_create(
157
157
  secure_peer_name == nullptr ? nullptr : gpr_strdup(secure_peer_name));
158
158
  tsi_result result = c->InitHandshakerFactory(pem_root_certs, root_store);
159
159
  if (result != TSI_OK) {
160
- gpr_log(GPR_ERROR, "Handshaker factory creation failed with %s.",
161
- tsi_result_to_string(result));
160
+ LOG(ERROR) << "Handshaker factory creation failed with "
161
+ << tsi_result_to_string(result);
162
162
  return nullptr;
163
163
  }
164
164
  return c;
@@ -173,7 +173,7 @@ class HttpRequestSSLCredentials : public grpc_channel_credentials {
173
173
  const tsi_ssl_root_certs_store* root_store =
174
174
  DefaultSslRootStore::GetRootStore();
175
175
  if (root_store == nullptr) {
176
- gpr_log(GPR_ERROR, "Could not get default pem root certs.");
176
+ LOG(ERROR) << "Could not get default pem root certs.";
177
177
  return nullptr;
178
178
  }
179
179
  absl::optional<std::string> target_string =
@@ -14,12 +14,13 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- #ifndef GRPC_SRC_CORE_LIB_HTTP_HTTPCLI_SSL_CREDENTIALS_H
18
- #define GRPC_SRC_CORE_LIB_HTTP_HTTPCLI_SSL_CREDENTIALS_H
17
+ #ifndef GRPC_SRC_CORE_UTIL_HTTP_CLIENT_HTTPCLI_SSL_CREDENTIALS_H
18
+ #define GRPC_SRC_CORE_UTIL_HTTP_CLIENT_HTTPCLI_SSL_CREDENTIALS_H
19
19
 
20
- #include <grpc/grpc.h>
21
20
  #include <grpc/support/port_platform.h>
22
21
 
22
+ #include <grpc/grpc.h>
23
+
23
24
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
24
25
 
25
26
  namespace grpc_core {
@@ -35,4 +36,4 @@ RefCountedPtr<grpc_channel_credentials> CreateHttpRequestSSLCredentials();
35
36
 
36
37
  } // namespace grpc_core
37
38
 
38
- #endif // GRPC_SRC_CORE_LIB_HTTP_HTTPCLI_SSL_CREDENTIALS_H
39
+ #endif // GRPC_SRC_CORE_UTIL_HTTP_CLIENT_HTTPCLI_SSL_CREDENTIALS_H
@@ -16,7 +16,9 @@
16
16
  //
17
17
  //
18
18
 
19
- #include "src/core/lib/http/parser.h"
19
+ #include <grpc/support/port_platform.h>
20
+
21
+ #include "src/core/util/http_client/parser.h"
20
22
 
21
23
  #include <string.h>
22
24
 
@@ -27,9 +29,6 @@
27
29
 
28
30
  #include <grpc/support/alloc.h>
29
31
  #include <grpc/support/log.h>
30
- #include <grpc/support/port_platform.h>
31
-
32
- grpc_core::TraceFlag grpc_http1_trace(false, "http1");
33
32
 
34
33
  static char* buf2str(void* buffer, size_t length) {
35
34
  char* out = static_cast<char*>(gpr_malloc(length + 1));
@@ -377,7 +376,7 @@ static grpc_error_handle addbyte(grpc_http_parser* parser, uint8_t byte,
377
376
  case GRPC_HTTP_HEADERS:
378
377
  case GRPC_HTTP_TRAILERS:
379
378
  if (parser->cur_line_length >= GRPC_HTTP_PARSER_MAX_HEADER_LENGTH) {
380
- if (GRPC_TRACE_FLAG_ENABLED(grpc_http1_trace)) {
379
+ if (GRPC_TRACE_FLAG_ENABLED(http1)) {
381
380
  gpr_log(GPR_ERROR, "HTTP header max line length (%d) exceeded",
382
381
  GRPC_HTTP_PARSER_MAX_HEADER_LENGTH);
383
382
  }
@@ -16,14 +16,15 @@
16
16
  //
17
17
  //
18
18
 
19
- #ifndef GRPC_SRC_CORE_LIB_HTTP_PARSER_H
20
- #define GRPC_SRC_CORE_LIB_HTTP_PARSER_H
19
+ #ifndef GRPC_SRC_CORE_UTIL_HTTP_CLIENT_PARSER_H
20
+ #define GRPC_SRC_CORE_UTIL_HTTP_CLIENT_PARSER_H
21
+
22
+ #include <grpc/support/port_platform.h>
21
23
 
22
24
  #include <stddef.h>
23
25
  #include <stdint.h>
24
26
 
25
27
  #include <grpc/slice.h>
26
- #include <grpc/support/port_platform.h>
27
28
 
28
29
  #include "src/core/lib/debug/trace.h"
29
30
  #include "src/core/lib/iomgr/error.h"
@@ -124,6 +125,4 @@ grpc_error_handle grpc_http_parser_eof(grpc_http_parser* parser);
124
125
  void grpc_http_request_destroy(grpc_http_request* request);
125
126
  void grpc_http_response_destroy(grpc_http_response* response);
126
127
 
127
- extern grpc_core::TraceFlag grpc_http1_trace;
128
-
129
- #endif // GRPC_SRC_CORE_LIB_HTTP_PARSER_H
128
+ #endif // GRPC_SRC_CORE_UTIL_HTTP_CLIENT_PARSER_H
@@ -14,16 +14,17 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- #ifndef GRPC_SRC_CORE_LIB_JSON_JSON_H
18
- #define GRPC_SRC_CORE_LIB_JSON_JSON_H
17
+ #ifndef GRPC_SRC_CORE_UTIL_JSON_JSON_H
18
+ #define GRPC_SRC_CORE_UTIL_JSON_JSON_H
19
19
 
20
- #include <grpc/support/json.h>
21
20
  #include <grpc/support/port_platform.h>
22
21
 
22
+ #include <grpc/support/json.h>
23
+
23
24
  namespace grpc_core {
24
25
 
25
26
  using Json = experimental::Json;
26
27
 
27
28
  } // namespace grpc_core
28
29
 
29
- #endif // GRPC_SRC_CORE_LIB_JSON_JSON_H
30
+ #endif // GRPC_SRC_CORE_UTIL_JSON_JSON_H
@@ -12,13 +12,13 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #ifndef GRPC_SRC_CORE_LIB_JSON_JSON_ARGS_H
16
- #define GRPC_SRC_CORE_LIB_JSON_JSON_ARGS_H
17
-
18
- #include "absl/strings/string_view.h"
15
+ #ifndef GRPC_SRC_CORE_UTIL_JSON_JSON_ARGS_H
16
+ #define GRPC_SRC_CORE_UTIL_JSON_JSON_ARGS_H
19
17
 
20
18
  #include <grpc/support/port_platform.h>
21
19
 
20
+ #include "absl/strings/string_view.h"
21
+
22
22
  namespace grpc_core {
23
23
 
24
24
  class JsonArgs {
@@ -31,4 +31,4 @@ class JsonArgs {
31
31
 
32
32
  } // namespace grpc_core
33
33
 
34
- #endif // GRPC_SRC_CORE_LIB_JSON_JSON_ARGS_H
34
+ #endif // GRPC_SRC_CORE_UTIL_JSON_JSON_ARGS_H
@@ -12,16 +12,16 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #ifndef GRPC_SRC_CORE_LIB_JSON_JSON_CHANNEL_ARGS_H
16
- #define GRPC_SRC_CORE_LIB_JSON_JSON_CHANNEL_ARGS_H
15
+ #ifndef GRPC_SRC_CORE_UTIL_JSON_JSON_CHANNEL_ARGS_H
16
+ #define GRPC_SRC_CORE_UTIL_JSON_JSON_CHANNEL_ARGS_H
17
+
18
+ #include <grpc/support/port_platform.h>
17
19
 
18
20
  #include "absl/strings/string_view.h"
19
21
  #include "absl/types/optional.h"
20
22
 
21
- #include <grpc/support/port_platform.h>
22
-
23
23
  #include "src/core/lib/channel/channel_args.h"
24
- #include "src/core/lib/json/json_args.h"
24
+ #include "src/core/util/json/json_args.h"
25
25
 
26
26
  namespace grpc_core {
27
27
 
@@ -39,4 +39,4 @@ class JsonChannelArgs : public JsonArgs {
39
39
 
40
40
  } // namespace grpc_core
41
41
 
42
- #endif // GRPC_SRC_CORE_LIB_JSON_JSON_CHANNEL_ARGS_H
42
+ #endif // GRPC_SRC_CORE_UTIL_JSON_JSON_CHANNEL_ARGS_H
@@ -12,7 +12,9 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #include "src/core/lib/json/json_object_loader.h"
15
+ #include <grpc/support/port_platform.h>
16
+
17
+ #include "src/core/util/json/json_object_loader.h"
16
18
 
17
19
  #include <utility>
18
20
 
@@ -21,7 +23,6 @@
21
23
  #include "absl/strings/strip.h"
22
24
 
23
25
  #include <grpc/support/json.h>
24
- #include <grpc/support/port_platform.h>
25
26
 
26
27
  namespace grpc_core {
27
28
  namespace json_detail {
@@ -12,8 +12,10 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- #ifndef GRPC_SRC_CORE_LIB_JSON_JSON_OBJECT_LOADER_H
16
- #define GRPC_SRC_CORE_LIB_JSON_JSON_OBJECT_LOADER_H
15
+ #ifndef GRPC_SRC_CORE_UTIL_JSON_JSON_OBJECT_LOADER_H
16
+ #define GRPC_SRC_CORE_UTIL_JSON_JSON_OBJECT_LOADER_H
17
+
18
+ #include <grpc/support/port_platform.h>
17
19
 
18
20
  #include <cstdint>
19
21
  #include <cstring>
@@ -30,14 +32,12 @@
30
32
  #include "absl/strings/string_view.h"
31
33
  #include "absl/types/optional.h"
32
34
 
33
- #include <grpc/support/port_platform.h>
34
-
35
35
  #include "src/core/lib/gprpp/no_destruct.h"
36
36
  #include "src/core/lib/gprpp/ref_counted_ptr.h"
37
37
  #include "src/core/lib/gprpp/time.h"
38
38
  #include "src/core/lib/gprpp/validation_errors.h"
39
- #include "src/core/lib/json/json.h"
40
- #include "src/core/lib/json/json_args.h"
39
+ #include "src/core/util/json/json.h"
40
+ #include "src/core/util/json/json_args.h"
41
41
 
42
42
  // Provides a means to load JSON objects into C++ objects, with the aim of
43
43
  // minimizing object code size.
@@ -642,4 +642,4 @@ absl::optional<T> LoadJsonObjectField(const Json::Object& json,
642
642
 
643
643
  } // namespace grpc_core
644
644
 
645
- #endif // GRPC_SRC_CORE_LIB_JSON_JSON_OBJECT_LOADER_H
645
+ #endif // GRPC_SRC_CORE_UTIL_JSON_JSON_OBJECT_LOADER_H
@@ -14,6 +14,8 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
+ #include <grpc/support/port_platform.h>
18
+
17
19
  #include <inttypes.h>
18
20
  #include <stdlib.h>
19
21
 
@@ -35,10 +37,9 @@
35
37
 
36
38
  #include <grpc/support/json.h>
37
39
  #include <grpc/support/log.h>
38
- #include <grpc/support/port_platform.h>
39
40
 
40
41
  #include "src/core/lib/gprpp/match.h"
41
- #include "src/core/lib/json/json.h"
42
+ #include "src/core/util/json/json.h"
42
43
 
43
44
  #define GRPC_JSON_MAX_DEPTH 255
44
45
  #define GRPC_JSON_MAX_ERRORS 16
@@ -14,15 +14,15 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- #ifndef GRPC_SRC_CORE_LIB_JSON_JSON_READER_H
18
- #define GRPC_SRC_CORE_LIB_JSON_JSON_READER_H
17
+ #ifndef GRPC_SRC_CORE_UTIL_JSON_JSON_READER_H
18
+ #define GRPC_SRC_CORE_UTIL_JSON_JSON_READER_H
19
+
20
+ #include <grpc/support/port_platform.h>
19
21
 
20
22
  #include "absl/status/statusor.h"
21
23
  #include "absl/strings/string_view.h"
22
24
 
23
- #include <grpc/support/port_platform.h>
24
-
25
- #include "src/core/lib/json/json.h"
25
+ #include "src/core/util/json/json.h"
26
26
 
27
27
  namespace grpc_core {
28
28
 
@@ -31,4 +31,4 @@ absl::StatusOr<Json> JsonParse(absl::string_view json_str);
31
31
 
32
32
  } // namespace grpc_core
33
33
 
34
- #endif // GRPC_SRC_CORE_LIB_JSON_JSON_READER_H
34
+ #endif // GRPC_SRC_CORE_UTIL_JSON_JSON_READER_H
@@ -16,14 +16,14 @@
16
16
  //
17
17
  //
18
18
 
19
- #include "src/core/lib/json/json_util.h"
20
-
21
19
  #include <grpc/support/port_platform.h>
22
20
 
21
+ #include "src/core/util/json/json_util.h"
22
+
23
23
  #include "src/core/lib/gprpp/no_destruct.h"
24
24
  #include "src/core/lib/gprpp/validation_errors.h"
25
- #include "src/core/lib/json/json_args.h"
26
- #include "src/core/lib/json/json_object_loader.h"
25
+ #include "src/core/util/json/json_args.h"
26
+ #include "src/core/util/json/json_object_loader.h"
27
27
 
28
28
  namespace grpc_core {
29
29
 
@@ -16,8 +16,10 @@
16
16
  //
17
17
  //
18
18
 
19
- #ifndef GRPC_SRC_CORE_LIB_JSON_JSON_UTIL_H
20
- #define GRPC_SRC_CORE_LIB_JSON_JSON_UTIL_H
19
+ #ifndef GRPC_SRC_CORE_UTIL_JSON_JSON_UTIL_H
20
+ #define GRPC_SRC_CORE_UTIL_JSON_JSON_UTIL_H
21
+
22
+ #include <grpc/support/port_platform.h>
21
23
 
22
24
  #include <algorithm>
23
25
  #include <map>
@@ -30,11 +32,9 @@
30
32
  #include "absl/strings/str_cat.h"
31
33
  #include "absl/strings/string_view.h"
32
34
 
33
- #include <grpc/support/port_platform.h>
34
-
35
35
  #include "src/core/lib/gprpp/time.h"
36
36
  #include "src/core/lib/iomgr/error.h"
37
- #include "src/core/lib/json/json.h"
37
+ #include "src/core/util/json/json.h"
38
38
 
39
39
  namespace grpc_core {
40
40
 
@@ -161,4 +161,4 @@ bool ParseJsonObjectFieldAsDuration(const Json::Object& object,
161
161
 
162
162
  } // namespace grpc_core
163
163
 
164
- #endif // GRPC_SRC_CORE_LIB_JSON_JSON_UTIL_H
164
+ #endif // GRPC_SRC_CORE_UTIL_JSON_JSON_UTIL_H
@@ -16,6 +16,8 @@
16
16
  //
17
17
  //
18
18
 
19
+ #include <grpc/support/port_platform.h>
20
+
19
21
  #include <stdint.h>
20
22
  #include <stdlib.h>
21
23
 
@@ -26,9 +28,7 @@
26
28
 
27
29
  #include "absl/strings/string_view.h"
28
30
 
29
- #include <grpc/support/port_platform.h>
30
-
31
- #include "src/core/lib/json/json.h"
31
+ #include "src/core/util/json/json.h"
32
32
 
33
33
  namespace grpc_core {
34
34
 
@@ -14,14 +14,14 @@
14
14
  // limitations under the License.
15
15
  //
16
16
 
17
- #ifndef GRPC_SRC_CORE_LIB_JSON_JSON_WRITER_H
18
- #define GRPC_SRC_CORE_LIB_JSON_JSON_WRITER_H
19
-
20
- #include <string>
17
+ #ifndef GRPC_SRC_CORE_UTIL_JSON_JSON_WRITER_H
18
+ #define GRPC_SRC_CORE_UTIL_JSON_JSON_WRITER_H
21
19
 
22
20
  #include <grpc/support/port_platform.h>
23
21
 
24
- #include "src/core/lib/json/json.h"
22
+ #include <string>
23
+
24
+ #include "src/core/util/json/json.h"
25
25
 
26
26
  namespace grpc_core {
27
27
 
@@ -30,4 +30,4 @@ std::string JsonDump(const Json& json, int indent = 0);
30
30
 
31
31
  } // namespace grpc_core
32
32
 
33
- #endif // GRPC_SRC_CORE_LIB_JSON_JSON_WRITER_H
33
+ #endif // GRPC_SRC_CORE_UTIL_JSON_JSON_WRITER_H
@@ -47,10 +47,6 @@
47
47
  #include "src/core/lib/gprpp/crash.h"
48
48
  #include "src/core/lib/gprpp/examine_stack.h"
49
49
 
50
- int gpr_should_log_stacktrace(gpr_log_severity severity);
51
-
52
- static long sys_gettid(void) { return syscall(__NR_gettid); }
53
-
54
50
  void gpr_log(const char* file, int line, gpr_log_severity severity,
55
51
  const char* format, ...) {
56
52
  // Avoid message construction if gpr_log_message won't log
@@ -70,45 +66,4 @@ void gpr_log(const char* file, int line, gpr_log_severity severity,
70
66
  free(message);
71
67
  }
72
68
 
73
- void gpr_platform_log(gpr_log_func_args* args) {
74
- const char* final_slash;
75
- const char* display_file;
76
- char time_buffer[64];
77
- time_t timer;
78
- gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
79
- struct tm tm;
80
- static thread_local long tid(0);
81
- if (tid == 0) tid = sys_gettid();
82
-
83
- timer = static_cast<time_t>(now.tv_sec);
84
- final_slash = strrchr(args->file, '/');
85
- if (final_slash == nullptr) {
86
- display_file = args->file;
87
- } else {
88
- display_file = final_slash + 1;
89
- }
90
-
91
- if (!localtime_r(&timer, &tm)) {
92
- strcpy(time_buffer, "error:localtime");
93
- } else if (0 ==
94
- strftime(time_buffer, sizeof(time_buffer), "%m%d %H:%M:%S", &tm)) {
95
- strcpy(time_buffer, "error:strftime");
96
- }
97
-
98
- std::string prefix = absl::StrFormat(
99
- "%s%s.%09" PRId32 " %7ld %s:%d]", gpr_log_severity_string(args->severity),
100
- time_buffer, now.tv_nsec, tid, display_file, args->line);
101
-
102
- absl::optional<std::string> stack_trace =
103
- gpr_should_log_stacktrace(args->severity)
104
- ? grpc_core::GetCurrentStackTrace()
105
- : absl::nullopt;
106
- if (stack_trace) {
107
- fprintf(stderr, "%-70s %s\n%s\n", prefix.c_str(), args->message,
108
- stack_trace->c_str());
109
- } else {
110
- fprintf(stderr, "%-70s %s\n", prefix.c_str(), args->message);
111
- }
112
- }
113
-
114
69
  #endif // GPR_LINUX_LOG
@@ -0,0 +1,165 @@
1
+ //
2
+ //
3
+ // Copyright 2015 gRPC authors.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 (the "License");
6
+ // you may not use this file except in compliance with the License.
7
+ // You may obtain a copy of the License at
8
+ //
9
+ // http://www.apache.org/licenses/LICENSE-2.0
10
+ //
11
+ // Unless required by applicable law or agreed to in writing, software
12
+ // distributed under the License is distributed on an "AS IS" BASIS,
13
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ // See the License for the specific language governing permissions and
15
+ // limitations under the License.
16
+ //
17
+ //
18
+
19
+ #include <grpc/support/port_platform.h>
20
+
21
+ #include "absl/log/log.h"
22
+
23
+ #include <stdio.h>
24
+ #include <string.h>
25
+
26
+ #include "absl/log/globals.h"
27
+ #include "absl/strings/match.h"
28
+ #include "absl/strings/str_cat.h"
29
+
30
+ #include <grpc/support/alloc.h>
31
+ #include <grpc/support/atm.h>
32
+ #include <grpc/support/log.h>
33
+
34
+ #include "src/core/lib/config/config_vars.h"
35
+ #include "src/core/lib/gprpp/crash.h"
36
+ #include "src/core/util/string.h"
37
+
38
+ void gpr_default_log(gpr_log_func_args* args);
39
+ void gpr_platform_log(gpr_log_func_args* args);
40
+ static gpr_atm g_log_func = reinterpret_cast<gpr_atm>(gpr_default_log);
41
+
42
+ void gpr_unreachable_code(const char* reason, const char* file, int line) {
43
+ grpc_core::Crash(absl::StrCat("UNREACHABLE CODE: ", reason),
44
+ grpc_core::SourceLocation(file, line));
45
+ }
46
+
47
+ void gpr_assertion_failed(const char* filename, int line, const char* message) {
48
+ grpc_core::Crash(absl::StrCat("ASSERTION FAILED: ", message),
49
+ grpc_core::SourceLocation(filename, line));
50
+ }
51
+
52
+ const char* gpr_log_severity_string(gpr_log_severity severity) {
53
+ switch (severity) {
54
+ case GPR_LOG_SEVERITY_DEBUG:
55
+ return "D";
56
+ case GPR_LOG_SEVERITY_INFO:
57
+ return "I";
58
+ case GPR_LOG_SEVERITY_ERROR:
59
+ return "E";
60
+ }
61
+ GPR_UNREACHABLE_CODE(return "UNKNOWN");
62
+ }
63
+
64
+ int gpr_should_log(gpr_log_severity severity) {
65
+ switch (severity) {
66
+ case GPR_LOG_SEVERITY_ERROR:
67
+ return absl::MinLogLevel() <= absl::LogSeverityAtLeast::kError;
68
+ case GPR_LOG_SEVERITY_INFO:
69
+ // There is no documentation about how expensive or inexpensive
70
+ // MinLogLevel is. We could have saved this in a static const variable.
71
+ // But decided against it just in case anyone programatically sets absl
72
+ // min log level settings after this has been initialized.
73
+ // Same holds for VLOG_IS_ON(2).
74
+ return absl::MinLogLevel() <= absl::LogSeverityAtLeast::kInfo;
75
+ case GPR_LOG_SEVERITY_DEBUG:
76
+ return VLOG_IS_ON(2);
77
+ default:
78
+ DLOG(ERROR) << "Invalid gpr_log_severity.";
79
+ return true;
80
+ }
81
+ }
82
+
83
+ void gpr_default_log(gpr_log_func_args* args) {
84
+ switch (args->severity) {
85
+ case GPR_LOG_SEVERITY_DEBUG:
86
+ // Log DEBUG messages as VLOG(2).
87
+ VLOG(2).AtLocation(args->file, args->line) << args->message;
88
+ return;
89
+ case GPR_LOG_SEVERITY_INFO:
90
+ LOG(INFO).AtLocation(args->file, args->line) << args->message;
91
+ return;
92
+ case GPR_LOG_SEVERITY_ERROR:
93
+ LOG(ERROR).AtLocation(args->file, args->line) << args->message;
94
+ return;
95
+ default:
96
+ LOG(ERROR) << __func__ << ": unknown gpr log severity(" << args->severity
97
+ << "), using ERROR";
98
+ LOG(ERROR).AtLocation(args->file, args->line) << args->message;
99
+ }
100
+ }
101
+
102
+ void gpr_log_message(const char* file, int line, gpr_log_severity severity,
103
+ const char* message) {
104
+ if (gpr_should_log(severity) == 0) {
105
+ return;
106
+ }
107
+
108
+ gpr_log_func_args lfargs;
109
+ memset(&lfargs, 0, sizeof(lfargs));
110
+ lfargs.file = file;
111
+ lfargs.line = line;
112
+ lfargs.severity = severity;
113
+ lfargs.message = message;
114
+ reinterpret_cast<gpr_log_func>(gpr_atm_no_barrier_load(&g_log_func))(&lfargs);
115
+ }
116
+
117
+ void gpr_set_log_verbosity(
118
+ [[maybe_unused]] gpr_log_severity deprecated_setting) {
119
+ LOG(ERROR)
120
+ << "This will not be set. Please set this via absl log level settings.";
121
+ }
122
+
123
+ void gpr_log_verbosity_init(void) {
124
+ // This is enabled in Github only.
125
+ // This ifndef is converted to ifdef internally by copybara.
126
+ // Internally grpc verbosity is managed using absl settings.
127
+ // So internally we avoid setting it like this.
128
+ #ifndef GRPC_VERBOSITY_MACRO
129
+ // SetMinLogLevel sets the value for the entire binary, not just gRPC.
130
+ // This setting will change things for other libraries/code that is unrelated
131
+ // to grpc.
132
+ absl::string_view verbosity = grpc_core::ConfigVars::Get().Verbosity();
133
+ DVLOG(2) << "Log verbosity: " << verbosity;
134
+ if (absl::EqualsIgnoreCase(verbosity, "INFO")) {
135
+ LOG(WARNING) << "Not suitable for production. Prefer WARNING or ERROR. "
136
+ "However if you see this message in a debug environmenmt "
137
+ "or test environmenmt it is safe to ignore this message.";
138
+ absl::SetVLogLevel("*grpc*/*", -1);
139
+ absl::SetMinLogLevel(absl::LogSeverityAtLeast::kInfo);
140
+ } else if (absl::EqualsIgnoreCase(verbosity, "DEBUG")) {
141
+ LOG(WARNING) << "Not suitable for production. Prefer WARNING or ERROR. "
142
+ "However if you see this message in a debug environmenmt "
143
+ "or test environmenmt it is safe to ignore this message.";
144
+ absl::SetVLogLevel("*grpc*/*", 2);
145
+ absl::SetMinLogLevel(absl::LogSeverityAtLeast::kInfo);
146
+ } else if (absl::EqualsIgnoreCase(verbosity, "ERROR")) {
147
+ absl::SetVLogLevel("*grpc*/*", -1);
148
+ absl::SetMinLogLevel(absl::LogSeverityAtLeast::kError);
149
+ } else if (absl::EqualsIgnoreCase(verbosity, "NONE")) {
150
+ absl::SetVLogLevel("*grpc*/*", -1);
151
+ absl::SetMinLogLevel(absl::LogSeverityAtLeast::kInfinity);
152
+ } else if (verbosity.empty()) {
153
+ // Do not alter absl settings if GRPC_VERBOSITY flag is not set.
154
+ } else {
155
+ LOG(ERROR) << "Unknown log verbosity: " << verbosity;
156
+ }
157
+ #endif // GRPC_VERBOSITY_MACRO
158
+ }
159
+
160
+ void gpr_set_log_function([[maybe_unused]] gpr_log_func deprecated_setting) {
161
+ LOG(ERROR)
162
+ << "This function is deprecated. This function will be deleted in the "
163
+ "next gRPC release. You may create a new absl LogSink with similar "
164
+ "functionality. gRFC: https://github.com/grpc/proposal/pull/425 ";
165
+ }
@@ -29,9 +29,9 @@
29
29
  #include <grpc/support/log.h>
30
30
  #include <grpc/support/string_util.h>
31
31
 
32
- #include "src/core/lib/gpr/string_windows.h"
33
- #include "src/core/lib/gpr/tmpfile.h"
34
32
  #include "src/core/lib/gprpp/crash.h"
33
+ #include "src/core/util/string_windows.h"
34
+ #include "src/core/util/tmpfile.h"
35
35
 
36
36
  FILE* gpr_tmpfile(const char* prefix, char** tmp_filename_out) {
37
37
  FILE* result = NULL;
@@ -29,8 +29,8 @@
29
29
  #include <grpc/support/log.h>
30
30
  #include <grpc/support/sync.h>
31
31
 
32
- #include "src/core/lib/gpr/useful.h"
33
32
  #include "src/core/lib/gprpp/crash.h"
33
+ #include "src/core/util/useful.h"
34
34
 
35
35
  static long ncpus = 0;
36
36