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
@@ -45,31 +45,31 @@ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock,
45
45
  int cloexec);
46
46
 
47
47
  /* set a socket to use zerocopy */
48
- grpc_error* grpc_set_socket_zerocopy(int fd);
48
+ grpc_error_handle grpc_set_socket_zerocopy(int fd);
49
49
 
50
50
  /* set a socket to non blocking mode */
51
- grpc_error* grpc_set_socket_nonblocking(int fd, int non_blocking);
51
+ grpc_error_handle grpc_set_socket_nonblocking(int fd, int non_blocking);
52
52
 
53
53
  /* set a socket to close on exec */
54
- grpc_error* grpc_set_socket_cloexec(int fd, int close_on_exec);
54
+ grpc_error_handle grpc_set_socket_cloexec(int fd, int close_on_exec);
55
55
 
56
56
  /* set a socket to reuse old addresses */
57
- grpc_error* grpc_set_socket_reuse_addr(int fd, int reuse);
57
+ grpc_error_handle grpc_set_socket_reuse_addr(int fd, int reuse);
58
58
 
59
59
  /* return true if SO_REUSEPORT is supported */
60
60
  bool grpc_is_socket_reuse_port_supported();
61
61
 
62
62
  /* disable nagle */
63
- grpc_error* grpc_set_socket_low_latency(int fd, int low_latency);
63
+ grpc_error_handle grpc_set_socket_low_latency(int fd, int low_latency);
64
64
 
65
65
  /* set SO_REUSEPORT */
66
- grpc_error* grpc_set_socket_reuse_port(int fd, int reuse);
66
+ grpc_error_handle grpc_set_socket_reuse_port(int fd, int reuse);
67
67
 
68
68
  /* Configure the default values for TCP_USER_TIMEOUT */
69
69
  void config_default_tcp_user_timeout(bool enable, int timeout, bool is_client);
70
70
 
71
71
  /* Set TCP_USER_TIMEOUT */
72
- grpc_error* grpc_set_socket_tcp_user_timeout(
72
+ grpc_error_handle grpc_set_socket_tcp_user_timeout(
73
73
  int fd, const grpc_channel_args* channel_args, bool is_client);
74
74
 
75
75
  /* Returns true if this system can create AF_INET6 sockets bound to ::1.
@@ -84,28 +84,29 @@ int grpc_ipv6_loopback_available(void);
84
84
 
85
85
  /* Tries to set SO_NOSIGPIPE if available on this platform.
86
86
  If SO_NO_SIGPIPE is not available, returns 1. */
87
- grpc_error* grpc_set_socket_no_sigpipe_if_possible(int fd);
87
+ grpc_error_handle grpc_set_socket_no_sigpipe_if_possible(int fd);
88
88
 
89
89
  /* Tries to set IP_PKTINFO if available on this platform.
90
90
  If IP_PKTINFO is not available, returns 1. */
91
- grpc_error* grpc_set_socket_ip_pktinfo_if_possible(int fd);
91
+ grpc_error_handle grpc_set_socket_ip_pktinfo_if_possible(int fd);
92
92
 
93
93
  /* Tries to set IPV6_RECVPKTINFO if available on this platform.
94
94
  If IPV6_RECVPKTINFO is not available, returns 1. */
95
- grpc_error* grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd);
95
+ grpc_error_handle grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd);
96
96
 
97
97
  /* Tries to set the socket's send buffer to given size. */
98
- grpc_error* grpc_set_socket_sndbuf(int fd, int buffer_size_bytes);
98
+ grpc_error_handle grpc_set_socket_sndbuf(int fd, int buffer_size_bytes);
99
99
 
100
100
  /* Tries to set the socket's receive buffer to given size. */
101
- grpc_error* grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes);
101
+ grpc_error_handle grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes);
102
102
 
103
103
  /* Tries to set the socket using a grpc_socket_mutator */
104
- grpc_error* grpc_set_socket_with_mutator(int fd, grpc_socket_mutator* mutator);
104
+ grpc_error_handle grpc_set_socket_with_mutator(int fd,
105
+ grpc_socket_mutator* mutator);
105
106
 
