grpc 1.50.0 → 1.56.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (2554) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +453 -176
  3. data/include/grpc/byte_buffer.h +76 -1
  4. data/include/grpc/byte_buffer_reader.h +19 -1
  5. data/include/grpc/compression.h +2 -2
  6. data/include/grpc/event_engine/event_engine.h +83 -23
  7. data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -1
  8. data/include/grpc/event_engine/internal/slice_cast.h +67 -0
  9. data/include/grpc/event_engine/memory_allocator.h +1 -1
  10. data/include/grpc/event_engine/slice.h +24 -4
  11. data/include/grpc/event_engine/slice_buffer.h +44 -3
  12. data/include/grpc/fork.h +25 -1
  13. data/include/grpc/grpc.h +3 -13
  14. data/include/grpc/grpc_audit_logging.h +96 -0
  15. data/include/grpc/grpc_posix.h +1 -1
  16. data/include/grpc/grpc_security.h +4 -0
  17. data/include/grpc/impl/codegen/atm.h +3 -71
  18. data/include/grpc/impl/codegen/atm_gcc_atomic.h +3 -58
  19. data/include/grpc/impl/codegen/atm_gcc_sync.h +3 -59
  20. data/include/grpc/impl/codegen/atm_windows.h +3 -106
  21. data/include/grpc/impl/codegen/byte_buffer.h +4 -78
  22. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -19
  23. data/include/grpc/impl/codegen/compression_types.h +3 -82
  24. data/include/grpc/impl/codegen/connectivity_state.h +3 -20
  25. data/include/grpc/impl/codegen/fork.h +4 -25
  26. data/include/grpc/impl/codegen/gpr_types.h +2 -34
  27. data/include/grpc/impl/codegen/grpc_types.h +3 -791
  28. data/include/grpc/impl/codegen/log.h +3 -86
  29. data/include/grpc/impl/codegen/port_platform.h +3 -758
  30. data/include/grpc/impl/codegen/propagation_bits.h +3 -28
  31. data/include/grpc/impl/codegen/slice.h +3 -106
  32. data/include/grpc/impl/codegen/status.h +4 -131
  33. data/include/grpc/impl/codegen/sync.h +3 -42
  34. data/include/grpc/impl/codegen/sync_abseil.h +3 -12
  35. data/include/grpc/impl/codegen/sync_custom.h +3 -14
  36. data/include/grpc/impl/codegen/sync_generic.h +3 -25
  37. data/include/grpc/impl/codegen/sync_posix.h +3 -28
  38. data/include/grpc/impl/codegen/sync_windows.h +3 -16
  39. data/include/grpc/impl/compression_types.h +109 -0
  40. data/include/grpc/impl/connectivity_state.h +47 -0
  41. data/include/grpc/impl/grpc_types.h +838 -0
  42. data/include/grpc/impl/propagation_bits.h +54 -0
  43. data/include/grpc/impl/slice_type.h +112 -0
  44. data/include/grpc/load_reporting.h +1 -1
  45. data/include/grpc/module.modulemap +7 -1
  46. data/include/grpc/slice.h +1 -1
  47. data/include/grpc/status.h +131 -1
  48. data/include/grpc/support/atm.h +70 -1
  49. data/include/grpc/support/atm_gcc_atomic.h +59 -1
  50. data/include/grpc/support/atm_gcc_sync.h +58 -1
  51. data/include/grpc/support/atm_windows.h +105 -1
  52. data/include/grpc/support/json.h +218 -0
  53. data/include/grpc/support/log.h +87 -1
  54. data/include/grpc/support/log_windows.h +1 -1
  55. data/include/grpc/support/port_platform.h +767 -1
  56. data/include/grpc/support/string_util.h +1 -1
  57. data/include/grpc/support/sync.h +35 -2
  58. data/include/grpc/support/sync_abseil.h +11 -1
  59. data/include/grpc/support/sync_custom.h +13 -1
  60. data/include/grpc/support/sync_generic.h +24 -1
  61. data/include/grpc/support/sync_posix.h +27 -1
  62. data/include/grpc/support/sync_windows.h +15 -1
  63. data/include/grpc/support/time.h +31 -6
  64. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +164 -0
  65. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +52 -0
  66. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +29 -0
  67. data/src/core/ext/filters/census/grpc_context.cc +17 -18
  68. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +28 -22
  69. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +5 -4
  70. data/src/core/ext/filters/channel_idle/idle_filter_state.h +4 -4
  71. data/src/core/ext/filters/client_channel/backend_metric.cc +12 -1
  72. data/src/core/ext/filters/client_channel/backend_metric.h +3 -3
  73. data/src/core/ext/filters/client_channel/backup_poller.cc +26 -35
  74. data/src/core/ext/filters/client_channel/backup_poller.h +24 -27
  75. data/src/core/ext/filters/client_channel/channel_connectivity.cc +51 -28
  76. data/src/core/ext/filters/client_channel/client_channel.cc +1014 -1016
  77. data/src/core/ext/filters/client_channel/client_channel.h +155 -187
  78. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +36 -37
  79. data/src/core/ext/filters/client_channel/client_channel_channelz.h +22 -22
  80. data/src/core/ext/filters/client_channel/client_channel_factory.cc +17 -17
  81. data/src/core/ext/filters/client_channel/client_channel_factory.h +3 -3
  82. data/src/core/ext/filters/client_channel/client_channel_internal.h +77 -0
  83. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +18 -18
  84. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  85. data/src/core/ext/filters/client_channel/{resolver_result_parsing.h → client_channel_service_config.h} +26 -23
  86. data/src/core/ext/filters/client_channel/config_selector.h +25 -55
  87. data/src/core/ext/filters/client_channel/connector.h +9 -5
  88. data/src/core/ext/filters/client_channel/dynamic_filters.cc +28 -55
  89. data/src/core/ext/filters/client_channel/dynamic_filters.h +10 -11
  90. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +21 -21
  91. data/src/core/ext/filters/client_channel/http_proxy.cc +74 -42
  92. data/src/core/ext/filters/client_channel/http_proxy.h +21 -21
  93. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +3 -4
  94. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +3 -3
  95. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +29 -21
  96. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +7 -2
  97. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +3 -4
  98. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +66 -130
  99. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +40 -24
  100. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +156 -178
  101. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +26 -27
  102. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -1
  103. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +4 -6
  104. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +18 -20
  105. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +21 -22
  106. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +19 -20
  107. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +22 -23
  108. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +455 -0
  109. data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +54 -0
  110. data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +186 -0
  111. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +11 -94
  112. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +4 -4
  113. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +117 -0
  114. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +263 -242
  115. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +28 -7
  116. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +28 -26
  117. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +76 -112
  118. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +159 -168
  119. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +22 -5
  120. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +173 -171
  121. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +31 -25
  122. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +68 -31
  123. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +198 -0
  124. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h +71 -0
  125. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +1002 -0
  126. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +76 -70
  127. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +103 -105
  128. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  129. data/src/core/ext/filters/client_channel/lb_policy/xds/{xds.h → xds_attributes.h} +15 -17
  130. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +3 -3
  131. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +34 -41
  132. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +76 -113
  133. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +111 -185
  134. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +814 -0
  135. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +67 -0
  136. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +363 -0
  137. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +21 -21
  138. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +9 -10
  139. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +59 -175
  140. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
  141. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +42 -43
  142. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +22 -23
  143. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +92 -87
  144. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +153 -153
  145. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +54 -55
  146. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  147. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +18 -18
  148. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +60 -0
  149. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h +27 -0
  150. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +549 -0
  151. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
  152. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
  153. data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
  154. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +20 -39
  155. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
  156. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -3
  157. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +4 -4
  158. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +85 -223
  159. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +45 -36
  160. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +12 -15
  161. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -7
  162. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +280 -189
  163. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +19 -4
  164. data/src/core/ext/filters/client_channel/retry_filter.cc +200 -264
  165. data/src/core/ext/filters/client_channel/retry_filter.h +3 -3
  166. data/src/core/ext/filters/client_channel/retry_service_config.cc +195 -236
  167. data/src/core/ext/filters/client_channel/retry_service_config.h +23 -26
  168. data/src/core/ext/filters/client_channel/retry_throttle.cc +27 -29
  169. data/src/core/ext/filters/client_channel/retry_throttle.h +29 -28
  170. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +17 -47
  171. data/src/core/ext/filters/client_channel/subchannel.cc +133 -337
  172. data/src/core/ext/filters/client_channel/subchannel.h +23 -86
  173. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +3 -3
  174. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +21 -21
  175. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +36 -38
  176. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +11 -8
  177. data/src/core/ext/filters/deadline/deadline_filter.cc +73 -64
  178. data/src/core/ext/filters/deadline/deadline_filter.h +6 -10
  179. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -2
  180. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +3 -7
  181. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  182. data/src/core/ext/filters/fault_injection/{service_config_parser.h → fault_injection_service_config_parser.h} +20 -12
  183. data/src/core/ext/filters/http/client/http_client_filter.cc +47 -43
  184. data/src/core/ext/filters/http/client/http_client_filter.h +20 -20
  185. data/src/core/ext/filters/http/client_authority_filter.cc +19 -19
  186. data/src/core/ext/filters/http/client_authority_filter.h +21 -21
  187. data/src/core/ext/filters/http/http_filters_plugin.cc +30 -57
  188. data/src/core/ext/filters/http/message_compress/compression_filter.cc +323 -0
  189. data/src/core/ext/filters/http/message_compress/compression_filter.h +139 -0
  190. data/src/core/ext/filters/http/server/http_server_filter.cc +54 -52
  191. data/src/core/ext/filters/http/server/http_server_filter.h +21 -21
  192. data/src/core/ext/filters/message_size/message_size_filter.cc +184 -297
  193. data/src/core/ext/filters/message_size/message_size_filter.h +72 -20
  194. data/src/core/ext/filters/rbac/rbac_filter.cc +16 -15
  195. data/src/core/ext/filters/rbac/rbac_filter.h +3 -3
  196. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +829 -538
  197. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +7 -6
  198. data/src/core/ext/filters/server_config_selector/server_config_selector.h +9 -11
  199. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +12 -16
  200. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +3 -3
  201. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +220 -0
  202. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +81 -0
  203. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  204. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  205. data/src/core/ext/gcp/metadata_query.cc +137 -0
  206. data/src/core/ext/gcp/metadata_query.h +87 -0
  207. data/src/core/ext/transport/chttp2/alpn/alpn.cc +18 -18
  208. data/src/core/ext/transport/chttp2/alpn/alpn.h +24 -24
  209. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +68 -67
  210. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +30 -24
  211. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +149 -149
  212. data/src/core/ext/transport/chttp2/server/chttp2_server.h +21 -21
  213. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +22 -22
  214. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +33 -33
  215. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +41 -37
  216. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +35 -31
  217. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +673 -455
  218. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +42 -22
  219. data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
  220. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +0 -36
  221. data/src/core/ext/transport/chttp2/transport/decode_huff.h +38 -85
  222. data/src/core/ext/transport/chttp2/transport/flow_control.cc +130 -107
  223. data/src/core/ext/transport/chttp2/transport/flow_control.h +66 -39
  224. data/src/core/ext/transport/chttp2/transport/frame.h +21 -21
  225. data/src/core/ext/transport/chttp2/transport/frame_data.cc +35 -32
  226. data/src/core/ext/transport/chttp2/transport/frame_data.h +27 -27
  227. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +38 -36
  228. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +20 -20
  229. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +27 -31
  230. data/src/core/ext/transport/chttp2/transport/frame_ping.h +21 -24
  231. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +30 -25
  232. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +21 -21
  233. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +39 -37
  234. data/src/core/ext/transport/chttp2/transport/frame_settings.h +22 -22
  235. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +24 -21
  236. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +21 -21
  237. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +3 -3
  238. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +201 -353
  239. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +328 -164
  240. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +4 -1
  241. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +5 -3
  242. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +498 -744
  243. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +30 -26
  244. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +41 -37
  245. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +30 -22
  246. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  247. data/src/core/ext/transport/chttp2/transport/http2_settings.h +39 -37
  248. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  249. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  250. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  251. data/src/core/ext/transport/chttp2/transport/huffsyms.h +21 -21
  252. data/src/core/ext/transport/chttp2/transport/internal.h +220 -192
  253. data/src/core/ext/transport/chttp2/transport/parsing.cc +263 -109
  254. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +19 -19
  255. data/src/core/ext/transport/chttp2/transport/stream_map.cc +23 -23
  256. data/src/core/ext/transport/chttp2/transport/stream_map.h +33 -33
  257. data/src/core/ext/transport/chttp2/transport/varint.cc +19 -20
  258. data/src/core/ext/transport/chttp2/transport/varint.h +37 -34
  259. data/src/core/ext/transport/chttp2/transport/writing.cc +93 -72
  260. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -17
  261. data/src/core/ext/transport/inproc/inproc_transport.cc +143 -155
  262. data/src/core/ext/transport/inproc/inproc_transport.h +21 -21
  263. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
  264. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +414 -181
  265. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -59
  266. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +485 -219
  267. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +90 -55
  268. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +415 -188
  269. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +377 -194
  270. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1694 -666
  271. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
  272. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +144 -47
  273. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -21
  274. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -62
  275. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
  276. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +78 -38
  277. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
  278. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +48 -26
  279. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
  280. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +48 -26
  281. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
  282. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +566 -244
  283. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
  284. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +45 -30
  285. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
  286. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
  287. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
  288. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +45 -30
  289. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
  290. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +733 -404
  291. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -258
  292. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1873 -867
  293. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
  294. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +286 -148
  295. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +537 -349
  296. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2038 -1178
  297. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
  298. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +45 -30
  299. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
  300. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +347 -232
  301. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
  302. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +888 -476
  303. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +154 -72
  304. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +603 -213
  305. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
  306. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -36
  307. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -221
  308. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1168 -611
  309. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
  310. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +666 -292
  311. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
  312. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +37 -26
  313. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
  314. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -30
  315. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
  316. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +144 -47
  317. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
  318. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +789 -440
  319. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +222 -128
  320. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1116 -485
  321. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
  322. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +60 -37
  323. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -208
  324. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1088 -625
  325. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +44 -11
  326. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +175 -18
  327. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
  328. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +118 -56
  329. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +48 -16
  330. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +189 -44
  331. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
  332. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +143 -65
  333. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
  334. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -37
  335. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
  336. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +265 -127
  337. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +147 -84
  338. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +454 -226
  339. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
  340. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +559 -227
  341. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
  342. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +35 -26
  343. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +187 -107
  344. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +969 -410
  345. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
  346. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +864 -374
  347. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +49 -23
  348. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +182 -89
  349. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +39 -18
  350. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +74 -56
  351. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
  352. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +71 -45
  353. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
  354. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +489 -249
  355. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
  356. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +505 -245
  357. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +257 -127
  358. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +1010 -387
  359. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +91 -41
  360. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +648 -183
  361. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1301 -751
  362. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5583 -2425
  363. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
  364. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +164 -84
  365. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +228 -141
  366. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +738 -399
  367. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -10
  368. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +53 -22
  369. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
  370. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +45 -30
  371. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
  372. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +70 -49
  373. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
  374. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +110 -43
  375. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
  376. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +259 -100
  377. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +21 -12
  378. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +49 -25
  379. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
  380. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +35 -26
  381. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
  382. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +108 -70
  383. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +7 -4
  384. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -16
  385. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
  386. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +110 -75
  387. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -16
  388. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +100 -46
  389. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
  390. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -23
  391. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
  392. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +150 -108
  393. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
  394. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +357 -167
  395. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +44 -25
  396. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +114 -80
  397. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +42 -18
  398. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +253 -67
  399. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +75 -0
  400. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +201 -0
  401. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +474 -289
  402. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2156 -1037
  403. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +53 -0
  404. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +107 -0
  405. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +69 -0
  406. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +246 -0
  407. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +138 -0
  408. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +499 -0
  409. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +36 -17
  410. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +144 -55
  411. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
  412. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +35 -26
  413. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
  414. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
  415. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -96
  416. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +907 -360
  417. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
  418. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -101
  419. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -109
  420. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +827 -408
  421. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
  422. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +109 -53
  423. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
  424. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +18 -14
  425. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +300 -175
  426. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1297 -511
  427. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
  428. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +188 -75
  429. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +130 -83
  430. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +510 -238
  431. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
  432. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +55 -34
  433. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
  434. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -68
  435. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +56 -0
  436. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +130 -0
  437. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +60 -26
  438. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +130 -51
  439. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
  440. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +133 -63
  441. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
  442. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +91 -40
  443. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
  444. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +50 -32
  445. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
  446. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +37 -26
  447. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
  448. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +101 -70
  449. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +46 -0
  450. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +117 -0
  451. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
  452. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +161 -75
  453. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
  454. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +114 -56
  455. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
  456. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +139 -91
  457. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
  458. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +200 -121
  459. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
  460. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +208 -131
  461. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
  462. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +74 -53
  463. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
  464. data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
  465. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
  466. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +28 -18
  467. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
  468. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +55 -34
  469. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
  470. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +91 -53
  471. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +35 -20
  472. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +92 -57
  473. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
  474. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +16 -9
  475. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
  476. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -26
  477. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
  478. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +61 -41
  479. data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
  480. data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
  481. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
  482. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +934 -450
  483. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
  484. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +946 -483
  485. data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
  486. data/src/core/ext/upb-generated/google/api/http.upb.h +284 -120
  487. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
  488. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +95 -37
  489. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
  490. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
  491. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1018 -424
  492. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3851 -1412
  493. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
  494. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +38 -22
  495. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
  496. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +18 -14
  497. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
  498. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +207 -102
  499. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
  500. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +38 -22
  501. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
  502. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +157 -107
  503. data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
  504. data/src/core/ext/upb-generated/google/rpc/status.upb.h +95 -37
  505. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
  506. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +154 -92
  507. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
  508. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +118 -60
  509. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
  510. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +919 -415
  511. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
  512. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -51
  513. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
  514. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +45 -30
  515. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
  516. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +405 -217
  517. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
  518. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +153 -61
  519. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
  520. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +855 -298
  521. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
  522. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +155 -104
  523. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
  524. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +55 -34
  525. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
  526. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
  527. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
  528. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -34
  529. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
  530. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +45 -30
  531. data/src/core/ext/upb-generated/validate/validate.upb.c +845 -455
  532. data/src/core/ext/upb-generated/validate/validate.upb.h +4347 -1908
  533. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
  534. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +155 -104
  535. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
  536. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +55 -34
  537. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
  538. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
  539. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
  540. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +137 -91
  541. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
  542. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +45 -30
  543. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
  544. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +28 -18
  545. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +56 -0
  546. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +122 -0
  547. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
  548. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +96 -63
  549. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
  550. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +52 -29
  551. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
  552. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +45 -30
  553. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
  554. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +62 -42
  555. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
  556. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +169 -79
  557. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
  558. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +65 -38
  559. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +86 -30
  560. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +223 -54
  561. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -13
  562. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +89 -34
  563. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +53 -0
  564. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +107 -0
  565. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +75 -0
  566. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +270 -0
  567. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +39 -0
  568. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +78 -0
  569. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +78 -0
  570. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +289 -0
  571. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
  572. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +501 -293
  573. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +160 -0
  574. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +740 -0
  575. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
  576. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +53 -37
  577. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
  578. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +161 -75
  579. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +82 -0
  580. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +240 -0
  581. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +85 -0
  582. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +246 -0
  583. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -13
  584. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +45 -30
  585. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
  586. data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
  587. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +55 -54
  588. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
  589. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
  590. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
  591. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +35 -14
  592. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +16 -5
  593. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
  594. data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
  595. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
  596. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
  597. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
  598. data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
  599. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
  600. data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
  601. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
  602. data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
  603. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
  604. data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
  605. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
  606. data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
  607. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
  608. data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
  609. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
  610. data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
  611. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +1 -1
  612. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
  613. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +252 -241
  614. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
  615. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
  616. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
  617. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +233 -225
  618. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -10
  619. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
  620. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
  621. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
  622. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
  623. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
  624. data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
  625. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +96 -76
  626. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +11 -5
  627. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
  628. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
  629. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +95 -94
  630. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
  631. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
  632. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
  633. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
  634. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
  635. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
  636. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
  637. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
  638. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
  639. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
  640. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
  641. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +82 -76
  642. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
  643. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
  644. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
  645. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +193 -188
  646. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
  647. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +32 -16
  648. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +11 -5
  649. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
  650. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
  651. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +8 -4
  652. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +11 -5
  653. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
  654. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
  655. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
  656. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
  657. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
  658. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
  659. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +72 -67
  660. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
  661. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
  662. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
  663. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
  664. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
  665. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +141 -134
  666. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +21 -5
  667. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
  668. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
  669. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +55 -42
  670. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
  671. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
  672. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
  673. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
  674. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
  675. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
  676. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
  677. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
  678. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
  679. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +167 -138
  680. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +16 -5
  681. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +82 -71
  682. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +11 -5
  683. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +772 -739
  684. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +16 -5
  685. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
  686. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
  687. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
  688. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
  689. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +17 -15
  690. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
  691. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
  692. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
  693. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
  694. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
  695. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
  696. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
  697. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
  698. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
  699. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +7 -9
  700. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
  701. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
  702. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
  703. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
  704. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
  705. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
  706. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
  707. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
  708. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
  709. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +21 -19
  710. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
  711. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
  712. data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
  713. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
  714. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
  715. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
  716. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
  717. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
  718. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
  719. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +54 -43
  720. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
  721. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  722. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +41 -0
  723. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +382 -364
  724. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
  725. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  726. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +36 -0
  727. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
  728. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
  729. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
  730. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
  731. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
  732. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
  733. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +151 -147
  734. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
  735. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
  736. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
  737. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +6 -6
  738. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
  739. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +17 -14
  740. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
  741. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +6 -6
  742. data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
  743. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
  744. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
  745. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
  746. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
  747. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
  748. data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
  749. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +48 -0
  750. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +36 -0
  751. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +13 -10
  752. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +11 -5
  753. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
  754. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
  755. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
  756. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
  757. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
  758. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
  759. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
  760. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
  761. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +15 -15
  762. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
  763. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +40 -0
  764. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +41 -0
  765. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
  766. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
  767. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
  768. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
  769. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
  770. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
  771. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
  772. data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
  773. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
  774. data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
  775. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
  776. data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
  777. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
  778. data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
  779. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
  780. data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
  781. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
  782. data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
  783. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
  784. data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
  785. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
  786. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
  787. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +11 -10
  788. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
  789. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
  790. data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
  791. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
  792. data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
  793. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
  794. data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
  795. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
  796. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
  797. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
  798. data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
  799. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
  800. data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
  801. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
  802. data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
  803. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
  804. data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
  805. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +329 -273
  806. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
  807. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
  808. data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
  809. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
  810. data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
  811. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
  812. data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
  813. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
  814. data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
  815. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
  816. data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
  817. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
  818. data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
  819. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
  820. data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
  821. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
  822. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
  823. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
  824. data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
  825. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
  826. data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
  827. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
  828. data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
  829. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
  830. data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
  831. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
  832. data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
  833. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
  834. data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
  835. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
  836. data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
  837. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
  838. data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
  839. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
  840. data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
  841. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
  842. data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
  843. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
  844. data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
  845. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
  846. data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
  847. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  848. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +36 -0
  849. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
  850. data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
  851. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
  852. data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
  853. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
  854. data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
  855. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
  856. data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
  857. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
  858. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
  859. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
  860. data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
  861. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  862. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +36 -0
  863. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  864. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +41 -0
  865. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  866. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +36 -0
  867. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  868. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +41 -0
  869. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +10 -10
  870. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
  871. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  872. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +61 -0
  873. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
  874. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
  875. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
  876. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
  877. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  878. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +41 -0
  879. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  880. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +46 -0
  881. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +5 -8
  882. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
  883. data/src/core/ext/xds/certificate_provider_store.cc +8 -13
  884. data/src/core/ext/xds/certificate_provider_store.h +4 -4
  885. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +32 -46
  886. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +17 -12
  887. data/src/core/ext/xds/upb_utils.h +4 -4
  888. data/src/core/ext/xds/xds_api.cc +61 -113
  889. data/src/core/ext/xds/xds_api.h +13 -15
  890. data/src/core/ext/xds/xds_audit_logger_registry.cc +122 -0
  891. data/src/core/ext/xds/xds_audit_logger_registry.h +68 -0
  892. data/src/core/ext/xds/xds_bootstrap.cc +3 -3
  893. data/src/core/ext/xds/xds_bootstrap.h +3 -4
  894. data/src/core/ext/xds/xds_bootstrap_grpc.cc +37 -33
  895. data/src/core/ext/xds/xds_bootstrap_grpc.h +24 -4
  896. data/src/core/ext/xds/xds_certificate_provider.cc +22 -25
  897. data/src/core/ext/xds/xds_certificate_provider.h +4 -4
  898. data/src/core/ext/xds/xds_channel_args.h +3 -3
  899. data/src/core/ext/xds/xds_channel_stack_modifier.cc +1 -3
  900. data/src/core/ext/xds/xds_channel_stack_modifier.h +4 -4
  901. data/src/core/ext/xds/xds_client.cc +171 -104
  902. data/src/core/ext/xds/xds_client.h +17 -9
  903. data/src/core/ext/xds/xds_client_grpc.cc +30 -24
  904. data/src/core/ext/xds/xds_client_grpc.h +4 -4
  905. data/src/core/ext/xds/xds_client_stats.cc +46 -32
  906. data/src/core/ext/xds/xds_client_stats.h +46 -41
  907. data/src/core/ext/xds/xds_cluster.cc +358 -205
  908. data/src/core/ext/xds/xds_cluster.h +55 -39
  909. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +61 -74
  910. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +50 -26
  911. data/src/core/ext/xds/xds_common_types.cc +213 -141
  912. data/src/core/ext/xds/xds_common_types.h +22 -16
  913. data/src/core/ext/xds/xds_endpoint.cc +229 -132
  914. data/src/core/ext/xds/xds_endpoint.h +17 -12
  915. data/src/core/ext/xds/xds_health_status.cc +80 -0
  916. data/src/core/ext/xds/xds_health_status.h +109 -0
  917. data/src/core/ext/xds/xds_http_fault_filter.cc +68 -51
  918. data/src/core/ext/xds/xds_http_fault_filter.h +19 -26
  919. data/src/core/ext/xds/xds_http_filters.cc +65 -73
  920. data/src/core/ext/xds/xds_http_filters.h +76 -25
  921. data/src/core/ext/xds/xds_http_rbac_filter.cc +303 -272
  922. data/src/core/ext/xds/xds_http_rbac_filter.h +19 -21
  923. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +222 -0
  924. data/src/core/ext/xds/xds_http_stateful_session_filter.h +59 -0
  925. data/src/core/ext/xds/xds_lb_policy_registry.cc +211 -166
  926. data/src/core/ext/xds/xds_lb_policy_registry.h +13 -14
  927. data/src/core/ext/xds/xds_listener.cc +456 -420
  928. data/src/core/ext/xds/xds_listener.h +49 -51
  929. data/src/core/ext/xds/xds_resource_type.h +8 -16
  930. data/src/core/ext/xds/xds_resource_type_impl.h +13 -16
  931. data/src/core/ext/xds/xds_route_config.cc +566 -534
  932. data/src/core/ext/xds/xds_route_config.h +43 -32
  933. data/src/core/ext/xds/xds_routing.cc +4 -3
  934. data/src/core/ext/xds/xds_routing.h +5 -3
  935. data/src/core/ext/xds/xds_server_config_fetcher.cc +109 -106
  936. data/src/core/ext/xds/xds_transport.h +3 -3
  937. data/src/core/ext/xds/xds_transport_grpc.cc +10 -9
  938. data/src/core/ext/xds/xds_transport_grpc.h +4 -4
  939. data/src/core/lib/address_utils/parse_address.cc +30 -29
  940. data/src/core/lib/address_utils/parse_address.h +35 -35
  941. data/src/core/lib/address_utils/sockaddr_utils.cc +30 -28
  942. data/src/core/lib/address_utils/sockaddr_utils.h +36 -36
  943. data/src/core/lib/avl/avl.h +12 -7
  944. data/src/core/lib/backoff/backoff.cc +17 -17
  945. data/src/core/lib/backoff/backoff.h +20 -20
  946. data/src/core/lib/backoff/random_early_detection.cc +31 -0
  947. data/src/core/lib/backoff/random_early_detection.h +59 -0
  948. data/src/core/lib/channel/call_finalization.h +4 -4
  949. data/src/core/lib/channel/call_tracer.cc +51 -0
  950. data/src/core/lib/channel/call_tracer.h +106 -34
  951. data/src/core/lib/channel/channel_args.cc +100 -42
  952. data/src/core/lib/channel/channel_args.h +104 -49
  953. data/src/core/lib/channel/channel_args_preconditioning.h +4 -4
  954. data/src/core/lib/channel/channel_fwd.h +3 -3
  955. data/src/core/lib/channel/channel_stack.cc +60 -57
  956. data/src/core/lib/channel/channel_stack.h +148 -135
  957. data/src/core/lib/channel/channel_stack_builder.cc +21 -24
  958. data/src/core/lib/channel/channel_stack_builder.h +17 -9
  959. data/src/core/lib/channel/channel_stack_builder_impl.cc +56 -25
  960. data/src/core/lib/channel/channel_stack_builder_impl.h +5 -3
  961. data/src/core/lib/channel/channel_trace.cc +37 -34
  962. data/src/core/lib/channel/channel_trace.h +22 -22
  963. data/src/core/lib/channel/channelz.cc +181 -154
  964. data/src/core/lib/channel/channelz.h +71 -64
  965. data/src/core/lib/channel/channelz_registry.cc +41 -37
  966. data/src/core/lib/channel/channelz_registry.h +21 -21
  967. data/src/core/lib/channel/connected_channel.cc +764 -67
  968. data/src/core/lib/channel/connected_channel.h +20 -24
  969. data/src/core/lib/channel/context.h +33 -22
  970. data/src/core/lib/channel/promise_based_filter.cc +1591 -278
  971. data/src/core/lib/channel/promise_based_filter.h +486 -104
  972. data/src/core/lib/channel/server_call_tracer_filter.cc +110 -0
  973. data/src/core/lib/channel/status_util.cc +35 -17
  974. data/src/core/lib/channel/status_util.h +29 -22
  975. data/src/core/lib/compression/compression.cc +19 -19
  976. data/src/core/lib/compression/compression_internal.cc +38 -48
  977. data/src/core/lib/compression/compression_internal.h +25 -25
  978. data/src/core/lib/compression/message_compress.cc +26 -26
  979. data/src/core/lib/compression/message_compress.h +27 -27
  980. data/src/core/lib/config/config_vars.cc +153 -0
  981. data/src/core/lib/config/config_vars.h +127 -0
  982. data/src/core/lib/config/config_vars_non_generated.cc +51 -0
  983. data/src/core/lib/config/core_configuration.h +3 -3
  984. data/src/core/lib/config/load_config.cc +79 -0
  985. data/src/core/lib/config/load_config.h +55 -0
  986. data/src/core/lib/debug/event_log.cc +88 -0
  987. data/src/core/lib/debug/event_log.h +81 -0
  988. data/src/core/lib/debug/histogram_view.cc +69 -0
  989. data/src/core/lib/debug/histogram_view.h +37 -0
  990. data/src/core/lib/debug/stats.cc +39 -136
  991. data/src/core/lib/debug/stats.h +49 -55
  992. data/src/core/lib/debug/stats_data.cc +240 -88
  993. data/src/core/lib/debug/stats_data.h +295 -145
  994. data/src/core/lib/debug/trace.cc +56 -79
  995. data/src/core/lib/debug/trace.h +37 -54
  996. data/src/core/lib/event_engine/cf_engine/cf_engine.cc +211 -0
  997. data/src/core/lib/event_engine/cf_engine/cf_engine.h +86 -0
  998. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +354 -0
  999. data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +146 -0
  1000. data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +79 -0
  1001. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +5 -0
  1002. data/src/core/lib/event_engine/channel_args_endpoint_config.h +3 -3
  1003. data/src/core/lib/event_engine/common_closures.h +71 -0
  1004. data/src/core/lib/event_engine/default_event_engine.cc +56 -16
  1005. data/src/core/lib/event_engine/default_event_engine.h +44 -8
  1006. data/src/core/lib/event_engine/default_event_engine_factory.cc +16 -6
  1007. data/src/core/lib/event_engine/default_event_engine_factory.h +3 -3
  1008. data/src/core/lib/event_engine/event_engine.cc +60 -0
  1009. data/src/core/lib/event_engine/forkable.cc +11 -6
  1010. data/src/core/lib/event_engine/forkable.h +3 -3
  1011. data/src/core/lib/event_engine/handle_containers.h +12 -20
  1012. data/src/core/lib/event_engine/memory_allocator.cc +1 -1
  1013. data/src/core/lib/event_engine/memory_allocator_factory.h +47 -0
  1014. data/src/core/lib/event_engine/poller.h +13 -7
  1015. data/src/core/lib/event_engine/posix.h +162 -0
  1016. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +642 -0
  1017. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +139 -0
  1018. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +895 -0
  1019. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  1020. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  1021. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +68 -0
  1022. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +33 -0
  1023. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  1024. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  1025. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +254 -0
  1026. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  1027. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1338 -0
  1028. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +726 -0
  1029. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +523 -28
  1030. data/src/core/lib/event_engine/posix_engine/posix_engine.h +165 -27
  1031. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  1032. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +292 -0
  1033. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +278 -0
  1034. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +379 -0
  1035. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  1036. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +867 -0
  1037. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +316 -0
  1038. data/src/core/lib/event_engine/posix_engine/timer.cc +49 -49
  1039. data/src/core/lib/event_engine/posix_engine/timer.h +90 -89
  1040. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +27 -27
  1041. data/src/core/lib/event_engine/posix_engine/timer_heap.h +24 -24
  1042. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +76 -214
  1043. data/src/core/lib/event_engine/posix_engine/timer_manager.h +44 -72
  1044. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +332 -0
  1045. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +185 -0
  1046. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +127 -0
  1047. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  1048. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +150 -0
  1049. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +45 -0
  1050. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  1051. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  1052. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  1053. data/src/core/lib/event_engine/resolved_address.cc +21 -1
  1054. data/src/core/lib/event_engine/{executor/executor.h → resolved_address_internal.h} +11 -15
  1055. data/src/core/lib/event_engine/shim.cc +64 -0
  1056. data/src/core/lib/event_engine/{executor/threaded_executor.cc → shim.h} +10 -13
  1057. data/src/core/lib/event_engine/slice.cc +8 -7
  1058. data/src/core/lib/event_engine/slice_buffer.cc +2 -2
  1059. data/src/core/lib/event_engine/tcp_socket_utils.cc +389 -0
  1060. data/src/core/lib/event_engine/tcp_socket_utils.h +90 -0
  1061. data/src/core/lib/event_engine/thread_local.cc +29 -0
  1062. data/src/core/lib/event_engine/thread_local.h +32 -0
  1063. data/src/core/lib/event_engine/thread_pool/original_thread_pool.cc +256 -0
  1064. data/src/core/lib/event_engine/thread_pool/original_thread_pool.h +137 -0
  1065. data/src/core/lib/event_engine/thread_pool/thread_pool.h +50 -0
  1066. data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +40 -0
  1067. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +489 -0
  1068. data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +249 -0
  1069. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +166 -0
  1070. data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +108 -0
  1071. data/src/core/lib/event_engine/time_util.h +3 -3
  1072. data/src/core/lib/event_engine/trace.cc +7 -0
  1073. data/src/core/lib/event_engine/trace.h +22 -3
  1074. data/src/core/lib/event_engine/utils.cc +2 -2
  1075. data/src/core/lib/event_engine/utils.h +12 -4
  1076. data/src/core/lib/event_engine/windows/iocp.cc +39 -53
  1077. data/src/core/lib/event_engine/windows/iocp.h +7 -7
  1078. data/src/core/lib/event_engine/windows/win_socket.cc +69 -47
  1079. data/src/core/lib/event_engine/windows/win_socket.h +38 -29
  1080. data/src/core/lib/event_engine/windows/windows_endpoint.cc +379 -0
  1081. data/src/core/lib/event_engine/windows/windows_endpoint.h +120 -0
  1082. data/src/core/lib/event_engine/windows/windows_engine.cc +285 -33
  1083. data/src/core/lib/event_engine/windows/windows_engine.h +70 -26
  1084. data/src/core/lib/event_engine/windows/windows_listener.cc +370 -0
  1085. data/src/core/lib/event_engine/windows/windows_listener.h +156 -0
  1086. data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +63 -0
  1087. data/src/core/lib/event_engine/work_queue/basic_work_queue.h +71 -0
  1088. data/src/core/lib/event_engine/work_queue/work_queue.h +62 -0
  1089. data/src/core/lib/experiments/config.cc +56 -17
  1090. data/src/core/lib/experiments/config.h +29 -3
  1091. data/src/core/lib/experiments/experiments.cc +92 -29
  1092. data/src/core/lib/experiments/experiments.h +101 -23
  1093. data/src/core/lib/gpr/alloc.cc +19 -17
  1094. data/src/core/lib/gpr/alloc.h +20 -20
  1095. data/src/core/lib/gpr/{log_android.cc → android/log.cc} +22 -20
  1096. data/src/core/lib/gpr/atm.cc +17 -17
  1097. data/src/core/lib/gpr/iphone/cpu.cc +44 -0
  1098. data/src/core/lib/gpr/{cpu_linux.cc → linux/cpu.cc} +28 -23
  1099. data/src/core/lib/gpr/{log_linux.cc → linux/log.cc} +24 -24
  1100. data/src/core/lib/gpr/log.cc +42 -47
  1101. data/src/core/lib/gpr/log_internal.h +55 -0
  1102. data/src/core/lib/gpr/{tmpfile_msys.cc → msys/tmpfile.cc} +21 -20
  1103. data/src/core/lib/gpr/{cpu_posix.cc → posix/cpu.cc} +23 -22
  1104. data/src/core/lib/gpr/{log_posix.cc → posix/log.cc} +20 -19
  1105. data/src/core/lib/gpr/{string_posix.cc → posix/string.cc} +24 -24
  1106. data/src/core/lib/gpr/{sync_posix.cc → posix/sync.cc} +23 -21
  1107. data/src/core/lib/gpr/{time_posix.cc → posix/time.cc} +40 -30
  1108. data/src/core/lib/gpr/{tmpfile_posix.cc → posix/tmpfile.cc} +22 -20
  1109. data/src/core/lib/gpr/spinlock.h +20 -20
  1110. data/src/core/lib/gpr/string.cc +25 -24
  1111. data/src/core/lib/gpr/string.h +61 -61
  1112. data/src/core/lib/gpr/sync.cc +25 -25
  1113. data/src/core/lib/gpr/sync_abseil.cc +37 -27
  1114. data/src/core/lib/gpr/time.cc +23 -21
  1115. data/src/core/lib/gpr/time_precise.cc +22 -22
  1116. data/src/core/lib/gpr/time_precise.h +20 -21
  1117. data/src/core/lib/gpr/tmpfile.h +24 -24
  1118. data/src/core/lib/gpr/useful.h +43 -30
  1119. data/src/core/{ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc → lib/gpr/windows/cpu.cc} +16 -11
  1120. data/src/core/lib/gpr/{log_windows.cc → windows/log.cc} +25 -24
  1121. data/src/core/lib/gpr/windows/string.cc +69 -0
  1122. data/src/core/lib/gpr/{string_util_windows.cc → windows/string_util.cc} +22 -22
  1123. data/src/core/lib/gpr/{sync_windows.cc → windows/sync.cc} +29 -27
  1124. data/src/core/lib/gpr/{time_windows.cc → windows/time.cc} +25 -22
  1125. data/src/core/lib/gpr/{tmpfile_windows.cc → windows/tmpfile.cc} +23 -22
  1126. data/src/core/lib/gpr/wrap_memcpy.cc +23 -23
  1127. data/src/core/lib/gprpp/atomic_utils.h +20 -20
  1128. data/src/core/lib/gprpp/bitset.h +27 -3
  1129. data/src/core/lib/gprpp/chunked_vector.h +3 -3
  1130. data/src/core/lib/gprpp/construct_destruct.h +3 -3
  1131. data/src/core/lib/gprpp/cpp_impl_of.h +3 -3
  1132. data/src/core/lib/gprpp/crash.cc +43 -0
  1133. data/src/core/lib/gprpp/crash.h +37 -0
  1134. data/src/core/lib/gprpp/debug_location.h +20 -23
  1135. data/src/core/lib/gprpp/dual_ref_counted.h +3 -3
  1136. data/src/core/lib/gprpp/env.h +23 -23
  1137. data/src/core/lib/gprpp/examine_stack.cc +17 -17
  1138. data/src/core/lib/gprpp/examine_stack.h +21 -21
  1139. data/src/core/lib/gprpp/fork.cc +49 -39
  1140. data/src/core/lib/gprpp/fork.h +29 -27
  1141. data/src/core/lib/gprpp/host_port.cc +28 -26
  1142. data/src/core/lib/gprpp/host_port.h +32 -31
  1143. data/src/core/lib/gprpp/{env_linux.cc → linux/env.cc} +21 -21
  1144. data/src/core/lib/gprpp/load_file.cc +75 -0
  1145. data/src/core/lib/gprpp/load_file.h +33 -0
  1146. data/src/core/lib/gprpp/manual_constructor.h +22 -21
  1147. data/src/core/lib/gprpp/match.h +3 -3
  1148. data/src/core/lib/gprpp/memory.h +21 -21
  1149. data/src/core/lib/gprpp/mpscq.cc +17 -17
  1150. data/src/core/lib/gprpp/mpscq.h +21 -21
  1151. data/src/core/lib/gprpp/no_destruct.h +4 -3
  1152. data/src/core/lib/gprpp/notification.h +3 -3
  1153. data/src/core/lib/gprpp/orphanable.h +25 -24
  1154. data/src/core/lib/gprpp/overload.h +3 -3
  1155. data/src/core/lib/gprpp/packed_table.h +3 -3
  1156. data/src/core/lib/gprpp/per_cpu.cc +33 -0
  1157. data/src/core/lib/gprpp/per_cpu.h +75 -0
  1158. data/src/core/lib/gprpp/posix/env.cc +47 -0
  1159. data/src/core/lib/gprpp/{stat_posix.cc → posix/stat.cc} +5 -4
  1160. data/src/core/lib/gprpp/{thd_posix.cc → posix/thd.cc} +75 -64
  1161. data/src/core/lib/gprpp/ref_counted.h +54 -55
  1162. data/src/core/lib/gprpp/ref_counted_ptr.h +22 -21
  1163. data/src/core/lib/gprpp/single_set_ptr.h +3 -3
  1164. data/src/core/lib/gprpp/sorted_pack.h +3 -3
  1165. data/src/core/lib/gprpp/stat.h +3 -3
  1166. data/src/core/lib/gprpp/status_helper.cc +6 -5
  1167. data/src/core/lib/gprpp/status_helper.h +4 -6
  1168. data/src/core/lib/gprpp/strerror.cc +43 -0
  1169. data/src/core/lib/gprpp/strerror.h +29 -0
  1170. data/src/core/lib/gprpp/sync.h +23 -23
  1171. data/src/core/lib/gprpp/table.h +4 -3
  1172. data/src/core/lib/gprpp/tchar.h +3 -3
  1173. data/src/core/lib/gprpp/thd.h +39 -23
  1174. data/src/core/lib/gprpp/time.cc +18 -10
  1175. data/src/core/lib/gprpp/time.h +16 -6
  1176. data/src/core/lib/gprpp/time_averaged_stats.cc +20 -20
  1177. data/src/core/lib/gprpp/time_averaged_stats.h +50 -50
  1178. data/src/core/lib/gprpp/time_util.h +4 -4
  1179. data/src/core/lib/gprpp/unique_type_name.h +21 -21
  1180. data/src/core/lib/gprpp/validation_errors.cc +8 -3
  1181. data/src/core/lib/gprpp/validation_errors.h +37 -13
  1182. data/src/core/lib/gprpp/{env_windows.cc → windows/env.cc} +18 -18
  1183. data/src/core/lib/gprpp/{stat_windows.cc → windows/stat.cc} +4 -2
  1184. data/src/core/lib/gprpp/{thd_windows.cc → windows/thd.cc} +28 -28
  1185. data/src/core/lib/gprpp/work_serializer.h +3 -3
  1186. data/src/core/lib/handshaker/proxy_mapper.h +21 -21
  1187. data/src/core/lib/handshaker/proxy_mapper_registry.cc +17 -17
  1188. data/src/core/lib/handshaker/proxy_mapper_registry.h +21 -21
  1189. data/src/core/lib/http/format_request.cc +19 -18
  1190. data/src/core/lib/http/format_request.h +20 -20
  1191. data/src/core/lib/http/httpcli.cc +58 -61
  1192. data/src/core/lib/http/httpcli.h +29 -29
  1193. data/src/core/lib/http/httpcli_security_connector.cc +22 -25
  1194. data/src/core/lib/http/httpcli_ssl_credentials.h +3 -3
  1195. data/src/core/lib/http/parser.cc +76 -87
  1196. data/src/core/lib/http/parser.h +35 -35
  1197. data/src/core/lib/iomgr/block_annotate.h +23 -23
  1198. data/src/core/lib/iomgr/buffer_list.cc +156 -136
  1199. data/src/core/lib/iomgr/buffer_list.h +122 -101
  1200. data/src/core/lib/iomgr/call_combiner.cc +32 -30
  1201. data/src/core/lib/iomgr/call_combiner.h +26 -27
  1202. data/src/core/lib/iomgr/cfstream_handle.cc +34 -37
  1203. data/src/core/lib/iomgr/cfstream_handle.h +25 -25
  1204. data/src/core/lib/iomgr/closure.cc +27 -0
  1205. data/src/core/lib/iomgr/closure.h +95 -48
  1206. data/src/core/lib/iomgr/combiner.cc +20 -19
  1207. data/src/core/lib/iomgr/combiner.h +20 -20
  1208. data/src/core/lib/iomgr/dualstack_socket_posix.cc +21 -21
  1209. data/src/core/lib/iomgr/dynamic_annotations.h +22 -22
  1210. data/src/core/lib/iomgr/endpoint.cc +17 -17
  1211. data/src/core/lib/iomgr/endpoint.h +49 -49
  1212. data/src/core/lib/iomgr/endpoint_cfstream.cc +58 -53
  1213. data/src/core/lib/iomgr/endpoint_cfstream.h +32 -32
  1214. data/src/core/lib/iomgr/endpoint_pair.h +22 -22
  1215. data/src/core/lib/iomgr/endpoint_pair_posix.cc +22 -21
  1216. data/src/core/lib/iomgr/endpoint_pair_windows.cc +29 -20
  1217. data/src/core/lib/iomgr/error.cc +49 -61
  1218. data/src/core/lib/iomgr/error.h +45 -176
  1219. data/src/core/lib/iomgr/error_cfstream.cc +18 -18
  1220. data/src/core/lib/iomgr/error_cfstream.h +21 -21
  1221. data/src/core/lib/iomgr/ev_apple.cc +33 -33
  1222. data/src/core/lib/iomgr/ev_apple.h +21 -21
  1223. data/src/core/lib/iomgr/ev_epoll1_linux.cc +218 -198
  1224. data/src/core/lib/iomgr/ev_epoll1_linux.h +20 -20
  1225. data/src/core/lib/iomgr/ev_poll_posix.cc +212 -205
  1226. data/src/core/lib/iomgr/ev_poll_posix.h +20 -20
  1227. data/src/core/lib/iomgr/ev_posix.cc +47 -79
  1228. data/src/core/lib/iomgr/ev_posix.h +88 -87
  1229. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  1230. data/src/core/lib/iomgr/event_engine_shims/closure.cc +62 -0
  1231. data/src/core/lib/{event_engine/executor/threaded_executor.h → iomgr/event_engine_shims/closure.h} +11 -16
  1232. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +471 -0
  1233. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +43 -0
  1234. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +91 -0
  1235. data/src/core/lib/iomgr/event_engine_shims/tcp_client.h +44 -0
  1236. data/src/core/lib/iomgr/exec_ctx.cc +34 -34
  1237. data/src/core/lib/iomgr/exec_ctx.h +144 -144
  1238. data/src/core/lib/iomgr/executor.cc +21 -21
  1239. data/src/core/lib/iomgr/executor.h +27 -27
  1240. data/src/core/lib/iomgr/fork_posix.cc +29 -26
  1241. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  1242. data/src/core/lib/iomgr/gethostname.h +20 -20
  1243. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  1244. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  1245. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  1246. data/src/core/lib/iomgr/grpc_if_nametoindex.h +22 -22
  1247. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +20 -19
  1248. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +20 -19
  1249. data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
  1250. data/src/core/lib/iomgr/internal_errqueue.h +83 -83
  1251. data/src/core/lib/iomgr/iocp_windows.cc +46 -24
  1252. data/src/core/lib/iomgr/iocp_windows.h +32 -21
  1253. data/src/core/lib/iomgr/iomgr.cc +23 -26
  1254. data/src/core/lib/iomgr/iomgr.h +35 -35
  1255. data/src/core/lib/iomgr/iomgr_fwd.h +3 -3
  1256. data/src/core/lib/iomgr/iomgr_internal.cc +17 -17
  1257. data/src/core/lib/iomgr/iomgr_internal.h +28 -28
  1258. data/src/core/lib/iomgr/iomgr_posix.cc +20 -20
  1259. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +21 -20
  1260. data/src/core/lib/iomgr/iomgr_windows.cc +32 -24
  1261. data/src/core/lib/iomgr/load_file.cc +24 -27
  1262. data/src/core/lib/iomgr/load_file.h +22 -22
  1263. data/src/core/lib/iomgr/lockfree_event.cc +114 -114
  1264. data/src/core/lib/iomgr/lockfree_event.h +23 -23
  1265. data/src/core/lib/iomgr/nameser.h +86 -86
  1266. data/src/core/lib/iomgr/polling_entity.cc +25 -21
  1267. data/src/core/lib/iomgr/polling_entity.h +29 -29
  1268. data/src/core/lib/iomgr/pollset.cc +17 -17
  1269. data/src/core/lib/iomgr/pollset.h +54 -54
  1270. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  1271. data/src/core/lib/iomgr/pollset_set.h +25 -25
  1272. data/src/core/lib/iomgr/pollset_set_windows.cc +27 -27
  1273. data/src/core/lib/iomgr/pollset_set_windows.h +20 -20
  1274. data/src/core/lib/iomgr/pollset_windows.cc +33 -32
  1275. data/src/core/lib/iomgr/pollset_windows.h +24 -24
  1276. data/src/core/lib/iomgr/port.h +31 -31
  1277. data/src/core/lib/iomgr/python_util.h +24 -24
  1278. data/src/core/lib/iomgr/resolve_address.cc +26 -20
  1279. data/src/core/lib/iomgr/resolve_address.h +24 -25
  1280. data/src/core/lib/iomgr/resolve_address_impl.h +4 -4
  1281. data/src/core/lib/iomgr/resolve_address_posix.cc +35 -45
  1282. data/src/core/lib/iomgr/resolve_address_posix.h +4 -5
  1283. data/src/core/lib/iomgr/resolve_address_windows.cc +18 -20
  1284. data/src/core/lib/iomgr/resolve_address_windows.h +4 -5
  1285. data/src/core/lib/iomgr/resolved_address.h +3 -3
  1286. data/src/core/lib/iomgr/sockaddr.h +23 -23
  1287. data/src/core/lib/iomgr/sockaddr_posix.h +21 -21
  1288. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +18 -17
  1289. data/src/core/lib/iomgr/sockaddr_windows.h +21 -21
  1290. data/src/core/lib/iomgr/socket_factory_posix.cc +18 -18
  1291. data/src/core/lib/iomgr/socket_factory_posix.h +32 -32
  1292. data/src/core/lib/iomgr/socket_mutator.cc +19 -18
  1293. data/src/core/lib/iomgr/socket_mutator.h +39 -39
  1294. data/src/core/lib/iomgr/socket_utils.h +27 -27
  1295. data/src/core/lib/iomgr/socket_utils_common_posix.cc +87 -70
  1296. data/src/core/lib/iomgr/socket_utils_linux.cc +18 -17
  1297. data/src/core/lib/iomgr/socket_utils_posix.cc +25 -20
  1298. data/src/core/lib/iomgr/socket_utils_posix.h +84 -81
  1299. data/src/core/lib/iomgr/socket_utils_windows.cc +20 -19
  1300. data/src/core/lib/iomgr/socket_windows.cc +97 -42
  1301. data/src/core/lib/iomgr/socket_windows.h +68 -61
  1302. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  1303. data/src/core/lib/iomgr/systemd_utils.h +33 -0
  1304. data/src/core/lib/iomgr/tcp_client.cc +17 -17
  1305. data/src/core/lib/iomgr/tcp_client.h +28 -28
  1306. data/src/core/lib/iomgr/tcp_client_cfstream.cc +39 -31
  1307. data/src/core/lib/iomgr/tcp_client_posix.cc +86 -73
  1308. data/src/core/lib/iomgr/tcp_client_posix.h +45 -45
  1309. data/src/core/lib/iomgr/tcp_client_windows.cc +51 -42
  1310. data/src/core/lib/iomgr/tcp_posix.cc +270 -301
  1311. data/src/core/lib/iomgr/tcp_posix.h +29 -29
  1312. data/src/core/lib/iomgr/tcp_server.cc +30 -22
  1313. data/src/core/lib/iomgr/tcp_server.h +71 -65
  1314. data/src/core/lib/iomgr/tcp_server_posix.cc +373 -98
  1315. data/src/core/lib/iomgr/tcp_server_utils_posix.h +67 -54
  1316. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +90 -55
  1317. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +40 -40
  1318. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +19 -19
  1319. data/src/core/lib/iomgr/tcp_server_windows.cc +277 -119
  1320. data/src/core/lib/iomgr/tcp_windows.cc +121 -101
  1321. data/src/core/lib/iomgr/tcp_windows.h +34 -34
  1322. data/src/core/lib/iomgr/timer.cc +17 -17
  1323. data/src/core/lib/iomgr/timer.h +68 -68
  1324. data/src/core/lib/iomgr/timer_generic.cc +132 -138
  1325. data/src/core/lib/iomgr/timer_generic.h +21 -21
  1326. data/src/core/lib/iomgr/timer_heap.cc +25 -25
  1327. data/src/core/lib/iomgr/timer_heap.h +22 -22
  1328. data/src/core/lib/iomgr/timer_manager.cc +30 -29
  1329. data/src/core/lib/iomgr/timer_manager.h +27 -27
  1330. data/src/core/lib/iomgr/unix_sockets_posix.cc +20 -21
  1331. data/src/core/lib/iomgr/unix_sockets_posix.h +21 -21
  1332. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +19 -17
  1333. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +23 -21
  1334. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +23 -23
  1335. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +29 -26
  1336. data/src/core/lib/iomgr/wakeup_fd_pipe.h +20 -20
  1337. data/src/core/lib/iomgr/wakeup_fd_posix.cc +18 -18
  1338. data/src/core/lib/iomgr/wakeup_fd_posix.h +52 -52
  1339. data/src/core/lib/json/json.h +5 -221
  1340. data/src/core/lib/json/json_args.h +3 -3
  1341. data/src/core/lib/json/json_channel_args.h +42 -0
  1342. data/src/core/lib/json/json_object_loader.cc +39 -25
  1343. data/src/core/lib/json/json_object_loader.h +69 -21
  1344. data/src/core/lib/json/json_reader.cc +98 -70
  1345. data/src/core/lib/json/json_reader.h +34 -0
  1346. data/src/core/lib/json/json_util.cc +14 -19
  1347. data/src/core/lib/json/json_util.h +12 -11
  1348. data/src/core/lib/json/json_writer.cc +80 -81
  1349. data/src/core/{ext/xds/xds_resource_type.cc → lib/json/json_writer.h} +11 -11
  1350. data/src/core/lib/load_balancing/lb_policy.cc +36 -31
  1351. data/src/core/lib/load_balancing/lb_policy.h +32 -10
  1352. data/src/core/lib/load_balancing/lb_policy_factory.h +3 -3
  1353. data/src/core/lib/load_balancing/lb_policy_registry.cc +10 -8
  1354. data/src/core/lib/load_balancing/lb_policy_registry.h +3 -3
  1355. data/src/core/lib/load_balancing/subchannel_interface.h +9 -14
  1356. data/src/core/lib/matchers/matchers.cc +10 -9
  1357. data/src/core/lib/matchers/matchers.h +5 -4
  1358. data/src/core/lib/promise/activity.cc +43 -6
  1359. data/src/core/lib/promise/activity.h +143 -79
  1360. data/src/core/lib/promise/arena_promise.h +84 -54
  1361. data/src/core/lib/promise/cancel_callback.h +77 -0
  1362. data/src/core/lib/promise/context.h +17 -9
  1363. data/src/core/lib/promise/detail/basic_join.h +197 -0
  1364. data/src/core/lib/promise/detail/basic_seq.h +20 -45
  1365. data/src/core/lib/promise/detail/promise_factory.h +67 -14
  1366. data/src/core/lib/promise/detail/promise_like.h +3 -3
  1367. data/src/core/lib/promise/detail/status.h +31 -3
  1368. data/src/core/lib/promise/detail/switch.h +1455 -0
  1369. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +23 -15
  1370. data/src/core/lib/promise/for_each.h +176 -0
  1371. data/src/core/lib/promise/if.h +204 -0
  1372. data/src/core/lib/promise/interceptor_list.h +329 -0
  1373. data/src/core/lib/promise/latch.h +197 -23
  1374. data/src/core/lib/promise/loop.h +22 -16
  1375. data/src/core/lib/promise/map.h +12 -6
  1376. data/src/core/lib/promise/party.cc +304 -0
  1377. data/src/core/lib/promise/party.h +508 -0
  1378. data/src/core/lib/promise/pipe.h +762 -0
  1379. data/src/core/lib/promise/poll.h +177 -11
  1380. data/src/core/lib/promise/prioritized_race.h +95 -0
  1381. data/src/core/lib/promise/promise.h +6 -7
  1382. data/src/core/lib/promise/race.h +6 -9
  1383. data/src/core/lib/promise/seq.h +7 -8
  1384. data/src/core/lib/promise/sleep.cc +7 -5
  1385. data/src/core/lib/promise/sleep.h +4 -5
  1386. data/src/core/lib/promise/trace.cc +20 -0
  1387. data/src/core/lib/promise/trace.h +24 -0
  1388. data/src/core/lib/promise/try_join.h +82 -0
  1389. data/src/core/lib/promise/try_seq.h +14 -16
  1390. data/src/core/lib/resolver/resolver.cc +17 -17
  1391. data/src/core/lib/resolver/resolver.h +3 -3
  1392. data/src/core/lib/resolver/resolver_factory.h +4 -4
  1393. data/src/core/lib/resolver/resolver_registry.cc +15 -0
  1394. data/src/core/lib/resolver/resolver_registry.h +3 -3
  1395. data/src/core/lib/resolver/server_address.cc +19 -25
  1396. data/src/core/lib/resolver/server_address.h +22 -30
  1397. data/src/core/lib/resource_quota/api.cc +0 -1
  1398. data/src/core/lib/resource_quota/api.h +4 -4
  1399. data/src/core/lib/resource_quota/arena.cc +82 -20
  1400. data/src/core/lib/resource_quota/arena.h +287 -22
  1401. data/src/core/lib/resource_quota/memory_quota.cc +141 -44
  1402. data/src/core/lib/resource_quota/memory_quota.h +87 -26
  1403. data/src/core/lib/resource_quota/periodic_update.h +3 -3
  1404. data/src/core/lib/resource_quota/resource_quota.h +4 -4
  1405. data/src/core/lib/resource_quota/thread_quota.h +3 -3
  1406. data/src/core/lib/resource_quota/trace.h +3 -3
  1407. data/src/core/lib/security/authorization/audit_logging.cc +98 -0
  1408. data/src/core/lib/security/authorization/audit_logging.h +73 -0
  1409. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1410. data/src/core/lib/security/authorization/authorization_policy_provider.h +4 -4
  1411. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +0 -1
  1412. data/src/core/lib/security/authorization/evaluate_args.h +3 -3
  1413. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +47 -4
  1414. data/src/core/lib/security/authorization/grpc_authorization_engine.h +21 -4
  1415. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +4 -2
  1416. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +3 -3
  1417. data/src/core/lib/security/authorization/matchers.cc +25 -22
  1418. data/src/core/lib/security/authorization/matchers.h +3 -3
  1419. data/src/core/lib/security/authorization/rbac_policy.cc +39 -7
  1420. data/src/core/lib/security/authorization/rbac_policy.h +22 -5
  1421. data/src/core/lib/security/authorization/stdout_logger.cc +75 -0
  1422. data/src/core/lib/security/authorization/stdout_logger.h +61 -0
  1423. data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +11 -7
  1424. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +8 -18
  1425. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +17 -11
  1426. data/src/core/lib/security/context/security_context.cc +22 -23
  1427. data/src/core/lib/security/context/security_context.h +43 -33
  1428. data/src/core/lib/security/credentials/alts/alts_credentials.cc +17 -17
  1429. data/src/core/lib/security/credentials/alts/alts_credentials.h +53 -53
  1430. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +19 -19
  1431. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +43 -43
  1432. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +17 -17
  1433. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +18 -17
  1434. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +18 -17
  1435. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +19 -19
  1436. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  1437. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +38 -39
  1438. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +18 -18
  1439. data/src/core/lib/security/credentials/call_creds_util.h +3 -3
  1440. data/src/core/lib/security/credentials/channel_creds_registry.h +3 -3
  1441. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +3 -4
  1442. data/src/core/lib/security/credentials/composite/composite_credentials.cc +22 -22
  1443. data/src/core/lib/security/credentials/composite/composite_credentials.h +23 -24
  1444. data/src/core/lib/security/credentials/credentials.cc +19 -18
  1445. data/src/core/lib/security/credentials/credentials.h +37 -36
  1446. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +113 -108
  1447. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +4 -3
  1448. data/src/core/lib/security/credentials/external/aws_request_signer.cc +5 -3
  1449. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1450. data/src/core/lib/security/credentials/external/external_account_credentials.cc +105 -115
  1451. data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
  1452. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +39 -41
  1453. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +3 -3
  1454. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +51 -52
  1455. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +3 -3
  1456. data/src/core/lib/security/credentials/fake/fake_credentials.cc +20 -19
  1457. data/src/core/lib/security/credentials/fake/fake_credentials.h +37 -38
  1458. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +17 -17
  1459. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +72 -126
  1460. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +21 -22
  1461. data/src/core/lib/security/credentials/iam/iam_credentials.cc +19 -17
  1462. data/src/core/lib/security/credentials/iam/iam_credentials.h +20 -20
  1463. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +3 -3
  1464. data/src/core/lib/security/credentials/jwt/json_token.cc +43 -41
  1465. data/src/core/lib/security/credentials/jwt/json_token.h +35 -35
  1466. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +27 -22
  1467. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +22 -22
  1468. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +115 -113
  1469. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +46 -46
  1470. data/src/core/lib/security/credentials/local/local_credentials.cc +17 -17
  1471. data/src/core/lib/security/credentials/local/local_credentials.h +23 -23
  1472. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +80 -80
  1473. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +24 -23
  1474. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +24 -23
  1475. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +25 -25
  1476. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +19 -20
  1477. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +20 -20
  1478. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +20 -28
  1479. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +7 -14
  1480. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +44 -44
  1481. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +5 -3
  1482. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +1 -1
  1483. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +3 -3
  1484. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +18 -18
  1485. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +3 -3
  1486. data/src/core/lib/security/credentials/tls/tls_credentials.cc +18 -19
  1487. data/src/core/lib/security/credentials/tls/tls_credentials.h +21 -21
  1488. data/src/core/lib/security/credentials/tls/tls_utils.h +3 -3
  1489. data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -2
  1490. data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
  1491. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +33 -43
  1492. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +43 -44
  1493. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +33 -41
  1494. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +22 -23
  1495. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  1496. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +5 -10
  1497. data/src/core/lib/security/security_connector/load_system_roots.h +20 -20
  1498. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +18 -18
  1499. data/src/core/lib/security/security_connector/load_system_roots_supported.cc +24 -31
  1500. data/src/core/lib/security/security_connector/load_system_roots_supported.h +22 -23
  1501. data/src/core/lib/security/security_connector/local/local_security_connector.cc +30 -34
  1502. data/src/core/lib/security/security_connector/local/local_security_connector.h +42 -43
  1503. data/src/core/lib/security/security_connector/security_connector.cc +17 -17
  1504. data/src/core/lib/security/security_connector/security_connector.h +35 -36
  1505. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +35 -39
  1506. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +40 -41
  1507. data/src/core/lib/security/security_connector/ssl_utils.cc +48 -64
  1508. data/src/core/lib/security/security_connector/ssl_utils.h +35 -35
  1509. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +54 -48
  1510. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +21 -21
  1511. data/src/core/lib/security/transport/auth_filters.h +45 -23
  1512. data/src/core/lib/security/transport/client_auth_filter.cc +21 -21
  1513. data/src/core/lib/security/transport/secure_endpoint.cc +58 -58
  1514. data/src/core/lib/security/transport/secure_endpoint.h +25 -25
  1515. data/src/core/lib/security/transport/security_handshaker.cc +79 -70
  1516. data/src/core/lib/security/transport/security_handshaker.h +22 -22
  1517. data/src/core/lib/security/transport/server_auth_filter.cc +160 -274
  1518. data/src/core/lib/security/transport/tsi_error.cc +23 -20
  1519. data/src/core/lib/security/transport/tsi_error.h +20 -20
  1520. data/src/core/lib/security/util/json_util.cc +27 -27
  1521. data/src/core/lib/security/util/json_util.h +20 -20
  1522. data/src/core/lib/service_config/service_config.h +4 -4
  1523. data/src/core/lib/service_config/service_config_call_data.h +54 -19
  1524. data/src/core/lib/service_config/service_config_impl.cc +118 -158
  1525. data/src/core/lib/service_config/service_config_impl.h +16 -19
  1526. data/src/core/lib/service_config/service_config_parser.cc +14 -31
  1527. data/src/core/lib/service_config/service_config_parser.h +16 -12
  1528. data/src/core/lib/slice/b64.cc +26 -26
  1529. data/src/core/lib/slice/b64.h +32 -32
  1530. data/src/core/lib/slice/percent_encoding.cc +17 -17
  1531. data/src/core/lib/slice/percent_encoding.h +28 -28
  1532. data/src/core/lib/slice/slice.cc +48 -42
  1533. data/src/core/lib/slice/slice.h +59 -18
  1534. data/src/core/lib/slice/slice_buffer.cc +63 -59
  1535. data/src/core/lib/slice/slice_buffer.h +35 -4
  1536. data/src/core/lib/slice/slice_internal.h +34 -42
  1537. data/src/core/lib/slice/slice_refcount.cc +3 -18
  1538. data/src/core/lib/slice/slice_refcount.h +53 -18
  1539. data/src/core/lib/slice/slice_string_helpers.cc +17 -17
  1540. data/src/core/lib/slice/slice_string_helpers.h +21 -21
  1541. data/src/core/lib/surface/api_trace.cc +17 -17
  1542. data/src/core/lib/surface/api_trace.h +25 -25
  1543. data/src/core/lib/surface/builtins.cc +2 -0
  1544. data/src/core/lib/surface/builtins.h +3 -3
  1545. data/src/core/lib/surface/byte_buffer.cc +22 -23
  1546. data/src/core/lib/surface/byte_buffer_reader.cc +23 -23
  1547. data/src/core/lib/surface/call.cc +2297 -535
  1548. data/src/core/lib/surface/call.h +123 -42
  1549. data/src/core/lib/surface/call_details.cc +20 -21
  1550. data/src/core/lib/surface/call_log_batch.cc +19 -18
  1551. data/src/core/lib/surface/call_test_only.h +33 -33
  1552. data/src/core/lib/surface/call_trace.cc +123 -0
  1553. data/src/core/{ext/filters/http/message_compress/message_decompress_filter.h → lib/surface/call_trace.h} +10 -12
  1554. data/src/core/lib/surface/channel.cc +62 -67
  1555. data/src/core/lib/surface/channel.h +43 -35
  1556. data/src/core/lib/surface/channel_init.cc +17 -17
  1557. data/src/core/lib/surface/channel_init.h +20 -20
  1558. data/src/core/lib/surface/channel_ping.cc +19 -19
  1559. data/src/core/lib/surface/channel_stack_type.cc +21 -17
  1560. data/src/core/lib/surface/channel_stack_type.h +22 -20
  1561. data/src/core/lib/surface/completion_queue.cc +182 -194
  1562. data/src/core/lib/surface/completion_queue.h +36 -36
  1563. data/src/core/lib/surface/completion_queue_factory.cc +28 -28
  1564. data/src/core/lib/surface/completion_queue_factory.h +22 -22
  1565. data/src/core/lib/surface/event_string.cc +18 -17
  1566. data/src/core/lib/surface/event_string.h +22 -22
  1567. data/src/core/lib/surface/init.cc +30 -59
  1568. data/src/core/lib/surface/init.h +20 -20
  1569. data/src/core/lib/surface/init_internally.cc +1 -0
  1570. data/src/core/lib/surface/init_internally.h +12 -3
  1571. data/src/core/lib/surface/lame_client.cc +31 -26
  1572. data/src/core/lib/surface/lame_client.h +21 -21
  1573. data/src/core/lib/surface/metadata_array.cc +17 -18
  1574. data/src/core/lib/surface/server.cc +363 -111
  1575. data/src/core/lib/surface/server.h +10 -9
  1576. data/src/core/lib/surface/validate_metadata.cc +60 -60
  1577. data/src/core/lib/surface/validate_metadata.h +30 -21
  1578. data/src/core/lib/surface/version.cc +21 -21
  1579. data/src/core/lib/transport/batch_builder.cc +182 -0
  1580. data/src/core/lib/transport/batch_builder.h +480 -0
  1581. data/src/core/lib/transport/bdp_estimator.cc +24 -24
  1582. data/src/core/lib/transport/bdp_estimator.h +31 -28
  1583. data/src/core/lib/transport/connectivity_state.cc +19 -19
  1584. data/src/core/lib/transport/connectivity_state.h +22 -22
  1585. data/src/core/lib/transport/custom_metadata.h +30 -0
  1586. data/src/core/lib/transport/error_utils.cc +51 -45
  1587. data/src/core/lib/transport/error_utils.h +24 -24
  1588. data/src/core/lib/transport/handshaker.cc +60 -46
  1589. data/src/core/lib/transport/handshaker.h +47 -42
  1590. data/src/core/lib/transport/handshaker_factory.h +47 -21
  1591. data/src/core/lib/transport/handshaker_registry.cc +25 -19
  1592. data/src/core/lib/transport/handshaker_registry.h +23 -24
  1593. data/src/core/lib/transport/http2_errors.h +22 -22
  1594. data/src/core/lib/transport/http_connect_handshaker.cc +40 -41
  1595. data/src/core/lib/transport/http_connect_handshaker.h +21 -21
  1596. data/src/core/lib/transport/metadata_batch.cc +24 -7
  1597. data/src/core/lib/transport/metadata_batch.h +193 -53
  1598. data/src/core/lib/transport/metadata_compression_traits.h +67 -0
  1599. data/src/core/lib/transport/parsed_metadata.cc +2 -6
  1600. data/src/core/lib/transport/parsed_metadata.h +23 -12
  1601. data/src/core/lib/transport/pid_controller.cc +20 -20
  1602. data/src/core/lib/transport/pid_controller.h +27 -27
  1603. data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
  1604. data/src/core/lib/transport/status_conversion.cc +22 -22
  1605. data/src/core/lib/transport/status_conversion.h +22 -22
  1606. data/src/core/lib/transport/tcp_connect_handshaker.cc +15 -21
  1607. data/src/core/lib/transport/tcp_connect_handshaker.h +3 -3
  1608. data/src/core/lib/transport/timeout_encoding.cc +28 -23
  1609. data/src/core/lib/transport/timeout_encoding.h +20 -20
  1610. data/src/core/lib/transport/transport.cc +113 -43
  1611. data/src/core/lib/transport/transport.h +275 -210
  1612. data/src/core/lib/transport/transport_fwd.h +3 -3
  1613. data/src/core/lib/transport/transport_impl.h +53 -46
  1614. data/src/core/lib/transport/transport_op_string.cc +75 -63
  1615. data/src/core/lib/uri/uri_parser.cc +1 -1
  1616. data/src/core/lib/uri/uri_parser.h +3 -3
  1617. data/src/core/plugin_registry/grpc_plugin_registry.cc +34 -35
  1618. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +9 -14
  1619. data/src/core/tsi/alts/crypt/aes_gcm.cc +20 -20
  1620. data/src/core/tsi/alts/crypt/gsec.cc +26 -26
  1621. data/src/core/tsi/alts/crypt/gsec.h +336 -336
  1622. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  1623. data/src/core/tsi/alts/frame_protector/alts_counter.h +68 -68
  1624. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  1625. data/src/core/tsi/alts/frame_protector/alts_crypter.h +209 -209
  1626. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +73 -71
  1627. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +40 -40
  1628. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  1629. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +82 -83
  1630. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  1631. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  1632. data/src/core/tsi/alts/frame_protector/frame_handler.cc +26 -25
  1633. data/src/core/tsi/alts/frame_protector/frame_handler.h +169 -169
  1634. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +98 -80
  1635. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +107 -102
  1636. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +18 -17
  1637. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +43 -44
  1638. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +38 -37
  1639. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +60 -60
  1640. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +23 -23
  1641. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +21 -20
  1642. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +38 -38
  1643. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +19 -19
  1644. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +105 -104
  1645. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +45 -44
  1646. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +40 -41
  1647. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +38 -36
  1648. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +35 -36
  1649. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +67 -68
  1650. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +32 -31
  1651. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +55 -56
  1652. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +54 -53
  1653. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +141 -142
  1654. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +58 -57
  1655. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +43 -44
  1656. data/src/core/tsi/fake_transport_security.cc +80 -79
  1657. data/src/core/tsi/fake_transport_security.h +33 -33
  1658. data/src/core/tsi/local_transport_security.cc +34 -33
  1659. data/src/core/tsi/local_transport_security.h +33 -33
  1660. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +9 -4
  1661. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +3 -3
  1662. data/src/core/tsi/ssl/session_cache/ssl_session.h +21 -21
  1663. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +19 -19
  1664. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +18 -17
  1665. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +22 -22
  1666. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +25 -20
  1667. data/src/core/tsi/ssl_transport_security.cc +256 -349
  1668. data/src/core/tsi/ssl_transport_security.h +206 -203
  1669. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  1670. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  1671. data/src/core/tsi/ssl_types.h +27 -27
  1672. data/src/core/tsi/transport_security.cc +26 -26
  1673. data/src/core/tsi/transport_security.h +47 -47
  1674. data/src/core/tsi/transport_security_grpc.cc +20 -20
  1675. data/src/core/tsi/transport_security_grpc.h +41 -41
  1676. data/src/core/tsi/transport_security_interface.h +333 -333
  1677. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  1678. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  1679. data/src/ruby/ext/grpc/ext-export.clang +0 -1
  1680. data/src/ruby/ext/grpc/ext-export.gcc +1 -2
  1681. data/src/ruby/ext/grpc/extconf.rb +55 -11
  1682. data/src/ruby/ext/grpc/rb_call.c +1 -0
  1683. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  1684. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  1685. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  1686. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  1687. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -38
  1688. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +59 -59
  1689. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1690. data/src/ruby/lib/grpc/version.rb +1 -1
  1691. data/src/ruby/pb/generate_proto_ruby.sh +0 -6
  1692. data/src/ruby/spec/channel_spec.rb +0 -43
  1693. data/src/ruby/spec/client_server_spec.rb +20 -8
  1694. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  1695. data/third_party/abseil-cpp/absl/algorithm/container.h +56 -57
  1696. data/third_party/abseil-cpp/absl/base/attributes.h +39 -19
  1697. data/third_party/abseil-cpp/absl/base/config.h +45 -4
  1698. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +3 -18
  1699. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  1700. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +2 -1
  1701. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +3 -3
  1702. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +2 -2
  1703. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +1 -1
  1704. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +10 -6
  1705. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +23 -24
  1706. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +3 -3
  1707. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +2 -6
  1708. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +4 -1
  1709. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +4 -4
  1710. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -10
  1711. data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +9 -0
  1712. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +4 -0
  1713. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +3 -40
  1714. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  1715. data/third_party/abseil-cpp/absl/base/macros.h +4 -21
  1716. data/third_party/abseil-cpp/absl/base/optimization.h +58 -6
  1717. data/third_party/abseil-cpp/absl/base/options.h +1 -7
  1718. data/third_party/abseil-cpp/absl/base/policy_checks.h +15 -13
  1719. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  1720. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  1721. data/third_party/abseil-cpp/absl/container/fixed_array.h +7 -5
  1722. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -7
  1723. data/third_party/abseil-cpp/absl/container/inlined_vector.h +66 -18
  1724. data/third_party/abseil-cpp/absl/container/internal/common.h +3 -3
  1725. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +132 -0
  1726. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +13 -1
  1727. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +4 -55
  1728. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +50 -5
  1729. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +14 -46
  1730. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +110 -32
  1731. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +155 -4
  1732. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +661 -341
  1733. data/third_party/abseil-cpp/absl/crc/crc32c.cc +99 -0
  1734. data/third_party/abseil-cpp/absl/crc/crc32c.h +183 -0
  1735. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +256 -0
  1736. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +57 -0
  1737. data/third_party/abseil-cpp/absl/crc/internal/crc.cc +468 -0
  1738. data/third_party/abseil-cpp/absl/crc/internal/crc.h +91 -0
  1739. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +269 -0
  1740. data/third_party/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  1741. data/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  1742. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +130 -0
  1743. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  1744. data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +179 -0
  1745. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +119 -0
  1746. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +75 -0
  1747. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +434 -0
  1748. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  1749. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +725 -0
  1750. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +79 -0
  1751. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +180 -0
  1752. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +1 -1
  1753. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +67 -38
  1754. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +1 -1
  1755. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +12 -13
  1756. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +11 -9
  1757. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +1 -1
  1758. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +40 -85
  1759. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +5 -4
  1760. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +33 -8
  1761. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +3 -2
  1762. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +3 -2
  1763. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +118 -94
  1764. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +7 -6
  1765. data/third_party/abseil-cpp/absl/flags/commandlineflag.cc +34 -0
  1766. data/third_party/abseil-cpp/absl/flags/commandlineflag.h +200 -0
  1767. data/third_party/abseil-cpp/absl/flags/config.h +68 -0
  1768. data/third_party/abseil-cpp/absl/flags/declare.h +73 -0
  1769. data/third_party/abseil-cpp/absl/flags/flag.cc +38 -0
  1770. data/third_party/abseil-cpp/absl/flags/flag.h +310 -0
  1771. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc +26 -0
  1772. data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  1773. data/third_party/abseil-cpp/absl/flags/internal/flag.cc +615 -0
  1774. data/third_party/abseil-cpp/absl/flags/internal/flag.h +800 -0
  1775. data/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc +116 -0
  1776. data/third_party/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  1777. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +65 -0
  1778. data/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h +61 -0
  1779. data/third_party/abseil-cpp/absl/flags/internal/program_name.cc +60 -0
  1780. data/third_party/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  1781. data/third_party/abseil-cpp/absl/flags/internal/registry.h +97 -0
  1782. data/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  1783. data/third_party/abseil-cpp/absl/flags/marshalling.cc +241 -0
  1784. data/third_party/abseil-cpp/absl/flags/marshalling.h +356 -0
  1785. data/third_party/abseil-cpp/absl/flags/reflection.cc +354 -0
  1786. data/third_party/abseil-cpp/absl/flags/reflection.h +90 -0
  1787. data/third_party/abseil-cpp/absl/flags/usage_config.cc +165 -0
  1788. data/third_party/abseil-cpp/absl/flags/usage_config.h +135 -0
  1789. data/third_party/abseil-cpp/absl/functional/any_invocable.h +5 -2
  1790. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +47 -26
  1791. data/third_party/abseil-cpp/absl/hash/internal/city.cc +10 -10
  1792. data/third_party/abseil-cpp/absl/hash/internal/hash.h +18 -4
  1793. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +3 -14
  1794. data/third_party/abseil-cpp/absl/memory/memory.h +26 -447
  1795. data/third_party/abseil-cpp/absl/meta/type_traits.h +104 -12
  1796. data/third_party/abseil-cpp/absl/numeric/bits.h +2 -3
  1797. data/third_party/abseil-cpp/absl/numeric/int128.cc +10 -8
  1798. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +14 -6
  1799. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +2 -1
  1800. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +1 -1
  1801. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +2 -23
  1802. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +9 -9
  1803. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +2 -2
  1804. data/third_party/abseil-cpp/absl/random/random.h +6 -6
  1805. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +1 -0
  1806. data/third_party/abseil-cpp/absl/status/status.cc +19 -12
  1807. data/third_party/abseil-cpp/absl/status/status.h +2 -2
  1808. data/third_party/abseil-cpp/absl/strings/ascii.cc +5 -5
  1809. data/third_party/abseil-cpp/absl/strings/charconv.cc +534 -96
  1810. data/third_party/abseil-cpp/absl/strings/cord.cc +92 -40
  1811. data/third_party/abseil-cpp/absl/strings/cord.h +71 -80
  1812. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +8 -5
  1813. data/third_party/abseil-cpp/absl/strings/escaping.cc +73 -62
  1814. data/third_party/abseil-cpp/absl/strings/escaping.h +24 -19
  1815. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +14 -12
  1816. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +4 -4
  1817. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +2 -2
  1818. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +330 -70
  1819. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +8 -4
  1820. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +26 -14
  1821. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +5 -5
  1822. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +9 -7
  1823. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +5 -4
  1824. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +7 -15
  1825. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +3 -3
  1826. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +8 -5
  1827. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +7 -7
  1828. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +4 -4
  1829. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +93 -0
  1830. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +34 -0
  1831. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +12 -10
  1832. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +7 -9
  1833. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +55 -0
  1834. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +9 -6
  1835. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +14 -7
  1836. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +35 -10
  1837. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +113 -46
  1838. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +126 -29
  1839. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -2
  1840. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +4 -3
  1841. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +49 -287
  1842. data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +351 -0
  1843. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +2 -1
  1844. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +4 -2
  1845. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +215 -181
  1846. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +10 -209
  1847. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +10 -101
  1848. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +2 -1
  1849. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  1850. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  1851. data/third_party/abseil-cpp/absl/strings/numbers.cc +34 -31
  1852. data/third_party/abseil-cpp/absl/strings/str_cat.cc +9 -6
  1853. data/third_party/abseil-cpp/absl/strings/str_cat.h +50 -3
  1854. data/third_party/abseil-cpp/absl/strings/str_format.h +71 -9
  1855. data/third_party/abseil-cpp/absl/strings/string_view.cc +6 -6
  1856. data/third_party/abseil-cpp/absl/strings/string_view.h +3 -10
  1857. data/third_party/abseil-cpp/absl/strings/substitute.cc +8 -6
  1858. data/third_party/abseil-cpp/absl/strings/substitute.h +46 -20
  1859. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +20 -17
  1860. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +37 -31
  1861. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +22 -8
  1862. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +104 -55
  1863. data/third_party/abseil-cpp/absl/synchronization/mutex.h +85 -46
  1864. data/third_party/abseil-cpp/absl/synchronization/notification.cc +0 -1
  1865. data/third_party/abseil-cpp/absl/synchronization/notification.h +0 -1
  1866. data/third_party/abseil-cpp/absl/time/civil_time.cc +26 -0
  1867. data/third_party/abseil-cpp/absl/time/civil_time.h +25 -0
  1868. data/third_party/abseil-cpp/absl/time/clock.cc +17 -11
  1869. data/third_party/abseil-cpp/absl/time/duration.cc +7 -7
  1870. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  1871. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1872. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +26 -5
  1873. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +7 -6
  1874. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +36 -35
  1875. data/third_party/abseil-cpp/absl/time/time.cc +2 -2
  1876. data/third_party/abseil-cpp/absl/time/time.h +253 -158
  1877. data/third_party/abseil-cpp/absl/types/internal/span.h +30 -19
  1878. data/third_party/abseil-cpp/absl/types/internal/variant.h +28 -40
  1879. data/third_party/abseil-cpp/absl/types/span.h +29 -7
  1880. data/third_party/boringssl-with-bazel/err_data.c +728 -712
  1881. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +177 -177
  1882. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +28 -55
  1883. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c +21 -23
  1884. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c +20 -23
  1885. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c +66 -185
  1886. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c +18 -21
  1887. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c +356 -311
  1888. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c +177 -196
  1889. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +146 -210
  1890. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c +6 -9
  1891. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c +346 -526
  1892. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +110 -131
  1893. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +130 -116
  1894. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +93 -60
  1895. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +93 -181
  1896. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +242 -305
  1897. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c +41 -18
  1898. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +30 -33
  1899. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +36 -33
  1900. data/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c +29 -26
  1901. data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +135 -90
  1902. data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +230 -0
  1903. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +797 -793
  1904. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +529 -526
  1905. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +114 -135
  1906. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c +201 -207
  1907. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +21 -26
  1908. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c +55 -68
  1909. data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +2 -4
  1910. data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +17 -11
  1911. data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +37 -51
  1912. data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +15 -9
  1913. data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +13 -9
  1914. data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +22 -19
  1915. data/third_party/boringssl-with-bazel/src/crypto/bio/pair.c +5 -5
  1916. data/third_party/boringssl-with-bazel/src/crypto/bio/printf.c +0 -13
  1917. data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +3 -6
  1918. data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -0
  1919. data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +40 -27
  1920. data/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c +10 -23
  1921. data/third_party/boringssl-with-bazel/src/crypto/buf/buf.c +2 -6
  1922. data/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c +2 -1
  1923. data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +29 -28
  1924. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c +161 -201
  1925. data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +254 -39
  1926. data/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h +2 -2
  1927. data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +0 -2
  1928. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c +4 -4
  1929. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c +9 -8
  1930. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c +37 -75
  1931. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +8 -10
  1932. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/cipher → cipher_extra}/e_des.c +100 -78
  1933. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +1 -0
  1934. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +1 -0
  1935. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +2 -0
  1936. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +34 -37
  1937. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +22 -11
  1938. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +189 -13
  1939. data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +6 -10
  1940. data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -1
  1941. data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +12 -0
  1942. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +74 -0
  1943. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_freebsd.c +62 -0
  1944. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-fuchsia.c → cpu_aarch64_fuchsia.c} +8 -7
  1945. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-linux.c → cpu_aarch64_linux.c} +6 -4
  1946. data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c +62 -0
  1947. data/third_party/boringssl-with-bazel/src/crypto/{cpu-aarch64-win.c → cpu_aarch64_win.c} +4 -4
  1948. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm.c → cpu_arm.c} +1 -1
  1949. data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c +55 -0
  1950. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.c → cpu_arm_linux.c} +11 -90
  1951. data/third_party/boringssl-with-bazel/src/crypto/{cpu-arm-linux.h → cpu_arm_linux.h} +0 -38
  1952. data/third_party/boringssl-with-bazel/src/crypto/{cpu-ppc64le.c → cpu_arm_openbsd.c} +10 -17
  1953. data/third_party/boringssl-with-bazel/src/crypto/{cpu-intel.c → cpu_intel.c} +1 -2
  1954. data/third_party/boringssl-with-bazel/src/crypto/crypto.c +25 -20
  1955. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +22 -31
  1956. data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +795 -795
  1957. data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -5
  1958. data/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c +17 -32
  1959. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/des.c +232 -232
  1960. data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/des → des}/internal.h +1 -1
  1961. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c +1 -0
  1962. data/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c +232 -29
  1963. data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +0 -3
  1964. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +43 -16
  1965. data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +37 -7
  1966. data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +3 -3
  1967. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +11 -36
  1968. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +229 -102
  1969. data/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h +31 -7
  1970. data/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c +1 -1
  1971. data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +2 -4
  1972. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +83 -60
  1973. data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +46 -12
  1974. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +3 -3
  1975. data/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c +25 -23
  1976. data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +43 -9
  1977. data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +75 -44
  1978. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +19 -25
  1979. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +96 -45
  1980. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +7 -8
  1981. data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c +26 -23
  1982. data/third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c +233 -0
  1983. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c +6 -6
  1984. data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +42 -25
  1985. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +4 -5
  1986. data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c +35 -47
  1987. data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +135 -244
  1988. data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +2 -4
  1989. data/third_party/boringssl-with-bazel/src/crypto/evp/sign.c +15 -10
  1990. data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +29 -15
  1991. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +0 -2
  1992. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c +13 -14
  1993. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +3 -13
  1994. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c +13 -7
  1995. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c +9 -7
  1996. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +36 -27
  1997. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c +16 -26
  1998. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +88 -60
  1999. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c +4 -3
  2000. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c +0 -2
  2001. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +1 -1
  2002. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +1 -1
  2003. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +99 -113
  2004. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +0 -1
  2005. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +5 -3
  2006. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c +112 -168
  2007. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +86 -31
  2008. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +11 -6
  2009. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +4 -5
  2010. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +4 -5
  2011. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +13 -0
  2012. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +13 -5
  2013. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +19 -108
  2014. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h +19 -15
  2015. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c +15 -16
  2016. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +22 -21
  2017. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c +3 -0
  2018. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +79 -19
  2019. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +102 -99
  2020. data/third_party/boringssl-with-bazel/src/crypto/{cipher_extra → fipsmodule/cipher}/e_aesccm.c +52 -46
  2021. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +39 -0
  2022. data/third_party/boringssl-with-bazel/src/crypto/{cmac → fipsmodule/cmac}/cmac.c +55 -11
  2023. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c +2 -3
  2024. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c +24 -6
  2025. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +56 -0
  2026. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c +5 -3
  2027. data/third_party/boringssl-with-bazel/src/crypto/{evp → fipsmodule/digestsign}/digestsign.c +51 -15
  2028. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +49 -49
  2029. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +92 -18
  2030. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +12 -12
  2031. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +108 -86
  2032. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +55 -25
  2033. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +55 -71
  2034. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64-table.h → p256-nistz-table.h} +1 -1
  2035. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.c → p256-nistz.c} +72 -65
  2036. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-x86_64.h → p256-nistz.h} +5 -13
  2037. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +62 -51
  2038. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h +1 -1
  2039. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +2 -8
  2040. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +12 -17
  2041. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +25 -26
  2042. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +13 -14
  2043. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c +9 -1
  2044. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +44 -16
  2045. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +6 -0
  2046. data/third_party/boringssl-with-bazel/src/crypto/{hkdf → fipsmodule/hkdf}/hkdf.c +1 -1
  2047. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c +52 -24
  2048. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +9 -23
  2049. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +1 -4
  2050. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +3 -8
  2051. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +170 -160
  2052. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c +12 -14
  2053. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +69 -61
  2054. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -12
  2055. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c +27 -28
  2056. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c +31 -13
  2057. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +16 -8
  2058. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +3 -2
  2059. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h +2 -2
  2060. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +9 -38
  2061. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +73 -59
  2062. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +22 -68
  2063. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c +0 -1
  2064. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +43 -16
  2065. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c +42 -314
  2066. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +244 -139
  2067. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +144 -205
  2068. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +41 -0
  2069. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +593 -421
  2070. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +89 -0
  2071. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +334 -0
  2072. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +3 -12
  2073. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +2 -0
  2074. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +12 -8
  2075. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +14 -12
  2076. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h +8 -0
  2077. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +52 -6
  2078. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +192 -18
  2079. data/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c +65 -29
  2080. data/third_party/boringssl-with-bazel/src/crypto/internal.h +391 -18
  2081. data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +91 -0
  2082. data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +204 -0
  2083. data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +833 -0
  2084. data/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h +13 -1
  2085. data/third_party/boringssl-with-bazel/src/crypto/mem.c +220 -13
  2086. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -7
  2087. data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +9 -4
  2088. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c +81 -90
  2089. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c +150 -245
  2090. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +633 -613
  2091. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c +17 -17
  2092. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +142 -149
  2093. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +99 -131
  2094. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c +0 -1
  2095. data/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c +0 -1
  2096. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +0 -1
  2097. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +0 -3
  2098. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +36 -66
  2099. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c +31 -38
  2100. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c +2 -1
  2101. data/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c +18 -31
  2102. data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
  2103. data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +8 -1
  2104. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +129 -5
  2105. data/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c +0 -2
  2106. data/third_party/boringssl-with-bazel/src/crypto/{refcount_lock.c → refcount_no_threads.c} +6 -17
  2107. data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +89 -0
  2108. data/third_party/boringssl-with-bazel/src/crypto/{asn1/a_print.c → rsa_extra/internal.h} +15 -21
  2109. data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c +568 -0
  2110. data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +8 -11
  2111. data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +61 -27
  2112. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +10 -13
  2113. data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +10 -13
  2114. data/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h +128 -34
  2115. data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +418 -133
  2116. data/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c +116 -284
  2117. data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +701 -87
  2118. data/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c +22 -24
  2119. data/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c +63 -55
  2120. data/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c +32 -34
  2121. data/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c +32 -16
  2122. data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +465 -704
  2123. data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +285 -331
  2124. data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +183 -178
  2125. data/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c +11 -15
  2126. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +68 -50
  2127. data/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c +132 -151
  2128. data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +790 -0
  2129. data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +95 -102
  2130. data/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c +72 -57
  2131. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +12 -10
  2132. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c +220 -254
  2133. data/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c +52 -47
  2134. data/third_party/boringssl-with-bazel/src/crypto/x509/x509.c +3 -4
  2135. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +136 -270
  2136. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +161 -327
  2137. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c +37 -33
  2138. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c +14 -31
  2139. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c +55 -85
  2140. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +528 -616
  2141. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c +129 -122
  2142. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +164 -181
  2143. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +132 -132
  2144. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +186 -203
  2145. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c +64 -79
  2146. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +175 -160
  2147. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1864 -2050
  2148. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +380 -480
  2149. data/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c +156 -163
  2150. data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +266 -265
  2151. data/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c +40 -15
  2152. data/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c +59 -63
  2153. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +63 -67
  2154. data/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c +114 -144
  2155. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +25 -26
  2156. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +329 -416
  2157. data/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c +8 -7
  2158. data/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c +30 -28
  2159. data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +354 -370
  2160. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c +37 -32
  2161. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +116 -119
  2162. data/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c +36 -26
  2163. data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +3 -4
  2164. data/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c +10 -13
  2165. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +3 -4
  2166. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +419 -261
  2167. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c +113 -105
  2168. data/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h +11 -15
  2169. data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +79 -171
  2170. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c +126 -131
  2171. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c +3 -4
  2172. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +465 -469
  2173. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c +56 -54
  2174. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c +46 -49
  2175. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c +294 -344
  2176. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +342 -365
  2177. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c +429 -393
  2178. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c +29 -24
  2179. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c +65 -59
  2180. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +125 -121
  2181. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c +43 -42
  2182. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c +120 -125
  2183. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c +50 -20
  2184. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +228 -265
  2185. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c +386 -389
  2186. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c +45 -32
  2187. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c +57 -54
  2188. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c +63 -67
  2189. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c +130 -135
  2190. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +652 -691
  2191. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +90 -75
  2192. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +1063 -1145
  2193. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +13 -11
  2194. data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +28 -48
  2195. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +217 -191
  2196. data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +26 -78
  2197. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +50 -14
  2198. data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +29 -14
  2199. data/third_party/boringssl-with-bazel/src/include/openssl/blake2.h +1 -4
  2200. data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +49 -17
  2201. data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +99 -29
  2202. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +49 -60
  2203. data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +2 -15
  2204. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +16 -200
  2205. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +34 -0
  2206. data/third_party/boringssl-with-bazel/src/include/openssl/ctrdrbg.h +82 -0
  2207. data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +32 -30
  2208. data/third_party/boringssl-with-bazel/src/include/openssl/digest.h +7 -0
  2209. data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +4 -0
  2210. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +48 -5
  2211. data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +37 -8
  2212. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +1 -0
  2213. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +33 -5
  2214. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +25 -33
  2215. data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +1 -1
  2216. data/third_party/boringssl-with-bazel/src/include/openssl/hmac.h +7 -0
  2217. data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +69 -16
  2218. data/third_party/boringssl-with-bazel/src/include/openssl/kdf.h +91 -0
  2219. data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
  2220. data/third_party/boringssl-with-bazel/src/include/openssl/mem.h +74 -8
  2221. data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +7 -3
  2222. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
  2223. data/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h +1 -0
  2224. data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +11 -18
  2225. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +8 -0
  2226. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +12 -1
  2227. data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +98 -5
  2228. data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +96 -0
  2229. data/third_party/boringssl-with-bazel/src/include/openssl/span.h +18 -21
  2230. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +285 -92
  2231. data/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h +1 -6
  2232. data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +381 -287
  2233. data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +9 -6
  2234. data/third_party/boringssl-with-bazel/src/include/openssl/time.h +41 -0
  2235. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +22 -7
  2236. data/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h +57 -23
  2237. data/third_party/boringssl-with-bazel/src/include/openssl/type_check.h +0 -11
  2238. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +2075 -1407
  2239. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +242 -214
  2240. data/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc +2 -2
  2241. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +6 -13
  2242. data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +17 -18
  2243. data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +4 -5
  2244. data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +25 -33
  2245. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +45 -26
  2246. data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +64 -35
  2247. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +198 -54
  2248. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +5 -5
  2249. data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +53 -34
  2250. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +76 -44
  2251. data/third_party/boringssl-with-bazel/src/ssl/internal.h +200 -121
  2252. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +47 -12
  2253. data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +2 -2
  2254. data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +91 -75
  2255. data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +8 -10
  2256. data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +47 -69
  2257. data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +1 -0
  2258. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +5 -9
  2259. data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +217 -226
  2260. data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +78 -101
  2261. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +106 -142
  2262. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +244 -35
  2263. data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +167 -64
  2264. data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +41 -32
  2265. data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +27 -19
  2266. data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +22 -6
  2267. data/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc +15 -13
  2268. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +7 -44
  2269. data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +7 -4
  2270. data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +7 -23
  2271. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +25 -34
  2272. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +2 -2
  2273. data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +16 -98
  2274. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h +1241 -657
  2275. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h +751 -398
  2276. data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_msvc.h +1281 -0
  2277. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h +3551 -1938
  2278. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h +1272 -487
  2279. data/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64_msvc.h +2002 -0
  2280. data/third_party/cares/cares/include/ares.h +23 -1
  2281. data/third_party/cares/cares/{src/lib → include}/ares_nameser.h +9 -7
  2282. data/third_party/cares/cares/include/ares_rules.h +2 -2
  2283. data/third_party/cares/cares/include/ares_version.h +3 -3
  2284. data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +266 -0
  2285. data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +240 -0
  2286. data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +49 -80
  2287. data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +37 -43
  2288. data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +12 -4
  2289. data/third_party/cares/cares/src/lib/ares_data.c +16 -0
  2290. data/third_party/cares/cares/src/lib/ares_data.h +7 -0
  2291. data/third_party/cares/cares/src/lib/ares_destroy.c +8 -0
  2292. data/third_party/cares/cares/src/lib/ares_expand_name.c +17 -6
  2293. data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +1 -0
  2294. data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +156 -78
  2295. data/third_party/cares/cares/src/lib/ares_gethostbyname.c +130 -326
  2296. data/third_party/cares/cares/src/lib/ares_init.c +97 -485
  2297. data/third_party/cares/cares/src/lib/ares_library_init.c +2 -89
  2298. data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +23 -142
  2299. data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +22 -142
  2300. data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +184 -0
  2301. data/third_party/cares/cares/src/lib/ares_private.h +30 -16
  2302. data/third_party/cares/cares/src/lib/ares_process.c +55 -16
  2303. data/third_party/cares/cares/src/lib/ares_query.c +1 -35
  2304. data/third_party/cares/cares/src/lib/ares_rand.c +279 -0
  2305. data/third_party/cares/cares/src/lib/ares_send.c +5 -7
  2306. data/third_party/cares/cares/src/lib/ares_strdup.c +12 -19
  2307. data/third_party/cares/cares/src/lib/ares_strsplit.c +44 -128
  2308. data/third_party/cares/cares/src/lib/ares_strsplit.h +9 -10
  2309. data/third_party/cares/cares/src/lib/inet_net_pton.c +78 -116
  2310. data/third_party/cares/cares/src/tools/ares_getopt.h +53 -0
  2311. data/third_party/re2/re2/bitstate.cc +3 -3
  2312. data/third_party/re2/re2/dfa.cc +13 -13
  2313. data/third_party/re2/re2/nfa.cc +4 -4
  2314. data/third_party/re2/re2/onepass.cc +2 -2
  2315. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  2316. data/third_party/re2/re2/prefilter_tree.h +3 -2
  2317. data/third_party/re2/re2/prog.cc +11 -2
  2318. data/third_party/re2/re2/prog.h +17 -5
  2319. data/third_party/re2/re2/re2.cc +6 -11
  2320. data/third_party/re2/re2/re2.h +1 -1
  2321. data/third_party/re2/re2/regexp.cc +1 -2
  2322. data/third_party/re2/re2/stringpiece.h +10 -7
  2323. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  2324. data/third_party/re2/re2/unicode_groups.cc +319 -151
  2325. data/third_party/re2/re2/walker-inl.h +3 -2
  2326. data/third_party/re2/util/mutex.h +4 -4
  2327. data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
  2328. data/third_party/upb/upb/arena.h +4 -193
  2329. data/third_party/upb/upb/array.h +4 -51
  2330. data/third_party/upb/upb/base/descriptor_constants.h +104 -0
  2331. data/third_party/upb/upb/base/log2.h +57 -0
  2332. data/third_party/upb/upb/{status.c → base/status.c} +2 -7
  2333. data/third_party/upb/upb/base/status.h +66 -0
  2334. data/third_party/upb/upb/base/string_view.h +75 -0
  2335. data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
  2336. data/third_party/upb/upb/collections/array.h +85 -0
  2337. data/third_party/upb/upb/collections/array_internal.h +135 -0
  2338. data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
  2339. data/third_party/upb/upb/collections/map.h +135 -0
  2340. data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
  2341. data/third_party/upb/upb/collections/map_internal.h +170 -0
  2342. data/third_party/upb/upb/collections/map_sorter.c +166 -0
  2343. data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
  2344. data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
  2345. data/third_party/upb/upb/decode.h +3 -62
  2346. data/third_party/upb/upb/def.h +4 -384
  2347. data/third_party/upb/upb/def.hpp +3 -411
  2348. data/third_party/upb/upb/encode.h +3 -48
  2349. data/third_party/upb/upb/extension_registry.h +3 -52
  2350. data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
  2351. data/third_party/upb/upb/hash/common.h +199 -0
  2352. data/third_party/upb/upb/hash/int_table.h +102 -0
  2353. data/third_party/upb/upb/hash/str_table.h +161 -0
  2354. data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
  2355. data/third_party/upb/upb/json/decode.h +52 -0
  2356. data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
  2357. data/third_party/upb/upb/json/encode.h +70 -0
  2358. data/third_party/upb/upb/json_decode.h +4 -15
  2359. data/third_party/upb/upb/json_encode.h +4 -33
  2360. data/third_party/upb/upb/lex/atoi.c +68 -0
  2361. data/third_party/upb/upb/lex/atoi.h +53 -0
  2362. data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
  2363. data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
  2364. data/third_party/upb/upb/lex/strtod.c +97 -0
  2365. data/third_party/upb/upb/lex/strtod.h +46 -0
  2366. data/third_party/upb/upb/lex/unicode.c +57 -0
  2367. data/third_party/upb/upb/lex/unicode.h +77 -0
  2368. data/third_party/upb/upb/map.h +4 -85
  2369. data/third_party/upb/upb/mem/alloc.c +47 -0
  2370. data/third_party/upb/upb/mem/alloc.h +98 -0
  2371. data/third_party/upb/upb/mem/arena.c +367 -0
  2372. data/third_party/upb/upb/mem/arena.h +160 -0
  2373. data/third_party/upb/upb/mem/arena_internal.h +114 -0
  2374. data/third_party/upb/upb/message/accessors.c +68 -0
  2375. data/third_party/upb/upb/message/accessors.h +379 -0
  2376. data/third_party/upb/upb/message/accessors_internal.h +325 -0
  2377. data/third_party/upb/upb/message/extension_internal.h +83 -0
  2378. data/third_party/upb/upb/message/internal.h +135 -0
  2379. data/third_party/upb/upb/message/message.c +180 -0
  2380. data/third_party/upb/upb/message/message.h +69 -0
  2381. data/third_party/upb/upb/mini_table/common.c +128 -0
  2382. data/third_party/upb/upb/mini_table/common.h +170 -0
  2383. data/third_party/upb/upb/mini_table/common_internal.h +111 -0
  2384. data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
  2385. data/third_party/upb/upb/mini_table/decode.h +179 -0
  2386. data/third_party/upb/upb/mini_table/encode.c +300 -0
  2387. data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
  2388. data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
  2389. data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
  2390. data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
  2391. data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
  2392. data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
  2393. data/third_party/upb/upb/mini_table/field_internal.h +192 -0
  2394. data/third_party/upb/upb/mini_table/file_internal.h +47 -0
  2395. data/third_party/upb/upb/mini_table/message_internal.h +136 -0
  2396. data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
  2397. data/third_party/upb/upb/mini_table/types.h +40 -0
  2398. data/third_party/upb/upb/mini_table.h +4 -157
  2399. data/third_party/upb/upb/msg.h +3 -38
  2400. data/third_party/upb/upb/port/atomic.h +101 -0
  2401. data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
  2402. data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
  2403. data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
  2404. data/third_party/upb/upb/reflection/common.h +67 -0
  2405. data/third_party/upb/upb/reflection/def.h +42 -0
  2406. data/third_party/upb/upb/reflection/def.hpp +610 -0
  2407. data/third_party/upb/upb/reflection/def_builder.c +357 -0
  2408. data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
  2409. data/third_party/upb/upb/reflection/def_pool.c +462 -0
  2410. data/third_party/upb/upb/reflection/def_pool.h +108 -0
  2411. data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
  2412. data/third_party/upb/upb/reflection/def_type.c +50 -0
  2413. data/third_party/upb/upb/reflection/def_type.h +81 -0
  2414. data/third_party/upb/upb/reflection/desc_state.c +53 -0
  2415. data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
  2416. data/third_party/upb/upb/reflection/enum_def.c +310 -0
  2417. data/third_party/upb/upb/reflection/enum_def.h +80 -0
  2418. data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
  2419. data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
  2420. data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
  2421. data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
  2422. data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
  2423. data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
  2424. data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
  2425. data/third_party/upb/upb/reflection/extension_range.c +93 -0
  2426. data/third_party/upb/upb/reflection/extension_range.h +55 -0
  2427. data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
  2428. data/third_party/upb/upb/reflection/field_def.c +930 -0
  2429. data/third_party/upb/upb/reflection/field_def.h +91 -0
  2430. data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
  2431. data/third_party/upb/upb/reflection/file_def.c +370 -0
  2432. data/third_party/upb/upb/reflection/file_def.h +77 -0
  2433. data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
  2434. data/third_party/upb/upb/reflection/message.c +233 -0
  2435. data/third_party/upb/upb/reflection/message.h +102 -0
  2436. data/third_party/upb/upb/reflection/message.hpp +37 -0
  2437. data/third_party/upb/upb/reflection/message_def.c +718 -0
  2438. data/third_party/upb/upb/reflection/message_def.h +174 -0
  2439. data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
  2440. data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
  2441. data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
  2442. data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
  2443. data/third_party/upb/upb/reflection/method_def.c +124 -0
  2444. data/third_party/upb/upb/reflection/method_def.h +59 -0
  2445. data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
  2446. data/third_party/upb/upb/reflection/oneof_def.c +226 -0
  2447. data/third_party/upb/upb/reflection/oneof_def.h +66 -0
  2448. data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
  2449. data/third_party/upb/upb/reflection/service_def.c +128 -0
  2450. data/third_party/upb/upb/reflection/service_def.h +60 -0
  2451. data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
  2452. data/third_party/upb/upb/reflection.h +4 -78
  2453. data/third_party/upb/upb/reflection.hpp +3 -7
  2454. data/third_party/upb/upb/status.h +4 -34
  2455. data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
  2456. data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
  2457. data/third_party/upb/upb/text/encode.h +69 -0
  2458. data/third_party/upb/upb/text_encode.h +4 -32
  2459. data/third_party/upb/upb/upb.h +6 -151
  2460. data/third_party/upb/upb/upb.hpp +10 -18
  2461. data/third_party/upb/upb/wire/common.h +44 -0
  2462. data/third_party/upb/upb/wire/common_internal.h +50 -0
  2463. data/third_party/upb/upb/wire/decode.c +1343 -0
  2464. data/third_party/upb/upb/wire/decode.h +108 -0
  2465. data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
  2466. data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
  2467. data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
  2468. data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
  2469. data/third_party/upb/upb/wire/encode.h +92 -0
  2470. data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
  2471. data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
  2472. data/third_party/upb/upb/wire/reader.c +67 -0
  2473. data/third_party/upb/upb/wire/reader.h +227 -0
  2474. data/third_party/upb/upb/wire/swap_internal.h +63 -0
  2475. data/third_party/upb/upb/wire/types.h +41 -0
  2476. data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
  2477. data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
  2478. data/third_party/zlib/compress.c +3 -3
  2479. data/third_party/zlib/crc32.c +21 -12
  2480. data/third_party/zlib/deflate.c +112 -106
  2481. data/third_party/zlib/deflate.h +2 -2
  2482. data/third_party/zlib/gzlib.c +1 -1
  2483. data/third_party/zlib/gzread.c +3 -5
  2484. data/third_party/zlib/gzwrite.c +1 -1
  2485. data/third_party/zlib/infback.c +10 -7
  2486. data/third_party/zlib/inflate.c +5 -2
  2487. data/third_party/zlib/inftrees.c +2 -2
  2488. data/third_party/zlib/inftrees.h +1 -1
  2489. data/third_party/zlib/trees.c +61 -62
  2490. data/third_party/zlib/uncompr.c +2 -2
  2491. data/third_party/zlib/zconf.h +16 -3
  2492. data/third_party/zlib/zlib.h +10 -10
  2493. data/third_party/zlib/zutil.c +9 -7
  2494. data/third_party/zlib/zutil.h +1 -0
  2495. metadata +509 -152
  2496. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  2497. data/src/core/ext/filters/client_channel/health/health_check_client.cc +0 -176
  2498. data/src/core/ext/filters/client_channel/health/health_check_client.h +0 -43
  2499. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +0 -30
  2500. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -188
  2501. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -187
  2502. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -332
  2503. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -52
  2504. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -322
  2505. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +0 -62
  2506. data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
  2507. data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
  2508. data/src/core/lib/event_engine/socket_notifier.h +0 -55
  2509. data/src/core/lib/event_engine/thread_pool.cc +0 -195
  2510. data/src/core/lib/event_engine/thread_pool.h +0 -114
  2511. data/src/core/lib/gpr/cpu_iphone.cc +0 -44
  2512. data/src/core/lib/gpr/cpu_windows.cc +0 -33
  2513. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  2514. data/src/core/lib/gpr/murmur_hash.h +0 -29
  2515. data/src/core/lib/gpr/string_windows.cc +0 -69
  2516. data/src/core/lib/gpr/tls.h +0 -156
  2517. data/src/core/lib/gprpp/env_posix.cc +0 -47
  2518. data/src/core/lib/gprpp/global_config.h +0 -93
  2519. data/src/core/lib/gprpp/global_config_custom.h +0 -29
  2520. data/src/core/lib/gprpp/global_config_env.cc +0 -139
  2521. data/src/core/lib/gprpp/global_config_env.h +0 -133
  2522. data/src/core/lib/gprpp/global_config_generic.h +0 -40
  2523. data/src/core/lib/promise/call_push_pull.h +0 -148
  2524. data/src/core/lib/promise/intra_activity_waiter.h +0 -49
  2525. data/src/core/lib/security/security_connector/ssl_utils_config.cc +0 -32
  2526. data/src/core/lib/security/security_connector/ssl_utils_config.h +0 -30
  2527. data/src/core/lib/slice/slice_api.cc +0 -39
  2528. data/src/core/lib/slice/slice_buffer_api.cc +0 -35
  2529. data/src/core/lib/slice/slice_refcount_base.h +0 -60
  2530. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c +0 -195
  2531. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c +0 -236
  2532. data/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h +0 -15
  2533. data/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c +0 -206
  2534. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c +0 -361
  2535. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +0 -287
  2536. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +0 -132
  2537. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +0 -155
  2538. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +0 -131
  2539. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +0 -189
  2540. data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +0 -843
  2541. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c +0 -289
  2542. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c +0 -57
  2543. data/third_party/cares/cares/src/lib/ares_library_init.h +0 -43
  2544. data/third_party/upb/upb/arena.c +0 -277
  2545. data/third_party/upb/upb/decode.c +0 -1221
  2546. data/third_party/upb/upb/def.c +0 -3269
  2547. data/third_party/upb/upb/internal/table.h +0 -385
  2548. data/third_party/upb/upb/msg.c +0 -368
  2549. data/third_party/upb/upb/msg_internal.h +0 -837
  2550. data/third_party/upb/upb/reflection.c +0 -323
  2551. /data/src/ruby/ext/grpc/{ext-export-truffleruby.clang → ext-export-truffleruby-with-ruby-abi-version.clang} +0 -0
  2552. /data/src/ruby/ext/grpc/{ext-export-truffleruby.gcc → ext-export-truffleruby-with-ruby-abi-version.gcc} +0 -0
  2553. /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
  2554. /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -1,29 +1,30 @@
