grpc 1.36.0 → 1.38.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 (680) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +126 -92
  3. data/include/grpc/event_engine/README.md +38 -0
  4. data/include/grpc/event_engine/channel_args.h +28 -0
  5. data/include/grpc/event_engine/event_engine.h +336 -0
  6. data/include/grpc/event_engine/port.h +39 -0
  7. data/include/grpc/event_engine/slice_allocator.h +81 -0
  8. data/include/grpc/grpc.h +15 -1
  9. data/include/grpc/grpc_security_constants.h +14 -0
  10. data/include/grpc/impl/codegen/grpc_types.h +11 -0
  11. data/include/grpc/impl/codegen/port_platform.h +7 -0
  12. data/include/grpc/module.modulemap +14 -14
  13. data/src/core/ext/filters/client_channel/backup_poller.cc +3 -3
  14. data/src/core/ext/filters/client_channel/channel_connectivity.cc +177 -202
  15. data/src/core/ext/filters/client_channel/client_channel.cc +715 -3166
  16. data/src/core/ext/filters/client_channel/client_channel.h +489 -55
  17. data/src/core/ext/filters/client_channel/client_channel_channelz.h +1 -1
  18. data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -1
  19. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +4 -1
  20. data/src/core/ext/filters/client_channel/config_selector.h +9 -1
  21. data/src/core/ext/filters/client_channel/connector.h +1 -1
  22. data/src/core/ext/filters/client_channel/dynamic_filters.cc +18 -14
  23. data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
  24. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +24 -142
  25. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +15 -10
  26. data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
  27. data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
  28. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
  29. data/src/core/ext/filters/client_channel/lb_policy.cc +4 -1
  30. data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
  35. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
  36. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
  37. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +23 -0
  38. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +27 -0
  39. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
  40. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
  41. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
  42. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
  43. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +29 -44
  44. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +32 -47
  45. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +86 -63
  46. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
  47. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
  48. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  49. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +27 -67
  50. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +10 -9
  51. data/src/core/ext/filters/client_channel/resolver.cc +3 -0
  52. data/src/core/ext/filters/client_channel/resolver.h +2 -2
  53. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
  54. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
  55. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
  56. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -4
  57. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +17 -15
  58. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +38 -33
  59. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
  60. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  61. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  62. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
  63. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
  64. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
  65. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +31 -14
  66. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  67. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +334 -114
  68. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
  69. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
  70. data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
  71. data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
  72. data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
  73. data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
  74. data/src/core/ext/filters/client_channel/server_address.cc +4 -1
  75. data/src/core/ext/filters/client_channel/service_config.cc +15 -14
  76. data/src/core/ext/filters/client_channel/service_config.h +7 -6
  77. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
  78. data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
  79. data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
  80. data/src/core/ext/filters/client_channel/subchannel.cc +86 -162
  81. data/src/core/ext/filters/client_channel/subchannel.h +68 -99
  82. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +16 -2
  83. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +10 -8
  84. data/src/core/ext/filters/client_idle/client_idle_filter.cc +17 -16
  85. data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
  86. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +501 -0
  87. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +39 -0
  88. data/src/core/ext/filters/fault_injection/service_config_parser.cc +189 -0
  89. data/src/core/ext/filters/fault_injection/service_config_parser.h +85 -0
  90. data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
  91. data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
  92. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
  93. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
  94. data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
  95. data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
  96. data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
  97. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  98. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +5 -4
  99. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -8
  100. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  101. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +5 -4
  102. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +2 -2
  103. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +6 -5
  104. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +485 -199
  105. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
  106. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
  107. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +3 -3
  108. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
  109. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +167 -122
  110. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +12 -1
  111. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
  112. data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
  113. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  114. data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
  115. data/src/core/ext/transport/chttp2/transport/frame_data.cc +13 -9
  116. data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
  117. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
  118. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
  119. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
  120. data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
  121. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
  122. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
  123. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
  124. data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
  125. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
  126. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
  127. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +1 -1
  128. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
  129. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
  130. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
  131. data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
  132. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
  133. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
  134. data/src/core/ext/transport/chttp2/transport/internal.h +32 -27
  135. data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
  136. data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
  137. data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
  138. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +406 -0
  139. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +1459 -0
  140. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +350 -0
  141. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1348 -0
  142. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +6 -0
  143. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +25 -0
  144. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +144 -0
  145. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +488 -0
  146. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +141 -0
  147. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +452 -0
  148. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +15 -0
  149. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +44 -0
  150. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +79 -0
  151. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +268 -0
  152. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +78 -0
  153. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +281 -0
  154. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -0
  155. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +113 -0
  156. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +6 -5
  157. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +13 -9
  158. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +93 -0
  159. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +323 -0
  160. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +36 -0
  161. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +90 -0
  162. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +46 -0
  163. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +124 -0
  164. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +33 -0
  165. data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +77 -0
  166. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +354 -0
  167. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +140 -0
  168. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +383 -0
  169. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +115 -0
  170. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +10 -7
  171. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +5 -0
  172. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +141 -0
  173. data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +70 -0
  174. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +141 -0
  175. data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +70 -0
  176. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +13 -7
  177. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +5 -0
  178. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +102 -0
  179. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +55 -0
  180. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +120 -0
  181. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +45 -0
  182. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +76 -0
  183. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +35 -0
  184. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +21 -20
  185. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +130 -0
  186. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +50 -0
  187. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +56 -0
  188. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +35 -0
  189. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +63 -0
  190. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +40 -0
  191. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +44 -0
  192. data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +35 -0
  193. data/src/core/ext/xds/certificate_provider_factory.h +1 -1
  194. data/src/core/ext/xds/certificate_provider_store.h +3 -3
  195. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
  196. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  197. data/src/core/ext/xds/xds_api.cc +1649 -329
  198. data/src/core/ext/xds/xds_api.h +284 -44
  199. data/src/core/ext/xds/xds_bootstrap.cc +110 -156
  200. data/src/core/ext/xds/xds_bootstrap.h +24 -25
  201. data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
  202. data/src/core/ext/xds/xds_certificate_provider.h +4 -4
  203. data/src/core/ext/xds/xds_channel_args.h +5 -2
  204. data/src/core/ext/xds/xds_client.cc +454 -177
  205. data/src/core/ext/xds/xds_client.h +62 -22
  206. data/src/core/ext/xds/xds_client_stats.h +5 -4
  207. data/src/core/ext/xds/xds_http_fault_filter.cc +226 -0
  208. data/src/core/ext/xds/xds_http_fault_filter.h +63 -0
  209. data/src/core/ext/xds/xds_http_filters.cc +114 -0
  210. data/src/core/ext/xds/xds_http_filters.h +130 -0
  211. data/src/core/ext/xds/xds_server_config_fetcher.cc +410 -131
  212. data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
  213. data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
  214. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +107 -4
  215. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +26 -6
  216. data/src/core/lib/channel/channel_stack.cc +22 -9
  217. data/src/core/lib/channel/channel_stack.h +17 -9
  218. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  219. data/src/core/lib/channel/channel_stack_builder.h +1 -1
  220. data/src/core/lib/channel/channelz.cc +108 -12
  221. data/src/core/lib/channel/channelz.h +30 -1
  222. data/src/core/lib/channel/channelz_registry.cc +14 -0
  223. data/src/core/lib/channel/connected_channel.cc +4 -4
  224. data/src/core/lib/channel/handshaker.cc +7 -45
  225. data/src/core/lib/channel/handshaker.h +5 -22
  226. data/src/core/lib/channel/status_util.cc +12 -2
  227. data/src/core/lib/channel/status_util.h +5 -0
  228. data/src/core/lib/event_engine/slice_allocator.cc +59 -0
  229. data/src/core/lib/event_engine/sockaddr.cc +38 -0
  230. data/src/core/lib/gpr/sync_abseil.cc +3 -6
  231. data/src/core/lib/gpr/sync_windows.cc +2 -2
  232. data/src/core/lib/gprpp/atomic.h +3 -3
  233. data/src/core/lib/gprpp/dual_ref_counted.h +3 -3
  234. data/src/core/lib/gprpp/ref_counted.h +28 -14
  235. data/src/core/lib/gprpp/ref_counted_ptr.h +2 -0
  236. data/src/core/lib/gprpp/status_helper.cc +407 -0
  237. data/src/core/lib/gprpp/status_helper.h +180 -0
  238. data/src/core/lib/gprpp/thd.h +1 -1
  239. data/src/core/lib/http/httpcli.cc +11 -11
  240. data/src/core/lib/http/httpcli_security_connector.cc +11 -7
  241. data/src/core/lib/http/parser.cc +16 -16
  242. data/src/core/lib/http/parser.h +4 -4
  243. data/src/core/lib/iomgr/buffer_list.cc +7 -9
  244. data/src/core/lib/iomgr/buffer_list.h +5 -6
  245. data/src/core/lib/iomgr/call_combiner.cc +15 -12
  246. data/src/core/lib/iomgr/call_combiner.h +12 -14
  247. data/src/core/lib/iomgr/cfstream_handle.cc +5 -5
  248. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  249. data/src/core/lib/iomgr/closure.h +7 -6
  250. data/src/core/lib/iomgr/combiner.cc +14 -12
  251. data/src/core/lib/iomgr/combiner.h +2 -2
  252. data/src/core/lib/iomgr/endpoint.cc +1 -1
  253. data/src/core/lib/iomgr/endpoint.h +2 -2
  254. data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
  255. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
  256. data/src/core/lib/iomgr/error.cc +167 -61
  257. data/src/core/lib/iomgr/error.h +218 -107
  258. data/src/core/lib/iomgr/error_cfstream.cc +3 -2
  259. data/src/core/lib/iomgr/error_cfstream.h +2 -2
  260. data/src/core/lib/iomgr/error_internal.h +5 -1
  261. data/src/core/lib/iomgr/ev_apple.cc +6 -6
  262. data/src/core/lib/iomgr/ev_epoll1_linux.cc +22 -22
  263. data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
  264. data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
  265. data/src/core/lib/iomgr/ev_posix.cc +12 -11
  266. data/src/core/lib/iomgr/ev_posix.h +9 -9
  267. data/src/core/lib/iomgr/exec_ctx.cc +10 -6
  268. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  269. data/src/core/lib/iomgr/executor.cc +8 -8
  270. data/src/core/lib/iomgr/executor.h +2 -2
  271. data/src/core/lib/iomgr/iomgr.cc +1 -1
  272. data/src/core/lib/iomgr/iomgr.h +1 -1
  273. data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
  274. data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
  275. data/src/core/lib/iomgr/iomgr_internal.h +3 -3
  276. data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
  277. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
  278. data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
  279. data/src/core/lib/iomgr/load_file.cc +4 -4
  280. data/src/core/lib/iomgr/load_file.h +2 -2
  281. data/src/core/lib/iomgr/lockfree_event.cc +5 -5
  282. data/src/core/lib/iomgr/lockfree_event.h +1 -1
  283. data/src/core/lib/iomgr/pollset.cc +5 -5
  284. data/src/core/lib/iomgr/pollset.h +9 -9
  285. data/src/core/lib/iomgr/pollset_custom.cc +5 -5
  286. data/src/core/lib/iomgr/pollset_windows.cc +5 -5
  287. data/src/core/lib/iomgr/port.h +1 -1
  288. data/src/core/lib/iomgr/python_util.h +1 -1
  289. data/src/core/lib/iomgr/resolve_address.cc +3 -3
  290. data/src/core/lib/iomgr/resolve_address.h +6 -6
  291. data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
  292. data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
  293. data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
  294. data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
  295. data/src/core/lib/iomgr/resource_quota.cc +12 -11
  296. data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
  297. data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
  298. data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
  299. data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
  300. data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
  301. data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
  302. data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
  303. data/src/core/lib/iomgr/tcp_custom.cc +14 -16
  304. data/src/core/lib/iomgr/tcp_custom.h +13 -12
  305. data/src/core/lib/iomgr/tcp_posix.cc +37 -38
  306. data/src/core/lib/iomgr/tcp_server.cc +6 -6
  307. data/src/core/lib/iomgr/tcp_server.h +12 -11
  308. data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
  309. data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
  310. data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
  311. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
  312. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
  313. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  314. data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
  315. data/src/core/lib/iomgr/tcp_uv.cc +27 -25
  316. data/src/core/lib/iomgr/tcp_windows.cc +13 -13
  317. data/src/core/lib/iomgr/tcp_windows.h +2 -2
  318. data/src/core/lib/iomgr/timer_custom.cc +2 -1
  319. data/src/core/lib/iomgr/timer_custom.h +1 -1
  320. data/src/core/lib/iomgr/timer_generic.cc +8 -8
  321. data/src/core/lib/iomgr/timer_manager.cc +1 -1
  322. data/src/core/lib/iomgr/udp_server.cc +21 -20
  323. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
  324. data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
  325. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
  326. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
  327. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
  328. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
  329. data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
  330. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
  331. data/src/core/lib/iomgr/work_serializer.h +17 -1
  332. data/src/core/lib/json/json.h +1 -1
  333. data/src/core/lib/json/json_reader.cc +4 -4
  334. data/src/core/lib/{security/authorization → matchers}/matchers.cc +47 -47
  335. data/src/core/lib/{security/authorization → matchers}/matchers.h +42 -40
  336. data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
  337. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
  338. data/src/core/lib/security/credentials/credentials.h +2 -2
  339. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
  340. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
  341. data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
  342. data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
  343. data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
  344. data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
  345. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
  346. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
  347. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
  348. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
  349. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
  350. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
  351. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
  352. data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
  353. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
  354. data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
  355. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
  356. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
  357. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
  358. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
  359. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
  360. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
  361. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
  362. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
  363. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
  364. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
  365. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
  366. data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
  367. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
  368. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
  369. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  370. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
  371. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
  372. data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
  373. data/src/core/lib/security/security_connector/security_connector.h +9 -4
  374. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
  375. data/src/core/lib/security/security_connector/ssl_utils.cc +28 -8
  376. data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
  377. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +62 -60
  378. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
  379. data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
  380. data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
  381. data/src/core/lib/security/transport/security_handshaker.cc +65 -34
  382. data/src/core/lib/security/transport/server_auth_filter.cc +24 -11
  383. data/src/core/lib/security/transport/tsi_error.cc +2 -1
  384. data/src/core/lib/security/transport/tsi_error.h +2 -1
  385. data/src/core/lib/security/util/json_util.cc +2 -2
  386. data/src/core/lib/security/util/json_util.h +1 -1
  387. data/src/core/lib/slice/slice_intern.cc +6 -7
  388. data/src/core/lib/surface/call.cc +46 -45
  389. data/src/core/lib/surface/call.h +2 -2
  390. data/src/core/lib/surface/channel.cc +6 -6
  391. data/src/core/lib/surface/channel.h +6 -5
  392. data/src/core/lib/surface/channel_ping.cc +1 -1
  393. data/src/core/lib/surface/completion_queue.cc +46 -47
  394. data/src/core/lib/surface/completion_queue.h +2 -1
  395. data/src/core/lib/surface/lame_client.cc +43 -24
  396. data/src/core/lib/surface/lame_client.h +4 -3
  397. data/src/core/lib/surface/server.cc +68 -55
  398. data/src/core/lib/surface/server.h +89 -29
  399. data/src/core/lib/surface/validate_metadata.cc +7 -7
  400. data/src/core/lib/surface/validate_metadata.h +3 -2
  401. data/src/core/lib/surface/version.cc +4 -2
  402. data/src/core/lib/transport/byte_stream.cc +5 -5
  403. data/src/core/lib/transport/byte_stream.h +8 -8
  404. data/src/core/lib/transport/connectivity_state.cc +1 -1
  405. data/src/core/lib/transport/error_utils.cc +19 -8
  406. data/src/core/lib/transport/error_utils.h +11 -5
  407. data/src/core/lib/transport/metadata_batch.cc +64 -37
  408. data/src/core/lib/transport/metadata_batch.h +33 -18
  409. data/src/core/lib/transport/transport.cc +4 -3
  410. data/src/core/lib/transport/transport.h +4 -4
  411. data/src/core/lib/transport/transport_op_string.cc +5 -5
  412. data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -0
  413. data/src/core/tsi/alts/crypt/gsec.h +4 -0
  414. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +6 -8
  415. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
  416. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -1
  417. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
  418. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -3
  419. data/src/core/tsi/fake_transport_security.cc +10 -1
  420. data/src/core/tsi/ssl_transport_security.cc +32 -14
  421. data/src/core/tsi/ssl_transport_security.h +3 -4
  422. data/src/ruby/bin/math_services_pb.rb +1 -1
  423. data/src/ruby/ext/grpc/extconf.rb +9 -1
  424. data/src/ruby/ext/grpc/rb_channel.c +10 -1
  425. data/src/ruby/ext/grpc/rb_channel_credentials.c +11 -1
  426. data/src/ruby/ext/grpc/rb_channel_credentials.h +4 -0
  427. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  428. data/src/ruby/ext/grpc/rb_enable_cpp.cc +1 -1
  429. data/src/ruby/ext/grpc/rb_grpc.c +4 -0
  430. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -0
  431. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -1
  432. data/src/ruby/ext/grpc/rb_server.c +13 -1
  433. data/src/ruby/ext/grpc/rb_server_credentials.c +19 -3
  434. data/src/ruby/ext/grpc/rb_server_credentials.h +4 -0
  435. data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +215 -0
  436. data/src/ruby/ext/grpc/rb_xds_channel_credentials.h +35 -0
  437. data/src/ruby/ext/grpc/rb_xds_server_credentials.c +169 -0
  438. data/src/ruby/ext/grpc/rb_xds_server_credentials.h +35 -0
  439. data/src/ruby/lib/grpc/generic/client_stub.rb +4 -2
  440. data/src/ruby/lib/grpc/version.rb +1 -1
  441. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
  442. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
  443. data/src/ruby/spec/call_spec.rb +1 -1
  444. data/src/ruby/spec/channel_credentials_spec.rb +32 -0
  445. data/src/ruby/spec/channel_spec.rb +17 -6
  446. data/src/ruby/spec/client_auth_spec.rb +27 -1
  447. data/src/ruby/spec/errors_spec.rb +1 -1
  448. data/src/ruby/spec/generic/active_call_spec.rb +2 -2
  449. data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
  450. data/src/ruby/spec/generic/rpc_server_spec.rb +1 -1
  451. data/src/ruby/spec/server_credentials_spec.rb +25 -0
  452. data/src/ruby/spec/server_spec.rb +22 -0
  453. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
  454. data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
  455. data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
  456. data/third_party/abseil-cpp/absl/base/config.h +37 -9
  457. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
  458. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
  459. data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
  460. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
  461. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
  462. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
  463. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
  464. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
  465. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
  466. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
  467. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
  468. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
  469. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
  470. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
  471. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
  472. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
  473. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
  474. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
  475. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
  476. data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
  477. data/third_party/abseil-cpp/absl/base/macros.h +11 -0
  478. data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
  479. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  480. data/third_party/abseil-cpp/absl/base/port.h +0 -1
  481. data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
  482. data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
  483. data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
  484. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
  485. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
  486. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
  487. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
  488. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
  489. data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
  490. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
  491. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
  492. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
  493. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
  494. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
  495. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
  496. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
  497. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
  498. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
  499. data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
  500. data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
  501. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
  502. data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
  503. data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
  504. data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
  505. data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
  506. data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
  507. data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
  508. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  509. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  510. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  511. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
  512. data/third_party/abseil-cpp/absl/status/status.cc +29 -22
  513. data/third_party/abseil-cpp/absl/status/status.h +81 -20
  514. data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
  515. data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
  516. data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
  517. data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
  518. data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
  519. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
  520. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
  521. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
  522. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
  523. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
  524. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
  525. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
  526. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
  527. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
  528. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
  529. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
  530. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
  531. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
  532. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
  533. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
  534. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
  535. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
  536. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
  537. data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
  538. data/third_party/abseil-cpp/absl/strings/match.h +16 -6
  539. data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
  540. data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
  541. data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
  542. data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
  543. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
  544. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
  545. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
  546. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
  547. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
  548. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
  549. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
  550. data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
  551. data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
  552. data/third_party/abseil-cpp/absl/time/clock.h +2 -2
  553. data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
  554. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
  555. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
  556. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
  557. data/third_party/abseil-cpp/absl/time/time.cc +4 -3
  558. data/third_party/abseil-cpp/absl/time/time.h +26 -24
  559. data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
  560. data/third_party/abseil-cpp/absl/types/variant.h +9 -4
  561. data/third_party/boringssl-with-bazel/err_data.c +478 -462
  562. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
  563. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
  564. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
  565. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
  566. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
  567. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
  568. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
  569. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
  570. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
  571. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
  572. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c +11 -2
  573. data/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c +3 -3
  574. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
  575. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  576. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
  577. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +32 -16
  578. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
  579. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
  580. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
  581. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
  582. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
  583. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
  584. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
  585. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
  586. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
  587. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
  588. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
  589. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
  590. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
  591. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
  592. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
  593. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
  594. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +7 -5
  595. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
  596. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
  597. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
  598. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
  599. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
  600. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
  601. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
  602. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
  603. data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
  604. data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
  605. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
  606. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
  607. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
  608. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
  609. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
  610. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
  611. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
  612. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
  613. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -30
  614. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
  615. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
  616. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
  617. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
  618. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +21 -34
  619. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
  620. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
  621. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
  622. data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +3 -1
  623. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
  624. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
  625. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
  626. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
  627. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
  628. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
  629. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -4
  630. data/third_party/boringssl-with-bazel/src/include/openssl/cpu.h +22 -32
  631. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
  632. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
  633. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
  634. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
  635. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
  636. data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
  637. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
  638. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
  639. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
  640. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
  641. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +210 -26
  642. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
  643. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -122
  644. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
  645. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
  646. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
  647. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
  648. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
  649. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
  650. data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
  651. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
  652. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
  653. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
  654. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
  655. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +131 -83
  656. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
  657. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
  658. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
  659. data/third_party/xxhash/xxhash.h +5443 -0
  660. metadata +128 -61
  661. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
  662. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
  663. data/src/core/lib/security/authorization/authorization_engine.cc +0 -177
  664. data/src/core/lib/security/authorization/authorization_engine.h +0 -84
  665. data/src/core/lib/security/authorization/evaluate_args.cc +0 -148
  666. data/src/core/lib/security/authorization/evaluate_args.h +0 -59
  667. data/src/core/lib/security/authorization/mock_cel/activation.h +0 -57
  668. data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +0 -44
  669. data/src/core/lib/security/authorization/mock_cel/cel_expression.h +0 -69
  670. data/src/core/lib/security/authorization/mock_cel/cel_value.h +0 -99
  671. data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +0 -67
  672. data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +0 -57
  673. data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
  674. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +0 -504
  675. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
  676. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
  677. data/third_party/upb/upb/json_decode.c +0 -1443
  678. data/third_party/upb/upb/json_decode.h +0 -23
  679. data/third_party/upb/upb/json_encode.c +0 -713
  680. data/third_party/upb/upb/json_encode.h +0 -36