106
107
  /* Extracts the first socket mutator from args if any and applies on the fd. */
107
- grpc_error* grpc_apply_socket_mutator_in_args(int fd,
108
- const grpc_channel_args* args);
108
+ grpc_error_handle grpc_apply_socket_mutator_in_args(
109
+ int fd, const grpc_channel_args* args);
109
110
 
110
111
  /* An enum to keep track of IPv4/IPv6 socket modes.
111
112
 
@@ -149,14 +150,13 @@ int grpc_set_socket_dualstack(int fd);
149
150
  IPv4, so that bind() or connect() see the correct family.
150
151
  Also, it's important to distinguish between DUALSTACK and IPV6 when
151
152
  listening on the [::] wildcard address. */
152
- grpc_error* grpc_create_dualstack_socket(const grpc_resolved_address* addr,
153
- int type, int protocol,
154
- grpc_dualstack_mode* dsmode,
155
- int* newfd);
153
+ grpc_error_handle grpc_create_dualstack_socket(
154
+ const grpc_resolved_address* addr, int type, int protocol,
155
+ grpc_dualstack_mode* dsmode, int* newfd);
156
156
 
157
157
  /* Same as grpc_create_dualstack_socket(), but use the given socket factory (if
158
158
  non-null) to create the socket, rather than calling socket() directly. */