1
- /*
2
- *
3
- * Copyright 2017 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
- */
1
+ //
2
+ //
3
+ // Copyright 2017 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
18
 
19
19
  #include <grpc/support/port_platform.h>
20
20
 
21
21
  #include <grpc/support/log.h>
22
22
 
23
+ #include "src/core/lib/gprpp/crash.h"
23
24
  #include "src/core/lib/iomgr/port.h"
24
25
 
25
- /* This polling engine is only relevant on linux kernels supporting epoll
26
- epoll_create() or epoll_create1() */
26
+ // This polling engine is only relevant on linux kernels supporting epoll
27
+ // epoll_create() or epoll_create1()
27
28
  #ifdef GRPC_LINUX_EPOLL
28
29
  #include <assert.h>
29
30
  #include <errno.h>
@@ -47,10 +48,11 @@
47
48
  #include <grpc/support/cpu.h>
48
49
 
49
50
  #include "src/core/lib/debug/stats.h"
51
+ #include "src/core/lib/debug/stats_data.h"
50
52
  #include "src/core/lib/gpr/string.h"
51
- #include "src/core/lib/gpr/tls.h"
52
53
  #include "src/core/lib/gpr/useful.h"
53
54
  #include "src/core/lib/gprpp/manual_constructor.h"
55
+ #include "src/core/lib/gprpp/strerror.h"
54
56
  #include "src/core/lib/iomgr/block_annotate.h"