@@ -57,7 +57,7 @@ void client_authority_start_transport_stream_op_batch(
57
57
  if (batch->send_initial_metadata &&
58
58
  batch->payload->send_initial_metadata.send_initial_metadata->idx.named
59
59
  .authority == nullptr) {
60
- grpc_error* error = grpc_metadata_batch_add_head(
60
+ grpc_error_handle error = grpc_metadata_batch_add_head(
61
61
  batch->payload->send_initial_metadata.send_initial_metadata,
62
62
  &calld->authority_storage,
63
63
  GRPC_MDELEM_REF(chand->default_authority_mdelem), GRPC_BATCH_AUTHORITY);
@@ -72,7 +72,7 @@ void client_authority_start_transport_stream_op_batch(
72
72
  }
73
73
 
74
74
  /* Constructor for call_data */
75
- grpc_error* client_authority_init_call_elem(
75
+ grpc_error_handle client_authority_init_call_elem(
76
76
  grpc_call_element* elem, const grpc_call_element_args* args) {
77
77
  call_data* calld = static_cast<call_data*>(elem->call_data);
78
78
  calld->call_combiner = args->call_combiner;
@@ -85,7 +85,7 @@ void client_authority_destroy_call_elem(
85
85
  grpc_closure* /*ignored*/) {}
86
86
 
87
87
  /* Constructor for channel_data */
88
- grpc_error* client_authority_init_channel_elem(
88
+ grpc_error_handle client_authority_init_channel_elem(
89
89
  grpc_channel_element* elem, grpc_channel_element_args* args) {
90
90
  channel_data* chand = static_cast<channel_data*>(elem->channel_data);
91
91
  const grpc_arg* default_authority_arg =
@@ -131,25 +131,25 @@ class CallData {
131
131
  bool SkipMessageCompression();
132
132
  void InitializeState(grpc_call_element* elem);
133
133
 
134
- grpc_error* ProcessSendInitialMetadata(grpc_call_element* elem,
135
- grpc_metadata_batch* initial_metadata);
134
+ grpc_error_handle ProcessSendInitialMetadata(
135
+ grpc_call_element* elem, grpc_metadata_batch* initial_metadata);
136
136
 
137
137
  // Methods for processing a send_message batch
138
- static void StartSendMessageBatch(void* elem_arg, grpc_error* unused);
139
- static void OnSendMessageNextDone(void* elem_arg, grpc_error* error);
140
- grpc_error* PullSliceFromSendMessage();
138
+ static void StartSendMessageBatch(void* elem_arg, grpc_error_handle unused);
139
+ static void OnSendMessageNextDone(void* elem_arg, grpc_error_handle error);
140
+ grpc_error_handle PullSliceFromSendMessage();
141
141
  void ContinueReadingSendMessage(grpc_call_element* elem);
142
142
  void FinishSendMessage(grpc_call_element* elem);
143
143
  void SendMessageBatchContinue(grpc_call_element* elem);
144
144
  static void FailSendMessageBatchInCallCombiner(void* calld_arg,
145
- grpc_error* error);
145
+ grpc_error_handle error);
146
146
 
147
- static void SendMessageOnComplete(void* calld_arg, grpc_error* error);
147
+ static void SendMessageOnComplete(void* calld_arg, grpc_error_handle error);
148
148
 
149
149
  grpc_core::CallCombiner* call_combiner_;
150
150
  grpc_message_compression_algorithm message_compression_algorithm_ =
151
151
  GRPC_MESSAGE_COMPRESS_NONE;
152
- grpc_error* cancel_error_ = GRPC_ERROR_NONE;
152
+ grpc_error_handle cancel_error_ = GRPC_ERROR_NONE;
153
153
  grpc_transport_stream_op_batch* send_message_batch_ = nullptr;
154
154
  bool seen_initial_metadata_ = false;
155
155
  /* Set to true, if the fields below are initialized. */
@@ -232,7 +232,7 @@ void CallData::InitializeState(grpc_call_element* elem) {
232
232
  grpc_schedule_on_exec_ctx);
233
233
  }
234
234
 
235
- grpc_error* CallData::ProcessSendInitialMetadata(
235
+ grpc_error_handle CallData::ProcessSendInitialMetadata(
236
236
  grpc_call_element* elem, grpc_metadata_batch* initial_metadata) {
237
237
  ChannelData* channeld = static_cast<ChannelData*>(elem->channel_data);
238
238
  // Find the compression algorithm.
@@ -246,7 +246,7 @@ grpc_error* CallData::ProcessSendInitialMetadata(
246
246
  grpc_compression_algorithm_to_stream_compression_algorithm(
247
247
  compression_algorithm);
248
248
  // Hint compression algorithm.
249
- grpc_error* error = GRPC_ERROR_NONE;
249
+ grpc_error_handle error = GRPC_ERROR_NONE;
250
250
  if (message_compression_algorithm_ != GRPC_MESSAGE_COMPRESS_NONE) {
251
251
  InitializeState(elem);
252
252
  error = grpc_metadata_batch_add_tail(
@@ -281,7 +281,7 @@ grpc_error* CallData::ProcessSendInitialMetadata(
281
281
  return error;
282
282
  }
283
283
 
284
- void CallData::SendMessageOnComplete(void* calld_arg, grpc_error* error) {
284
+ void CallData::SendMessageOnComplete(void* calld_arg, grpc_error_handle error) {
285
285
  CallData* calld = static_cast<CallData*>(calld_arg);
286
286
  grpc_slice_buffer_reset_and_unref_internal(&calld->slices_);
287
287
  grpc_core::Closure::Run(DEBUG_LOCATION,
@@ -348,7 +348,7 @@ void CallData::FinishSendMessage(grpc_call_element* elem) {
348
348
  }
349
349
 
350
350
  void CallData::FailSendMessageBatchInCallCombiner(void* calld_arg,
351
- grpc_error* error) {
351
+ grpc_error_handle error) {
352
352
  CallData* calld = static_cast<CallData*>(calld_arg);
353
353
  if (calld->send_message_batch_ != nullptr) {
354
354
  grpc_transport_stream_op_batch_finish_with_failure(
@@ -359,9 +359,9 @@ void CallData::FailSendMessageBatchInCallCombiner(void* calld_arg,
359
359
  }
360
360
 
361
361
  // Pulls a slice from the send_message byte stream and adds it to slices_.
362
- grpc_error* CallData::PullSliceFromSendMessage() {
362
+ grpc_error_handle CallData::PullSliceFromSendMessage() {
363
363
  grpc_slice incoming_slice;
364
- grpc_error* error =
364
+ grpc_error_handle error =
365
365
  send_message_batch_->payload->send_message.send_message->Pull(
366
366
  &incoming_slice);
367
367
  if (error == GRPC_ERROR_NONE) {
@@ -382,7 +382,7 @@ void CallData::ContinueReadingSendMessage(grpc_call_element* elem) {
382
382
  }
383
383
  while (send_message_batch_->payload->send_message.send_message->Next(
384
384
  ~static_cast<size_t>(0), &on_send_message_next_done_)) {
385
- grpc_error* error = PullSliceFromSendMessage();
385
+ grpc_error_handle error = PullSliceFromSendMessage();
386
386
  if (error != GRPC_ERROR_NONE) {
387
387
  // Closure callback; does not take ownership of error.
388
388
  FailSendMessageBatchInCallCombiner(this, error);
@@ -398,7 +398,7 @@ void CallData::ContinueReadingSendMessage(grpc_call_element* elem) {
398
398
  }
399
399
 
400
400
  // Async callback for ByteStream::Next().
401
- void CallData::OnSendMessageNextDone(void* elem_arg, grpc_error* error) {
401
+ void CallData::OnSendMessageNextDone(void* elem_arg, grpc_error_handle error) {
402
402
  grpc_call_element* elem = static_cast<grpc_call_element*>(elem_arg);
403
403
  CallData* calld = static_cast<CallData*>(elem->call_data);
404
404
  if (error != GRPC_ERROR_NONE) {
@@ -421,7 +421,8 @@ void CallData::OnSendMessageNextDone(void* elem_arg, grpc_error* error) {
421
421
  }
422
422
  }
423
423
 
424
- void CallData::StartSendMessageBatch(void* elem_arg, grpc_error* /*unused*/) {
424
+ void CallData::StartSendMessageBatch(void* elem_arg,
425
+ grpc_error_handle /*unused*/) {
425
426
  grpc_call_element* elem = static_cast<grpc_call_element*>(elem_arg);
426
427
  CallData* calld = static_cast<CallData*>(elem->call_data);
427
428
  if (calld->SkipMessageCompression()) {
@@ -458,7 +459,7 @@ void CallData::CompressStartTransportStreamOpBatch(
458
459
  // Handle send_initial_metadata.
459
460
  if (batch->send_initial_metadata) {
460
461
  GPR_ASSERT(!seen_initial_metadata_);
461
- grpc_error* error = ProcessSendInitialMetadata(
462
+ grpc_error_handle error = ProcessSendInitialMetadata(
462
463
  elem, batch->payload->send_initial_metadata.send_initial_metadata);
463
464
  if (error != GRPC_ERROR_NONE) {
464
465
  grpc_transport_stream_op_batch_finish_with_failure(batch, error,
@@ -503,8 +504,8 @@ void CompressStartTransportStreamOpBatch(
503
504
  }
504
505
 
505
506
  /* Constructor for call_data */
506
- grpc_error* CompressInitCallElem(grpc_call_element* elem,
507
- const grpc_call_element_args* args) {
507
+ grpc_error_handle CompressInitCallElem(grpc_call_element* elem,
508
+ const grpc_call_element_args* args) {
508
509
  new (elem->call_data) CallData(elem, *args);
509
510
  return GRPC_ERROR_NONE;
510
511
  }
@@ -518,8 +519,8 @@ void CompressDestroyCallElem(grpc_call_element* elem,
518
519
  }
519
520
 
520
521
  /* Constructor for ChannelData */
521
- grpc_error* CompressInitChannelElem(grpc_channel_element* elem,
522
- grpc_channel_element_args* args) {
522
+ grpc_error_handle CompressInitChannelElem(grpc_channel_element* elem,
523
+ grpc_channel_element_args* args) {
523
524
  new (elem->channel_data) ChannelData(args);
524
525
  return GRPC_ERROR_NONE;
525
526
  }
@@ -89,24 +89,24 @@ class CallData {
89
89
  grpc_call_element* elem, grpc_transport_stream_op_batch* batch);
90
90
 
91
91
  private:
92
- static void OnRecvInitialMetadataReady(void* arg, grpc_error* error);
92
+ static void OnRecvInitialMetadataReady(void* arg, grpc_error_handle error);
93
93
 
94
94
  // Methods for processing a receive message event
95
95
  void MaybeResumeOnRecvMessageReady();
96
- static void OnRecvMessageReady(void* arg, grpc_error* error);
97
- static void OnRecvMessageNextDone(void* arg, grpc_error* error);
98
- grpc_error* PullSliceFromRecvMessage();
96
+ static void OnRecvMessageReady(void* arg, grpc_error_handle error);
97
+ static void OnRecvMessageNextDone(void* arg, grpc_error_handle error);
98
+ grpc_error_handle PullSliceFromRecvMessage();
99
99
  void ContinueReadingRecvMessage();
100
100
  void FinishRecvMessage();
101
- void ContinueRecvMessageReadyCallback(grpc_error* error);
101
+ void ContinueRecvMessageReadyCallback(grpc_error_handle error);
102
102
 
103
103
  // Methods for processing a recv_trailing_metadata event
104
104
  void MaybeResumeOnRecvTrailingMetadataReady();
105
- static void OnRecvTrailingMetadataReady(void* arg, grpc_error* error);
105
+ static void OnRecvTrailingMetadataReady(void* arg, grpc_error_handle error);
106
106
 
107
107
  CallCombiner* call_combiner_;
108
108
  // Overall error for the call
109
- grpc_error* error_ = GRPC_ERROR_NONE;
109
+ grpc_error_handle error_ = GRPC_ERROR_NONE;
110
110
  // Fields for handling recv_initial_metadata_ready callback
111
111
  grpc_closure on_recv_initial_metadata_ready_;
112
112
  grpc_closure* original_recv_initial_metadata_ready_ = nullptr;
@@ -130,7 +130,7 @@ class CallData {
130
130
  bool seen_recv_trailing_metadata_ready_ = false;
131
131
  grpc_closure on_recv_trailing_metadata_ready_;
132
132
  grpc_closure* original_recv_trailing_metadata_ready_ = nullptr;
133
- grpc_error* on_recv_trailing_metadata_ready_error_ = GRPC_ERROR_NONE;
133
+ grpc_error_handle on_recv_trailing_metadata_ready_error_ = GRPC_ERROR_NONE;
134
134
  };
135
135
 
136
136
  grpc_message_compression_algorithm DecodeMessageCompressionAlgorithm(
@@ -149,7 +149,7 @@ grpc_message_compression_algorithm DecodeMessageCompressionAlgorithm(
149
149
  return algorithm;
150
150
  }
151
151
 
152
- void CallData::OnRecvInitialMetadataReady(void* arg, grpc_error* error) {
152
+ void CallData::OnRecvInitialMetadataReady(void* arg, grpc_error_handle error) {
153
153
  CallData* calld = static_cast<CallData*>(arg);
154
154
  if (error == GRPC_ERROR_NONE) {
155
155
  grpc_linked_mdelem* grpc_encoding =
@@ -174,7 +174,7 @@ void CallData::MaybeResumeOnRecvMessageReady() {
174
174
  }
175
175
  }
176
176
 
177
- void CallData::OnRecvMessageReady(void* arg, grpc_error* error) {
177
+ void CallData::OnRecvMessageReady(void* arg, grpc_error_handle error) {
178
178
  CallData* calld = static_cast<CallData*>(arg);
179
179
  if (error == GRPC_ERROR_NONE) {
180
180
  if (calld->original_recv_initial_metadata_ready_ != nullptr) {
@@ -218,7 +218,7 @@ void CallData::ContinueReadingRecvMessage() {
218
218
  while ((*recv_message_)
219
219
  ->Next((*recv_message_)->length() - recv_slices_.length,
220
220
  &on_recv_message_next_done_)) {
221
- grpc_error* error = PullSliceFromRecvMessage();
221
+ grpc_error_handle error = PullSliceFromRecvMessage();
222
222
  if (error != GRPC_ERROR_NONE) {
223
223
  return ContinueRecvMessageReadyCallback(error);
224
224
  }
@@ -229,16 +229,16 @@ void CallData::ContinueReadingRecvMessage() {
229
229
  }
230
230
  }
231
231
 
232
- grpc_error* CallData::PullSliceFromRecvMessage() {
232
+ grpc_error_handle CallData::PullSliceFromRecvMessage() {
233
233
  grpc_slice incoming_slice;
234
- grpc_error* error = (*recv_message_)->Pull(&incoming_slice);
234
+ grpc_error_handle error = (*recv_message_)->Pull(&incoming_slice);
235
235
  if (error == GRPC_ERROR_NONE) {
236
236
  grpc_slice_buffer_add(&recv_slices_, incoming_slice);
237
237
  }
238
238
  return error;
239
239
  }
240
240
 
241
- void CallData::OnRecvMessageNextDone(void* arg, grpc_error* error) {
241
+ void CallData::OnRecvMessageNextDone(void* arg, grpc_error_handle error) {
242
242
  CallData* calld = static_cast<CallData*>(arg);
243
243
  if (error != GRPC_ERROR_NONE) {
244
244
  return calld->ContinueRecvMessageReadyCallback(GRPC_ERROR_REF(error));
@@ -283,7 +283,7 @@ void CallData::FinishRecvMessage() {
283
283
  ContinueRecvMessageReadyCallback(GRPC_ERROR_REF(error_));
284
284
  }
285
285
 
286
- void CallData::ContinueRecvMessageReadyCallback(grpc_error* error) {
286
+ void CallData::ContinueRecvMessageReadyCallback(grpc_error_handle error) {
287
287
  MaybeResumeOnRecvTrailingMetadataReady();
288
288
  // The surface will clean up the receiving stream if there is an error.
289
289
  grpc_closure* closure = original_recv_message_ready_;
@@ -294,14 +294,14 @@ void CallData::ContinueRecvMessageReadyCallback(grpc_error* error) {
294
294
  void CallData::MaybeResumeOnRecvTrailingMetadataReady() {
295
295
  if (seen_recv_trailing_metadata_ready_) {
296
296
  seen_recv_trailing_metadata_ready_ = false;
297
- grpc_error* error = on_recv_trailing_metadata_ready_error_;
297
+ grpc_error_handle error = on_recv_trailing_metadata_ready_error_;
298
298
  on_recv_trailing_metadata_ready_error_ = GRPC_ERROR_NONE;
299
299
  GRPC_CALL_COMBINER_START(call_combiner_, &on_recv_trailing_metadata_ready_,
300
300
  error, "Continuing OnRecvTrailingMetadataReady");
301
301
  }
302
302
  }
303
303
 
304
- void CallData::OnRecvTrailingMetadataReady(void* arg, grpc_error* error) {
304
+ void CallData::OnRecvTrailingMetadataReady(void* arg, grpc_error_handle error) {
305
305
  CallData* calld = static_cast<CallData*>(arg);
306
306
  if (calld->original_recv_initial_metadata_ready_ != nullptr ||
307
307
  calld->original_recv_message_ready_ != nullptr) {
@@ -356,8 +356,8 @@ void DecompressStartTransportStreamOpBatch(
356
356
  calld->DecompressStartTransportStreamOpBatch(elem, batch);
357
357
  }
358
358
 
359
- grpc_error* DecompressInitCallElem(grpc_call_element* elem,
360
- const grpc_call_element_args* args) {
359
+ grpc_error_handle DecompressInitCallElem(grpc_call_element* elem,
360
+ const grpc_call_element_args* args) {
361
361
  ChannelData* chand = static_cast<ChannelData*>(elem->channel_data);
362
362
  new (elem->call_data) CallData(*args, chand);
363
363
  return GRPC_ERROR_NONE;
@@ -370,8 +370,8 @@ void DecompressDestroyCallElem(grpc_call_element* elem,
370
370
  calld->~CallData();
371
371
  }
372
372
 
373
- grpc_error* DecompressInitChannelElem(grpc_channel_element* elem,
374
- grpc_channel_element_args* args) {
373
+ grpc_error_handle DecompressInitChannelElem(grpc_channel_element* elem,
374
+ grpc_channel_element_args* args) {
375
375
  ChannelData* chand = static_cast<ChannelData*>(elem->channel_data);
376
376
  new (chand) ChannelData(args);
377
377
  return GRPC_ERROR_NONE;
@@ -35,9 +35,11 @@
35
35
  #define EXPECTED_CONTENT_TYPE "application/grpc"
36
36
  #define EXPECTED_CONTENT_TYPE_LENGTH (sizeof(EXPECTED_CONTENT_TYPE) - 1)
37
37
 
38
- static void hs_recv_initial_metadata_ready(void* user_data, grpc_error* err);
39
- static void hs_recv_trailing_metadata_ready(void* user_data, grpc_error* err);
40
- static void hs_recv_message_ready(void* user_data, grpc_error* err);
38
+ static void hs_recv_initial_metadata_ready(void* user_data,
39
+ grpc_error_handle err);
40
+ static void hs_recv_trailing_metadata_ready(void* user_data,
41
+ grpc_error_handle err);
42
+ static void hs_recv_message_ready(void* user_data, grpc_error_handle err);
41
43
 
42
44
  namespace {
43
45
 
@@ -74,7 +76,7 @@ struct call_data {
74
76
 
75
77
  // State for intercepting recv_initial_metadata.
76
78
  grpc_closure recv_initial_metadata_ready;
77
- grpc_error* recv_initial_metadata_ready_error = GRPC_ERROR_NONE;
79
+ grpc_error_handle recv_initial_metadata_ready_error = GRPC_ERROR_NONE;
78
80
  grpc_closure* original_recv_initial_metadata_ready;
79
81
  grpc_metadata_batch* recv_initial_metadata = nullptr;
80
82
  uint32_t* recv_initial_metadata_flags;
@@ -89,7 +91,7 @@ struct call_data {
89
91
  // State for intercepting recv_trailing_metadata
90
92
  grpc_closure recv_trailing_metadata_ready;
91
93
  grpc_closure* original_recv_trailing_metadata_ready;
92
- grpc_error* recv_trailing_metadata_ready_error;
94
+ grpc_error_handle recv_trailing_metadata_ready_error;
93
95
  bool seen_recv_trailing_metadata_ready = false;
94
96
  };
95
97
 
@@ -99,7 +101,7 @@ struct channel_data {
99
101
 
100
102
  } // namespace
101
103
 
102
- static grpc_error* hs_filter_outgoing_metadata(grpc_metadata_batch* b) {
104
+ static grpc_error_handle hs_filter_outgoing_metadata(grpc_metadata_batch* b) {
103
105
  if (b->idx.named.grpc_message != nullptr) {
104
106
  grpc_slice pct_encoded_msg = grpc_percent_encode_slice(
105
107
  GRPC_MDVALUE(b->idx.named.grpc_message->md),
@@ -114,8 +116,8 @@ static grpc_error* hs_filter_outgoing_metadata(grpc_metadata_batch* b) {
114
116
  return GRPC_ERROR_NONE;
115
117
  }
116
118
 
117
- static void hs_add_error(const char* error_name, grpc_error** cumulative,
118
- grpc_error* new_err) {
119
+ static void hs_add_error(const char* error_name, grpc_error_handle* cumulative,
120
+ grpc_error_handle new_err) {
119
121
  if (new_err == GRPC_ERROR_NONE) return;
120
122
  if (*cumulative == GRPC_ERROR_NONE) {
121
123
  *cumulative = GRPC_ERROR_CREATE_FROM_COPIED_STRING(error_name);
@@ -149,10 +151,10 @@ static bool md_strict_equal(grpc_mdelem a, grpc_mdelem b_static) {
149
151
  }
150
152
  }
151
153
 
152
- static grpc_error* hs_filter_incoming_metadata(grpc_call_element* elem,
153
- grpc_metadata_batch* b) {
154
+ static grpc_error_handle hs_filter_incoming_metadata(grpc_call_element* elem,
155
+ grpc_metadata_batch* b) {
154
156
  call_data* calld = static_cast<call_data*>(elem->call_data);
155
- grpc_error* error = GRPC_ERROR_NONE;
157
+ grpc_error_handle error = GRPC_ERROR_NONE;
156
158
  static const char* error_name = "Failed processing incoming headers";
157
159
 
158
160
  if (b->idx.named.method != nullptr) {
@@ -330,7 +332,8 @@ static grpc_error* hs_filter_incoming_metadata(grpc_call_element* elem,
330
332
  return error;
331
333
  }
332
334
 
333
- static void hs_recv_initial_metadata_ready(void* user_data, grpc_error* err) {
335
+ static void hs_recv_initial_metadata_ready(void* user_data,
336
+ grpc_error_handle err) {
334
337
  grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
335
338
  call_data* calld = static_cast<call_data*>(elem->call_data);
336
339
  calld->seen_recv_initial_metadata_ready = true;
@@ -367,7 +370,7 @@ static void hs_recv_initial_metadata_ready(void* user_data, grpc_error* err) {
367
370
  calld->original_recv_initial_metadata_ready, err);
368
371
  }
369
372
 
370
- static void hs_recv_message_ready(void* user_data, grpc_error* err) {
373
+ static void hs_recv_message_ready(void* user_data, grpc_error_handle err) {
371
374
  grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
372
375
  call_data* calld = static_cast<call_data*>(elem->call_data);
373
376
  calld->seen_recv_message_ready = true;
@@ -392,7 +395,8 @@ static void hs_recv_message_ready(void* user_data, grpc_error* err) {
392
395
  }
393
396
  }
394
397
 
395
- static void hs_recv_trailing_metadata_ready(void* user_data, grpc_error* err) {
398
+ static void hs_recv_trailing_metadata_ready(void* user_data,
399
+ grpc_error_handle err) {
396
400
  grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
397
401
  call_data* calld = static_cast<call_data*>(elem->call_data);
398
402
  if (!calld->seen_recv_initial_metadata_ready) {
@@ -410,13 +414,13 @@ static void hs_recv_trailing_metadata_ready(void* user_data, grpc_error* err) {
410
414
  calld->original_recv_trailing_metadata_ready, err);
411
415
  }
412
416
 
413
- static grpc_error* hs_mutate_op(grpc_call_element* elem,
414
- grpc_transport_stream_op_batch* op) {
417
+ static grpc_error_handle hs_mutate_op(grpc_call_element* elem,
418
+ grpc_transport_stream_op_batch* op) {
415
419
  /* grab pointers to our data from the call element */
416
420
  call_data* calld = static_cast<call_data*>(elem->call_data);
417
421
 
418
422
  if (op->send_initial_metadata) {
419
- grpc_error* error = GRPC_ERROR_NONE;
423
+ grpc_error_handle error = GRPC_ERROR_NONE;
420
424
  static const char* error_name = "Failed sending initial metadata";
421
425
  hs_add_error(
422
426
  error_name, &error,
@@ -463,7 +467,7 @@ static grpc_error* hs_mutate_op(grpc_call_element* elem,
463
467
  }
464
468
 
465
469
  if (op->send_trailing_metadata) {
466
- grpc_error* error = hs_filter_outgoing_metadata(
470
+ grpc_error_handle error = hs_filter_outgoing_metadata(
467
471
  op->payload->send_trailing_metadata.send_trailing_metadata);
468
472
  if (error != GRPC_ERROR_NONE) return error;
469
473
  }
@@ -475,7 +479,7 @@ static void hs_start_transport_stream_op_batch(
475
479
  grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
476
480
  GPR_TIMER_SCOPE("hs_start_transport_stream_op_batch", 0);
477
481
  call_data* calld = static_cast<call_data*>(elem->call_data);
478
- grpc_error* error = hs_mutate_op(elem, op);
482
+ grpc_error_handle error = hs_mutate_op(elem, op);
479
483
  if (error != GRPC_ERROR_NONE) {
480
484
  grpc_transport_stream_op_batch_finish_with_failure(op, error,
481
485
  calld->call_combiner);
@@ -485,8 +489,8 @@ static void hs_start_transport_stream_op_batch(
485
489
  }
486
490
 
487
491
  /* Constructor for call_data */
488
- static grpc_error* hs_init_call_elem(grpc_call_element* elem,
489
- const grpc_call_element_args* args) {
492
+ static grpc_error_handle hs_init_call_elem(grpc_call_element* elem,
493
+ const grpc_call_element_args* args) {
490
494
  new (elem->call_data) call_data(elem, *args);
491
495
  return GRPC_ERROR_NONE;
492
496
  }
@@ -500,8 +504,8 @@ static void hs_destroy_call_elem(grpc_call_element* elem,
500
504
  }
501
505
 
502
506
  /* Constructor for channel_data */
503
- static grpc_error* hs_init_channel_elem(grpc_channel_element* elem,
504
- grpc_channel_element_args* args) {
507
+ static grpc_error_handle hs_init_channel_elem(grpc_channel_element* elem,
508
+ grpc_channel_element_args* args) {
505
509
  channel_data* chand = static_cast<channel_data*>(elem->channel_data);
506
510
  GPR_ASSERT(!args->is_last);
507
511
  chand->surface_user_agent = grpc_channel_arg_get_bool(
@@ -206,7 +206,8 @@ static void decrease_call_count(channel_data* chand) {
206
206
  }
207
207
  }
208
208
 
209
- static void start_max_idle_timer_after_init(void* arg, grpc_error* /*error*/) {
209
+ static void start_max_idle_timer_after_init(void* arg,
210
+ grpc_error_handle /*error*/) {
210
211
  channel_data* chand = static_cast<channel_data*>(arg);
211
212
  /* Decrease call_count. If there are no active calls at this time,
212
213
  max_idle_timer will start here. If the number of active calls is not 0,
@@ -258,7 +259,8 @@ class ConnectivityWatcher : public AsyncConnectivityStateWatcherInterface {
258
259
 
259
260
  } // namespace grpc_core
260
261
 
261
- static void start_max_age_timer_after_init(void* arg, grpc_error* /*error*/) {
262
+ static void start_max_age_timer_after_init(void* arg,
263
+ grpc_error_handle /*error*/) {
262
264
  channel_data* chand = static_cast<channel_data*>(arg);
263
265
  {
264
266
  grpc_core::MutexLock lock(&chand->max_age_timer_mu);
@@ -277,8 +279,8 @@ static void start_max_age_timer_after_init(void* arg, grpc_error* /*error*/) {
277
279
  "max_age start_max_age_timer_after_init");
278
280
  }
279
281
 
280
- static void start_max_age_grace_timer_after_goaway_op(void* arg,
281
- grpc_error* /*error*/) {
282
+ static void start_max_age_grace_timer_after_goaway_op(
283
+ void* arg, grpc_error_handle /*error*/) {
282
284
  channel_data* chand = static_cast<channel_data*>(arg);
283
285
  {
284
286
  grpc_core::MutexLock lock(&chand->max_age_timer_mu);
@@ -307,7 +309,7 @@ static void close_max_idle_channel(channel_data* chand) {
307
309
  elem->filter->start_transport_op(elem, op);
308
310
  }
309
311
 
310
- static void max_idle_timer_cb(void* arg, grpc_error* error) {
312
+ static void max_idle_timer_cb(void* arg, grpc_error_handle error) {
311
313
  channel_data* chand = static_cast<channel_data*>(arg);
312
314
  if (error == GRPC_ERROR_NONE) {
313
315
  bool try_again = true;
@@ -351,7 +353,7 @@ static void max_idle_timer_cb(void* arg, grpc_error* error) {
351
353
  GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_idle_timer");
352
354
  }
353
355
 
354
- static void close_max_age_channel(void* arg, grpc_error* error) {
356
+ static void close_max_age_channel(void* arg, grpc_error_handle error) {
355
357
  channel_data* chand = static_cast<channel_data*>(arg);
356
358
  {
357
359
  grpc_core::MutexLock lock(&chand->max_age_timer_mu);
@@ -374,7 +376,7 @@ static void close_max_age_channel(void* arg, grpc_error* error) {
374
376
  GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_age_timer");
375
377
  }
376
378
 
377
- static void force_close_max_age_channel(void* arg, grpc_error* error) {
379
+ static void force_close_max_age_channel(void* arg, grpc_error_handle error) {
378
380
  channel_data* chand = static_cast<channel_data*>(arg);
379
381
  {
380
382
  grpc_core::MutexLock lock(&chand->max_age_timer_mu);
@@ -412,7 +414,7 @@ add_random_max_connection_age_jitter_and_convert_to_grpc_millis(int value) {
412
414
  }
413
415
 
414
416
  /* Constructor for call_data. */
415
- static grpc_error* max_age_init_call_elem(
417
+ static grpc_error_handle max_age_init_call_elem(
416
418
  grpc_call_element* elem, const grpc_call_element_args* /*args*/) {
417
419
  channel_data* chand = static_cast<channel_data*>(elem->channel_data);
418
420
  increase_call_count(chand);
@@ -428,8 +430,8 @@ static void max_age_destroy_call_elem(
428
430
  }
429
431
 
430
432
  /* Constructor for channel_data. */
431
- static grpc_error* max_age_init_channel_elem(grpc_channel_element* elem,
432
- grpc_channel_element_args* args) {
433
+ static grpc_error_handle max_age_init_channel_elem(
434
+ grpc_channel_element* elem, grpc_channel_element_args* args) {
433
435
  channel_data* chand = static_cast<channel_data*>(elem->channel_data);
434
436
  new (chand) channel_data();
435
437
  chand->channel_stack = args->channel_stack;