grpc 1.37.1 → 1.38.0.pre1

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 (544) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +64 -58
  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 +2 -2
  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 +5 -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 +628 -3101
  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_plugin.cc +4 -1
  19. data/src/core/ext/filters/client_channel/config_selector.h +1 -1
  20. data/src/core/ext/filters/client_channel/connector.h +1 -1
  21. data/src/core/ext/filters/client_channel/dynamic_filters.cc +9 -10
  22. data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
  23. data/src/core/ext/filters/client_channel/health/health_check_client.cc +26 -27
  24. data/src/core/ext/filters/client_channel/health/health_check_client.h +27 -26
  25. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +24 -21
  26. data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
  27. data/src/core/ext/filters/client_channel/lb_policy.h +4 -4
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +6 -6
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +46 -43
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -1
  32. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +5 -5
  33. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +14 -12
  34. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +4 -4
  35. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +1 -1
  36. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +15 -15
  37. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +36 -30
  38. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +23 -23
  39. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +31 -46
  40. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +84 -61
  41. data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -1
  42. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +4 -4
  43. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -1
  44. data/src/core/ext/filters/client_channel/resolver.h +2 -2
  45. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +23 -15
  46. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
  47. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc +3 -3
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +14 -14
  50. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +33 -24
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -1
  52. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
  53. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
  54. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -9
  55. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +20 -28
  56. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +7 -5
  57. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -11
  58. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
  59. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +43 -28
  60. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +32 -239
  61. data/src/core/ext/filters/client_channel/resolver_result_parsing.h +20 -49
  62. data/src/core/ext/filters/client_channel/retry_filter.cc +2188 -0
  63. data/src/core/ext/filters/client_channel/retry_filter.h +30 -0
  64. data/src/core/ext/filters/client_channel/retry_service_config.cc +287 -0
  65. data/src/core/ext/filters/client_channel/retry_service_config.h +90 -0
  66. data/src/core/ext/filters/client_channel/server_address.cc +1 -1
  67. data/src/core/ext/filters/client_channel/service_config.cc +15 -14
  68. data/src/core/ext/filters/client_channel/service_config.h +7 -6
  69. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +5 -4
  70. data/src/core/ext/filters/client_channel/service_config_parser.cc +6 -6
  71. data/src/core/ext/filters/client_channel/service_config_parser.h +7 -4
  72. data/src/core/ext/filters/client_channel/subchannel.cc +17 -16
  73. data/src/core/ext/filters/client_channel/subchannel.h +7 -6
  74. data/src/core/ext/filters/client_idle/client_idle_filter.cc +16 -15
  75. data/src/core/ext/filters/deadline/deadline_filter.cc +10 -10
  76. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +19 -18
  77. data/src/core/ext/filters/fault_injection/service_config_parser.cc +5 -5
  78. data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
  79. data/src/core/ext/filters/http/client/http_client_filter.cc +28 -21
  80. data/src/core/ext/filters/http/client_authority_filter.cc +3 -3
  81. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +23 -22
  82. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +21 -21
  83. data/src/core/ext/filters/http/server/http_server_filter.cc +27 -23
  84. data/src/core/ext/filters/max_age/max_age_filter.cc +12 -10
  85. data/src/core/ext/filters/message_size/message_size_filter.cc +14 -11
  86. data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
  87. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -3
  88. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +7 -7
  89. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +7 -7
  90. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +2 -2
  91. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
  92. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +3 -3
  93. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +44 -45
  94. data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -2
  95. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -4
  96. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +2 -2
  97. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -4
  98. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -116
  99. data/src/core/ext/transport/chttp2/transport/context_list.cc +4 -5
  100. data/src/core/ext/transport/chttp2/transport/context_list.h +4 -4
  101. data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
  102. data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -8
  103. data/src/core/ext/transport/chttp2/transport/frame_data.cc +8 -8
  104. data/src/core/ext/transport/chttp2/transport/frame_data.h +10 -10
  105. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +7 -8
  106. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +6 -6
  107. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -8
  108. data/src/core/ext/transport/chttp2/transport/frame_ping.h +7 -6
  109. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
  110. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +6 -6
  111. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +6 -5
  112. data/src/core/ext/transport/chttp2/transport/frame_settings.h +6 -6
  113. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -6
  114. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +4 -6
  115. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +237 -208
  116. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +10 -10
  117. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +4 -3
  118. data/src/core/ext/transport/chttp2/transport/hpack_table.h +4 -4
  119. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
  120. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +2 -2
  121. data/src/core/ext/transport/chttp2/transport/internal.h +31 -27
  122. data/src/core/ext/transport/chttp2/transport/parsing.cc +63 -56
  123. data/src/core/ext/transport/chttp2/transport/writing.cc +7 -3
  124. data/src/core/ext/transport/inproc/inproc_transport.cc +30 -29
  125. data/src/core/ext/xds/certificate_provider_factory.h +1 -1
  126. data/src/core/ext/xds/certificate_provider_store.h +3 -3
  127. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +3 -3
  128. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +2 -2
  129. data/src/core/ext/xds/xds_api.cc +101 -93
  130. data/src/core/ext/xds/xds_api.h +6 -6
  131. data/src/core/ext/xds/xds_bootstrap.cc +97 -159
  132. data/src/core/ext/xds/xds_bootstrap.h +19 -24
  133. data/src/core/ext/xds/xds_certificate_provider.cc +4 -4
  134. data/src/core/ext/xds/xds_certificate_provider.h +4 -4
  135. data/src/core/ext/xds/xds_channel_args.h +5 -2
  136. data/src/core/ext/xds/xds_client.cc +310 -178
  137. data/src/core/ext/xds/xds_client.h +41 -27
  138. data/src/core/ext/xds/xds_client_stats.h +3 -2
  139. data/src/core/ext/xds/xds_server_config_fetcher.cc +34 -20
  140. data/src/core/lib/{iomgr → address_utils}/parse_address.cc +17 -17
  141. data/src/core/lib/{iomgr → address_utils}/parse_address.h +7 -7
  142. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.cc +3 -20
  143. data/src/core/lib/{iomgr → address_utils}/sockaddr_utils.h +6 -11
  144. data/src/core/lib/channel/channel_stack.cc +10 -9
  145. data/src/core/lib/channel/channel_stack.h +10 -9
  146. data/src/core/lib/channel/channel_stack_builder.cc +2 -2
  147. data/src/core/lib/channel/channel_stack_builder.h +1 -1
  148. data/src/core/lib/channel/channelz.cc +21 -13
  149. data/src/core/lib/channel/connected_channel.cc +4 -4
  150. data/src/core/lib/channel/handshaker.cc +7 -6
  151. data/src/core/lib/channel/handshaker.h +5 -5
  152. data/src/core/lib/event_engine/slice_allocator.cc +59 -0
  153. data/src/core/lib/event_engine/sockaddr.cc +38 -0
  154. data/src/core/lib/gprpp/ref_counted.h +28 -14
  155. data/src/core/lib/gprpp/status_helper.cc +407 -0
  156. data/src/core/lib/gprpp/status_helper.h +180 -0
  157. data/src/core/lib/http/httpcli.cc +11 -11
  158. data/src/core/lib/http/httpcli_security_connector.cc +11 -7
  159. data/src/core/lib/http/parser.cc +16 -16
  160. data/src/core/lib/http/parser.h +4 -4
  161. data/src/core/lib/iomgr/buffer_list.cc +7 -9
  162. data/src/core/lib/iomgr/buffer_list.h +4 -5
  163. data/src/core/lib/iomgr/call_combiner.cc +15 -12
  164. data/src/core/lib/iomgr/call_combiner.h +12 -14
  165. data/src/core/lib/iomgr/cfstream_handle.cc +3 -3
  166. data/src/core/lib/iomgr/cfstream_handle.h +1 -1
  167. data/src/core/lib/iomgr/closure.h +7 -6
  168. data/src/core/lib/iomgr/combiner.cc +14 -12
  169. data/src/core/lib/iomgr/combiner.h +2 -2
  170. data/src/core/lib/iomgr/endpoint.cc +1 -1
  171. data/src/core/lib/iomgr/endpoint.h +2 -2
  172. data/src/core/lib/iomgr/endpoint_cfstream.cc +11 -13
  173. data/src/core/lib/iomgr/endpoint_pair_windows.cc +1 -1
  174. data/src/core/lib/iomgr/error.cc +167 -61
  175. data/src/core/lib/iomgr/error.h +217 -106
  176. data/src/core/lib/iomgr/error_cfstream.cc +3 -2
  177. data/src/core/lib/iomgr/error_cfstream.h +2 -2
  178. data/src/core/lib/iomgr/error_internal.h +5 -1
  179. data/src/core/lib/iomgr/ev_apple.cc +5 -5
  180. data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
  181. data/src/core/lib/iomgr/ev_epollex_linux.cc +48 -45
  182. data/src/core/lib/iomgr/ev_poll_posix.cc +26 -23
  183. data/src/core/lib/iomgr/ev_posix.cc +9 -8
  184. data/src/core/lib/iomgr/ev_posix.h +9 -9
  185. data/src/core/lib/iomgr/exec_ctx.cc +4 -4
  186. data/src/core/lib/iomgr/exec_ctx.h +1 -1
  187. data/src/core/lib/iomgr/executor.cc +8 -8
  188. data/src/core/lib/iomgr/executor.h +2 -2
  189. data/src/core/lib/iomgr/iomgr.cc +1 -1
  190. data/src/core/lib/iomgr/iomgr.h +1 -1
  191. data/src/core/lib/iomgr/iomgr_custom.cc +1 -1
  192. data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
  193. data/src/core/lib/iomgr/iomgr_internal.h +3 -3
  194. data/src/core/lib/iomgr/iomgr_posix.cc +1 -1
  195. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
  196. data/src/core/lib/iomgr/iomgr_windows.cc +1 -1
  197. data/src/core/lib/iomgr/load_file.cc +4 -4
  198. data/src/core/lib/iomgr/load_file.h +2 -2
  199. data/src/core/lib/iomgr/lockfree_event.cc +5 -5
  200. data/src/core/lib/iomgr/lockfree_event.h +1 -1
  201. data/src/core/lib/iomgr/pollset.cc +5 -5
  202. data/src/core/lib/iomgr/pollset.h +9 -9
  203. data/src/core/lib/iomgr/pollset_custom.cc +5 -5
  204. data/src/core/lib/iomgr/pollset_windows.cc +5 -5
  205. data/src/core/lib/iomgr/port.h +1 -1
  206. data/src/core/lib/iomgr/python_util.h +1 -1
  207. data/src/core/lib/iomgr/resolve_address.cc +3 -3
  208. data/src/core/lib/iomgr/resolve_address.h +6 -6
  209. data/src/core/lib/iomgr/resolve_address_custom.cc +10 -9
  210. data/src/core/lib/iomgr/resolve_address_custom.h +3 -3
  211. data/src/core/lib/iomgr/resolve_address_posix.cc +3 -3
  212. data/src/core/lib/iomgr/resolve_address_windows.cc +4 -4
  213. data/src/core/lib/iomgr/resource_quota.cc +11 -10
  214. data/src/core/lib/iomgr/socket_utils_common_posix.cc +22 -20
  215. data/src/core/lib/iomgr/socket_utils_posix.h +20 -20
  216. data/src/core/lib/iomgr/tcp_client_cfstream.cc +4 -4
  217. data/src/core/lib/iomgr/tcp_client_custom.cc +5 -6
  218. data/src/core/lib/iomgr/tcp_client_posix.cc +15 -17
  219. data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
  220. data/src/core/lib/iomgr/tcp_client_windows.cc +5 -5
  221. data/src/core/lib/iomgr/tcp_custom.cc +14 -16
  222. data/src/core/lib/iomgr/tcp_custom.h +13 -12
  223. data/src/core/lib/iomgr/tcp_posix.cc +36 -34
  224. data/src/core/lib/iomgr/tcp_server.cc +6 -6
  225. data/src/core/lib/iomgr/tcp_server.h +12 -11
  226. data/src/core/lib/iomgr/tcp_server_custom.cc +23 -21
  227. data/src/core/lib/iomgr/tcp_server_posix.cc +22 -21
  228. data/src/core/lib/iomgr/tcp_server_utils_posix.h +13 -12
  229. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +19 -17
  230. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -9
  231. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +4 -4
  232. data/src/core/lib/iomgr/tcp_server_windows.cc +26 -25
  233. data/src/core/lib/iomgr/tcp_uv.cc +25 -23
  234. data/src/core/lib/iomgr/tcp_windows.cc +13 -13
  235. data/src/core/lib/iomgr/tcp_windows.h +2 -2
  236. data/src/core/lib/iomgr/timer_custom.cc +2 -1
  237. data/src/core/lib/iomgr/timer_custom.h +1 -1
  238. data/src/core/lib/iomgr/timer_generic.cc +6 -6
  239. data/src/core/lib/iomgr/udp_server.cc +21 -20
  240. data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
  241. data/src/core/lib/iomgr/unix_sockets_posix.h +2 -2
  242. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +10 -7
  243. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +3 -3
  244. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +4 -4
  245. data/src/core/lib/iomgr/wakeup_fd_posix.cc +3 -3
  246. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -6
  247. data/src/core/lib/iomgr/work_serializer.h +17 -1
  248. data/src/core/lib/json/json.h +1 -1
  249. data/src/core/lib/json/json_reader.cc +4 -4
  250. data/src/core/lib/matchers/matchers.cc +39 -39
  251. data/src/core/lib/matchers/matchers.h +28 -28
  252. data/src/core/lib/security/credentials/composite/composite_credentials.cc +4 -4
  253. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
  254. data/src/core/lib/security/credentials/credentials.h +2 -2
  255. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +17 -13
  256. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +13 -11
  257. data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -1
  258. data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -1
  259. data/src/core/lib/security/credentials/external/external_account_credentials.cc +15 -12
  260. data/src/core/lib/security/credentials/external/external_account_credentials.h +9 -8
  261. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -4
  262. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +4 -3
  263. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -8
  264. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +9 -7
  265. data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
  266. data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
  267. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +9 -9
  268. data/src/core/lib/security/credentials/iam/iam_credentials.cc +2 -2
  269. data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
  270. data/src/core/lib/security/credentials/jwt/json_token.cc +2 -2
  271. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +3 -3
  272. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
  273. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +7 -5
  274. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
  275. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -5
  276. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +5 -5
  277. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
  278. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +8 -7
  279. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +9 -9
  280. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +19 -13
  281. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -0
  282. data/src/core/lib/security/credentials/xds/xds_credentials.cc +3 -3
  283. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -3
  284. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +13 -3
  285. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
  286. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +12 -2
  287. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -1
  288. data/src/core/lib/security/security_connector/local/local_security_connector.cc +14 -4
  289. data/src/core/lib/security/security_connector/security_connector.h +9 -4
  290. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +16 -6
  291. data/src/core/lib/security/security_connector/ssl_utils.cc +22 -4
  292. data/src/core/lib/security/security_connector/ssl_utils.h +4 -4
  293. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +56 -60
  294. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +66 -48
  295. data/src/core/lib/security/transport/client_auth_filter.cc +18 -10
  296. data/src/core/lib/security/transport/secure_endpoint.cc +4 -4
  297. data/src/core/lib/security/transport/security_handshaker.cc +33 -32
  298. data/src/core/lib/security/transport/server_auth_filter.cc +19 -13
  299. data/src/core/lib/security/transport/tsi_error.cc +2 -1
  300. data/src/core/lib/security/transport/tsi_error.h +2 -1
  301. data/src/core/lib/security/util/json_util.cc +2 -2
  302. data/src/core/lib/security/util/json_util.h +1 -1
  303. data/src/core/lib/surface/call.cc +46 -45
  304. data/src/core/lib/surface/call.h +2 -2
  305. data/src/core/lib/surface/channel.cc +6 -6
  306. data/src/core/lib/surface/channel.h +3 -2
  307. data/src/core/lib/surface/channel_ping.cc +1 -1
  308. data/src/core/lib/surface/completion_queue.cc +46 -47
  309. data/src/core/lib/surface/completion_queue.h +2 -1
  310. data/src/core/lib/surface/lame_client.cc +11 -11
  311. data/src/core/lib/surface/lame_client.h +1 -1
  312. data/src/core/lib/surface/server.cc +28 -22
  313. data/src/core/lib/surface/server.h +16 -15
  314. data/src/core/lib/surface/validate_metadata.cc +7 -7
  315. data/src/core/lib/surface/validate_metadata.h +3 -2
  316. data/src/core/lib/surface/version.cc +4 -2
  317. data/src/core/lib/transport/byte_stream.cc +5 -5
  318. data/src/core/lib/transport/byte_stream.h +8 -8
  319. data/src/core/lib/transport/connectivity_state.cc +1 -1
  320. data/src/core/lib/transport/error_utils.cc +19 -8
  321. data/src/core/lib/transport/error_utils.h +11 -5
  322. data/src/core/lib/transport/metadata_batch.cc +37 -37
  323. data/src/core/lib/transport/metadata_batch.h +19 -18
  324. data/src/core/lib/transport/transport.cc +4 -3
  325. data/src/core/lib/transport/transport.h +4 -4
  326. data/src/core/lib/transport/transport_op_string.cc +5 -5
  327. data/src/core/tsi/alts/crypt/gsec.h +4 -0
  328. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +5 -4
  329. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +7 -6
  330. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +2 -1
  331. data/src/core/tsi/ssl_transport_security.cc +32 -14
  332. data/src/core/tsi/ssl_transport_security.h +3 -4
  333. data/src/ruby/bin/math_services_pb.rb +1 -1
  334. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +1 -1
  335. data/src/ruby/lib/grpc/version.rb +1 -1
  336. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +1 -1
  337. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +6 -6
  338. data/third_party/abseil-cpp/absl/algorithm/container.h +3 -3
  339. data/third_party/abseil-cpp/absl/base/attributes.h +24 -4
  340. data/third_party/abseil-cpp/absl/base/call_once.h +2 -9
  341. data/third_party/abseil-cpp/absl/base/config.h +37 -9
  342. data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +24 -10
  343. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +4 -1
  344. data/third_party/abseil-cpp/absl/base/internal/endian.h +61 -0
  345. data/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h +2 -3
  346. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +34 -32
  347. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +16 -6
  348. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +11 -2
  349. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +14 -5
  350. data/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc +2 -2
  351. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +3 -3
  352. data/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc +2 -2
  353. data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +11 -11
  354. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +5 -5
  355. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +1 -1
  356. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +5 -2
  357. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +43 -42
  358. data/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc +111 -7
  359. data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +0 -76
  360. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -3
  361. data/third_party/abseil-cpp/absl/base/log_severity.h +4 -4
  362. data/third_party/abseil-cpp/absl/base/macros.h +11 -0
  363. data/third_party/abseil-cpp/absl/base/optimization.h +10 -7
  364. data/third_party/abseil-cpp/absl/base/options.h +1 -1
  365. data/third_party/abseil-cpp/absl/base/port.h +0 -1
  366. data/third_party/abseil-cpp/absl/base/thread_annotations.h +1 -1
  367. data/third_party/abseil-cpp/absl/container/fixed_array.h +2 -2
  368. data/third_party/abseil-cpp/absl/container/inlined_vector.h +5 -3
  369. data/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h +1 -1
  370. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +5 -1
  371. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +2 -1
  372. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +2 -1
  373. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +141 -66
  374. data/third_party/abseil-cpp/absl/container/internal/layout.h +4 -4
  375. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -1
  376. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +136 -136
  377. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +16 -12
  378. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +5 -2
  379. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +3 -12
  380. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +6 -1
  381. data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +3 -5
  382. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +2 -2
  383. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +2 -2
  384. data/third_party/abseil-cpp/absl/hash/internal/city.cc +15 -12
  385. data/third_party/abseil-cpp/absl/hash/internal/city.h +1 -19
  386. data/third_party/abseil-cpp/absl/hash/internal/hash.cc +25 -10
  387. data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -37
  388. data/third_party/abseil-cpp/absl/hash/internal/wyhash.cc +111 -0
  389. data/third_party/abseil-cpp/absl/hash/internal/wyhash.h +48 -0
  390. data/third_party/abseil-cpp/absl/meta/type_traits.h +16 -2
  391. data/third_party/abseil-cpp/absl/numeric/bits.h +177 -0
  392. data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -3
  393. data/third_party/abseil-cpp/absl/numeric/internal/bits.h +358 -0
  394. data/third_party/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  395. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  396. data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -7
  397. data/third_party/abseil-cpp/absl/status/status.cc +29 -22
  398. data/third_party/abseil-cpp/absl/status/status.h +81 -20
  399. data/third_party/abseil-cpp/absl/status/statusor.h +3 -3
  400. data/third_party/abseil-cpp/absl/strings/charconv.cc +5 -5
  401. data/third_party/abseil-cpp/absl/strings/cord.cc +326 -371
  402. data/third_party/abseil-cpp/absl/strings/cord.h +182 -64
  403. data/third_party/abseil-cpp/absl/strings/escaping.cc +4 -4
  404. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +6 -6
  405. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +83 -0
  406. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +387 -17
  407. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +146 -0
  408. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +897 -0
  409. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +589 -0
  410. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +114 -0
  411. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +14 -0
  412. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -0
  413. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +15 -1
  414. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +19 -4
  415. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +14 -0
  416. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +36 -18
  417. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +14 -0
  418. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +14 -0
  419. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -0
  420. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +15 -40
  421. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +64 -0
  422. data/third_party/abseil-cpp/absl/strings/match.cc +6 -3
  423. data/third_party/abseil-cpp/absl/strings/match.h +16 -6
  424. data/third_party/abseil-cpp/absl/strings/numbers.cc +132 -4
  425. data/third_party/abseil-cpp/absl/strings/numbers.h +10 -10
  426. data/third_party/abseil-cpp/absl/strings/str_join.h +1 -1
  427. data/third_party/abseil-cpp/absl/strings/str_split.h +38 -4
  428. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +154 -0
  429. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -1
  430. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +2 -2
  431. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +4 -4
  432. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -65
  433. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +2 -6
  434. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +71 -59
  435. data/third_party/abseil-cpp/absl/synchronization/mutex.h +79 -62
  436. data/third_party/abseil-cpp/absl/time/clock.cc +146 -130
  437. data/third_party/abseil-cpp/absl/time/clock.h +2 -2
  438. data/third_party/abseil-cpp/absl/time/duration.cc +3 -2
  439. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +7 -11
  440. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +7 -1
  441. data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +4 -4
  442. data/third_party/abseil-cpp/absl/time/time.cc +4 -3
  443. data/third_party/abseil-cpp/absl/time/time.h +26 -24
  444. data/third_party/abseil-cpp/absl/types/internal/variant.h +1 -1
  445. data/third_party/abseil-cpp/absl/types/variant.h +9 -4
  446. data/third_party/boringssl-with-bazel/err_data.c +477 -461
  447. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +1 -1
  448. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +1 -1
  449. data/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c +18 -8
  450. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +1 -2
  451. data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h +5 -0
  452. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -1
  453. data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c +1 -1
  454. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c +1 -88
  455. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +14 -3
  456. data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +119 -273
  457. data/third_party/boringssl-with-bazel/src/crypto/err/err.c +87 -80
  458. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -0
  459. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +1 -1
  460. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +11 -3
  461. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c +25 -2
  462. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c +10 -2
  463. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h +4 -43
  464. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +4 -0
  465. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +0 -1
  466. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +0 -4
  467. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +104 -93
  468. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +39 -0
  469. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +43 -46
  470. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +43 -46
  471. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c +33 -22
  472. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c +9 -8
  473. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c +9 -8
  474. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c +17 -13
  475. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h +1 -22
  476. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c +2 -1
  477. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +26 -7
  478. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +79 -0
  479. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +14 -9
  480. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +45 -48
  481. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +38 -43
  482. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +37 -45
  483. data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +103 -42
  484. data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +58 -37
  485. data/third_party/boringssl-with-bazel/src/crypto/internal.h +65 -0
  486. data/third_party/boringssl-with-bazel/src/crypto/mem.c +14 -0
  487. data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +3 -3
  488. data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c +1 -1
  489. data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +95 -48
  490. data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +1 -1
  491. data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +0 -28
  492. data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +19 -0
  493. data/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c +2 -0
  494. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +19 -25
  495. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c +3 -2
  496. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +39 -89
  497. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c +9 -16
  498. data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +1 -1
  499. data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +21 -17
  500. data/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c +7 -25
  501. data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -0
  502. data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +25 -22
  503. data/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c +2 -0
  504. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +2 -4
  505. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +1 -1
  506. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c +1 -0
  507. data/third_party/boringssl-with-bazel/src/include/openssl/aead.h +0 -3
  508. data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +120 -41
  509. data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -0
  510. data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +0 -8
  511. data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +24 -4
  512. data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +5 -2
  513. data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +19 -0
  514. data/third_party/boringssl-with-bazel/src/include/openssl/err.h +3 -2
  515. data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +1 -38
  516. data/third_party/boringssl-with-bazel/src/{crypto/x509/x509_r2x.c → include/openssl/evp_errors.h} +41 -58
  517. data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +24 -5
  518. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +2 -0
  519. data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +9 -1
  520. data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +2 -2
  521. data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +185 -17
  522. data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +1 -0
  523. data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +416 -121
  524. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +2 -0
  525. data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -0
  526. data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +444 -0
  527. data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +244 -1
  528. data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +43 -12
  529. data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +149 -8
  530. data/third_party/boringssl-with-bazel/src/ssl/internal.h +220 -46
  531. data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +7 -1
  532. data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +4 -6
  533. data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +23 -26
  534. data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +74 -15
  535. data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +98 -64
  536. data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +34 -4
  537. data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +205 -100
  538. data/third_party/boringssl-with-bazel/src/ssl/tls_method.cc +4 -2
  539. metadata +68 -45
  540. data/src/core/lib/iomgr/poller/eventmanager_libuv.cc +0 -88
  541. data/src/core/lib/iomgr/poller/eventmanager_libuv.h +0 -88
  542. data/third_party/abseil-cpp/absl/base/internal/bits.h +0 -219
  543. data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +0 -249
  544. data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c +0 -29
