grpc 1.74.1 → 1.75.0.pre1

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 (368) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +83 -41
  3. data/include/grpc/credentials.h +7 -1
  4. data/src/core/call/client_call.cc +4 -4
  5. data/src/core/call/filter_fusion.h +1230 -0
  6. data/src/core/call/metadata.cc +22 -0
  7. data/src/core/call/metadata.h +24 -2
  8. data/src/core/channelz/channelz.cc +10 -17
  9. data/src/core/channelz/channelz.h +58 -19
  10. data/src/core/channelz/channelz_registry.cc +0 -162
  11. data/src/core/channelz/channelz_registry.h +14 -7
  12. data/src/core/channelz/property_list.cc +19 -23
  13. data/src/core/channelz/property_list.h +3 -1
  14. data/src/core/channelz/v2tov1/convert.cc +683 -0
  15. data/src/core/channelz/v2tov1/convert.h +58 -0
  16. data/src/core/channelz/v2tov1/legacy_api.cc +425 -0
  17. data/src/core/channelz/v2tov1/legacy_api.h +32 -0
  18. data/src/core/channelz/v2tov1/property_list.cc +118 -0
  19. data/src/core/channelz/v2tov1/property_list.h +52 -0
  20. data/src/core/client_channel/client_channel_filter.cc +5 -4
  21. data/src/core/client_channel/client_channel_filter.h +2 -2
  22. data/src/core/client_channel/client_channel_internal.h +2 -1
  23. data/src/core/client_channel/load_balanced_call_destination.cc +6 -5
  24. data/src/core/client_channel/subchannel.cc +14 -6
  25. data/src/core/client_channel/subchannel.h +2 -0
  26. data/src/core/config/core_configuration.cc +3 -1
  27. data/src/core/config/core_configuration.h +12 -0
  28. data/src/core/credentials/transport/alts/alts_credentials.cc +5 -0
  29. data/src/core/credentials/transport/alts/check_gcp_environment_windows.cc +2 -0
  30. data/src/core/credentials/transport/channel_creds_registry_init.cc +3 -1
  31. data/src/core/credentials/transport/ssl/ssl_credentials.cc +1 -1
  32. data/src/core/credentials/transport/ssl/ssl_security_connector.cc +8 -3
  33. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +29 -24
  34. data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +19 -8
  35. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +96 -54
  36. data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +15 -2
  37. data/src/core/credentials/transport/tls/spiffe_utils.cc +371 -0
  38. data/src/core/credentials/transport/tls/spiffe_utils.h +171 -0
  39. data/src/core/credentials/transport/tls/ssl_utils.cc +11 -10
  40. data/src/core/credentials/transport/tls/ssl_utils.h +4 -2
  41. data/src/core/credentials/transport/tls/tls_credentials.cc +2 -0
  42. data/src/core/credentials/transport/tls/tls_security_connector.cc +11 -26
  43. data/src/core/credentials/transport/tls/tls_security_connector.h +12 -12
  44. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -2
  45. data/src/core/ext/filters/http/client/http_client_filter.cc +3 -6
  46. data/src/core/ext/filters/http/client_authority_filter.cc +1 -2
  47. data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -8
  48. data/src/core/ext/filters/http/server/http_server_filter.cc +3 -6
  49. data/src/core/ext/filters/message_size/message_size_filter.cc +4 -4
  50. data/src/core/ext/filters/rbac/rbac_filter.cc +1 -1
  51. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +3 -5
  52. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +3 -2
  53. data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -0
  54. data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -0
  55. data/src/core/ext/transport/chttp2/transport/frame.cc +89 -6
  56. data/src/core/ext/transport/chttp2/transport/frame.h +38 -0
  57. data/src/core/ext/transport/chttp2/transport/header_assembler.h +5 -14
  58. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
  59. data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +294 -78
  60. data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +128 -9
  61. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +11 -38
  62. data/src/core/ext/transport/chttp2/transport/http2_settings.h +52 -35
  63. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +61 -0
  64. data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +142 -0
  65. data/src/core/ext/transport/chttp2/transport/http2_transport.cc +81 -3
  66. data/src/core/ext/transport/chttp2/transport/http2_transport.h +12 -1
  67. data/src/core/ext/transport/chttp2/transport/message_assembler.h +2 -2
  68. data/src/core/ext/transport/chttp2/transport/parsing.cc +2 -1
  69. data/src/core/ext/transport/chttp2/transport/ping_promise.cc +2 -1
  70. data/src/core/ext/transport/chttp2/transport/ping_promise.h +22 -5
  71. data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +607 -0
  72. data/src/core/ext/transport/chttp2/transport/writable_streams.h +254 -0
  73. data/src/core/ext/transport/chttp2/transport/writing.cc +6 -4
  74. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +4959 -0
  75. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +1111 -0
  76. data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +108 -0
  77. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +142 -54
  78. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +18 -14
  79. data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +2 -2
  80. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.c +716 -0
  81. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.h +227 -0
  82. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +86 -88
  83. data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +2 -2
  84. data/src/core/filter/auth/auth_filters.h +2 -2
  85. data/src/core/filter/fused_filters.cc +154 -0
  86. data/src/core/handshaker/security/legacy_secure_endpoint.cc +1 -1
  87. data/src/core/handshaker/security/pipelined_secure_endpoint.cc +965 -0
  88. data/src/core/handshaker/security/secure_endpoint.cc +28 -13
  89. data/src/core/handshaker/security/secure_endpoint.h +8 -0
  90. data/src/core/lib/channel/promise_based_filter.cc +15 -25
  91. data/src/core/lib/channel/promise_based_filter.h +6 -5
  92. data/src/core/lib/event_engine/ares_resolver.h +3 -1
  93. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +9 -5
  94. data/src/core/lib/event_engine/cf_engine/cf_engine.h +2 -1
  95. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +263 -0
  96. data/src/core/lib/event_engine/cf_engine/cfsocket_listener.h +107 -0
  97. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +31 -3
  98. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +12 -0
  99. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +12 -10
  100. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +6 -4
  101. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +15 -14
  102. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +7 -5
  103. data/src/core/lib/event_engine/posix_engine/event_poller.h +0 -8
  104. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +11 -5
  105. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +3 -2
  106. data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +1 -0
  107. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +4 -4
  108. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +3 -4
  109. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +2 -2
  110. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +188 -199
  111. data/src/core/lib/event_engine/posix_engine/posix_engine.h +30 -45
  112. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
  113. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +1 -1
  114. data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +2 -1
  115. data/src/core/lib/experiments/experiments.cc +120 -6
  116. data/src/core/lib/experiments/experiments.h +46 -3
  117. data/src/core/lib/iomgr/combiner.cc +1 -1
  118. data/src/core/lib/iomgr/exec_ctx.h +3 -9
  119. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  120. data/src/core/lib/iomgr/socket_utils_posix.cc +1 -1
  121. data/src/core/lib/iomgr/socket_utils_posix.h +1 -1
  122. data/src/core/lib/iomgr/tcp_client_posix.cc +1 -1
  123. data/src/core/lib/iomgr/tcp_posix.cc +3 -3
  124. data/src/core/lib/promise/activity.h +2 -2
  125. data/src/core/lib/promise/mpsc.cc +8 -8
  126. data/src/core/lib/promise/party.cc +7 -7
  127. data/src/core/lib/promise/party.h +4 -4
  128. data/src/core/lib/promise/poll.h +10 -0
  129. data/src/core/lib/resource_quota/memory_quota.cc +90 -3
  130. data/src/core/lib/resource_quota/memory_quota.h +20 -9
  131. data/src/core/lib/resource_quota/periodic_update.cc +14 -0
  132. data/src/core/lib/resource_quota/periodic_update.h +8 -0
  133. data/src/core/lib/resource_quota/resource_quota.cc +15 -4
  134. data/src/core/lib/resource_quota/resource_quota.h +3 -0
  135. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
  136. data/src/core/lib/surface/call.cc +5 -5
  137. data/src/core/lib/surface/call.h +6 -5
  138. data/src/core/lib/surface/completion_queue.cc +2 -4
  139. data/src/core/lib/surface/filter_stack_call.cc +1 -1
  140. data/src/core/lib/surface/version.cc +2 -2
  141. data/src/core/lib/transport/promise_endpoint.cc +2 -2
  142. data/src/core/lib/transport/promise_endpoint.h +3 -3
  143. data/src/core/load_balancing/endpoint_list.cc +29 -2
  144. data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +3 -3
  145. data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -1
  146. data/src/core/load_balancing/pick_first/pick_first.cc +12 -5
  147. data/src/core/load_balancing/xds/xds_cluster_impl.cc +5 -3
  148. data/src/core/net/socket_mutator.cc +19 -0
  149. data/src/core/net/socket_mutator.h +25 -0
  150. data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -0
  151. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +6 -1
  152. data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +2 -1
  153. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +8 -5
  154. data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -1
  155. data/src/core/resolver/xds/xds_dependency_manager.cc +1 -1
  156. data/src/core/server/server.cc +1 -1
  157. data/src/core/server/server_call_tracer_filter.cc +0 -66
  158. data/src/core/server/server_call_tracer_filter.h +64 -0
  159. data/src/core/server/server_config_selector_filter.cc +1 -1
  160. data/src/core/service_config/service_config_channel_arg_filter.cc +3 -60
  161. data/src/core/service_config/service_config_channel_arg_filter.h +82 -0
  162. data/src/core/telemetry/call_tracer.cc +20 -14
  163. data/src/core/telemetry/call_tracer.h +22 -17
  164. data/src/core/telemetry/metrics.h +8 -8
  165. data/src/core/telemetry/stats_data.cc +151 -151
  166. data/src/core/telemetry/stats_data.h +87 -87
  167. data/src/core/transport/auth_context.cc +20 -0
  168. data/src/core/transport/auth_context.h +4 -0
  169. data/src/core/transport/auth_context_comparator_registry.h +69 -0
  170. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +2 -3
  171. data/src/core/tsi/ssl_transport_security.cc +202 -32
  172. data/src/core/tsi/ssl_transport_security.h +19 -10
  173. data/src/core/tsi/ssl_transport_security_utils.cc +21 -0
  174. data/src/core/tsi/ssl_transport_security_utils.h +4 -0
  175. data/src/core/util/http_client/httpcli_security_connector.cc +3 -1
  176. data/src/core/util/latent_see.cc +178 -146
  177. data/src/core/util/latent_see.h +245 -188
  178. data/src/core/util/single_set_ptr.h +5 -2
  179. data/src/core/util/useful.h +91 -0
  180. data/src/core/util/windows/directory_reader.cc +1 -0
  181. data/src/core/util/windows/thd.cc +1 -3
  182. data/src/core/util/work_serializer.cc +1 -1
  183. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +32 -5
  184. data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +5 -0
  185. data/src/core/xds/grpc/xds_certificate_provider.cc +5 -6
  186. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  187. data/src/ruby/lib/grpc/version.rb +1 -1
  188. data/third_party/cares/cares/include/ares.h +925 -460
  189. data/third_party/cares/cares/include/ares_dns.h +86 -71
  190. data/third_party/cares/cares/include/ares_dns_record.h +1118 -0
  191. data/third_party/cares/cares/include/ares_nameser.h +215 -189
  192. data/third_party/cares/cares/include/ares_version.h +37 -14
  193. data/third_party/cares/cares/src/lib/ares_addrinfo2hostent.c +305 -0
  194. data/third_party/cares/cares/src/lib/ares_addrinfo_localhost.c +245 -0
  195. data/third_party/cares/cares/src/lib/ares_android.c +216 -164
  196. data/third_party/cares/cares/src/lib/ares_android.h +25 -14
  197. data/third_party/cares/cares/src/lib/ares_cancel.c +68 -44
  198. data/third_party/cares/cares/src/lib/ares_close_sockets.c +137 -0
  199. data/third_party/cares/cares/src/lib/ares_conn.c +511 -0
  200. data/third_party/cares/cares/src/lib/ares_conn.h +196 -0
  201. data/third_party/cares/cares/src/lib/ares_cookie.c +461 -0
  202. data/third_party/cares/cares/src/lib/ares_data.c +93 -181
  203. data/third_party/cares/cares/src/lib/ares_data.h +50 -39
  204. data/third_party/cares/cares/src/lib/ares_destroy.c +127 -89
  205. data/third_party/cares/cares/src/lib/ares_free_hostent.c +35 -24
  206. data/third_party/cares/cares/src/lib/ares_free_string.c +24 -16
  207. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +45 -38
  208. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +549 -663
  209. data/third_party/cares/cares/src/lib/ares_getenv.c +25 -15
  210. data/third_party/cares/cares/src/lib/ares_getenv.h +26 -18
  211. data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +163 -221
  212. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +222 -223
  213. data/third_party/cares/cares/src/lib/ares_getnameinfo.c +328 -338
  214. data/third_party/cares/cares/src/lib/ares_hosts_file.c +952 -0
  215. data/third_party/cares/cares/src/lib/ares_inet_net_pton.h +25 -19
  216. data/third_party/cares/cares/src/lib/ares_init.c +425 -2091
  217. data/third_party/cares/cares/src/lib/ares_ipv6.h +63 -33
  218. data/third_party/cares/cares/src/lib/ares_library_init.c +110 -54
  219. data/third_party/cares/cares/src/lib/ares_metrics.c +261 -0
  220. data/third_party/cares/cares/src/lib/ares_options.c +418 -332
  221. data/third_party/cares/cares/src/lib/ares_parse_into_addrinfo.c +179 -0
  222. data/third_party/cares/cares/src/lib/ares_private.h +558 -356
  223. data/third_party/cares/cares/src/lib/ares_process.c +1224 -1369
  224. data/third_party/cares/cares/src/lib/ares_qcache.c +430 -0
  225. data/third_party/cares/cares/src/lib/ares_query.c +126 -121
  226. data/third_party/cares/cares/src/lib/ares_search.c +564 -262
  227. data/third_party/cares/cares/src/lib/ares_send.c +264 -93
  228. data/third_party/cares/cares/src/lib/ares_set_socket_functions.c +588 -0
  229. data/third_party/cares/cares/src/lib/ares_setup.h +115 -111
  230. data/third_party/cares/cares/src/lib/ares_socket.c +425 -0
  231. data/third_party/cares/cares/src/lib/ares_socket.h +163 -0
  232. data/third_party/cares/cares/src/lib/ares_sortaddrinfo.c +447 -0
  233. data/third_party/cares/cares/src/lib/ares_strerror.c +83 -48
  234. data/third_party/cares/cares/src/lib/ares_sysconfig.c +639 -0
  235. data/third_party/cares/cares/src/lib/ares_sysconfig_files.c +839 -0
  236. data/third_party/cares/cares/src/lib/ares_sysconfig_mac.c +373 -0
  237. data/third_party/cares/cares/src/lib/ares_sysconfig_win.c +621 -0
  238. data/third_party/cares/cares/src/lib/ares_timeout.c +136 -73
  239. data/third_party/cares/cares/src/lib/ares_update_servers.c +1362 -0
  240. data/third_party/cares/cares/src/lib/ares_version.c +29 -4
  241. data/third_party/cares/cares/src/lib/config-dos.h +88 -89
  242. data/third_party/cares/cares/src/lib/config-win32.h +122 -77
  243. data/third_party/cares/cares/src/lib/dsa/ares_array.c +394 -0
  244. data/third_party/cares/cares/src/lib/dsa/ares_htable.c +447 -0
  245. data/third_party/cares/cares/src/lib/dsa/ares_htable.h +174 -0
  246. data/third_party/cares/cares/src/lib/dsa/ares_htable_asvp.c +224 -0
  247. data/third_party/cares/cares/src/lib/dsa/ares_htable_dict.c +228 -0
  248. data/third_party/cares/cares/src/lib/dsa/ares_htable_strvp.c +210 -0
  249. data/third_party/cares/cares/src/lib/dsa/ares_htable_szvp.c +188 -0
  250. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpstr.c +186 -0
  251. data/third_party/cares/cares/src/lib/dsa/ares_htable_vpvp.c +194 -0
  252. data/third_party/cares/cares/src/lib/dsa/ares_llist.c +382 -0
  253. data/third_party/cares/cares/src/lib/dsa/ares_slist.c +479 -0
  254. data/third_party/cares/cares/src/lib/dsa/ares_slist.h +207 -0
  255. data/third_party/cares/cares/src/lib/event/ares_event.h +191 -0
  256. data/third_party/cares/cares/src/lib/event/ares_event_configchg.c +743 -0
  257. data/third_party/cares/cares/src/lib/event/ares_event_epoll.c +192 -0
  258. data/third_party/cares/cares/src/lib/event/ares_event_kqueue.c +248 -0
  259. data/third_party/cares/cares/src/lib/event/ares_event_poll.c +140 -0
  260. data/third_party/cares/cares/src/lib/event/ares_event_select.c +159 -0
  261. data/third_party/cares/cares/src/lib/event/ares_event_thread.c +567 -0
  262. data/third_party/cares/cares/src/lib/event/ares_event_wake_pipe.c +166 -0
  263. data/third_party/cares/cares/src/lib/event/ares_event_win32.c +978 -0
  264. data/third_party/cares/cares/src/lib/event/ares_event_win32.h +161 -0
  265. data/third_party/cares/cares/src/lib/include/ares_array.h +276 -0
  266. data/third_party/cares/cares/src/lib/include/ares_buf.h +732 -0
  267. data/third_party/cares/cares/src/lib/include/ares_htable_asvp.h +130 -0
  268. data/third_party/cares/cares/src/lib/include/ares_htable_dict.h +123 -0
  269. data/third_party/cares/cares/src/lib/include/ares_htable_strvp.h +130 -0
  270. data/third_party/cares/cares/src/lib/include/ares_htable_szvp.h +118 -0
  271. data/third_party/cares/cares/src/lib/include/ares_htable_vpstr.h +111 -0
  272. data/third_party/cares/cares/src/lib/include/ares_htable_vpvp.h +128 -0
  273. data/third_party/cares/cares/src/lib/include/ares_llist.h +239 -0
  274. data/third_party/cares/cares/src/lib/include/ares_mem.h +38 -0
  275. data/third_party/cares/cares/src/lib/include/ares_str.h +244 -0
  276. data/third_party/cares/cares/src/lib/inet_net_pton.c +202 -157
  277. data/third_party/cares/cares/src/lib/inet_ntop.c +87 -69
  278. data/third_party/cares/cares/src/lib/legacy/ares_create_query.c +78 -0
  279. data/third_party/cares/cares/src/lib/legacy/ares_expand_name.c +99 -0
  280. data/third_party/cares/cares/src/lib/legacy/ares_expand_string.c +107 -0
  281. data/third_party/cares/cares/src/lib/legacy/ares_fds.c +80 -0
  282. data/third_party/cares/cares/src/lib/legacy/ares_getsock.c +85 -0
  283. data/third_party/cares/cares/src/lib/legacy/ares_parse_a_reply.c +107 -0
  284. data/third_party/cares/cares/src/lib/legacy/ares_parse_aaaa_reply.c +109 -0
  285. data/third_party/cares/cares/src/lib/legacy/ares_parse_caa_reply.c +137 -0
  286. data/third_party/cares/cares/src/lib/legacy/ares_parse_mx_reply.c +110 -0
  287. data/third_party/cares/cares/src/lib/legacy/ares_parse_naptr_reply.c +132 -0
  288. data/third_party/cares/cares/src/lib/legacy/ares_parse_ns_reply.c +154 -0
  289. data/third_party/cares/cares/src/lib/legacy/ares_parse_ptr_reply.c +213 -0
  290. data/third_party/cares/cares/src/lib/legacy/ares_parse_soa_reply.c +115 -0
  291. data/third_party/cares/cares/src/lib/legacy/ares_parse_srv_reply.c +114 -0
  292. data/third_party/cares/cares/src/lib/legacy/ares_parse_txt_reply.c +144 -0
  293. data/third_party/cares/cares/src/lib/legacy/ares_parse_uri_reply.c +113 -0
  294. data/third_party/cares/cares/src/lib/record/ares_dns_mapping.c +982 -0
  295. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.c +307 -0
  296. data/third_party/cares/cares/src/lib/record/ares_dns_multistring.h +72 -0
  297. data/third_party/cares/cares/src/lib/record/ares_dns_name.c +673 -0
  298. data/third_party/cares/cares/src/lib/record/ares_dns_parse.c +1329 -0
  299. data/third_party/cares/cares/src/lib/record/ares_dns_private.h +273 -0
  300. data/third_party/cares/cares/src/lib/record/ares_dns_record.c +1661 -0
  301. data/third_party/cares/cares/src/lib/record/ares_dns_write.c +1229 -0
  302. data/third_party/cares/cares/src/lib/str/ares_buf.c +1498 -0
  303. data/third_party/cares/cares/src/lib/str/ares_str.c +508 -0
  304. data/third_party/cares/cares/src/lib/str/ares_strsplit.c +90 -0
  305. data/third_party/cares/cares/src/lib/str/ares_strsplit.h +51 -0
  306. data/third_party/cares/cares/src/lib/thirdparty/apple/dnsinfo.h +122 -0
  307. data/third_party/cares/cares/src/lib/util/ares_iface_ips.c +628 -0
  308. data/third_party/cares/cares/src/lib/util/ares_iface_ips.h +139 -0
  309. data/third_party/cares/cares/src/lib/util/ares_math.c +158 -0
  310. data/third_party/cares/cares/src/lib/util/ares_math.h +45 -0
  311. data/third_party/cares/cares/src/lib/util/ares_rand.c +389 -0
  312. data/third_party/cares/cares/src/lib/util/ares_rand.h +36 -0
  313. data/third_party/cares/cares/src/lib/util/ares_threads.c +614 -0
  314. data/third_party/cares/cares/src/lib/util/ares_threads.h +60 -0
  315. data/third_party/cares/cares/src/lib/util/ares_time.h +48 -0
  316. data/third_party/cares/cares/src/lib/util/ares_timeval.c +95 -0
  317. data/third_party/cares/cares/src/lib/util/ares_uri.c +1626 -0
  318. data/third_party/cares/cares/src/lib/util/ares_uri.h +252 -0
  319. data/third_party/cares/cares/src/lib/windows_port.c +16 -9
  320. metadata +121 -49
  321. data/src/core/util/ring_buffer.h +0 -122
  322. data/third_party/cares/cares/include/ares_rules.h +0 -125
  323. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +0 -266
  324. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +0 -240
  325. data/third_party/cares/cares/src/lib/ares__close_sockets.c +0 -61
  326. data/third_party/cares/cares/src/lib/ares__get_hostent.c +0 -260
  327. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +0 -229
  328. data/third_party/cares/cares/src/lib/ares__read_line.c +0 -73
  329. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +0 -258
  330. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +0 -507
  331. data/third_party/cares/cares/src/lib/ares__timeval.c +0 -111
  332. data/third_party/cares/cares/src/lib/ares_create_query.c +0 -197
  333. data/third_party/cares/cares/src/lib/ares_expand_name.c +0 -311
  334. data/third_party/cares/cares/src/lib/ares_expand_string.c +0 -67
  335. data/third_party/cares/cares/src/lib/ares_fds.c +0 -59
  336. data/third_party/cares/cares/src/lib/ares_getsock.c +0 -66
  337. data/third_party/cares/cares/src/lib/ares_iphlpapi.h +0 -221
  338. data/third_party/cares/cares/src/lib/ares_llist.c +0 -63
  339. data/third_party/cares/cares/src/lib/ares_llist.h +0 -39
  340. data/third_party/cares/cares/src/lib/ares_mkquery.c +0 -24
  341. data/third_party/cares/cares/src/lib/ares_nowarn.c +0 -260
  342. data/third_party/cares/cares/src/lib/ares_nowarn.h +0 -61
  343. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +0 -90
  344. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +0 -92
  345. data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +0 -199
  346. data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +0 -164
  347. data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +0 -183
  348. data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +0 -177
  349. data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +0 -228
  350. data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +0 -179
  351. data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +0 -168
  352. data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +0 -214
  353. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +0 -184
  354. data/third_party/cares/cares/src/lib/ares_platform.c +0 -11042
  355. data/third_party/cares/cares/src/lib/ares_platform.h +0 -43
  356. data/third_party/cares/cares/src/lib/ares_rand.c +0 -279
  357. data/third_party/cares/cares/src/lib/ares_strcasecmp.c +0 -66
  358. data/third_party/cares/cares/src/lib/ares_strcasecmp.h +0 -30
  359. data/third_party/cares/cares/src/lib/ares_strdup.c +0 -42
  360. data/third_party/cares/cares/src/lib/ares_strdup.h +0 -24
  361. data/third_party/cares/cares/src/lib/ares_strsplit.c +0 -94
  362. data/third_party/cares/cares/src/lib/ares_strsplit.h +0 -42
  363. data/third_party/cares/cares/src/lib/ares_writev.c +0 -79
  364. data/third_party/cares/cares/src/lib/ares_writev.h +0 -36
  365. data/third_party/cares/cares/src/lib/bitncmp.c +0 -59
  366. data/third_party/cares/cares/src/lib/bitncmp.h +0 -26
  367. data/third_party/cares/cares/src/lib/setup_once.h +0 -554
  368. data/third_party/cares/cares/src/tools/ares_getopt.h +0 -53