55
57
  #include "src/core/lib/iomgr/ev_epoll1_linux.h"
56
58
  #include "src/core/lib/iomgr/ev_posix.h"
@@ -59,37 +61,38 @@
59
61
  #include "src/core/lib/iomgr/wakeup_fd_posix.h"
60
62
 
61
63
  static grpc_wakeup_fd global_wakeup_fd;
64
+ static bool g_is_shutdown = true;
62
65
 
63
- /*******************************************************************************
64
- * Singleton epoll set related fields
65
- */
66
+ //******************************************************************************
67
+ // Singleton epoll set related fields
68
+ //
66
69
 
67
70
  #define MAX_EPOLL_EVENTS 100
68
71
  #define MAX_EPOLL_EVENTS_HANDLED_PER_ITERATION 1
69
72
 
70
- /* NOTE ON SYNCHRONIZATION:
71
- * - Fields in this struct are only modified by the designated poller. Hence
72
- * there is no need for any locks to protect the struct.
73
- * - num_events and cursor fields have to be of atomic type to provide memory
74
- * visibility guarantees only. i.e In case of multiple pollers, the designated
75
- * polling thread keeps changing; the thread that wrote these values may be
76
- * different from the thread reading the values
77
- */
73
+ // NOTE ON SYNCHRONIZATION:
74
+ // - Fields in this struct are only modified by the designated poller. Hence
75
+ // there is no need for any locks to protect the struct.
76
+ // - num_events and cursor fields have to be of atomic type to provide memory
77
+ // visibility guarantees only. i.e In case of multiple pollers, the designated
78
+ // polling thread keeps changing; the thread that wrote these values may be
79
+ // different from the thread reading the values
80
+ //
78
81
  typedef struct epoll_set {
79
82
  int epfd;
80
83
 
81
- /* The epoll_events after the last call to epoll_wait() */
84
+ // The epoll_events after the last call to epoll_wait()
82
85
  struct epoll_event events[MAX_EPOLL_EVENTS];
83
86
 
84
- /* The number of epoll_events after the last call to epoll_wait() */
87
+ // The number of epoll_events after the last call to epoll_wait()
85
88
  gpr_atm num_events;
86
89
 
87
- /* Index of the first event in epoll_events that has to be processed. This
88
- * field is only valid if num_events > 0 */
90
+ // Index of the first event in epoll_events that has to be processed. This
91
+ // field is only valid if num_events > 0
89
92
  gpr_atm cursor;
90
93
  } epoll_set;