@@ -83,8 +83,8 @@ inline bool UnderFraction(const uint32_t numerator,
83
83
 
84
84
  class ChannelData {
85
85
  public:
86
- static grpc_error* Init(grpc_channel_element* elem,
87
- grpc_channel_element_args* args);
86
+ static grpc_error_handle Init(grpc_channel_element* elem,
87
+ grpc_channel_element_args* args);
88
88
  static void Destroy(grpc_channel_element* elem);
89
89
 
90
90
  int index() const { return index_; }
@@ -99,8 +99,8 @@ class ChannelData {
99
99
 
100
100
  class CallData {
101
101
  public:
102
- static grpc_error* Init(grpc_call_element* elem,
103
- const grpc_call_element_args* args);
102
+ static grpc_error_handle Init(grpc_call_element* elem,
103
+ const grpc_call_element_args* args);
104
104
 
105
105
  static void Destroy(grpc_call_element* elem,
106
106
  const grpc_call_final_info* /*final_info*/,
@@ -129,7 +129,7 @@ class CallData {
129
129
  // GRPC_ERROR_NONE.
130
130
  // If this call is already been delay injected, skip the active faults
131
131
  // quota check.
132
- grpc_error* MaybeAbort();
132
+ grpc_error_handle MaybeAbort();
133
133
 
134
134
  // Delays the stream operations batch.
135
135
  void DelayBatch(grpc_call_element* elem,
@@ -144,11 +144,11 @@ class CallData {
144
144
  }
145
145
 
146
146
  // This is a callback that will be invoked after the delay timer is up.
147
- static void ResumeBatch(void* arg, grpc_error* error);
147
+ static void ResumeBatch(void* arg, grpc_error_handle error);
148
148
 
149
149
  // This is a callback invoked upon completion of recv_trailing_metadata.
150
150
  // Injects the abort_error_ to the recv_trailing_metadata batch if needed.
151
- static void HijackedRecvTrailingMetadataReady(void* arg, grpc_error*);
151
+ static void HijackedRecvTrailingMetadataReady(void* arg, grpc_error_handle);
152
152
 
153
153
  // Used to track the policy structs that needs to be destroyed in dtor.
154
154
  bool fi_policy_owned_ = false;
@@ -166,7 +166,7 @@ class CallData {
166
166
  ResumeBatchCanceller* resume_batch_canceller_ ABSL_GUARDED_BY(delay_mu_);
167
167
  grpc_transport_stream_op_batch* delayed_batch_ ABSL_GUARDED_BY(delay_mu_);
168
168
  // Abort states
169
- grpc_error* abort_error_ = GRPC_ERROR_NONE;
169
+ grpc_error_handle abort_error_ = GRPC_ERROR_NONE;
170
170
  grpc_closure recv_trailing_metadata_ready_;
171
171
  grpc_closure* original_recv_trailing_metadata_ready_;
172
172
  // Protects the asynchronous delay, resume, and cancellation.
@@ -175,8 +175,8 @@ class CallData {
175
175
 
176
176
  // ChannelData
177
177
 
178
- grpc_error* ChannelData::Init(grpc_channel_element* elem,
179
- grpc_channel_element_args* args) {
178
+ grpc_error_handle ChannelData::Init(grpc_channel_element* elem,
179
+ grpc_channel_element_args* args) {
180
180
  GPR_ASSERT(elem->filter == &FaultInjectionFilterVtable);
181
181
  new (elem->channel_data) ChannelData(elem, args);
182
182
  return GRPC_ERROR_NONE;
@@ -204,7 +204,7 @@ class CallData::ResumeBatchCanceller {
204
204
  }
205
205
 
206
206
  private:
207
- static void Cancel(void* arg, grpc_error* error) {
207
+ static void Cancel(void* arg, grpc_error_handle error) {
208
208
  auto* self = static_cast<ResumeBatchCanceller*>(arg);
209
209
  auto* chand = static_cast<ChannelData*>(self->elem_->channel_data);
210
210
  auto* calld = static_cast<CallData*>(self->elem_->call_data);
@@ -214,7 +214,7 @@ class CallData::ResumeBatchCanceller {
214
214
  gpr_log(GPR_INFO,
215
215
  "chand=%p calld=%p: cancelling schdueled pick: "
216
216
  "error=%s self=%p calld->resume_batch_canceller_=%p",
217
- chand, calld, grpc_error_string(error), self,
217
+ chand, calld, grpc_error_std_string(error).c_str(), self,
218
218
  calld->resume_batch_canceller_);
219
219
  }
220
220
  if (error != GRPC_ERROR_NONE && calld->resume_batch_canceller_ == self) {
@@ -237,8 +237,8 @@ class CallData::ResumeBatchCanceller {
237
237
 
238
238
  // CallData
239
239
 
240
- grpc_error* CallData::Init(grpc_call_element* elem,
241
- const grpc_call_element_args* args) {
240
+ grpc_error_handle CallData::Init(grpc_call_element* elem,
241
+ const grpc_call_element_args* args) {
242
242
  auto* calld = new (elem->call_data) CallData(elem, args);
243
243
  if (calld->fi_policy_ == nullptr) {
244
244
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING(
@@ -273,7 +273,7 @@ void CallData::StartTransportStreamOpBatch(
273
273
  calld->DelayBatch(elem, batch);
274
274
  return;
275
275
  }
276
- grpc_error* abort_error = calld->MaybeAbort();
276
+ grpc_error_handle abort_error = calld->MaybeAbort();
277
277
  if (abort_error != GRPC_ERROR_NONE) {
278
278
  calld->abort_error_ = abort_error;
279
279
  grpc_transport_stream_op_batch_finish_with_failure(
@@ -414,7 +414,7 @@ bool CallData::MaybeDelay() {
414
414
  return false;
415
415
  }
416
416
 
417
- grpc_error* CallData::MaybeAbort() {
417
+ grpc_error_handle CallData::MaybeAbort() {
418
418
  if (abort_request_ && (delay_request_ || HaveActiveFaultsQuota(false))) {
419
419
  return grpc_error_set_int(
420
420
  GRPC_ERROR_CREATE_FROM_COPIED_STRING(fi_policy_->abort_message.c_str()),
@@ -434,7 +434,7 @@ void CallData::DelayBatch(grpc_call_element* elem,
434
434
  grpc_timer_init(&delay_timer_, resume_time, &batch->handler_private.closure);
435
435
  }
436
436
 
437
- void CallData::ResumeBatch(void* arg, grpc_error* error) {
437
+ void CallData::ResumeBatch(void* arg, grpc_error_handle error) {
438
438
  grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
439
439
  auto* calld = static_cast<CallData*>(elem->call_data);
440
440
  MutexLock lock(&calld->delay_mu_);
@@ -462,7 +462,8 @@ void CallData::ResumeBatch(void* arg, grpc_error* error) {
462
462
  grpc_call_next_op(elem, calld->delayed_batch_);
463
463
  }
464
464
 
465
- void CallData::HijackedRecvTrailingMetadataReady(void* arg, grpc_error* error) {
465
+ void CallData::HijackedRecvTrailingMetadataReady(void* arg,
466
+ grpc_error_handle error) {
466
467
  grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
467
468
  auto* calld = static_cast<CallData*>(elem->call_data);
468
469
  if (calld->abort_error_ != GRPC_ERROR_NONE) {
@@ -37,12 +37,12 @@ size_t g_fault_injection_parser_index;
37
37
 
38
38
  std::vector<FaultInjectionMethodParsedConfig::FaultInjectionPolicy>
39
39
  ParseFaultInjectionPolicy(const Json::Array& policies_json_array,
40
- std::vector<grpc_error*>* error_list) {
40
+ std::vector<grpc_error_handle>* error_list) {
41
41
  std::vector<FaultInjectionMethodParsedConfig::FaultInjectionPolicy> policies;
42
42
  for (size_t i = 0; i < policies_json_array.size(); i++) {
43
43
  FaultInjectionMethodParsedConfig::FaultInjectionPolicy
44
44
  fault_injection_policy;
45
- std::vector<grpc_error*> sub_error_list;
45
+ std::vector<grpc_error_handle> sub_error_list;
46
46
  if (policies_json_array[i].type() != Json::Type::OBJECT) {
47
47
  error_list->push_back(GRPC_ERROR_CREATE_FROM_COPIED_STRING(
48
48
  absl::StrCat("faultInjectionPolicy index ", i,
@@ -135,7 +135,7 @@ ParseFaultInjectionPolicy(const Json::Array& policies_json_array,
135
135
  if (!sub_error_list.empty()) {
136
136
  // Can't use GRPC_ERROR_CREATE_FROM_VECTOR() here, because the error
137
137
  // string is not static in this case.
138
- grpc_error* error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(
138
+ grpc_error_handle error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(
139
139
  absl::StrCat("failed to parse faultInjectionPolicy index ", i)
140
140
  .c_str());
141
141
  for (size_t i = 0; i < sub_error_list.size(); ++i) {
@@ -152,7 +152,7 @@ ParseFaultInjectionPolicy(const Json::Array& policies_json_array,
152
152
 
153
153
  std::unique_ptr<ServiceConfigParser::ParsedConfig>
154
154
  FaultInjectionServiceConfigParser::ParsePerMethodParams(
155
- const grpc_channel_args* args, const Json& json, grpc_error** error) {
155
+ const grpc_channel_args* args, const Json& json, grpc_error_handle* error) {
156
156
  GPR_DEBUG_ASSERT(error != nullptr && *error == GRPC_ERROR_NONE);
157
157
  // Only parse fault injection policy if the following channel arg is present.
158
158
  if (!grpc_channel_args_find_bool(
@@ -162,7 +162,7 @@ FaultInjectionServiceConfigParser::ParsePerMethodParams(
162
162
  // Parse fault injection policy from given Json
163
163
  std::vector<FaultInjectionMethodParsedConfig::FaultInjectionPolicy>
164
164
  fault_injection_policies;
165
- std::vector<grpc_error*> error_list;
165
+ std::vector<grpc_error_handle> error_list;
166
166
  const Json::Array* policies_json_array;
167
167
  if (ParseJsonObjectField(json.object_value(), "faultInjectionPolicy",
168
168
  &policies_json_array, &error_list)) {
@@ -73,7 +73,7 @@ class FaultInjectionServiceConfigParser : public ServiceConfigParser::Parser {
73
73
  // Parses the per-method service config for fault injection filter.
74
74
  std::unique_ptr<ServiceConfigParser::ParsedConfig> ParsePerMethodParams(
75
75
  const grpc_channel_args* args, const Json& json,
76
- grpc_error** error) override;
76
+ grpc_error_handle* error) override;
77
77
  // Returns the parser index for FaultInjectionServiceConfigParser.
78
78
  static size_t ParserIndex();
79
79
  // Registers FaultInjectionServiceConfigParser to ServiceConfigParser.
@@ -48,10 +48,12 @@
48
48
  /* default maximum size of payload eligible for GET request */
49
49
  static constexpr size_t kMaxPayloadSizeForGet = 2048;
50
50
 
51
- static void recv_initial_metadata_ready(void* user_data, grpc_error* error);
52
- static void recv_trailing_metadata_ready(void* user_data, grpc_error* error);
53
- static void on_send_message_next_done(void* arg, grpc_error* error);
54
- static void send_message_on_complete(void* arg, grpc_error* error);
51
+ static void recv_initial_metadata_ready(void* user_data,
52
+ grpc_error_handle error);
53
+ static void recv_trailing_metadata_ready(void* user_data,
54
+ grpc_error_handle error);
55
+ static void on_send_message_next_done(void* arg, grpc_error_handle error);
56
+ static void send_message_on_complete(void* arg, grpc_error_handle error);
55
57
 
56
58
  namespace {
57
59
  struct call_data {
@@ -81,14 +83,14 @@ struct call_data {
81
83
  grpc_linked_mdelem user_agent;
82
84
  // State for handling recv_initial_metadata ops.
83
85
  grpc_metadata_batch* recv_initial_metadata;
84
- grpc_error* recv_initial_metadata_error = GRPC_ERROR_NONE;
86
+ grpc_error_handle recv_initial_metadata_error = GRPC_ERROR_NONE;
85
87
  grpc_closure* original_recv_initial_metadata_ready = nullptr;
86
88
  grpc_closure recv_initial_metadata_ready;
87
89
  // State for handling recv_trailing_metadata ops.
88
90
  grpc_metadata_batch* recv_trailing_metadata;
89
91
  grpc_closure* original_recv_trailing_metadata_ready;
90
92
  grpc_closure recv_trailing_metadata_ready;
91
- grpc_error* recv_trailing_metadata_error = GRPC_ERROR_NONE;
93
+ grpc_error_handle recv_trailing_metadata_error = GRPC_ERROR_NONE;
92
94
  bool seen_recv_trailing_metadata_ready = false;
93
95
  // State for handling send_message ops.
94
96
  grpc_transport_stream_op_batch* send_message_batch;
@@ -108,7 +110,8 @@ struct channel_data {
108
110
  };
109
111
  } // namespace
110
112
 
111
- static grpc_error* client_filter_incoming_metadata(grpc_metadata_batch* b) {
113
+ static grpc_error_handle client_filter_incoming_metadata(
114
+ grpc_metadata_batch* b) {
112
115
  if (b->idx.named.status != nullptr) {
113
116
  /* If both gRPC status and HTTP status are provided in the response, we
114
117
  * should prefer the gRPC status code, as mentioned in
@@ -123,7 +126,7 @@ static grpc_error* client_filter_incoming_metadata(grpc_metadata_batch* b) {
123
126
  GPR_DUMP_ASCII);
124
127
  std::string msg =
125
128
  absl::StrCat("Received http2 header with status: ", val);
126
- grpc_error* e = grpc_error_set_str(
129
+ grpc_error_handle e = grpc_error_set_str(
127
130
  grpc_error_set_int(
128
131
  grpc_error_set_str(
129
132
  GRPC_ERROR_CREATE_FROM_STATIC_STRING(
@@ -182,7 +185,8 @@ static grpc_error* client_filter_incoming_metadata(grpc_metadata_batch* b) {
182
185
  return GRPC_ERROR_NONE;
183
186
  }
184
187
 
185
- static void recv_initial_metadata_ready(void* user_data, grpc_error* error) {
188
+ static void recv_initial_metadata_ready(void* user_data,
189
+ grpc_error_handle error) {
186
190
  grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
187
191
  call_data* calld = static_cast<call_data*>(elem->call_data);
188
192
  if (error == GRPC_ERROR_NONE) {
@@ -201,7 +205,8 @@ static void recv_initial_metadata_ready(void* user_data, grpc_error* error) {
201
205
  grpc_core::Closure::Run(DEBUG_LOCATION, closure, error);
202
206
  }
203
207
 
204
- static void recv_trailing_metadata_ready(void* user_data, grpc_error* error) {
208
+ static void recv_trailing_metadata_ready(void* user_data,
209
+ grpc_error_handle error) {
205
210
  grpc_call_element* elem = static_cast<grpc_call_element*>(user_data);
206
211
  call_data* calld = static_cast<call_data*>(elem->call_data);
207
212
  if (calld->original_recv_initial_metadata_ready != nullptr) {
@@ -223,7 +228,7 @@ static void recv_trailing_metadata_ready(void* user_data, grpc_error* error) {
223
228
  calld->original_recv_trailing_metadata_ready, error);
224
229
  }
225
230
 
226
- static void send_message_on_complete(void* arg, grpc_error* error) {
231
+ static void send_message_on_complete(void* arg, grpc_error_handle error) {
227
232
  grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
228
233
  call_data* calld = static_cast<call_data*>(elem->call_data);
229
234
  calld->send_message_cache.Destroy();
@@ -234,9 +239,10 @@ static void send_message_on_complete(void* arg, grpc_error* error) {
234
239
 
235
240
  // Pulls a slice from the send_message byte stream, updating
236
241
  // calld->send_message_bytes_read.
237
- static grpc_error* pull_slice_from_send_message(call_data* calld) {
242
+ static grpc_error_handle pull_slice_from_send_message(call_data* calld) {
238
243
  grpc_slice incoming_slice;
239
- grpc_error* error = calld->send_message_caching_stream->Pull(&incoming_slice);
244
+ grpc_error_handle error =
245
+ calld->send_message_caching_stream->Pull(&incoming_slice);
240
246
  if (error == GRPC_ERROR_NONE) {
241
247
  calld->send_message_bytes_read += GRPC_SLICE_LENGTH(incoming_slice);
242
248
  grpc_slice_unref_internal(incoming_slice);
@@ -249,10 +255,11 @@ static grpc_error* pull_slice_from_send_message(call_data* calld) {
249
255
  // calld->send_message_caching_stream->length(), then we have completed
250
256
  // reading from the byte stream; otherwise, an async read has been dispatched
251
257
  // and on_send_message_next_done() will be invoked when it is complete.
252
- static grpc_error* read_all_available_send_message_data(call_data* calld) {
258
+ static grpc_error_handle read_all_available_send_message_data(
259
+ call_data* calld) {
253
260
  while (calld->send_message_caching_stream->Next(
254
261
  SIZE_MAX, &calld->on_send_message_next_done)) {
255
- grpc_error* error = pull_slice_from_send_message(calld);
262
+ grpc_error_handle error = pull_slice_from_send_message(calld);
256
263
  if (error != GRPC_ERROR_NONE) return error;
257
264
  if (calld->send_message_bytes_read ==
258
265
  calld->send_message_caching_stream->length()) {
@@ -263,7 +270,7 @@ static grpc_error* read_all_available_send_message_data(call_data* calld) {
263
270
  }
264
271
 
265
272
  // Async callback for ByteStream::Next().
266
- static void on_send_message_next_done(void* arg, grpc_error* error) {
273
+ static void on_send_message_next_done(void* arg, grpc_error_handle error) {
267
274
  grpc_call_element* elem = static_cast<grpc_call_element*>(arg);
268
275
  call_data* calld = static_cast<call_data*>(elem->call_data);
269
276
  if (error != GRPC_ERROR_NONE) {
@@ -301,8 +308,8 @@ static char* slice_buffer_to_string(grpc_slice_buffer* slice_buffer) {
301
308
 
302
309
  // Modifies the path entry in the batch's send_initial_metadata to
303
310
  // append the base64-encoded query for a GET request.
304
- static grpc_error* update_path_for_get(grpc_call_element* elem,
305
- grpc_transport_stream_op_batch* batch) {
311
+ static grpc_error_handle update_path_for_get(
312
+ grpc_call_element* elem, grpc_transport_stream_op_batch* batch) {
306
313
  call_data* calld = static_cast<call_data*>(elem->call_data);
307
314
  grpc_slice path_slice =
308
315
  GRPC_MDVALUE(batch->payload->send_initial_metadata.send_initial_metadata
@@ -376,7 +383,7 @@ static void http_client_start_transport_stream_op_batch(
376
383
  &calld->recv_trailing_metadata_ready;
377
384
  }
378
385
 
379
- grpc_error* error = GRPC_ERROR_NONE;
386
+ grpc_error_handle error = GRPC_ERROR_NONE;
380
387
  bool batch_will_be_handled_asynchronously = false;
381
388
  if (batch->send_initial_metadata) {
382
389
  // Decide which HTTP VERB to use. We use GET if the request is marked
@@ -475,7 +482,7 @@ done:
475
482
  }
476
483
 
477
484
  /* Constructor for call_data */
478
- static grpc_error* http_client_init_call_elem(
485
+ static grpc_error_handle http_client_init_call_elem(
479
486
  grpc_call_element* elem, const grpc_call_element_args* args) {
480
487
  new (elem->call_data) call_data(elem, *args);
481
488
  return GRPC_ERROR_NONE;
@@ -561,7 +568,7 @@ static grpc_core::ManagedMemorySlice user_agent_from_args(
561
568
  }
562
569
 
563
570
  /* Constructor for channel_data */
564
- static grpc_error* http_client_init_channel_elem(
571
+ static grpc_error_handle http_client_init_channel_elem(
565
572
  grpc_channel_element* elem, grpc_channel_element_args* args) {
566
573
  channel_data* chand = static_cast<channel_data*>(elem->channel_data);
567
574
  GPR_ASSERT(!args->is_last);
@@ -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
  }