@@ -1,4 +1,4 @@
1
- // Copyright 2017 gRPC authors.
1
+ // Copyright 2025 gRPC authors.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -26,29 +26,27 @@ union DblUint {
26
26
  uint64_t uint;
27
27
  };
28
28
  } // namespace
29
- void HistogramCollector_16777216_20_64::Collect(
30
- Histogram_16777216_20_64* result) const {
31
- for (int i = 0; i < 20; i++) {
29
+ void HistogramCollector_80_10_64::Collect(Histogram_80_10_64* result) const {
30
+ for (int i = 0; i < 10; i++) {
32
31
  result->buckets_[i] += buckets_[i].load(std::memory_order_relaxed);
33
32
  }
34
33
  }
35
- Histogram_16777216_20_64 operator-(const Histogram_16777216_20_64& left,
36
- const Histogram_16777216_20_64& right) {
37
- Histogram_16777216_20_64 result;
38
- for (int i = 0; i < 20; i++) {
34
+ Histogram_80_10_64 operator-(const Histogram_80_10_64& left,
35
+ const Histogram_80_10_64& right) {
36
+ Histogram_80_10_64 result;
37
+ for (int i = 0; i < 10; i++) {
39
38
  result.buckets_[i] = left.buckets_[i] - right.buckets_[i];
40
39
  }
41
40
  return result;
42
41
  }
43
- void HistogramCollector_100000_20_64::Collect(
44
- Histogram_100000_20_64* result) const {
42
+ void HistogramCollector_100_20_64::Collect(Histogram_100_20_64* result) const {
45
43
  for (int i = 0; i < 20; i++) {
46
44
  result->buckets_[i] += buckets_[i].load(std::memory_order_relaxed);
47
45
  }
48
46
  }
49
- Histogram_100000_20_64 operator-(const Histogram_100000_20_64& left,
50
- const Histogram_100000_20_64& right) {
51
- Histogram_100000_20_64 result;
47
+ Histogram_100_20_64 operator-(const Histogram_100_20_64& left,
48
+ const Histogram_100_20_64& right) {
49
+ Histogram_100_20_64 result;
52
50
  for (int i = 0; i < 20; i++) {
53
51
  result.buckets_[i] = left.buckets_[i] - right.buckets_[i];
54
52
  }
@@ -82,74 +80,69 @@ Histogram_65536_26_64 operator-(const Histogram_65536_26_64& left,
82
80
  }
83
81
  return result;
84
82
  }
85
- void HistogramCollector_100_20_64::Collect(Histogram_100_20_64* result) const {
83
+ void HistogramCollector_100000_20_64::Collect(
84
+ Histogram_100000_20_64* result) const {
86
85
  for (int i = 0; i < 20; i++) {
87
86
  result->buckets_[i] += buckets_[i].load(std::memory_order_relaxed);
88
87
  }
89
88
  }
90
- Histogram_100_20_64 operator-(const Histogram_100_20_64& left,
91
- const Histogram_100_20_64& right) {
92
- Histogram_100_20_64 result;
89
+ Histogram_100000_20_64 operator-(const Histogram_100000_20_64& left,
90
+ const Histogram_100000_20_64& right) {
91
+ Histogram_100000_20_64 result;
93
92
  for (int i = 0; i < 20; i++) {
94
93
  result.buckets_[i] = left.buckets_[i] - right.buckets_[i];
95
94
  }
96
95
  return result;
97
96
  }
98
- void HistogramCollector_16777216_50_64::Collect(
99
- Histogram_16777216_50_64* result) const {
100
- for (int i = 0; i < 50; i++) {
97
+ void HistogramCollector_1800000_40_64::Collect(
98
+ Histogram_1800000_40_64* result) const {
99
+ for (int i = 0; i < 40; i++) {
101
100
  result->buckets_[i] += buckets_[i].load(std::memory_order_relaxed);
102
101
  }
103
102
  }
104
- Histogram_16777216_50_64 operator-(const Histogram_16777216_50_64& left,
105
- const Histogram_16777216_50_64& right) {
106
- Histogram_16777216_50_64 result;
107
- for (int i = 0; i < 50; i++) {
103
+ Histogram_1800000_40_64 operator-(const Histogram_1800000_40_64& left,
104
+ const Histogram_1800000_40_64& right) {
105
+ Histogram_1800000_40_64 result;
106
+ for (int i = 0; i < 40; i++) {
108
107
  result.buckets_[i] = left.buckets_[i] - right.buckets_[i];
109
108
  }
110
109
  return result;
111
110
  }
112
- void HistogramCollector_80_10_64::Collect(Histogram_80_10_64* result) const {
113
- for (int i = 0; i < 10; i++) {
111
+ void HistogramCollector_16777216_20_64::Collect(
112
+ Histogram_16777216_20_64* result) const {
113
+ for (int i = 0; i < 20; i++) {
114
114
  result->buckets_[i] += buckets_[i].load(std::memory_order_relaxed);
115
115
  }
116
116
  }
117
- Histogram_80_10_64 operator-(const Histogram_80_10_64& left,
118
- const Histogram_80_10_64& right) {
119
- Histogram_80_10_64 result;
120
- for (int i = 0; i < 10; i++) {
117
+ Histogram_16777216_20_64 operator-(const Histogram_16777216_20_64& left,
118
+ const Histogram_16777216_20_64& right) {
119
+ Histogram_16777216_20_64 result;
120
+ for (int i = 0; i < 20; i++) {
121
121
  result.buckets_[i] = left.buckets_[i] - right.buckets_[i];
122
122
  }
123
123
  return result;
124
124
  }
125
- void HistogramCollector_1800000_40_64::Collect(
126
- Histogram_1800000_40_64* result) const {
127
- for (int i = 0; i < 40; i++) {
125
+ void HistogramCollector_16777216_50_64::Collect(
126
+ Histogram_16777216_50_64* result) const {
127
+ for (int i = 0; i < 50; i++) {
128
128
  result->buckets_[i] += buckets_[i].load(std::memory_order_relaxed);
129
129
  }
130
130
  }
131
- Histogram_1800000_40_64 operator-(const Histogram_1800000_40_64& left,
132
- const Histogram_1800000_40_64& right) {
133
- Histogram_1800000_40_64 result;
134
- for (int i = 0; i < 40; i++) {
131
+ Histogram_16777216_50_64 operator-(const Histogram_16777216_50_64& left,
132
+ const Histogram_16777216_50_64& right) {
133
+ Histogram_16777216_50_64 result;
134
+ for (int i = 0; i < 50; i++) {
135
135
  result.buckets_[i] = left.buckets_[i] - right.buckets_[i];
136
136
  }
137
137
  return result;
138
138
  }
139
139
  namespace {
140
- const int kStatsTable0[21] = {
141
- 0, 1, 3, 8, 19, 45, 106,
142
- 250, 588, 1383, 3252, 7646, 17976, 42262,
143
- 99359, 233593, 549177, 1291113, 3035402, 7136218, 16777216};
144
- const uint8_t kStatsTable1[23] = {2, 3, 3, 4, 5, 6, 7, 8,
145
- 8, 9, 10, 11, 12, 12, 13, 14,
146
- 15, 16, 16, 17, 18, 19, 20};
147
- const int kStatsTable2[21] = {0, 1, 2, 4, 8, 15, 27,
148
- 49, 89, 160, 288, 517, 928, 1666,
149
- 2991, 5369, 9637, 17297, 31045, 55719, 100000};
150
- const uint8_t kStatsTable3[30] = {3, 3, 4, 4, 5, 6, 6, 7, 7, 8,
151
- 9, 9, 10, 10, 11, 11, 12, 13, 13, 14,
152
- 15, 15, 16, 16, 17, 17, 18, 19, 19, 20};
140
+ const int kStatsTable0[11] = {0, 1, 2, 4, 7, 11, 17, 26, 38, 56, 80};
141
+ const uint8_t kStatsTable1[9] = {3, 3, 4, 5, 6, 6, 7, 8, 9};
142
+ const int kStatsTable2[21] = {0, 1, 2, 3, 4, 5, 7, 9, 11, 14, 17,
143
+ 21, 25, 30, 36, 43, 51, 61, 72, 85, 100};
144
+ const uint8_t kStatsTable3[16] = {6, 6, 7, 8, 9, 9, 10, 11,
145
+ 12, 13, 14, 15, 16, 17, 18, 19};
153
146
  const int kStatsTable4[21] = {0, 1, 2, 4, 7, 12, 19,
154
147
  30, 47, 74, 116, 182, 285, 445,
155
148
  695, 1084, 1691, 2637, 4113, 6414, 10000};
@@ -163,14 +156,32 @@ const int kStatsTable6[27] = {0, 1, 2, 4, 7, 11, 17,
163
156
  const uint8_t kStatsTable7[29] = {3, 3, 4, 5, 6, 6, 7, 8, 9, 10,
164
157
  11, 11, 12, 13, 14, 15, 16, 16, 17, 18,
165
158
  19, 20, 21, 21, 22, 23, 24, 25, 26};
166
- const int kStatsTable8[9] = {0, 1, 11, 119, 1275,
167
- 13656, 146259, 1566467, 16777216};
168
- const uint8_t kStatsTable9[11] = {2, 2, 3, 4, 4, 5, 5, 6, 6, 7, 8};
169
- const int kStatsTable10[21] = {0, 1, 2, 3, 4, 5, 7, 9, 11, 14, 17,
170
- 21, 25, 30, 36, 43, 51, 61, 72, 85, 100};
171
- const uint8_t kStatsTable11[16] = {6, 6, 7, 8, 9, 9, 10, 11,
172
- 12, 13, 14, 15, 16, 17, 18, 19};
173
- const int kStatsTable12[51] = {
159
+ const int kStatsTable8[21] = {0, 1, 2, 4, 8, 15, 27,
160
+ 49, 89, 160, 288, 517, 928, 1666,
161
+ 2991, 5369, 9637, 17297, 31045, 55719, 100000};
162
+ const uint8_t kStatsTable9[30] = {3, 3, 4, 4, 5, 6, 6, 7, 7, 8,
163
+ 9, 9, 10, 10, 11, 11, 12, 13, 13, 14,
164
+ 15, 15, 16, 16, 17, 17, 18, 19, 19, 20};
165
+ const int kStatsTable10[41] = {
166
+ 0, 1, 2, 3, 5, 8, 12, 18, 26,
167
+ 37, 53, 76, 108, 153, 217, 308, 436, 617,
168
+ 873, 1235, 1748, 2473, 3499, 4950, 7003, 9907, 14015,
169
+ 19825, 28044, 39670, 56116, 79379, 112286, 158835, 224680, 317821,
170
+ 449574, 635945, 899575, 1272492, 1800000};
171
+ const uint8_t kStatsTable11[37] = {
172
+ 4, 5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
173
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39};
174
+ const int kStatsTable12[9] = {0, 1, 11, 119, 1275,
175
+ 13656, 146259, 1566467, 16777216};
176
+ const uint8_t kStatsTable13[11] = {2, 2, 3, 4, 4, 5, 5, 6, 6, 7, 8};
177
+ const int kStatsTable14[21] = {
178
+ 0, 1, 3, 8, 19, 45, 106,
179
+ 250, 588, 1383, 3252, 7646, 17976, 42262,
180
+ 99359, 233593, 549177, 1291113, 3035402, 7136218, 16777216};
181
+ const uint8_t kStatsTable15[23] = {2, 3, 3, 4, 5, 6, 7, 8,
182
+ 8, 9, 10, 11, 12, 12, 13, 14,
183
+ 15, 16, 16, 17, 18, 19, 20};
184
+ const int kStatsTable16[51] = {
174
185
  0, 1, 2, 3, 5, 7, 10, 14,
175
186
  20, 28, 39, 54, 75, 104, 144, 200,
176
187
  277, 383, 530, 733, 1014, 1402, 1939, 2681,
@@ -178,59 +189,56 @@ const int kStatsTable12[51] = {
178
189
  49412, 68303, 94416, 130512, 180408, 249380, 344720, 476509,
179
190
  658682, 910501, 1258592, 1739760, 2404882, 3324285, 4595181, 6351949,
180
191
  8780340, 12137120, 16777216};
181
- const uint8_t kStatsTable13[88] = {
192
+ const uint8_t kStatsTable17[88] = {
182
193
  4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11, 11, 12, 12, 13,
183
194
  13, 14, 14, 15, 15, 16, 16, 17, 18, 18, 18, 19, 20, 20, 21, 21, 22, 22,
184
195
  23, 23, 24, 24, 25, 25, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32,
185
196
  32, 33, 33, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 42,
186
197
  42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 48, 49, 50, 50};
187
- const int kStatsTable14[11] = {0, 1, 2, 4, 7, 11, 17, 26, 38, 56, 80};
188
- const uint8_t kStatsTable15[9] = {3, 3, 4, 5, 6, 6, 7, 8, 9};
189
- const int kStatsTable16[41] = {
190
- 0, 1, 2, 3, 5, 8, 12, 18, 26,
191
- 37, 53, 76, 108, 153, 217, 308, 436, 617,
192
- 873, 1235, 1748, 2473, 3499, 4950, 7003, 9907, 14015,
193
- 19825, 28044, 39670, 56116, 79379, 112286, 158835, 224680, 317821,
194
- 449574, 635945, 899575, 1272492, 1800000};
195
- const uint8_t kStatsTable17[37] = {
196
- 4, 5, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
197
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39};
198
198
  } // namespace
199
- int Histogram_16777216_20_64::BucketFor(int value) {
200
- if (value < 2) {
199
+ int Histogram_80_10_64::BucketFor(int value) {
200
+ if (value < 3) {
201
201
  if (value < 0) {
202
202
  return 0;
203
203
  } else {
204
204
  return value;
205
205
  }
206
206
  } else {
207
- if (value < 8388609) {
207
+ if (value < 49) {
208
208
  DblUint val;
209
209
  val.dbl = value;
210
210
  const int bucket =
211
- kStatsTable1[((val.uint - 4611686018427387904ull) >> 52)];
211
+ kStatsTable1[((val.uint - 4613937818241073152ull) >> 51)];
212
212
  return bucket - (value < kStatsTable0[bucket]);
213
213
  } else {
214
- return 19;
214
+ if (value < 56) {
215
+ return 8;
216
+ } else {
217
+ return 9;
218
+ }
215
219
  }
216
220
  }
217
221
  }
218
- int Histogram_100000_20_64::BucketFor(int value) {
219
- if (value < 3) {
222
+ int Histogram_100_20_64::BucketFor(int value) {
223
+ if (value < 6) {
220
224
  if (value < 0) {
221
225
  return 0;
222
226
  } else {
223
227
  return value;
224
228
  }
225
229
  } else {
226
- if (value < 65537) {
230
+ if (value < 81) {
227
231
  DblUint val;
228
232
  val.dbl = value;
229
233
  const int bucket =
230
- kStatsTable3[((val.uint - 4613937818241073152ull) >> 51)];
234
+ kStatsTable3[((val.uint - 4618441417868443648ull) >> 50)];
231
235
  return bucket - (value < kStatsTable2[bucket]);
232
236
  } else {
233
- return 19;
237
+ if (value < 85) {
238
+ return 18;
239
+ } else {
240
+ return 19;
241
+ }
234
242
  }
235
243
  }
236
244
  }
@@ -276,91 +284,87 @@ int Histogram_65536_26_64::BucketFor(int value) {
276
284
  }
277
285
  }
278
286
  }
279
- int Histogram_16777216_8_8::BucketFor(int value) {
280
- if (value < 2) {
287
+ int Histogram_100000_20_64::BucketFor(int value) {
288
+ if (value < 3) {
281
289
  if (value < 0) {
282
290
  return 0;
283
291
  } else {
284
292
  return value;
285
293
  }
286
294
  } else {
287
- if (value < 2097153) {
295
+ if (value < 65537) {
288
296
  DblUint val;
289
297
  val.dbl = value;
290
298
  const int bucket =
291
- kStatsTable9[((val.uint - 4611686018427387904ull) >> 53)];
299
+ kStatsTable9[((val.uint - 4613937818241073152ull) >> 51)];
292
300
  return bucket - (value < kStatsTable8[bucket]);
293
301
  } else {
294
- return 7;
302
+ return 19;
295
303
  }
296
304
  }
297
305
  }
298
- int Histogram_100_20_64::BucketFor(int value) {
299
- if (value < 6) {
306
+ int Histogram_1800000_40_64::BucketFor(int value) {
307
+ if (value < 4) {
300
308
  if (value < 0) {
301
309
  return 0;
302
310
  } else {
303
311
  return value;
304
312
  }
305
313
  } else {
306
- if (value < 81) {
314
+ if (value < 1048577) {
307
315
  DblUint val;
308
316
  val.dbl = value;
309
317
  const int bucket =
310
- kStatsTable11[((val.uint - 4618441417868443648ull) >> 50)];
318
+ kStatsTable11[((val.uint - 4616189618054758400ull) >> 51)];
311
319
  return bucket - (value < kStatsTable10[bucket]);
312
320
  } else {
313
- if (value < 85) {
314
- return 18;
321
+ if (value < 1272492) {
322
+ return 38;
315
323
  } else {
316
- return 19;
324
+ return 39;
317
325
  }
318
326
  }
319
327
  }
320
328
  }
321
- int Histogram_16777216_50_64::BucketFor(int value) {
322
- if (value < 4) {
329
+ int Histogram_16777216_8_8::BucketFor(int value) {
330
+ if (value < 2) {
323
331
  if (value < 0) {
324
332
  return 0;
325
333
  } else {
326
334
  return value;
327
335
  }
328
336
  } else {
329
- if (value < 14680065) {
337
+ if (value < 2097153) {
330
338
  DblUint val;
331
339
  val.dbl = value;
332
340
  const int bucket =
333
- kStatsTable13[((val.uint - 4616189618054758400ull) >> 50)];
341
+ kStatsTable13[((val.uint - 4611686018427387904ull) >> 53)];
334
342
  return bucket - (value < kStatsTable12[bucket]);
335
343
  } else {
336
- return 49;
344
+ return 7;
337
345
  }
338
346
  }
339
347
  }
340
- int Histogram_80_10_64::BucketFor(int value) {
341
- if (value < 3) {
348
+ int Histogram_16777216_20_64::BucketFor(int value) {
349
+ if (value < 2) {
342
350
  if (value < 0) {
343
351
  return 0;
344
352
  } else {
345
353
  return value;
346
354
  }
347
355
  } else {
348
- if (value < 49) {
356
+ if (value < 8388609) {
349
357
  DblUint val;
350
358
  val.dbl = value;
351
359
  const int bucket =
352
- kStatsTable15[((val.uint - 4613937818241073152ull) >> 51)];
360
+ kStatsTable15[((val.uint - 4611686018427387904ull) >> 52)];
353
361
  return bucket - (value < kStatsTable14[bucket]);
354
362
  } else {
355
- if (value < 56) {
356
- return 8;
357
- } else {
358
- return 9;
359
- }
363
+ return 19;
360
364
  }
361
365
  }
362
366
  }
363
- int Histogram_1800000_40_64::BucketFor(int value) {
367
+ int Histogram_16777216_50_64::BucketFor(int value) {
364
368
  if (value < 4) {
365
369
  if (value < 0) {
366
370
  return 0;
@@ -368,18 +372,14 @@ int Histogram_1800000_40_64::BucketFor(int value) {
368
372
  return value;
369
373
  }
370
374
  } else {
371
- if (value < 1048577) {
375
+ if (value < 14680065) {
372
376
  DblUint val;
373
377
  val.dbl = value;
374
378
  const int bucket =
375
- kStatsTable17[((val.uint - 4616189618054758400ull) >> 51)];
379
+ kStatsTable17[((val.uint - 4616189618054758400ull) >> 50)];
376
380
  return bucket - (value < kStatsTable16[bucket]);
377
381
  } else {
378
- if (value < 1272492) {
379
- return 38;
380
- } else {
381
- return 39;
382
- }
382
+ return 49;
383
383
  }
384
384
  }
385
385
  }
@@ -551,19 +551,19 @@ HistogramView GlobalStats::histogram(Histogram which) const {
551
551
  return HistogramView{&Histogram_65536_26_64::BucketFor, kStatsTable6, 26,
552
552
  call_initial_size.buckets()};
553
553
  case Histogram::kTcpWriteSize:
554
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
554
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
555
555
  20, tcp_write_size.buckets()};
556
556
  case Histogram::kTcpWriteIovSize:
557
- return HistogramView{&Histogram_80_10_64::BucketFor, kStatsTable14, 10,
557
+ return HistogramView{&Histogram_80_10_64::BucketFor, kStatsTable0, 10,
558
558
  tcp_write_iov_size.buckets()};
559
559
  case Histogram::kTcpReadSize:
560
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
560
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
561
561
  20, tcp_read_size.buckets()};
562
562
  case Histogram::kTcpReadOffer:
563
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
563
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
564
564
  20, tcp_read_offer.buckets()};
565
565
  case Histogram::kTcpReadOfferIovSize:
566
- return HistogramView{&Histogram_80_10_64::BucketFor, kStatsTable14, 10,
566
+ return HistogramView{&Histogram_80_10_64::BucketFor, kStatsTable0, 10,
567
567
  tcp_read_offer_iov_size.buckets()};
568
568
  case Histogram::kWrrSubchannelListSize:
569
569
  return HistogramView{&Histogram_10000_20_64::BucketFor, kStatsTable4, 20,
@@ -572,59 +572,59 @@ HistogramView GlobalStats::histogram(Histogram which) const {
572
572
  return HistogramView{&Histogram_10000_20_64::BucketFor, kStatsTable4, 20,
573
573
  wrr_subchannel_ready_size.buckets()};
574
574
  case Histogram::kWorkSerializerRunTimeMs:
575
- return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable2, 20,
575
+ return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable8, 20,
576
576
  work_serializer_run_time_ms.buckets()};
577
577
  case Histogram::kWorkSerializerWorkTimeMs:
578
- return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable2, 20,
578
+ return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable8, 20,
579
579
  work_serializer_work_time_ms.buckets()};
580
580
  case Histogram::kWorkSerializerWorkTimePerItemMs:
581
- return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable2, 20,
581
+ return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable8, 20,
582
582
  work_serializer_work_time_per_item_ms.buckets()};
583
583
  case Histogram::kWorkSerializerItemsPerRun:
584
584
  return HistogramView{&Histogram_10000_20_64::BucketFor, kStatsTable4, 20,
585
585
  work_serializer_items_per_run.buckets()};
586
586
  case Histogram::kChaoticGoodSendmsgsPerWriteControl:
587
- return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable10, 20,
587
+ return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable2, 20,
588
588
  chaotic_good_sendmsgs_per_write_control.buckets()};
589
589
  case Histogram::kChaoticGoodRecvmsgsPerReadControl:
590
- return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable10, 20,
590
+ return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable2, 20,
591
591
  chaotic_good_recvmsgs_per_read_control.buckets()};
592
592
  case Histogram::kChaoticGoodSendmsgsPerWriteData:
593
- return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable10, 20,
593
+ return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable2, 20,
594
594
  chaotic_good_sendmsgs_per_write_data.buckets()};
595
595
  case Histogram::kChaoticGoodRecvmsgsPerReadData:
596
- return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable10, 20,
596
+ return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable2, 20,
597
597
  chaotic_good_recvmsgs_per_read_data.buckets()};
598
598
  case Histogram::kChaoticGoodThreadHopsPerWriteControl:
599
599
  return HistogramView{
600
- &Histogram_100_20_64::BucketFor, kStatsTable10, 20,
600
+ &Histogram_100_20_64::BucketFor, kStatsTable2, 20,
601
601
  chaotic_good_thread_hops_per_write_control.buckets()};
602
602
  case Histogram::kChaoticGoodThreadHopsPerReadControl:
603
- return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable10, 20,
603
+ return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable2, 20,
604
604
  chaotic_good_thread_hops_per_read_control.buckets()};
605
605
  case Histogram::kChaoticGoodThreadHopsPerWriteData:
606
- return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable10, 20,
606
+ return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable2, 20,
607
607
  chaotic_good_thread_hops_per_write_data.buckets()};
608
608
  case Histogram::kChaoticGoodThreadHopsPerReadData:
609
- return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable10, 20,
609
+ return HistogramView{&Histogram_100_20_64::BucketFor, kStatsTable2, 20,
610
610
  chaotic_good_thread_hops_per_read_data.buckets()};
611
611
  case Histogram::kChaoticGoodTcpReadSizeData:
612
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
612
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
613
613
  20, chaotic_good_tcp_read_size_data.buckets()};
614
614
  case Histogram::kChaoticGoodTcpReadSizeControl:
615
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
615
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
616
616
  20, chaotic_good_tcp_read_size_control.buckets()};
617
617
  case Histogram::kChaoticGoodTcpReadOfferData:
618
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
618
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
619
619
  20, chaotic_good_tcp_read_offer_data.buckets()};
620
620
  case Histogram::kChaoticGoodTcpReadOfferControl:
621
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
621
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
622
622
  20, chaotic_good_tcp_read_offer_control.buckets()};
623
623
  case Histogram::kChaoticGoodTcpWriteSizeData:
624
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
624
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
625
625
  20, chaotic_good_tcp_write_size_data.buckets()};
626
626
  case Histogram::kChaoticGoodTcpWriteSizeControl:
627
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
627
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
628
628
  20, chaotic_good_tcp_write_size_control.buckets()};
629
629
  }
630
630
  }
@@ -906,53 +906,53 @@ HistogramView Http2GlobalStats::histogram(Histogram which) const {
906
906
  default:
907
907
  GPR_UNREACHABLE_CODE(return HistogramView());
908
908
  case Histogram::kHttp2SendMessageSize:
909
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
909
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
910
910
  20, http2_send_message_size.buckets()};
911
911
  case Histogram::kHttp2MetadataSize:
912
912
  return HistogramView{&Histogram_65536_26_64::BucketFor, kStatsTable6, 26,
913
913
  http2_metadata_size.buckets()};
914
914
  case Histogram::kHttp2HpackEntryLifetime:
915
- return HistogramView{&Histogram_1800000_40_64::BucketFor, kStatsTable16,
915
+ return HistogramView{&Histogram_1800000_40_64::BucketFor, kStatsTable10,
916
916
  40, http2_hpack_entry_lifetime.buckets()};
917
917
  case Histogram::kHttp2HeaderTableSize:
918
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
918
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
919
919
  20, http2_header_table_size.buckets()};
920
920
  case Histogram::kHttp2InitialWindowSize:
921
- return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable12,
921
+ return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable16,
922
922
  50, http2_initial_window_size.buckets()};
923
923
  case Histogram::kHttp2MaxConcurrentStreams:
924
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
924
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
925
925
  20, http2_max_concurrent_streams.buckets()};
926
926
  case Histogram::kHttp2MaxFrameSize:
927
- return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable12,
927
+ return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable16,
928
928
  50, http2_max_frame_size.buckets()};
929
929
  case Histogram::kHttp2MaxHeaderListSize:
930
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
930
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
931
931
  20, http2_max_header_list_size.buckets()};
932
932
  case Histogram::kHttp2PreferredReceiveCryptoMessageSize:
933
933
  return HistogramView{
934
- &Histogram_16777216_20_64::BucketFor, kStatsTable0, 20,
934
+ &Histogram_16777216_20_64::BucketFor, kStatsTable14, 20,
935
935
  http2_preferred_receive_crypto_message_size.buckets()};
936
936
  case Histogram::kHttp2StreamRemoteWindowUpdate:
937
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
937
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
938
938
  20, http2_stream_remote_window_update.buckets()};
939
939
  case Histogram::kHttp2TransportRemoteWindowUpdate:
940
- return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable0,
940
+ return HistogramView{&Histogram_16777216_20_64::BucketFor, kStatsTable14,
941
941
  20, http2_transport_remote_window_update.buckets()};
942
942
  case Histogram::kHttp2TransportWindowUpdatePeriod:
943
- return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable2, 20,
943
+ return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable8, 20,
944
944
  http2_transport_window_update_period.buckets()};
945
945
  case Histogram::kHttp2StreamWindowUpdatePeriod:
946
- return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable2, 20,
946
+ return HistogramView{&Histogram_100000_20_64::BucketFor, kStatsTable8, 20,
947
947
  http2_stream_window_update_period.buckets()};
948
948
  case Histogram::kHttp2WriteDataFrameSize:
949
- return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable12,
949
+ return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable16,
950
950
  50, http2_write_data_frame_size.buckets()};
951
951
  case Histogram::kHttp2ReadDataFrameSize:
952
- return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable12,
952
+ return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable16,
953
953
  50, http2_read_data_frame_size.buckets()};
954
954
  case Histogram::kHttp2WriteTargetSize:
955
- return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable12,
955
+ return HistogramView{&Histogram_16777216_50_64::BucketFor, kStatsTable16,
956
956
  50, http2_write_target_size.buckets()};
957
957
  }
958
958
  }