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
@@ -22,7 +22,7 @@
22
22
 
23
23
  namespace {
24
24
  void (*write_timestamps_callback_g)(void*, grpc_core::Timestamps*,
25
- grpc_error* error) = nullptr;
25
+ grpc_error_handle error) = nullptr;
26
26
  void* (*get_copied_context_fn_g)(void*) = nullptr;
27
27
  } // namespace
28
28
 
@@ -41,7 +41,7 @@ void ContextList::Append(ContextList** head, grpc_chttp2_stream* s) {
41
41
  }
42
42
 
43
43
  void ContextList::Execute(void* arg, grpc_core::Timestamps* ts,
44
- grpc_error* error) {
44
+ grpc_error_handle error) {
45
45
  ContextList* head = static_cast<ContextList*>(arg);
46
46
  ContextList* to_be_freed;
47
47
  while (head != nullptr) {
@@ -57,9 +57,8 @@ void ContextList::Execute(void* arg, grpc_core::Timestamps* ts,
57
57
  }
58
58
  }
59
59
 
60
- void grpc_http2_set_write_timestamps_callback(void (*fn)(void*,
61
- grpc_core::Timestamps*,
62
- grpc_error* error)) {
60
+ void grpc_http2_set_write_timestamps_callback(
61
+ void (*fn)(void*, grpc_core::Timestamps*, grpc_error_handle error)) {
63
62
  write_timestamps_callback_g = fn;
64
63
  }
65
64
 
@@ -36,7 +36,8 @@ class ContextList {
36
36
  /* Executes a function \a fn with each context in the list and \a ts. It also
37
37
  * frees up the entire list after this operation. It is intended as a callback
38
38
  * and hence does not take a ref on \a error */
39
- static void Execute(void* arg, grpc_core::Timestamps* ts, grpc_error* error);
39
+ static void Execute(void* arg, grpc_core::Timestamps* ts,
40
+ grpc_error_handle error);
40
41
 
41
42
  private:
42
43
  void* trace_context_ = nullptr;
@@ -44,9 +45,8 @@ class ContextList {
44
45
  size_t byte_offset_ = 0;
45
46
  };
46
47
 
47
- void grpc_http2_set_write_timestamps_callback(void (*fn)(void*,
48
- grpc_core::Timestamps*,
49
- grpc_error* error));
48
+ void grpc_http2_set_write_timestamps_callback(
49
+ void (*fn)(void*, grpc_core::Timestamps*, grpc_error_handle error));
50
50
  void grpc_http2_set_fn_get_copied_context(void* (*fn)(void*));
51
51
  } /* namespace grpc_core */
52
52
 
@@ -203,7 +203,7 @@ uint32_t TransportFlowControl::MaybeSendUpdate(bool writing_anyway) {
203
203
  return 0;
204
204
  }
205
205
 
206
- grpc_error* TransportFlowControl::ValidateRecvData(
206
+ grpc_error_handle TransportFlowControl::ValidateRecvData(
207
207
  int64_t incoming_frame_size) {
208
208
  if (incoming_frame_size > announced_window_) {
209
209
  return GRPC_ERROR_CREATE_FROM_COPIED_STRING(
@@ -219,10 +219,10 @@ StreamFlowControl::StreamFlowControl(TransportFlowControl* tfc,
219
219
  const grpc_chttp2_stream* s)
220
220
  : tfc_(tfc), s_(s) {}
221
221
 
222
- grpc_error* StreamFlowControl::RecvData(int64_t incoming_frame_size) {
222
+ grpc_error_handle StreamFlowControl::RecvData(int64_t incoming_frame_size) {
223
223
  FlowControlTrace trace(" data recv", tfc_, this);
224
224
 
225
- grpc_error* error = GRPC_ERROR_NONE;
225
+ grpc_error_handle error = GRPC_ERROR_NONE;
226
226
  error = tfc_->ValidateRecvData(incoming_frame_size);
227
227
  if (error != GRPC_ERROR_NONE) return error;
228
228
 
@@ -168,7 +168,7 @@ class TransportFlowControlBase {
168
168
 
169
169
  // Called to do bookkeeping when a stream owned by this transport receives
170
170
  // data from the wire. Also does error checking for frame size.
171
- virtual grpc_error* RecvData(int64_t /* incoming_frame_size */) = 0;
171
+ virtual grpc_error_handle RecvData(int64_t /* incoming_frame_size */) = 0;
172
172
 
173
173
  // Called to do bookkeeping when we receive a WINDOW_UPDATE frame.
174
174
  virtual void RecvUpdate(uint32_t /* size */) = 0;
@@ -210,7 +210,7 @@ class TransportFlowControlDisabled final : public TransportFlowControlBase {
210
210
  FlowControlAction MakeAction() override { return FlowControlAction(); }
211
211
  FlowControlAction PeriodicUpdate() override { return FlowControlAction(); }
212
212
  void StreamSentData(int64_t /* size */) override {}
213
- grpc_error* RecvData(int64_t /* incoming_frame_size */) override {
213
+ grpc_error_handle RecvData(int64_t /* incoming_frame_size */) override {
214
214
  return GRPC_ERROR_NONE;
215
215
  }
216
216
  void RecvUpdate(uint32_t /* size */) override {}
@@ -246,14 +246,14 @@ class TransportFlowControl final : public TransportFlowControlBase {
246
246
 
247
247
  void StreamSentData(int64_t size) override { remote_window_ -= size; }
248
248
 
249
- grpc_error* ValidateRecvData(int64_t incoming_frame_size);
249
+ grpc_error_handle ValidateRecvData(int64_t incoming_frame_size);
250
250
  void CommitRecvData(int64_t incoming_frame_size) {
251
251
  announced_window_ -= incoming_frame_size;
252
252
  }
253
253
 
254
- grpc_error* RecvData(int64_t incoming_frame_size) override {
254
+ grpc_error_handle RecvData(int64_t incoming_frame_size) override {
255
255
  FlowControlTrace trace(" data recv", this, nullptr);
256
- grpc_error* error = ValidateRecvData(incoming_frame_size);
256
+ grpc_error_handle error = ValidateRecvData(incoming_frame_size);
257
257
  if (error != GRPC_ERROR_NONE) return error;
258
258
  CommitRecvData(incoming_frame_size);
259
259
  return GRPC_ERROR_NONE;
@@ -352,7 +352,7 @@ class StreamFlowControlBase {
352
352
  virtual void SentData(int64_t /* outgoing_frame_size */) = 0;
353
353
 
354
354
  // Bookkeeping and error checking for when data is received by this stream.
355
- virtual grpc_error* RecvData(int64_t /* incoming_frame_size */) = 0;
355
+ virtual grpc_error_handle RecvData(int64_t /* incoming_frame_size */) = 0;
356
356
 
357
357
  // Called to check if this stream needs to send a WINDOW_UPDATE frame.
358
358
  virtual uint32_t MaybeSendUpdate() = 0;
@@ -395,7 +395,7 @@ class StreamFlowControlDisabled : public StreamFlowControlBase {
395
395
  }
396
396
  FlowControlAction MakeAction() override { return FlowControlAction(); }
397
397
  void SentData(int64_t /* outgoing_frame_size */) override {}
398
- grpc_error* RecvData(int64_t /* incoming_frame_size */) override {
398
+ grpc_error_handle RecvData(int64_t /* incoming_frame_size */) override {
399
399
  return GRPC_ERROR_NONE;
400
400
  }
401
401
  uint32_t MaybeSendUpdate() override { return 0; }
@@ -427,7 +427,7 @@ class StreamFlowControl final : public StreamFlowControlBase {
427
427
  }
428
428
 
429
429
  // we have received data from the wire
430
- grpc_error* RecvData(int64_t incoming_frame_size) override;
430
+ grpc_error_handle RecvData(int64_t incoming_frame_size) override;
431
431
 
432
432
  // returns an announce if we should send a stream update to our peer, else
433
433
  // returns zero
@@ -41,7 +41,7 @@ grpc_chttp2_data_parser::~grpc_chttp2_data_parser() {
41
41
  GRPC_ERROR_UNREF(error);
42
42
  }
43
43
 
44
- grpc_error* grpc_chttp2_data_parser_begin_frame(
44
+ grpc_error_handle grpc_chttp2_data_parser_begin_frame(
45
45
  grpc_chttp2_data_parser* /*parser*/, uint8_t flags, uint32_t stream_id,
46
46
  grpc_chttp2_stream* s) {
47
47
  if (flags & ~GRPC_CHTTP2_DATA_FLAG_END_STREAM) {
@@ -89,11 +89,11 @@ void grpc_chttp2_encode_data(uint32_t id, grpc_slice_buffer* inbuf,
89
89
  stats->data_bytes += write_bytes;
90
90
  }
91
91
 
92
- grpc_error* grpc_deframe_unprocessed_incoming_frames(
92
+ grpc_error_handle grpc_deframe_unprocessed_incoming_frames(
93
93
  grpc_chttp2_data_parser* p, grpc_chttp2_stream* s,
94
94
  grpc_slice_buffer* slices, grpc_slice* slice_out,
95
95
  grpc_core::OrphanablePtr<grpc_core::ByteStream>* stream_out) {
96
- grpc_error* error = GRPC_ERROR_NONE;
96
+ grpc_error_handle error = GRPC_ERROR_NONE;
97
97
  grpc_chttp2_transport* t = s->t;
98
98
 
99
99
  while (slices->count > 0) {
@@ -275,11 +275,11 @@ grpc_error* grpc_deframe_unprocessed_incoming_frames(
275
275
  return GRPC_ERROR_NONE;
276
276
  }
277
277
 
278
- grpc_error* grpc_chttp2_data_parser_parse(void* /*parser*/,
279
- grpc_chttp2_transport* t,
280
- grpc_chttp2_stream* s,
281
- const grpc_slice& slice,
282
- int is_last) {
278
+ grpc_error_handle grpc_chttp2_data_parser_parse(void* /*parser*/,
279
+ grpc_chttp2_transport* t,
280
+ grpc_chttp2_stream* s,
281
+ const grpc_slice& slice,
282
+ int is_last) {
283
283
  if (!s->pending_byte_stream) {
284
284
  grpc_slice_ref_internal(slice);
285
285
  grpc_slice_buffer_add(&s->frame_storage, slice);
@@ -50,31 +50,31 @@ struct grpc_chttp2_data_parser {
50
50
  grpc_chttp2_stream_state state = GRPC_CHTTP2_DATA_FH_0;
51
51
  uint8_t frame_type = 0;
52
52
  uint32_t frame_size = 0;
53
- grpc_error* error = GRPC_ERROR_NONE;
53
+ grpc_error_handle error = GRPC_ERROR_NONE;
54
54
 
55
55
  bool is_frame_compressed = false;
56
56
  grpc_core::Chttp2IncomingByteStream* parsing_frame = nullptr;
57
57
  };
58
58
 
59
59
  /* start processing a new data frame */
60
- grpc_error* grpc_chttp2_data_parser_begin_frame(grpc_chttp2_data_parser* parser,
61
- uint8_t flags,
62
- uint32_t stream_id,
63
- grpc_chttp2_stream* s);
60
+ grpc_error_handle grpc_chttp2_data_parser_begin_frame(
61
+ grpc_chttp2_data_parser* parser, uint8_t flags, uint32_t stream_id,
62
+ grpc_chttp2_stream* s);
64
63
 
65
64
  /* handle a slice of a data frame - is_last indicates the last slice of a
66
65
  frame */
67
- grpc_error* grpc_chttp2_data_parser_parse(void* parser,
68
- grpc_chttp2_transport* t,
69
- grpc_chttp2_stream* s,
70
- const grpc_slice& slice, int is_last);
66
+ grpc_error_handle grpc_chttp2_data_parser_parse(void* parser,
67
+ grpc_chttp2_transport* t,
68
+ grpc_chttp2_stream* s,
69
+ const grpc_slice& slice,
70
+ int is_last);
71
71
 
72
72
  void grpc_chttp2_encode_data(uint32_t id, grpc_slice_buffer* inbuf,
73
73
  uint32_t write_bytes, int is_eof,
74
74
  grpc_transport_one_way_stats* stats,
75
75
  grpc_slice_buffer* outbuf);
76
76
 
77
- grpc_error* grpc_deframe_unprocessed_incoming_frames(
77
+ grpc_error_handle grpc_deframe_unprocessed_incoming_frames(
78
78
  grpc_chttp2_data_parser* p, grpc_chttp2_stream* s,
79
79
  grpc_slice_buffer* slices, grpc_slice* slice_out,
80
80
  grpc_core::OrphanablePtr<grpc_core::ByteStream>* stream_out);
@@ -36,9 +36,8 @@ void grpc_chttp2_goaway_parser_destroy(grpc_chttp2_goaway_parser* p) {
36
36
  gpr_free(p->debug_data);
37
37
  }
38
38
 
39
- grpc_error* grpc_chttp2_goaway_parser_begin_frame(grpc_chttp2_goaway_parser* p,
40
- uint32_t length,
41
- uint8_t /*flags*/) {
39
+ grpc_error_handle grpc_chttp2_goaway_parser_begin_frame(
40
+ grpc_chttp2_goaway_parser* p, uint32_t length, uint8_t /*flags*/) {
42
41
  if (length < 8) {
43
42
  return GRPC_ERROR_CREATE_FROM_COPIED_STRING(
44
43
  absl::StrFormat("goaway frame too short (%d bytes)", length).c_str());
@@ -52,11 +51,11 @@ grpc_error* grpc_chttp2_goaway_parser_begin_frame(grpc_chttp2_goaway_parser* p,
52
51
  return GRPC_ERROR_NONE;
53
52
  }
54
53
 
55
- grpc_error* grpc_chttp2_goaway_parser_parse(void* parser,
56
- grpc_chttp2_transport* t,
57
- grpc_chttp2_stream* /*s*/,
58
- const grpc_slice& slice,
59
- int is_last) {
54
+ grpc_error_handle grpc_chttp2_goaway_parser_parse(void* parser,
55
+ grpc_chttp2_transport* t,
56
+ grpc_chttp2_stream* /*s*/,
57
+ const grpc_slice& slice,
58
+ int is_last) {
60
59
  const uint8_t* const beg = GRPC_SLICE_START_PTR(slice);
61
60
  const uint8_t* const end = GRPC_SLICE_END_PTR(slice);
62
61
  const uint8_t* cur = beg;
@@ -47,13 +47,13 @@ struct grpc_chttp2_goaway_parser {
47
47
  };
48
48
  void grpc_chttp2_goaway_parser_init(grpc_chttp2_goaway_parser* p);
49
49
  void grpc_chttp2_goaway_parser_destroy(grpc_chttp2_goaway_parser* p);
50
- grpc_error* grpc_chttp2_goaway_parser_begin_frame(
50
+ grpc_error_handle grpc_chttp2_goaway_parser_begin_frame(
51
51
  grpc_chttp2_goaway_parser* parser, uint32_t length, uint8_t flags);
52
- grpc_error* grpc_chttp2_goaway_parser_parse(void* parser,
53
- grpc_chttp2_transport* t,
54
- grpc_chttp2_stream* s,
55
- const grpc_slice& slice,
56
- int is_last);
52
+ grpc_error_handle grpc_chttp2_goaway_parser_parse(void* parser,
53
+ grpc_chttp2_transport* t,
54
+ grpc_chttp2_stream* s,
55
+ const grpc_slice& slice,
56
+ int is_last);
57
57
 
58
58
  void grpc_chttp2_goaway_append(uint32_t last_stream_id, uint32_t error_code,
59
59
  const grpc_slice& debug_data,
@@ -55,9 +55,8 @@ grpc_slice grpc_chttp2_ping_create(uint8_t ack, uint64_t opaque_8bytes) {
55
55
  return slice;
56
56
  }
57
57
 
58
- grpc_error* grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser* parser,
59
- uint32_t length,
60
- uint8_t flags) {
58
+ grpc_error_handle grpc_chttp2_ping_parser_begin_frame(
59
+ grpc_chttp2_ping_parser* parser, uint32_t length, uint8_t flags) {
61
60
  if (flags & 0xfe || length != 8) {
62
61
  return GRPC_ERROR_CREATE_FROM_COPIED_STRING(
63
62
  absl::StrFormat("invalid ping: length=%d, flags=%02x", length, flags)
@@ -69,11 +68,11 @@ grpc_error* grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser* parser,
69
68
  return GRPC_ERROR_NONE;
70
69
  }
71
70
 
72
- grpc_error* grpc_chttp2_ping_parser_parse(void* parser,
73
- grpc_chttp2_transport* t,
74
- grpc_chttp2_stream* /*s*/,
75
- const grpc_slice& slice,
76
- int is_last) {
71
+ grpc_error_handle grpc_chttp2_ping_parser_parse(void* parser,
72
+ grpc_chttp2_transport* t,
73
+ grpc_chttp2_stream* /*s*/,
74
+ const grpc_slice& slice,
75
+ int is_last) {
77
76
  const uint8_t* const beg = GRPC_SLICE_START_PTR(slice);
78
77
  const uint8_t* const end = GRPC_SLICE_END_PTR(slice);
79
78
  const uint8_t* cur = beg;
@@ -31,12 +31,13 @@ struct grpc_chttp2_ping_parser {
31
31
  };
32
32
  grpc_slice grpc_chttp2_ping_create(uint8_t ack, uint64_t opaque_8bytes);
33
33
 
34
- grpc_error* grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser* parser,
35
- uint32_t length, uint8_t flags);
36
- grpc_error* grpc_chttp2_ping_parser_parse(void* parser,
37
- grpc_chttp2_transport* t,
38
- grpc_chttp2_stream* s,
39
- const grpc_slice& slice, int is_last);
34
+ grpc_error_handle grpc_chttp2_ping_parser_begin_frame(
35
+ grpc_chttp2_ping_parser* parser, uint32_t length, uint8_t flags);
36
+ grpc_error_handle grpc_chttp2_ping_parser_parse(void* parser,
37
+ grpc_chttp2_transport* t,
38
+ grpc_chttp2_stream* s,
39
+ const grpc_slice& slice,
40
+ int is_last);
40
41
 
41
42
  /* Test-only function for disabling ping ack */
42
43
  void grpc_set_disable_ping_ack(bool disable_ping_ack);
@@ -68,7 +68,7 @@ void grpc_chttp2_add_rst_stream_to_next_write(
68
68
  grpc_chttp2_rst_stream_create(id, code, stats));
69
69
  }
70
70
 
71
- grpc_error* grpc_chttp2_rst_stream_parser_begin_frame(
71
+ grpc_error_handle grpc_chttp2_rst_stream_parser_begin_frame(
72
72
  grpc_chttp2_rst_stream_parser* parser, uint32_t length, uint8_t flags) {
73
73
  if (length != 4) {
74
74
  return GRPC_ERROR_CREATE_FROM_COPIED_STRING(
@@ -80,11 +80,11 @@ grpc_error* grpc_chttp2_rst_stream_parser_begin_frame(
80
80
  return GRPC_ERROR_NONE;
81
81
  }
82
82
 
83
- grpc_error* grpc_chttp2_rst_stream_parser_parse(void* parser,
84
- grpc_chttp2_transport* t,
85
- grpc_chttp2_stream* s,
86
- const grpc_slice& slice,
87
- int is_last) {
83
+ grpc_error_handle grpc_chttp2_rst_stream_parser_parse(void* parser,
84
+ grpc_chttp2_transport* t,
85
+ grpc_chttp2_stream* s,
86
+ const grpc_slice& slice,
87
+ int is_last) {
88
88
  const uint8_t* const beg = GRPC_SLICE_START_PTR(slice);
89
89
  const uint8_t* const end = GRPC_SLICE_END_PTR(slice);
90
90
  const uint8_t* cur = beg;
@@ -104,7 +104,7 @@ grpc_error* grpc_chttp2_rst_stream_parser_parse(void* parser,
104
104
  ((static_cast<uint32_t>(p->reason_bytes[1])) << 16) |
105
105
  ((static_cast<uint32_t>(p->reason_bytes[2])) << 8) |
106
106
  ((static_cast<uint32_t>(p->reason_bytes[3])));
107
- grpc_error* error = GRPC_ERROR_NONE;
107
+ grpc_error_handle error = GRPC_ERROR_NONE;
108
108
  if (reason != GRPC_HTTP2_NO_ERROR || s->metadata_buffer[1].size == 0) {
109
109
  error = grpc_error_set_int(
110
110
  grpc_error_set_str(
@@ -39,12 +39,12 @@ void grpc_chttp2_add_rst_stream_to_next_write(
39
39
  grpc_chttp2_transport* t, uint32_t id, uint32_t code,
40
40
  grpc_transport_one_way_stats* stats);
41
41
 
42
- grpc_error* grpc_chttp2_rst_stream_parser_begin_frame(
42
+ grpc_error_handle grpc_chttp2_rst_stream_parser_begin_frame(
43
43
  grpc_chttp2_rst_stream_parser* parser, uint32_t length, uint8_t flags);
44
- grpc_error* grpc_chttp2_rst_stream_parser_parse(void* parser,
45
- grpc_chttp2_transport* t,
46
- grpc_chttp2_stream* s,
47
- const grpc_slice& slice,
48
- int is_last);
44
+ grpc_error_handle grpc_chttp2_rst_stream_parser_parse(void* parser,
45
+ grpc_chttp2_transport* t,
46
+ grpc_chttp2_stream* s,
47
+ const grpc_slice& slice,
48
+ int is_last);
49
49
 
50
50
  #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_RST_STREAM_H */
@@ -84,7 +84,7 @@ grpc_slice grpc_chttp2_settings_ack_create(void) {
84
84
  return output;
85
85
  }
86
86
 
87
- grpc_error* grpc_chttp2_settings_parser_begin_frame(
87
+ grpc_error_handle grpc_chttp2_settings_parser_begin_frame(
88
88
  grpc_chttp2_settings_parser* parser, uint32_t length, uint8_t flags,
89
89
  uint32_t* settings) {
90
90
  parser->target_settings = settings;
@@ -110,10 +110,11 @@ grpc_error* grpc_chttp2_settings_parser_begin_frame(
110
110
  }
111
111
  }
112
112
 
113
- grpc_error* grpc_chttp2_settings_parser_parse(void* p, grpc_chttp2_transport* t,
114
- grpc_chttp2_stream* /*s*/,
115
- const grpc_slice& slice,
116
- int is_last) {
113
+ grpc_error_handle grpc_chttp2_settings_parser_parse(void* p,
114
+ grpc_chttp2_transport* t,
115
+ grpc_chttp2_stream* /*s*/,
116
+ const grpc_slice& slice,
117
+ int is_last) {
117
118
  grpc_chttp2_settings_parser* parser =
118
119
  static_cast<grpc_chttp2_settings_parser*>(p);
119
120
  const uint8_t* cur = GRPC_SLICE_START_PTR(slice);
@@ -49,13 +49,13 @@ grpc_slice grpc_chttp2_settings_create(uint32_t* old_settings,
49
49
  /* Create an ack settings frame */
50
50
  grpc_slice grpc_chttp2_settings_ack_create(void);
51
51
 
52
- grpc_error* grpc_chttp2_settings_parser_begin_frame(
52
+ grpc_error_handle grpc_chttp2_settings_parser_begin_frame(
53
53
  grpc_chttp2_settings_parser* parser, uint32_t length, uint8_t flags,
54
54
  uint32_t* settings);
55
- grpc_error* grpc_chttp2_settings_parser_parse(void* parser,
56
- grpc_chttp2_transport* t,
57
- grpc_chttp2_stream* s,
58
- const grpc_slice& slice,
59
- int is_last);
55
+ grpc_error_handle grpc_chttp2_settings_parser_parse(void* parser,
56
+ grpc_chttp2_transport* t,
57
+ grpc_chttp2_stream* s,
58
+ const grpc_slice& slice,
59
+ int is_last);
60
60
 
61
61
  #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_SETTINGS_H */
@@ -53,7 +53,7 @@ grpc_slice grpc_chttp2_window_update_create(
53
53
  return slice;
54
54
  }
55
55
 
56
- grpc_error* grpc_chttp2_window_update_parser_begin_frame(
56
+ grpc_error_handle grpc_chttp2_window_update_parser_begin_frame(
57
57
  grpc_chttp2_window_update_parser* parser, uint32_t length, uint8_t flags) {
58
58
  if (flags || length != 4) {
59
59
  return GRPC_ERROR_CREATE_FROM_COPIED_STRING(
@@ -66,11 +66,9 @@ grpc_error* grpc_chttp2_window_update_parser_begin_frame(
66
66
  return GRPC_ERROR_NONE;
67
67
  }
68
68
 
69
- grpc_error* grpc_chttp2_window_update_parser_parse(void* parser,
70
- grpc_chttp2_transport* t,
71
- grpc_chttp2_stream* s,
72
- const grpc_slice& slice,
73
- int is_last) {
69
+ grpc_error_handle grpc_chttp2_window_update_parser_parse(
70
+ void* parser, grpc_chttp2_transport* t, grpc_chttp2_stream* s,
71
+ const grpc_slice& slice, int is_last) {
74
72
  const uint8_t* const beg = GRPC_SLICE_START_PTR(slice);
75
73
  const uint8_t* const end = GRPC_SLICE_END_PTR(slice);
76
74
  const uint8_t* cur = beg;
@@ -33,12 +33,10 @@ struct grpc_chttp2_window_update_parser {
33
33
  grpc_slice grpc_chttp2_window_update_create(
34
34
  uint32_t id, uint32_t window_delta, grpc_transport_one_way_stats* stats);
35
35
 
36
- grpc_error* grpc_chttp2_window_update_parser_begin_frame(
36
+ grpc_error_handle grpc_chttp2_window_update_parser_begin_frame(
37
37
  grpc_chttp2_window_update_parser* parser, uint32_t length, uint8_t flags);
38
- grpc_error* grpc_chttp2_window_update_parser_parse(void* parser,
39
- grpc_chttp2_transport* t,
40
- grpc_chttp2_stream* s,
41
- const grpc_slice& slice,
42
- int is_last);
38
+ grpc_error_handle grpc_chttp2_window_update_parser_parse(
39
+ void* parser, grpc_chttp2_transport* t, grpc_chttp2_stream* s,
40
+ const grpc_slice& slice, int is_last);
43
41
 
44
42
  #endif /* GRPC_CORE_EXT_TRANSPORT_CHTTP2_TRANSPORT_FRAME_WINDOW_UPDATE_H */