91
94
 
92
- /* The global singleton epoll set */
95
+ // The global singleton epoll set
93
96
  static epoll_set g_epoll_set;
94
97
 
95
98
  static int epoll_create_and_cloexec() {
@@ -110,7 +113,7 @@ static int epoll_create_and_cloexec() {
110
113
  return fd;
111
114
  }
112
115
 
113
- /* Must be called *only* once */
116
+ // Must be called *only* once
114
117
  static bool epoll_set_init() {
115
118
  g_epoll_set.epfd = epoll_create_and_cloexec();
116
119
  if (g_epoll_set.epfd < 0) {
@@ -123,7 +126,7 @@ static bool epoll_set_init() {
123
126
  return true;
124
127
  }
125
128
 
126
- /* epoll_set_init() MUST be called before calling this. */
129
+ // epoll_set_init() MUST be called before calling this.
127
130
  static void epoll_set_shutdown() {
128
131
  if (g_epoll_set.epfd >= 0) {
129
132
  close(g_epoll_set.epfd);
@@ -131,11 +134,11 @@ static void epoll_set_shutdown() {
131
134
  }
132
135
  }
133
136
 
134
- /*******************************************************************************
135
- * Fd Declarations
136
- */
137
+ //******************************************************************************
138
+ // Fd Declarations
139
+ //
137
140
 
138
- /* Only used when GRPC_ENABLE_FORK_SUPPORT=1 */
141
+ // Only used when GRPC_ENABLE_FORK_SUPPORT=1
139
142
  struct grpc_fork_fd_list {
140
143
  grpc_fd* fd;
141
144
  grpc_fd* next;
@@ -153,16 +156,18 @@ struct grpc_fd {
153
156
 
154
157
  grpc_iomgr_object iomgr_object;
155
158
 
156
- /* Only used when GRPC_ENABLE_FORK_SUPPORT=1 */
159
+ // Only used when GRPC_ENABLE_FORK_SUPPORT=1
157
160
  grpc_fork_fd_list* fork_fd_list;
161
+
162
+ bool is_pre_allocated;
158
163
  };
159
164
 
160
165
  static void fd_global_init(void);
161
166
  static void fd_global_shutdown(void);
162
167
 
163
- /*******************************************************************************
164
- * Pollset Declarations
165
- */
168
+ //******************************************************************************
169
+ // Pollset Declarations
170
+ //
166
171
 
167
172
  typedef enum { UNKICKED, KICKED, DESIGNATED_POLLER } kick_state;
168
173
 
@@ -213,68 +218,68 @@ struct grpc_pollset {
213
218
  grpc_pollset_worker* root_worker;
214
219
  bool kicked_without_poller;
215
220
 
216
- /* Set to true if the pollset is observed to have no workers available to
217
- poll */
221
+ // Set to true if the pollset is observed to have no workers available to
222
+ // poll
218
223
  bool seen_inactive;
219
- bool shutting_down; /* Is the pollset shutting down ? */
220
- grpc_closure* shutdown_closure; /* Called after shutdown is complete */
224
+ bool shutting_down; // Is the pollset shutting down ?
225
+ grpc_closure* shutdown_closure; // Called after shutdown is complete
221
226
 
222
- /* Number of workers who are *about-to* attach themselves to the pollset
223
- * worker list */
227
+ // Number of workers who are *about-to* attach themselves to the pollset
228
+ // worker list
224
229
  int begin_refs;
225
230
 
226
231
  grpc_pollset* next;
227
232
  grpc_pollset* prev;
228
233
  };
229
234
 
230
- /*******************************************************************************
231
- * Pollset-set Declarations
232
- */
235
+ //******************************************************************************
236
+ // Pollset-set Declarations
237
+ //
233
238
 
234
239
  struct grpc_pollset_set {
235
240
  char unused;
236
241
  };
237
242
 
238
- /*******************************************************************************
239
- * Common helpers
240
- */
243
+ //******************************************************************************
244
+ // Common helpers
245
+ //
241
246
 
242
247
  static bool append_error(grpc_error_handle* composite, grpc_error_handle error,
243
248
  const char* desc) {
244
- if (GRPC_ERROR_IS_NONE(error)) return true;
245
- if (GRPC_ERROR_IS_NONE(*composite)) {
246
- *composite = GRPC_ERROR_CREATE_FROM_COPIED_STRING(desc);
249
+ if (error.ok()) return true;
250
+ if (composite->ok()) {
251
+ *composite = GRPC_ERROR_CREATE(desc);
247
252
  }
248
253
  *composite = grpc_error_add_child(*composite, error);
249
254
  return false;
250
255
  }
251
256
 
252
- /*******************************************************************************
253
- * Fd Definitions
254
- */
255
-
256
- /* We need to keep a freelist not because of any concerns of malloc performance
257
- * but instead so that implementations with multiple threads in (for example)
258
- * epoll_wait deal with the race between pollset removal and incoming poll
259
- * notifications.
260
- *
261
- * The problem is that the poller ultimately holds a reference to this
262
- * object, so it is very difficult to know when is safe to free it, at least
263
- * without some expensive synchronization.
264
- *
265
- * If we keep the object freelisted, in the worst case losing this race just
266
- * becomes a spurious read notification on a reused fd.
267
- */
268
-
269
- /* The alarm system needs to be able to wakeup 'some poller' sometimes
270
- * (specifically when a new alarm needs to be triggered earlier than the next
271
- * alarm 'epoch'). This wakeup_fd gives us something to alert on when such a
272
- * case occurs. */
257
+ //******************************************************************************
258
+ // Fd Definitions
259
+ //
260
+
261
+ // We need to keep a freelist not because of any concerns of malloc performance
262
+ // but instead so that implementations with multiple threads in (for example)
263
+ // epoll_wait deal with the race between pollset removal and incoming poll
264
+ // notifications.
265
+ //
266
+ // The problem is that the poller ultimately holds a reference to this
267
+ // object, so it is very difficult to know when is safe to free it, at least
268
+ // without some expensive synchronization.
269
+ //
270
+ // If we keep the object freelisted, in the worst case losing this race just
271
+ // becomes a spurious read notification on a reused fd.
272
+ //
273
+
274
+ // The alarm system needs to be able to wakeup 'some poller' sometimes
275
+ // (specifically when a new alarm needs to be triggered earlier than the next
276
+ // alarm 'epoch'). This wakeup_fd gives us something to alert on when such a
277
+ // case occurs.
273
278
 
274
279
  static grpc_fd* fd_freelist = nullptr;
275
280
  static gpr_mu fd_freelist_mu;
276
281
 
277
- /* Only used when GRPC_ENABLE_FORK_SUPPORT=1 */
282
+ // Only used when GRPC_ENABLE_FORK_SUPPORT=1
278
283
  static grpc_fd* fork_fd_list_head = nullptr;
279
284
  static gpr_mu fork_fd_list_mu;
280
285
 
@@ -349,6 +354,7 @@ static grpc_fd* fd_create(int fd, const char* name, bool track_err) {
349
354
  new_fd->error_closure->InitEvent();
350
355
 
351
356
  new_fd->freelist_next = nullptr;
357
+ new_fd->is_pre_allocated = false;
352
358
 
353
359
  std::string fd_name = absl::StrCat(name, " fd=", fd);
354
360
  grpc_iomgr_register_object(&new_fd->iomgr_object, fd_name.c_str());
@@ -361,15 +367,16 @@ static grpc_fd* fd_create(int fd, const char* name, bool track_err) {
361
367
 
362
368
  struct epoll_event ev;
363
369
  ev.events = static_cast<uint32_t>(EPOLLIN | EPOLLOUT | EPOLLET);
364
- /* Use the least significant bit of ev.data.ptr to store track_err. We expect
365
- * the addresses to be word aligned. We need to store track_err to avoid
366
- * synchronization issues when accessing it after receiving an event.
367
- * Accessing fd would be a data race there because the fd might have been
368
- * returned to the free list at that point. */
370
+ // Use the least significant bit of ev.data.ptr to store track_err. We expect
371
+ // the addresses to be word aligned. We need to store track_err to avoid
372
+ // synchronization issues when accessing it after receiving an event.
373
+ // Accessing fd would be a data race there because the fd might have been
374
+ // returned to the free list at that point.
369
375
  ev.data.ptr = reinterpret_cast<void*>(reinterpret_cast<intptr_t>(new_fd) |
370
376
  (track_err ? 1 : 0));
371
377
  if (epoll_ctl(g_epoll_set.epfd, EPOLL_CTL_ADD, fd, &ev) != 0) {
372
- gpr_log(GPR_ERROR, "epoll_ctl failed: %s", strerror(errno));
378
+ gpr_log(GPR_ERROR, "epoll_ctl failed: %s",
379
+ grpc_core::StrError(errno).c_str());
373
380
  }
374
381
 
375
382
  return new_fd;
@@ -377,52 +384,55 @@ static grpc_fd* fd_create(int fd, const char* name, bool track_err) {
377
384
 
378
385
  static int fd_wrapped_fd(grpc_fd* fd) { return fd->fd; }
379
386
 
380
- /* if 'releasing_fd' is true, it means that we are going to detach the internal
381
- * fd from grpc_fd structure (i.e which means we should not be calling
382
- * shutdown() syscall on that fd) */
387
+ // if 'releasing_fd' is true, it means that we are going to detach the internal
388
+ // fd from grpc_fd structure (i.e which means we should not be calling
389
+ // shutdown() syscall on that fd)
383
390
  static void fd_shutdown_internal(grpc_fd* fd, grpc_error_handle why,
384
391
  bool releasing_fd) {
385
- if (fd->read_closure->SetShutdown(GRPC_ERROR_REF(why))) {
392
+ if (fd->read_closure->SetShutdown(why)) {
386
393
  if (!releasing_fd) {
387
- shutdown(fd->fd, SHUT_RDWR);
394
+ if (!fd->is_pre_allocated) {
395
+ shutdown(fd->fd, SHUT_RDWR);
396
+ }
388
397
  } else {
389
- /* we need a phony event for earlier linux versions. */
398
+ // we need a phony event for earlier linux versions.
390
399
  epoll_event phony_event;
391
400
  if (epoll_ctl(g_epoll_set.epfd, EPOLL_CTL_DEL, fd->fd, &phony_event) !=
392
401
  0) {
393
- gpr_log(GPR_ERROR, "epoll_ctl failed: %s", strerror(errno));
402
+ gpr_log(GPR_ERROR, "epoll_ctl failed: %s",
403
+ grpc_core::StrError(errno).c_str());
394
404
  }
395
405
  }
396
- fd->write_closure->SetShutdown(GRPC_ERROR_REF(why));
397
- fd->error_closure->SetShutdown(GRPC_ERROR_REF(why));
406
+ fd->write_closure->SetShutdown(why);
407
+ fd->error_closure->SetShutdown(why);
398
408
  }
399
- GRPC_ERROR_UNREF(why);
400
409
  }
401
410
 
402
- /* Might be called multiple times */
411
+ // Might be called multiple times
403
412
  static void fd_shutdown(grpc_fd* fd, grpc_error_handle why) {
404
413
  fd_shutdown_internal(fd, why, false);
405
414
  }
406
415
 
407
416
  static void fd_orphan(grpc_fd* fd, grpc_closure* on_done, int* release_fd,
408
417
  const char* reason) {
409
- grpc_error_handle error = GRPC_ERROR_NONE;
418
+ grpc_error_handle error;
410
419
  bool is_release_fd = (release_fd != nullptr);
411
420
 
412
421
  if (!fd->read_closure->IsShutdown()) {
413
- fd_shutdown_internal(fd, GRPC_ERROR_CREATE_FROM_COPIED_STRING(reason),
414
- is_release_fd);
422
+ fd_shutdown_internal(fd, GRPC_ERROR_CREATE(reason), is_release_fd);
415
423
  }
416
424
 
417
- /* If release_fd is not NULL, we should be relinquishing control of the file
418
- descriptor fd->fd (but we still own the grpc_fd structure). */
425
+ // If release_fd is not NULL, we should be relinquishing control of the file
426
+ // descriptor fd->fd (but we still own the grpc_fd structure).
419
427
  if (is_release_fd) {
420
428
  *release_fd = fd->fd;
421
429
  } else {
422
- close(fd->fd);
430
+ if (!fd->is_pre_allocated) {
431
+ close(fd->fd);
432
+ }
423
433
  }
424
434
 
425
- grpc_core::ExecCtx::Run(DEBUG_LOCATION, on_done, GRPC_ERROR_REF(error));
435
+ grpc_core::ExecCtx::Run(DEBUG_LOCATION, on_done, error);
426
436
 
427
437
  grpc_iomgr_unregister_object(&fd->iomgr_object);
428
438
  fork_fd_list_remove_grpc_fd(fd);
@@ -458,20 +468,22 @@ static void fd_become_writable(grpc_fd* fd) { fd->write_closure->SetReady(); }
458
468
 
459
469
  static void fd_has_errors(grpc_fd* fd) { fd->error_closure->SetReady(); }
460
470
 
461
- /*******************************************************************************
462
- * Pollset Definitions
463
- */
471
+ static void fd_set_pre_allocated(grpc_fd* fd) { fd->is_pre_allocated = true; }
464
472
 
465
- static GPR_THREAD_LOCAL(grpc_pollset*) g_current_thread_pollset;
466
- static GPR_THREAD_LOCAL(grpc_pollset_worker*) g_current_thread_worker;
473
+ //******************************************************************************
474
+ // Pollset Definitions
475
+ //
467
476
 
468
- /* The designated poller */
477
+ static thread_local grpc_pollset* g_current_thread_pollset;
478
+ static thread_local grpc_pollset_worker* g_current_thread_worker;
479
+
480
+ // The designated poller
469
481
  static gpr_atm g_active_poller;
470
482
 
471
483
  static pollset_neighborhood* g_neighborhoods;
472
484
  static size_t g_num_neighborhoods;
473
485
 
474
- /* Return true if first in list */
486
+ // Return true if first in list
475
487
  static bool worker_insert(grpc_pollset* pollset, grpc_pollset_worker* worker) {
476
488
  if (pollset->root_worker == nullptr) {
477
489
  pollset->root_worker = worker;
@@ -486,7 +498,7 @@ static bool worker_insert(grpc_pollset* pollset, grpc_pollset_worker* worker) {
486
498
  }
487
499
  }
488
500
 
489
- /* Return true if last in list */
501
+ // Return true if last in list
490
502
  typedef enum { EMPTIED, NEW_ROOT, REMOVED } worker_remove_result;
491
503
 
492
504
  static worker_remove_result worker_remove(grpc_pollset* pollset,
@@ -516,7 +528,7 @@ static grpc_error_handle pollset_global_init(void) {
516
528
  gpr_atm_no_barrier_store(&g_active_poller, 0);
517
529
  global_wakeup_fd.read_fd = -1;
518
530
  grpc_error_handle err = grpc_wakeup_fd_init(&global_wakeup_fd);
519
- if (!GRPC_ERROR_IS_NONE(err)) return err;
531
+ if (!err.ok()) return err;
520
532
  struct epoll_event ev;
521
533
  ev.events = static_cast<uint32_t>(EPOLLIN | EPOLLET);
522
534
  ev.data.ptr = &global_wakeup_fd;
@@ -531,7 +543,7 @@ static grpc_error_handle pollset_global_init(void) {
531
543
  for (size_t i = 0; i < g_num_neighborhoods; i++) {
532
544
  gpr_mu_init(&g_neighborhoods[i].mu);
533
545
  }
534
- return GRPC_ERROR_NONE;
546
+ return absl::OkStatus();
535
547
  }
536
548
 
537
549
  static void pollset_global_shutdown(void) {
@@ -585,7 +597,7 @@ static void pollset_destroy(grpc_pollset* pollset) {
585
597
  }
586
598
 
587
599
  static grpc_error_handle pollset_kick_all(grpc_pollset* pollset) {
588
- grpc_error_handle error = GRPC_ERROR_NONE;
600
+ grpc_error_handle error;
589
601
  if (pollset->root_worker != nullptr) {
590
602
  grpc_pollset_worker* worker = pollset->root_worker;
591
603
  do {
@@ -617,7 +629,7 @@ static void pollset_maybe_finish_shutdown(grpc_pollset* pollset) {
617
629
  if (pollset->shutdown_closure != nullptr && pollset->root_worker == nullptr &&
618
630
  pollset->begin_refs == 0) {
619
631
  grpc_core::ExecCtx::Run(DEBUG_LOCATION, pollset->shutdown_closure,
620
- GRPC_ERROR_NONE);
632
+ absl::OkStatus());
621
633
  pollset->shutdown_closure = nullptr;
622
634
  }
623
635
  }
@@ -643,17 +655,17 @@ static int poll_deadline_to_millis_timeout(grpc_core::Timestamp millis) {
643
655
  }
644
656
  }
645
657
 
646
- /* Process the epoll events found by do_epoll_wait() function.
647
- - g_epoll_set.cursor points to the index of the first event to be processed
648
- - This function then processes up-to MAX_EPOLL_EVENTS_PER_ITERATION and
649
- updates the g_epoll_set.cursor
658
+ // Process the epoll events found by do_epoll_wait() function.
659
+ // - g_epoll_set.cursor points to the index of the first event to be processed
660
+ // - This function then processes up-to MAX_EPOLL_EVENTS_PER_ITERATION and
661
+ // updates the g_epoll_set.cursor
650
662
 
651
- NOTE ON SYNCRHONIZATION: Similar to do_epoll_wait(), this function is only
652
- called by g_active_poller thread. So there is no need for synchronization
653
- when accessing fields in g_epoll_set */
663
+ // NOTE ON SYNCRHONIZATION: Similar to do_epoll_wait(), this function is only
664
+ // called by g_active_poller thread. So there is no need for synchronization
665
+ // when accessing fields in g_epoll_set
654
666
  static grpc_error_handle process_epoll_events(grpc_pollset* /*pollset*/) {
655
667
  static const char* err_desc = "process_events";
656
- grpc_error_handle error = GRPC_ERROR_NONE;
668
+ grpc_error_handle error;
657
669
  long num_events = gpr_atm_acq_load(&g_epoll_set.num_events);
658
670
  long cursor = gpr_atm_acq_load(&g_epoll_set.cursor);
659
671
  for (int idx = 0;
@@ -668,9 +680,8 @@ static grpc_error_handle process_epoll_events(grpc_pollset* /*pollset*/) {
668
680
  err_desc);
669
681
  } else {
670
682
  grpc_fd* fd = reinterpret_cast<grpc_fd*>(
671
- reinterpret_cast<intptr_t>(data_ptr) & ~static_cast<intptr_t>(1));
672
- bool track_err =
673
- reinterpret_cast<intptr_t>(data_ptr) & static_cast<intptr_t>(1);
683
+ reinterpret_cast<intptr_t>(data_ptr) & ~intptr_t{1});
684
+ bool track_err = reinterpret_cast<intptr_t>(data_ptr) & intptr_t{1};
674
685
  bool cancel = (ev->events & EPOLLHUP) != 0;
675
686
  bool error = (ev->events & EPOLLERR) != 0;
676
687
  bool read_ev = (ev->events & (EPOLLIN | EPOLLPRI)) != 0;
@@ -694,13 +705,13 @@ static grpc_error_handle process_epoll_events(grpc_pollset* /*pollset*/) {
694
705
  return error;
695
706
  }
696
707
 
697
- /* Do epoll_wait and store the events in g_epoll_set.events field. This does not
698
- "process" any of the events yet; that is done in process_epoll_events().
699
- *See process_epoll_events() function for more details.
708
+ // Do epoll_wait and store the events in g_epoll_set.events field. This does not
709
+ // "process" any of the events yet; that is done in process_epoll_events().
710
+ // *See process_epoll_events() function for more details.
700
711
 
701
- NOTE ON SYNCHRONIZATION: At any point of time, only the g_active_poller
702
- (i.e the designated poller thread) will be calling this function. So there is
703
- no need for any synchronization when accesing fields in g_epoll_set */
712
+ // NOTE ON SYNCHRONIZATION: At any point of time, only the g_active_poller
713
+ // (i.e the designated poller thread) will be calling this function. So there is
714
+ // no need for any synchronization when accesing fields in g_epoll_set
704
715
  static grpc_error_handle do_epoll_wait(grpc_pollset* ps,
705
716
  grpc_core::Timestamp deadline) {
706
717
  int r;
@@ -725,7 +736,7 @@ static grpc_error_handle do_epoll_wait(grpc_pollset* ps,
725
736
  gpr_atm_rel_store(&g_epoll_set.num_events, r);
726
737
  gpr_atm_rel_store(&g_epoll_set.cursor, 0);
727
738
 
728
- return GRPC_ERROR_NONE;
739
+ return absl::OkStatus();
729
740
  }
730
741
 
731
742
  static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
@@ -769,20 +780,20 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
769
780
  goto retry_lock_neighborhood;
770
781
  }
771
782
 
772
- /* In the brief time we released the pollset locks above, the worker MAY
773
- have been kicked. In this case, the worker should get out of this
774
- pollset ASAP and hence this should neither add the pollset to
775
- neighborhood nor mark the pollset as active.
783
+ // In the brief time we released the pollset locks above, the worker MAY
784
+ // have been kicked. In this case, the worker should get out of this
785
+ // pollset ASAP and hence this should neither add the pollset to
786
+ // neighborhood nor mark the pollset as active.
776
787
 
777
- On a side note, the only way a worker's kick state could have changed
778
- at this point is if it were "kicked specifically". Since the worker has
779
- not added itself to the pollset yet (by calling worker_insert()), it is
780
- not visible in the "kick any" path yet */
788
+ // On a side note, the only way a worker's kick state could have changed
789
+ // at this point is if it were "kicked specifically". Since the worker has
790
+ // not added itself to the pollset yet (by calling worker_insert()), it is
791
+ // not visible in the "kick any" path yet
781
792
  if (worker->state == UNKICKED) {
782
793
  pollset->seen_inactive = false;
783
794
  if (neighborhood->active_root == nullptr) {
784
795
  neighborhood->active_root = pollset->next = pollset->prev = pollset;
785
- /* Make this the designated poller if there isn't one already */
796
+ // Make this the designated poller if there isn't one already
786
797
  if (worker->state == UNKICKED &&
787
798
  gpr_atm_no_barrier_cas(&g_active_poller, 0,
788
799
  reinterpret_cast<gpr_atm>(worker))) {
@@ -818,8 +829,8 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
818
829
  if (gpr_cv_wait(&worker->cv, &pollset->mu,
819
830
  deadline.as_timespec(GPR_CLOCK_MONOTONIC)) &&
820
831
  worker->state == UNKICKED) {
821
- /* If gpr_cv_wait returns true (i.e a timeout), pretend that the worker
822
- received a kick */
832
+ // If gpr_cv_wait returns true (i.e a timeout), pretend that the worker
833
+ // received a kick
823
834
  SET_KICK_STATE(worker, KICKED);
824
835
  }
825
836
  }
@@ -834,14 +845,14 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
834
845
  pollset->shutting_down, pollset->kicked_without_poller);
835
846
  }
836
847
 
837
- /* We release pollset lock in this function at a couple of places:
838
- * 1. Briefly when assigning pollset to a neighborhood
839
- * 2. When doing gpr_cv_wait()
840
- * It is possible that 'kicked_without_poller' was set to true during (1) and
841
- * 'shutting_down' is set to true during (1) or (2). If either of them is
842
- * true, this worker cannot do polling */
843
- /* TODO(sreek): Perhaps there is a better way to handle kicked_without_poller
844
- * case; especially when the worker is the DESIGNATED_POLLER */
848
+ // We release pollset lock in this function at a couple of places:
849
+ // 1. Briefly when assigning pollset to a neighborhood
850
+ // 2. When doing gpr_cv_wait()
851
+ // It is possible that 'kicked_without_poller' was set to true during (1) and
852
+ // 'shutting_down' is set to true during (1) or (2). If either of them is
853
+ // true, this worker cannot do polling
854
+ // TODO(sreek): Perhaps there is a better way to handle kicked_without_poller
855
+ // case; especially when the worker is the DESIGNATED_POLLER
845
856
 
846
857
  if (pollset->kicked_without_poller) {
847
858
  pollset->kicked_without_poller = false;
@@ -919,7 +930,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
919
930
  gpr_log(GPR_INFO, "PS:%p END_WORKER:%p", pollset, worker);
920
931
  }
921
932
  if (worker_hdl != nullptr) *worker_hdl = nullptr;
922
- /* Make sure we appear kicked */
933
+ // Make sure we appear kicked
923
934
  SET_KICK_STATE(worker, KICKED);
924
935
  grpc_closure_list_move(&worker->schedule_on_end_work,
925
936
  grpc_core::ExecCtx::Get()->closure_list());
@@ -986,19 +997,19 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
986
997
  GPR_ASSERT(gpr_atm_no_barrier_load(&g_active_poller) != (gpr_atm)worker);
987
998
  }
988
999
 
989
- /* pollset->po.mu lock must be held by the caller before calling this.
990
- The function pollset_work() may temporarily release the lock (pollset->po.mu)
991
- during the course of its execution but it will always re-acquire the lock and
992
- ensure that it is held by the time the function returns */
1000
+ // pollset->po.mu lock must be held by the caller before calling this.
1001
+ // The function pollset_work() may temporarily release the lock (pollset->po.mu)
1002
+ // during the course of its execution but it will always re-acquire the lock and
1003
+ // ensure that it is held by the time the function returns
993
1004
  static grpc_error_handle pollset_work(grpc_pollset* ps,
994
1005
  grpc_pollset_worker** worker_hdl,
995
1006
  grpc_core::Timestamp deadline) {
996
1007
  grpc_pollset_worker worker;
997
- grpc_error_handle error = GRPC_ERROR_NONE;
1008
+ grpc_error_handle error;
998
1009
  static const char* err_desc = "pollset_work";
999
1010
  if (ps->kicked_without_poller) {
1000
1011
  ps->kicked_without_poller = false;
1001
- return GRPC_ERROR_NONE;
1012
+ return absl::OkStatus();
1002
1013
  }
1003
1014
 
1004
1015
  if (begin_worker(ps, &worker, worker_hdl, deadline)) {
@@ -1007,28 +1018,28 @@ static grpc_error_handle pollset_work(grpc_pollset* ps,
1007
1018
  GPR_ASSERT(!ps->shutting_down);
1008
1019
  GPR_ASSERT(!ps->seen_inactive);
1009
1020
 
1010
- gpr_mu_unlock(&ps->mu); /* unlock */
1011
- /* This is the designated polling thread at this point and should ideally do
1012
- polling. However, if there are unprocessed events left from a previous
1013
- call to do_epoll_wait(), skip calling epoll_wait() in this iteration and
1014
- process the pending epoll events.
1015
-
1016
- The reason for decoupling do_epoll_wait and process_epoll_events is to
1017
- better distribute the work (i.e handling epoll events) across multiple
1018
- threads
1019
-
1020
- process_epoll_events() returns very quickly: It just queues the work on
1021
- exec_ctx but does not execute it (the actual exectution or more
1022
- accurately grpc_core::ExecCtx::Get()->Flush() happens in end_worker()
1023
- AFTER selecting a designated poller). So we are not waiting long periods
1024
- without a designated poller */
1021
+ gpr_mu_unlock(&ps->mu); // unlock
1022
+ // This is the designated polling thread at this point and should ideally do
1023
+ // polling. However, if there are unprocessed events left from a previous
1024
+ // call to do_epoll_wait(), skip calling epoll_wait() in this iteration and
1025
+ // process the pending epoll events.
1026
+
1027
+ // The reason for decoupling do_epoll_wait and process_epoll_events is to
1028
+ // better distribute the work (i.e handling epoll events) across multiple
1029
+ // threads
1030
+
1031
+ // process_epoll_events() returns very quickly: It just queues the work on
1032
+ // exec_ctx but does not execute it (the actual exectution or more
1033
+ // accurately grpc_core::ExecCtx::Get()->Flush() happens in end_worker()
1034
+ // AFTER selecting a designated poller). So we are not waiting long periods
1035
+ // without a designated poller
1025
1036
  if (gpr_atm_acq_load(&g_epoll_set.cursor) ==
1026
1037
  gpr_atm_acq_load(&g_epoll_set.num_events)) {
1027
1038
  append_error(&error, do_epoll_wait(ps, deadline), err_desc);
1028
1039
  }
1029
1040
  append_error(&error, process_epoll_events(ps), err_desc);
1030
1041
 
1031
- gpr_mu_lock(&ps->mu); /* lock */
1042
+ gpr_mu_lock(&ps->mu); // lock
1032
1043
 
1033
1044
  g_current_thread_worker = nullptr;
1034
1045
  } else {
@@ -1042,7 +1053,7 @@ static grpc_error_handle pollset_work(grpc_pollset* ps,
1042
1053
 
1043
1054
  static grpc_error_handle pollset_kick(grpc_pollset* pollset,
1044
1055
  grpc_pollset_worker* specific_worker) {
1045
- grpc_error_handle ret_err = GRPC_ERROR_NONE;
1056
+ grpc_error_handle ret_err;
1046
1057
  if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
1047
1058
  std::vector<std::string> log;
1048
1059
  log.push_back(absl::StrFormat(
@@ -1182,9 +1193,9 @@ done:
1182
1193
 
1183
1194
  static void pollset_add_fd(grpc_pollset* /*pollset*/, grpc_fd* /*fd*/) {}
1184
1195
 
1185
- /*******************************************************************************
1186
- * Pollset-set Definitions
1187
- */
1196
+ //******************************************************************************
1197
+ // Pollset-set Definitions
1198
+ //
1188
1199
 
1189
1200
  static grpc_pollset_set* pollset_set_create(void) {
1190
1201
  return reinterpret_cast<grpc_pollset_set*>(static_cast<intptr_t>(0xdeafbeef));
@@ -1208,9 +1219,9 @@ static void pollset_set_add_pollset_set(grpc_pollset_set* /*bag*/,
1208
1219
  static void pollset_set_del_pollset_set(grpc_pollset_set* /*bag*/,
1209
1220
  grpc_pollset_set* /*item*/) {}
1210
1221
 
1211
- /*******************************************************************************
1212
- * Event engine binding
1213
- */
1222
+ //******************************************************************************
1223
+ // Event engine binding
1224
+ //
1214
1225
 
1215
1226
  static bool is_any_background_poller_thread(void) { return false; }
1216
1227
 
@@ -1229,6 +1240,7 @@ static void shutdown_engine(void) {
1229
1240
  gpr_mu_destroy(&fork_fd_list_mu);
1230
1241
  grpc_core::Fork::SetResetChildPollingEngineFunc(nullptr);
1231
1242
  }
1243
+ g_is_shutdown = true;
1232
1244
  }
1233
1245
 
1234
1246
  static bool init_epoll1_linux();
@@ -1268,16 +1280,21 @@ const grpc_event_engine_vtable grpc_ev_epoll1_posix = {
1268
1280
 
1269
1281
  is_any_background_poller_thread,
1270
1282
  /* name = */ "epoll1",
1271
- /* check_engine_available = */ [](bool) { return init_epoll1_linux(); },
1272
- /* init_engine = */ []() {},
1283
+ /* check_engine_available = */
1284
+ [](bool) { return init_epoll1_linux(); },
1285
+ /* init_engine = */
1286
+ []() { GPR_ASSERT(init_epoll1_linux()); },
1273
1287
  shutdown_background_closure,
1274
- /* shutdown_engine = */ []() {},
1288
+ /* shutdown_engine = */
1289
+ []() { shutdown_engine(); },
1275
1290
  add_closure_to_background_poller,
1291
+
1292
+ fd_set_pre_allocated,
1276
1293
  };
1277
1294
 
1278
- /* Called by the child process's post-fork handler to close open fds, including
1279
- * the global epoll fd. This allows gRPC to shutdown in the child process
1280
- * without interfering with connections or RPCs ongoing in the parent. */
1295
+ // Called by the child process's post-fork handler to close open fds, including
1296
+ // the global epoll fd. This allows gRPC to shutdown in the child process
1297
+ // without interfering with connections or RPCs ongoing in the parent.
1281
1298
  static void reset_event_manager_on_fork() {
1282
1299
  gpr_mu_lock(&fork_fd_list_mu);
1283
1300
  while (fork_fd_list_head != nullptr) {
@@ -1290,10 +1307,11 @@ static void reset_event_manager_on_fork() {
1290
1307
  init_epoll1_linux();
1291
1308
  }
1292
1309
 
1293
- /* It is possible that GLIBC has epoll but the underlying kernel doesn't.
1294
- * Create epoll_fd (epoll_set_init() takes care of that) to make sure epoll
1295
- * support is available */
1310
+ // It is possible that GLIBC has epoll but the underlying kernel doesn't.
1311
+ // Create epoll_fd (epoll_set_init() takes care of that) to make sure epoll
1312
+ // support is available
1296
1313
  static bool init_epoll1_linux() {
1314
+ if (!g_is_shutdown) return true;
1297
1315
  if (!grpc_has_wakeup_fd()) {
1298
1316
  gpr_log(GPR_ERROR, "Skipping epoll1 because of no wakeup fd.");
1299
1317
  return false;
@@ -1316,10 +1334,11 @@ static bool init_epoll1_linux() {
1316
1334
  grpc_core::Fork::SetResetChildPollingEngineFunc(
1317
1335
  reset_event_manager_on_fork);
1318
1336
  }
1337
+ g_is_shutdown = false;
1319
1338
  return true;
1320
1339
  }
1321
1340
 
1322
- #else /* defined(GRPC_LINUX_EPOLL) */
1341
+ #else // defined(GRPC_LINUX_EPOLL)
1323
1342
  #if defined(GRPC_POSIX_SOCKET_EV_EPOLL1)
1324
1343
  #include "src/core/lib/iomgr/ev_epoll1_linux.h"
1325
1344
  const grpc_event_engine_vtable grpc_ev_epoll1_posix = {
@@ -1362,6 +1381,7 @@ const grpc_event_engine_vtable grpc_ev_epoll1_posix = {
1362
1381
  nullptr,
1363
1382
  nullptr,
1364
1383
  nullptr,
1384
+ nullptr,
1365
1385
  };
1366
- #endif /* defined(GRPC_POSIX_SOCKET_EV_EPOLL1) */
1367
- #endif /* !defined(GRPC_LINUX_EPOLL) */
1386
+ #endif // defined(GRPC_POSIX_SOCKET_EV_EPOLL1)
1387
+ #endif // !defined(GRPC_LINUX_EPOLL)