159
- grpc_error* grpc_create_dualstack_socket_using_factory(
159
+ grpc_error_handle grpc_create_dualstack_socket_using_factory(
160
160
  grpc_socket_factory* factory, const grpc_resolved_address* addr, int type,
161
161
  int protocol, grpc_dualstack_mode* dsmode, int* newfd);
162
162
 
@@ -33,6 +33,7 @@
33
33
 
34
34
  #include <netinet/in.h>
35
35
 
36
+ #include "src/core/lib/address_utils/sockaddr_utils.h"
36
37
  #include "src/core/lib/channel/channel_args.h"
37
38
  #include "src/core/lib/gprpp/host_port.h"
38
39
  #include "src/core/lib/iomgr/cfstream_handle.h"
@@ -40,7 +41,6 @@
40
41
  #include "src/core/lib/iomgr/endpoint_cfstream.h"
41
42
  #include "src/core/lib/iomgr/error.h"
42
43
  #include "src/core/lib/iomgr/error_cfstream.h"
43
- #include "src/core/lib/iomgr/sockaddr_utils.h"
44
44
  #include "src/core/lib/iomgr/tcp_client.h"
45
45
  #include "src/core/lib/iomgr/timer.h"
46
46
 
@@ -78,7 +78,7 @@ static void CFStreamConnectCleanup(CFStreamConnect* connect) {
78
78
  delete connect;
79
79
  }
80
80
 
81
- static void OnAlarm(void* arg, grpc_error* error) {
81
+ static void OnAlarm(void* arg, grpc_error_handle error) {
82
82
  CFStreamConnect* connect = static_cast<CFStreamConnect*>(arg);
83
83
  if (grpc_tcp_trace.enabled()) {
84
84
  gpr_log(GPR_DEBUG, "CLIENT_CONNECT :%p OnAlarm, error:%p", connect, error);
@@ -93,13 +93,13 @@ static void OnAlarm(void* arg, grpc_error* error) {
93
93
  if (done) {
94
94
  CFStreamConnectCleanup(connect);
95
95
  } else {
96
- grpc_error* error =
96
+ grpc_error_handle error =
97
97
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("connect() timed out");
98
98
  grpc_core::ExecCtx::Run(DEBUG_LOCATION, closure, error);
99
99
  }
100
100
  }
101
101
 
102
- static void OnOpen(void* arg, grpc_error* error) {
102
+ static void OnOpen(void* arg, grpc_error_handle error) {
103
103
  CFStreamConnect* connect = static_cast<CFStreamConnect*>(arg);
104
104
  if (grpc_tcp_trace.enabled()) {
105
105
  gpr_log(GPR_DEBUG, "CLIENT_CONNECT :%p OnOpen, error:%p", connect, error);
@@ -25,9 +25,9 @@
25
25
  #include <grpc/support/alloc.h>
26
26
  #include <grpc/support/log.h>
27
27
 
28
+ #include "src/core/lib/address_utils/sockaddr_utils.h"
28
29
  #include "src/core/lib/iomgr/error.h"
29
30
  #include "src/core/lib/iomgr/iomgr_custom.h"
30
- #include "src/core/lib/iomgr/sockaddr_utils.h"
31
31
  #include "src/core/lib/iomgr/tcp_client.h"
32
32
  #include "src/core/lib/iomgr/tcp_custom.h"
33
33
  #include "src/core/lib/iomgr/timer.h"
@@ -59,14 +59,13 @@ static void custom_tcp_connect_cleanup(grpc_custom_tcp_connect* connect) {
59
59
 
60
60
  static void custom_close_callback(grpc_custom_socket* /*socket*/) {}
61
61
 
62
- static void on_alarm(void* acp, grpc_error* error) {
62
+ static void on_alarm(void* acp, grpc_error_handle error) {
63
63
  int done;
64
64
  grpc_custom_socket* socket = static_cast<grpc_custom_socket*>(acp);
65
65
  grpc_custom_tcp_connect* connect = socket->connector;
66
66
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
67
- const char* str = grpc_error_string(error);
68
67
  gpr_log(GPR_INFO, "CLIENT_CONNECT: %s: on_alarm: error=%s",
69
- connect->addr_name.c_str(), str);
68
+ connect->addr_name.c_str(), grpc_error_std_string(error).c_str());
70
69
  }
71
70
  if (error == GRPC_ERROR_NONE) {
72
71
  /* error == NONE implies that the timer ran out, and wasn't cancelled. If
@@ -81,7 +80,7 @@ static void on_alarm(void* acp, grpc_error* error) {
81
80
  }
82
81
 
83
82
  static void custom_connect_callback_internal(grpc_custom_socket* socket,
84
- grpc_error* error) {
83
+ grpc_error_handle error) {
85
84
  grpc_custom_tcp_connect* connect = socket->connector;
86
85
  int done;
87
86
  grpc_closure* closure = connect->closure;
@@ -99,7 +98,7 @@ static void custom_connect_callback_internal(grpc_custom_socket* socket,
99
98
  }
100
99
 
101
100
  static void custom_connect_callback(grpc_custom_socket* socket,
102
- grpc_error* error) {
101
+ grpc_error_handle error) {
103
102
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
104
103
  if (grpc_core::ExecCtx::Get() == nullptr) {
105
104
  /* If we are being run on a thread which does not have an exec_ctx created
@@ -35,12 +35,12 @@
35
35
  #include <grpc/support/log.h>
36
36
  #include <grpc/support/time.h>
37
37
 
38
+ #include "src/core/lib/address_utils/sockaddr_utils.h"
38
39
  #include "src/core/lib/channel/channel_args.h"
39
40
  #include "src/core/lib/gpr/string.h"
40
41
  #include "src/core/lib/iomgr/ev_posix.h"
41
42
  #include "src/core/lib/iomgr/iomgr_internal.h"
42
43
  #include "src/core/lib/iomgr/sockaddr.h"
43
- #include "src/core/lib/iomgr/sockaddr_utils.h"
44
44
  #include "src/core/lib/iomgr/socket_mutator.h"
45
45
  #include "src/core/lib/iomgr/socket_utils_posix.h"
46
46
  #include "src/core/lib/iomgr/tcp_posix.h"
@@ -64,9 +64,10 @@ struct async_connect {
64
64
  grpc_channel_args* channel_args;
65
65
  };
66
66
 
67
- static grpc_error* prepare_socket(const grpc_resolved_address* addr, int fd,
68
- const grpc_channel_args* channel_args) {
69
- grpc_error* err = GRPC_ERROR_NONE;
67
+ static grpc_error_handle prepare_socket(const grpc_resolved_address* addr,
68
+ int fd,
69
+ const grpc_channel_args* channel_args) {
70
+ grpc_error_handle err = GRPC_ERROR_NONE;
70
71
 
71
72
  GPR_ASSERT(fd >= 0);
72
73
 
@@ -99,13 +100,12 @@ done:
99
100
  return err;
100
101
  }
101
102
 
102
- static void tc_on_alarm(void* acp, grpc_error* error) {
103
+ static void tc_on_alarm(void* acp, grpc_error_handle error) {
103
104
  int done;
104
105
  async_connect* ac = static_cast<async_connect*>(acp);
105
106
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
106
- const char* str = grpc_error_string(error);
107
107
  gpr_log(GPR_INFO, "CLIENT_CONNECT: %s: on_alarm: error=%s",
108
- ac->addr_str.c_str(), str);
108
+ ac->addr_str.c_str(), grpc_error_std_string(error).c_str());
109
109
  }
110
110
  gpr_mu_lock(&ac->mu);
111
111
  if (ac->fd != nullptr) {
@@ -126,7 +126,7 @@ grpc_endpoint* grpc_tcp_client_create_from_fd(
126
126
  return grpc_tcp_create(fd, channel_args, addr_str);
127
127
  }
128
128
 
129
- static void on_writable(void* acp, grpc_error* error) {
129
+ static void on_writable(void* acp, grpc_error_handle error) {
130
130
  async_connect* ac = static_cast<async_connect*>(acp);
131
131
  int so_error = 0;
132
132
  socklen_t so_error_size;
@@ -139,9 +139,8 @@ static void on_writable(void* acp, grpc_error* error) {
139
139
  GRPC_ERROR_REF(error);
140
140
 
141
141
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
142
- const char* str = grpc_error_string(error);
143
142
  gpr_log(GPR_INFO, "CLIENT_CONNECT: %s: on_writable: error=%s",
144
- ac->addr_str.c_str(), str);
143
+ ac->addr_str.c_str(), grpc_error_std_string(error).c_str());
145
144
  }
146
145
 
147
146
  gpr_mu_lock(&ac->mu);
@@ -242,12 +241,11 @@ finish:
242
241
  grpc_core::ExecCtx::Run(DEBUG_LOCATION, closure, error);
243
242
  }
244
243
 
245
- grpc_error* grpc_tcp_client_prepare_fd(const grpc_channel_args* channel_args,
246
- const grpc_resolved_address* addr,
247
- grpc_resolved_address* mapped_addr,
248
- int* fd) {
244
+ grpc_error_handle grpc_tcp_client_prepare_fd(
245
+ const grpc_channel_args* channel_args, const grpc_resolved_address* addr,
246
+ grpc_resolved_address* mapped_addr, int* fd) {
249
247
  grpc_dualstack_mode dsmode;
250
- grpc_error* error;
248
+ grpc_error_handle error;
251
249
  *fd = -1;
252
250
  /* Use dualstack sockets where available. Set mapped to v6 or v4 mapped to
253
251
  v6. */
@@ -293,7 +291,7 @@ void grpc_tcp_client_create_from_prepared_fd(
293
291
  return;
294
292
  }
295
293
  if (errno != EWOULDBLOCK && errno != EINPROGRESS) {
296
- grpc_error* error = GRPC_OS_ERROR(errno, "connect");
294
+ grpc_error_handle error = GRPC_OS_ERROR(errno, "connect");
297
295
  error = grpc_error_set_str(
298
296
  error, GRPC_ERROR_STR_TARGET_ADDRESS,
299
297
  grpc_slice_from_cpp_string(grpc_sockaddr_to_uri(addr)));
@@ -335,7 +333,7 @@ static void tcp_connect(grpc_closure* closure, grpc_endpoint** ep,
335
333
  grpc_millis deadline) {
336
334
  grpc_resolved_address mapped_addr;
337
335
  int fd = -1;
338
- grpc_error* error;
336
+ grpc_error_handle error;
339
337
  *ep = nullptr;
340
338
  if ((error = grpc_tcp_client_prepare_fd(channel_args, addr, &mapped_addr,
341
339
  &fd)) != GRPC_ERROR_NONE) {
@@ -45,10 +45,9 @@ grpc_endpoint* grpc_tcp_client_create_from_fd(
45
45
  fd: out parameter. The new FD
46
46
  Returns: error, if any. Out parameters are not set on error
47
47
  */
48
- grpc_error* grpc_tcp_client_prepare_fd(const grpc_channel_args* channel_args,
49
- const grpc_resolved_address* addr,
50
- grpc_resolved_address* mapped_addr,
51
- int* fd);
48
+ grpc_error_handle grpc_tcp_client_prepare_fd(
49
+ const grpc_channel_args* channel_args, const grpc_resolved_address* addr,
50
+ grpc_resolved_address* mapped_addr, int* fd);
52
51
 
53
52
  /* Connect a configured TCP client fd.
54
53
 
@@ -31,10 +31,10 @@
31
31
  #include <grpc/support/log.h>
32
32
  #include <grpc/support/log_windows.h>
33
33
 
34
+ #include "src/core/lib/address_utils/sockaddr_utils.h"
34
35
  #include "src/core/lib/channel/channel_args.h"
35
36
  #include "src/core/lib/iomgr/iocp_windows.h"
36
37
  #include "src/core/lib/iomgr/sockaddr.h"
37
- #include "src/core/lib/iomgr/sockaddr_utils.h"
38
38
  #include "src/core/lib/iomgr/socket_windows.h"
39
39
  #include "src/core/lib/iomgr/tcp_client.h"
40
40
  #include "src/core/lib/iomgr/tcp_windows.h"
@@ -66,7 +66,7 @@ static void async_connect_unlock_and_cleanup(async_connect* ac,
66
66
  if (socket != NULL) grpc_winsocket_destroy(socket);
67
67
  }
68
68
 
69
- static void on_alarm(void* acp, grpc_error* error) {
69
+ static void on_alarm(void* acp, grpc_error_handle error) {
70
70
  async_connect* ac = (async_connect*)acp;
71
71
  gpr_mu_lock(&ac->mu);
72
72
  grpc_winsocket* socket = ac->socket;
@@ -77,7 +77,7 @@ static void on_alarm(void* acp, grpc_error* error) {
77
77
  async_connect_unlock_and_cleanup(ac, socket);
78
78
  }
79
79
 
80
- static void on_connect(void* acp, grpc_error* error) {
80
+ static void on_connect(void* acp, grpc_error_handle error) {
81
81
  async_connect* ac = (async_connect*)acp;
82
82
  grpc_endpoint** ep = ac->endpoint;
83
83
  GPR_ASSERT(*ep == NULL);
@@ -137,7 +137,7 @@ static void tcp_connect(grpc_closure* on_done, grpc_endpoint** endpoint,
137
137
  GUID guid = WSAID_CONNECTEX;
138
138
  DWORD ioctl_num_bytes;
139
139
  grpc_winsocket_callback_info* info;
140
- grpc_error* error = GRPC_ERROR_NONE;
140
+ grpc_error_handle error = GRPC_ERROR_NONE;
141
141
  async_connect* ac = NULL;
142
142
 
143
143
  *endpoint = NULL;
@@ -213,7 +213,7 @@ static void tcp_connect(grpc_closure* on_done, grpc_endpoint** endpoint,
213
213
  failure:
214
214
  GPR_ASSERT(error != GRPC_ERROR_NONE);
215
215
  std::string target_uri = grpc_sockaddr_to_uri(addr);
216
- grpc_error* final_error =
216
+ grpc_error_handle final_error =
217
217
  grpc_error_set_str(GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
218
218
  "Failed to connect", &error, 1),
219
219
  GRPC_ERROR_STR_TARGET_ADDRESS,
@@ -29,10 +29,10 @@
29
29
  #include <grpc/support/log.h>
30
30
  #include <grpc/support/string_util.h>
31
31
 
32
+ #include "src/core/lib/address_utils/sockaddr_utils.h"
32
33
  #include "src/core/lib/iomgr/error.h"
33
34
  #include "src/core/lib/iomgr/iomgr_custom.h"
34
35
  #include "src/core/lib/iomgr/resource_quota.h"
35
- #include "src/core/lib/iomgr/sockaddr_utils.h"
36
36
  #include "src/core/lib/iomgr/tcp_client.h"
37
37
  #include "src/core/lib/iomgr/tcp_custom.h"
38
38
  #include "src/core/lib/iomgr/tcp_server.h"
@@ -122,15 +122,13 @@ static void tcp_unref(custom_tcp_endpoint* tcp) {
122
122
  static void tcp_ref(custom_tcp_endpoint* tcp) { gpr_ref(&tcp->refcount); }
123
123
  #endif
124
124
 
125
- static void call_read_cb(custom_tcp_endpoint* tcp, grpc_error* error) {
125
+ static void call_read_cb(custom_tcp_endpoint* tcp, grpc_error_handle error) {
126
126
  grpc_closure* cb = tcp->read_cb;
127
127
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
128
128
  gpr_log(GPR_INFO, "TCP:%p call_cb %p %p:%p", tcp->socket, cb, cb->cb,
129
129
  cb->cb_arg);
130
130
  size_t i;
131
- const char* str = grpc_error_string(error);
132
- gpr_log(GPR_INFO, "read: error=%s", str);
133
-
131
+ gpr_log(GPR_INFO, "read: error=%s", grpc_error_std_string(error).c_str());
134
132
  for (i = 0; i < tcp->read_slices->count; i++) {
135
133
  char* dump = grpc_dump_slice(tcp->read_slices->slices[i],
136
134
  GPR_DUMP_HEX | GPR_DUMP_ASCII);
@@ -146,7 +144,7 @@ static void call_read_cb(custom_tcp_endpoint* tcp, grpc_error* error) {
146
144
  }
147
145
 
148
146
  static void custom_read_callback(grpc_custom_socket* socket, size_t nread,
149
- grpc_error* error) {
147
+ grpc_error_handle error) {
150
148
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
151
149
  grpc_core::ExecCtx exec_ctx;
152
150
  grpc_slice_buffer garbage;
@@ -171,11 +169,11 @@ static void custom_read_callback(grpc_custom_socket* socket, size_t nread,
171
169
  call_read_cb(tcp, error);
172
170
  }
173
171
 
174
- static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
172
+ static void tcp_read_allocation_done(void* tcpp, grpc_error_handle error) {
175
173
  custom_tcp_endpoint* tcp = static_cast<custom_tcp_endpoint*>(tcpp);
176
174
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
177
175
  gpr_log(GPR_INFO, "TCP:%p read_allocation_done: %s", tcp->socket,
178
- grpc_error_string(error));
176
+ grpc_error_std_string(error).c_str());
179
177
  }
180
178
  if (error == GRPC_ERROR_NONE) {
181
179
  /* Before calling read, we allocate a buffer with exactly one slice
@@ -191,8 +189,8 @@ static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
191
189
  call_read_cb(tcp, GRPC_ERROR_REF(error));
192
190
  }
193
191
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
194
- const char* str = grpc_error_string(error);
195
- gpr_log(GPR_INFO, "Initiating read on %p: error=%s", tcp->socket, str);
192
+ gpr_log(GPR_INFO, "Initiating read on %p: error=%s", tcp->socket,
193
+ grpc_error_std_string(error).c_str());
196
194
  }
197
195
  }
198
196
 
@@ -213,7 +211,7 @@ static void endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
213
211
  }
214
212
 
215
213
  static void custom_write_callback(grpc_custom_socket* socket,
216
- grpc_error* error) {
214
+ grpc_error_handle error) {
217
215
  grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
218
216
  grpc_core::ExecCtx exec_ctx;
219
217
  custom_tcp_endpoint* tcp =
@@ -221,8 +219,8 @@ static void custom_write_callback(grpc_custom_socket* socket,
221
219
  grpc_closure* cb = tcp->write_cb;
222
220
  tcp->write_cb = nullptr;
223
221
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
224
- const char* str = grpc_error_string(error);
225
- gpr_log(GPR_INFO, "write complete on %p: error=%s", tcp->socket, str);
222
+ gpr_log(GPR_INFO, "write complete on %p: error=%s", tcp->socket,
223
+ grpc_error_std_string(error).c_str());
226
224
  }
227
225
  TCP_UNREF(tcp, "write");
228
226
  grpc_core::ExecCtx::Run(DEBUG_LOCATION, cb, error);
@@ -287,12 +285,12 @@ static void endpoint_delete_from_pollset_set(grpc_endpoint* ep,
287
285
  (void)pollset;
288
286
  }
289
287
 
290
- static void endpoint_shutdown(grpc_endpoint* ep, grpc_error* why) {
288
+ static void endpoint_shutdown(grpc_endpoint* ep, grpc_error_handle why) {
291
289
  custom_tcp_endpoint* tcp = reinterpret_cast<custom_tcp_endpoint*>(ep);
292
290
  if (!tcp->shutting_down) {
293
291
  if (GRPC_TRACE_FLAG_ENABLED(grpc_tcp_trace)) {
294
- const char* str = grpc_error_string(why);
295
- gpr_log(GPR_INFO, "TCP %p shutdown why=%s", tcp->socket, str);
292
+ gpr_log(GPR_INFO, "TCP %p shutdown why=%s", tcp->socket,
293
+ grpc_error_std_string(why).c_str());
296
294
  }
297
295
  tcp->shutting_down = true;
298
296
  // grpc_core::ExecCtx::Run(DEBUG_LOCATION,tcp->read_cb,
@@ -40,18 +40,19 @@ typedef struct grpc_custom_socket {
40
40
  } grpc_custom_socket;
41
41
 
42
42
  typedef void (*grpc_custom_connect_callback)(grpc_custom_socket* socket,
43
- grpc_error* error);
43
+ grpc_error_handle error);
44
44
  typedef void (*grpc_custom_write_callback)(grpc_custom_socket* socket,
45
- grpc_error* error);
45
+ grpc_error_handle error);
46
46
  typedef void (*grpc_custom_read_callback)(grpc_custom_socket* socket,
47
- size_t nread, grpc_error* error);
47
+ size_t nread,
48
+ grpc_error_handle error);
48
49
  typedef void (*grpc_custom_accept_callback)(grpc_custom_socket* socket,
49
50
  grpc_custom_socket* client,
50
- grpc_error* error);
51
+ grpc_error_handle error);
51
52
  typedef void (*grpc_custom_close_callback)(grpc_custom_socket* socket);
52
53
 
53
54
  typedef struct grpc_socket_vtable {
54
- grpc_error* (*init)(grpc_custom_socket* socket, int domain);
55
+ grpc_error_handle (*init)(grpc_custom_socket* socket, int domain);
55
56
  void (*connect)(grpc_custom_socket* socket, const grpc_sockaddr* addr,
56
57
  size_t len, grpc_custom_connect_callback cb);
57
58
  void (*destroy)(grpc_custom_socket* socket);
@@ -61,13 +62,13 @@ typedef struct grpc_socket_vtable {
61
62
  grpc_custom_write_callback cb);
62
63
  void (*read)(grpc_custom_socket* socket, char* buffer, size_t length,
63
64
  grpc_custom_read_callback cb);
64
- grpc_error* (*getpeername)(grpc_custom_socket* socket,
65
- const grpc_sockaddr* addr, int* len);
66
- grpc_error* (*getsockname)(grpc_custom_socket* socket,
67
- const grpc_sockaddr* addr, int* len);
68
- grpc_error* (*bind)(grpc_custom_socket* socket, const grpc_sockaddr* addr,
69
- size_t len, int flags);
70
- grpc_error* (*listen)(grpc_custom_socket* socket);
65
+ grpc_error_handle (*getpeername)(grpc_custom_socket* socket,
66
+ const grpc_sockaddr* addr, int* len);
67
+ grpc_error_handle (*getsockname)(grpc_custom_socket* socket,
68
+ const grpc_sockaddr* addr, int* len);
69
+ grpc_error_handle (*bind)(grpc_custom_socket* socket,
70
+ const grpc_sockaddr* addr, size_t len, int flags);
71
+ grpc_error_handle (*listen)(grpc_custom_socket* socket);
71
72
  void (*accept)(grpc_custom_socket* socket, grpc_custom_socket* client,
72
73
  grpc_custom_accept_callback cb);
73
74
  } grpc_socket_vtable;