grpc 1.7.3 → 1.8.0

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

Potentially problematic release.


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

Files changed (616) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +2106 -2116
  3. data/include/grpc/census.h +1 -432
  4. data/include/grpc/compression.h +9 -9
  5. data/include/grpc/grpc.h +115 -98
  6. data/include/grpc/grpc_cronet.h +3 -3
  7. data/include/grpc/grpc_posix.h +4 -4
  8. data/include/grpc/grpc_security.h +160 -88
  9. data/include/grpc/grpc_security_constants.h +7 -0
  10. data/include/grpc/impl/codegen/atm.h +9 -1
  11. data/include/grpc/impl/codegen/atm_gcc_atomic.h +13 -4
  12. data/include/grpc/impl/codegen/atm_gcc_sync.h +6 -5
  13. data/include/grpc/impl/codegen/atm_windows.h +23 -22
  14. data/include/grpc/impl/codegen/byte_buffer.h +14 -14
  15. data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -2
  16. data/include/grpc/impl/codegen/connectivity_state.h +0 -2
  17. data/include/grpc/impl/codegen/grpc_types.h +32 -28
  18. data/include/grpc/impl/codegen/port_platform.h +48 -0
  19. data/include/grpc/impl/codegen/slice.h +10 -10
  20. data/include/grpc/impl/codegen/sync_generic.h +9 -3
  21. data/include/grpc/slice.h +16 -17
  22. data/include/grpc/slice_buffer.h +22 -22
  23. data/include/grpc/support/alloc.h +11 -11
  24. data/include/grpc/support/avl.h +28 -20
  25. data/include/grpc/support/cmdline.h +13 -13
  26. data/include/grpc/support/histogram.h +17 -17
  27. data/include/grpc/support/host_port.h +2 -2
  28. data/include/grpc/support/log.h +9 -9
  29. data/include/grpc/support/log_windows.h +1 -1
  30. data/include/grpc/support/string_util.h +2 -2
  31. data/include/grpc/support/subprocess.h +5 -5
  32. data/include/grpc/support/sync.h +43 -27
  33. data/include/grpc/support/thd.h +6 -6
  34. data/include/grpc/support/tls_gcc.h +1 -1
  35. data/include/grpc/support/tls_pthread.h +1 -1
  36. data/src/core/ext/census/{grpc_context.c → grpc_context.cc} +5 -8
  37. data/src/core/ext/filters/client_channel/backup_poller.cc +165 -0
  38. data/src/core/ext/{census/grpc_filter.h → filters/client_channel/backup_poller.h} +12 -7
  39. data/src/core/ext/filters/client_channel/{channel_connectivity.c → channel_connectivity.cc} +45 -42
  40. data/src/core/ext/filters/client_channel/{client_channel.c → client_channel.cc} +452 -417
  41. data/src/core/ext/filters/client_channel/client_channel.h +16 -8
  42. data/src/core/ext/filters/client_channel/{client_channel_factory.c → client_channel_factory.cc} +0 -0
  43. data/src/core/ext/filters/client_channel/client_channel_factory.h +29 -21
  44. data/src/core/ext/filters/client_channel/{client_channel_plugin.c → client_channel_plugin.cc} +15 -19
  45. data/src/core/ext/filters/client_channel/{connector.c → connector.cc} +0 -0
  46. data/src/core/ext/filters/client_channel/connector.h +29 -21
  47. data/src/core/ext/filters/client_channel/{http_connect_handshaker.c → http_connect_handshaker.cc} +10 -10
  48. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +8 -0
  49. data/src/core/ext/filters/client_channel/{http_proxy.c → http_proxy.cc} +14 -14
  50. data/src/core/ext/filters/client_channel/http_proxy.h +8 -0
  51. data/src/core/ext/filters/client_channel/{lb_policy.c → lb_policy.cc} +47 -48
  52. data/src/core/ext/filters/client_channel/lb_policy.h +76 -70
  53. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{client_load_reporting_filter.c → client_load_reporting_filter.cc} +28 -29
  54. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +9 -1
  55. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb.c → grpclb.cc} +554 -563
  56. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +9 -1
  57. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +17 -9
  58. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_channel_secure.c → grpclb_channel_secure.cc} +17 -17
  59. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_client_stats.c → grpclb_client_stats.cc} +3 -3
  60. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +9 -1
  61. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{load_balancer_api.c → load_balancer_api.cc} +64 -67
  62. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +20 -21
  63. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +599 -0
  64. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +695 -0
  65. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +270 -0
  66. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +153 -0
  67. data/src/core/ext/filters/client_channel/{lb_policy_factory.c → lb_policy_factory.cc} +10 -10
  68. data/src/core/ext/filters/client_channel/lb_policy_factory.h +48 -40
  69. data/src/core/ext/filters/client_channel/{lb_policy_registry.c → lb_policy_registry.cc} +9 -9
  70. data/src/core/ext/filters/client_channel/lb_policy_registry.h +11 -3
  71. data/src/core/ext/filters/client_channel/{parse_address.c → parse_address.cc} +24 -24
  72. data/src/core/ext/filters/client_channel/parse_address.h +14 -6
  73. data/src/core/ext/filters/client_channel/{proxy_mapper.c → proxy_mapper.cc} +0 -0
  74. data/src/core/ext/filters/client_channel/proxy_mapper.h +8 -0
  75. data/src/core/ext/filters/client_channel/{proxy_mapper_registry.c → proxy_mapper_registry.cc} +0 -0
  76. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -0
  77. data/src/core/ext/filters/client_channel/{resolver.c → resolver.cc} +21 -23
  78. data/src/core/ext/filters/client_channel/resolver.h +33 -27
  79. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{dns_resolver_ares.c → dns_resolver_ares.cc} +133 -133
  80. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +18 -9
  81. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_ev_driver_posix.c → grpc_ares_ev_driver_posix.cc} +58 -56
  82. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_wrapper.c → grpc_ares_wrapper.cc} +118 -115
  83. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +23 -15
  84. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +60 -0
  85. data/src/core/ext/filters/client_channel/resolver/dns/native/{dns_resolver.c → dns_resolver.cc} +100 -94
  86. data/src/core/ext/filters/client_channel/resolver/fake/{fake_resolver.c → fake_resolver.cc} +14 -14
  87. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +9 -1
  88. data/src/core/ext/filters/client_channel/resolver/sockaddr/{sockaddr_resolver.c → sockaddr_resolver.cc} +60 -60
  89. data/src/core/ext/filters/client_channel/{resolver_factory.c → resolver_factory.cc} +2 -2
  90. data/src/core/ext/filters/client_channel/resolver_factory.h +27 -19
  91. data/src/core/ext/filters/client_channel/{resolver_registry.c → resolver_registry.cc} +35 -35
  92. data/src/core/ext/filters/client_channel/resolver_registry.h +18 -10
  93. data/src/core/ext/filters/client_channel/{retry_throttle.c → retry_throttle.cc} +10 -10
  94. data/src/core/ext/filters/client_channel/retry_throttle.h +8 -0
  95. data/src/core/ext/filters/client_channel/{subchannel.c → subchannel.cc} +210 -213
  96. data/src/core/ext/filters/client_channel/subchannel.h +68 -60
  97. data/src/core/ext/filters/client_channel/{subchannel_index.c → subchannel_index.cc} +52 -52
  98. data/src/core/ext/filters/client_channel/subchannel_index.h +22 -14
  99. data/src/core/ext/filters/client_channel/{uri_parser.c → uri_parser.cc} +29 -27
  100. data/src/core/ext/filters/client_channel/uri_parser.h +18 -10
  101. data/src/core/ext/filters/deadline/{deadline_filter.c → deadline_filter.cc} +12 -15
  102. data/src/core/ext/filters/deadline/deadline_filter.h +11 -2
  103. data/src/core/ext/filters/http/client/{http_client_filter.c → http_client_filter.cc} +83 -83
  104. data/src/core/ext/filters/http/client/http_client_filter.h +8 -0
  105. data/src/core/ext/filters/http/{http_filters_plugin.c → http_filters_plugin.cc} +20 -21
  106. data/src/core/ext/filters/http/message_compress/{message_compress_filter.c → message_compress_filter.cc} +84 -83
  107. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +9 -1
  108. data/src/core/ext/filters/http/server/{http_server_filter.c → http_server_filter.cc} +80 -78
  109. data/src/core/ext/filters/http/server/http_server_filter.h +8 -0
  110. data/src/core/ext/filters/load_reporting/{server_load_reporting_filter.c → server_load_reporting_filter.cc} +29 -29
  111. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +9 -1
  112. data/src/core/ext/filters/load_reporting/{server_load_reporting_plugin.c → server_load_reporting_plugin.cc} +11 -11
  113. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +13 -5
  114. data/src/core/ext/filters/max_age/{max_age_filter.c → max_age_filter.cc} +46 -56
  115. data/src/core/ext/filters/max_age/max_age_filter.h +8 -0
  116. data/src/core/ext/filters/message_size/{message_size_filter.c → message_size_filter.cc} +62 -40
  117. data/src/core/ext/filters/message_size/message_size_filter.h +8 -0
  118. data/src/core/ext/filters/workarounds/{workaround_cronet_compression_filter.c → workaround_cronet_compression_filter.cc} +11 -11
  119. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +8 -0
  120. data/src/core/ext/filters/workarounds/{workaround_utils.c → workaround_utils.cc} +7 -7
  121. data/src/core/ext/filters/workarounds/workaround_utils.h +9 -1
  122. data/src/core/ext/transport/chttp2/alpn/{alpn.c → alpn.cc} +3 -3
  123. data/src/core/ext/transport/chttp2/alpn/alpn.h +10 -2
  124. data/src/core/ext/transport/chttp2/client/{chttp2_connector.c → chttp2_connector.cc} +49 -45
  125. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +8 -0
  126. data/src/core/ext/transport/chttp2/client/insecure/{channel_create.c → channel_create.cc} +28 -27
  127. data/src/core/ext/transport/chttp2/client/insecure/{channel_create_posix.c → channel_create_posix.cc} +14 -13
  128. data/src/core/ext/transport/chttp2/client/secure/{secure_channel_create.c → secure_channel_create.cc} +68 -66
  129. data/src/core/ext/transport/chttp2/server/{chttp2_server.c → chttp2_server.cc} +76 -77
  130. data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -3
  131. data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2.c → server_chttp2.cc} +3 -3
  132. data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2_posix.c → server_chttp2_posix.cc} +13 -12
  133. data/src/core/ext/transport/chttp2/server/secure/{server_secure_chttp2.c → server_secure_chttp2.cc} +12 -10
  134. data/src/core/ext/transport/chttp2/transport/{bin_decoder.c → bin_decoder.cc} +7 -7
  135. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +15 -7
  136. data/src/core/ext/transport/chttp2/transport/{bin_encoder.c → bin_encoder.cc} +11 -11
  137. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -0
  138. data/src/core/ext/transport/chttp2/transport/{chttp2_plugin.c → chttp2_plugin.cc} +2 -9
  139. data/src/core/ext/transport/chttp2/transport/{chttp2_transport.c → chttp2_transport.cc} +778 -778
  140. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +14 -10
  141. data/src/core/ext/transport/chttp2/transport/flow_control.cc +385 -0
  142. data/src/core/ext/transport/chttp2/transport/flow_control.h +337 -0
  143. data/src/core/ext/transport/chttp2/transport/frame.h +8 -0
  144. data/src/core/ext/transport/chttp2/transport/{frame_data.c → frame_data.cc} +34 -34
  145. data/src/core/ext/transport/chttp2/transport/frame_data.h +25 -17
  146. data/src/core/ext/transport/chttp2/transport/{frame_goaway.c → frame_goaway.cc} +18 -18
  147. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +18 -10
  148. data/src/core/ext/transport/chttp2/transport/{frame_ping.c → frame_ping.cc} +18 -19
  149. data/src/core/ext/transport/chttp2/transport/frame_ping.h +12 -4
  150. data/src/core/ext/transport/chttp2/transport/{frame_rst_stream.c → frame_rst_stream.cc} +16 -16
  151. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +16 -8
  152. data/src/core/ext/transport/chttp2/transport/{frame_settings.c → frame_settings.cc} +23 -24
  153. data/src/core/ext/transport/chttp2/transport/frame_settings.h +17 -9
  154. data/src/core/ext/transport/chttp2/transport/{frame_window_update.c → frame_window_update.cc} +22 -24
  155. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +14 -6
  156. data/src/core/ext/transport/chttp2/transport/{hpack_encoder.c → hpack_encoder.cc} +206 -161
  157. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +23 -13
  158. data/src/core/ext/transport/chttp2/transport/{hpack_parser.c → hpack_parser.cc} +340 -334
  159. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +30 -22
  160. data/src/core/ext/transport/chttp2/transport/{hpack_table.c → hpack_table.cc} +25 -25
  161. data/src/core/ext/transport/chttp2/transport/hpack_table.h +19 -11
  162. data/src/core/ext/transport/chttp2/transport/{http2_settings.c → http2_settings.cc} +1 -1
  163. data/src/core/ext/transport/chttp2/transport/http2_settings.h +10 -2
  164. data/src/core/ext/transport/chttp2/transport/{huffsyms.c → huffsyms.cc} +0 -0
  165. data/src/core/ext/transport/chttp2/transport/huffsyms.h +8 -0
  166. data/src/core/ext/transport/chttp2/transport/{incoming_metadata.c → incoming_metadata.cc} +14 -13
  167. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +18 -10
  168. data/src/core/ext/transport/chttp2/transport/internal.h +214 -340
  169. data/src/core/ext/transport/chttp2/transport/{parsing.c → parsing.cc} +152 -141
  170. data/src/core/ext/transport/chttp2/transport/{stream_lists.c → stream_lists.cc} +53 -53
  171. data/src/core/ext/transport/chttp2/transport/{stream_map.c → stream_map.cc} +35 -34
  172. data/src/core/ext/transport/chttp2/transport/stream_map.h +22 -14
  173. data/src/core/ext/transport/chttp2/transport/{varint.c → varint.cc} +0 -0
  174. data/src/core/ext/transport/chttp2/transport/varint.h +8 -0
  175. data/src/core/ext/transport/chttp2/transport/writing.cc +636 -0
  176. data/src/core/ext/transport/inproc/{inproc_plugin.c → inproc_plugin.cc} +5 -6
  177. data/src/core/ext/transport/inproc/{inproc_transport.c → inproc_transport.cc} +479 -544
  178. data/src/core/ext/transport/inproc/inproc_transport.h +4 -4
  179. data/src/core/lib/backoff/backoff.cc +80 -0
  180. data/src/core/lib/backoff/backoff.h +83 -0
  181. data/src/core/lib/channel/{channel_args.c → channel_args.cc} +92 -92
  182. data/src/core/lib/channel/channel_args.h +45 -37
  183. data/src/core/lib/channel/{channel_stack.c → channel_stack.cc} +67 -68
  184. data/src/core/lib/channel/channel_stack.h +76 -75
  185. data/src/core/lib/channel/{channel_stack_builder.c → channel_stack_builder.cc} +91 -91
  186. data/src/core/lib/channel/channel_stack_builder.h +45 -45
  187. data/src/core/lib/channel/{connected_channel.c → connected_channel.cc} +70 -70
  188. data/src/core/lib/channel/connected_channel.h +12 -4
  189. data/src/core/lib/channel/context.h +2 -2
  190. data/src/core/lib/channel/{handshaker.c → handshaker.cc} +7 -9
  191. data/src/core/lib/channel/handshaker.h +9 -1
  192. data/src/core/lib/channel/{handshaker_factory.c → handshaker_factory.cc} +7 -7
  193. data/src/core/lib/channel/handshaker_factory.h +18 -10
  194. data/src/core/lib/channel/{handshaker_registry.c → handshaker_registry.cc} +0 -0
  195. data/src/core/lib/channel/handshaker_registry.h +8 -0
  196. data/src/core/lib/compression/algorithm_metadata.h +8 -0
  197. data/src/core/lib/compression/{compression.c → compression.cc} +9 -9
  198. data/src/core/lib/compression/{message_compress.c → message_compress.cc} +0 -0
  199. data/src/core/lib/compression/message_compress.h +8 -0
  200. data/src/core/lib/compression/{stream_compression.c → stream_compression.cc} +12 -12
  201. data/src/core/lib/compression/stream_compression.h +27 -19
  202. data/src/core/lib/compression/{stream_compression_gzip.c → stream_compression_gzip.cc} +35 -36
  203. data/src/core/lib/compression/stream_compression_gzip.h +8 -0
  204. data/src/core/lib/compression/{stream_compression_identity.c → stream_compression_identity.cc} +19 -20
  205. data/src/core/lib/compression/stream_compression_identity.h +8 -0
  206. data/src/core/lib/debug/{stats.c → stats.cc} +19 -19
  207. data/src/core/lib/debug/stats.h +17 -9
  208. data/src/core/lib/debug/{stats_data.c → stats_data.cc} +45 -22
  209. data/src/core/lib/debug/stats_data.h +58 -19
  210. data/src/core/lib/debug/trace.cc +142 -0
  211. data/src/core/lib/debug/trace.h +74 -14
  212. data/src/core/lib/http/{format_request.c → format_request.cc} +10 -10
  213. data/src/core/lib/http/format_request.h +12 -4
  214. data/src/core/lib/http/{httpcli.c → httpcli.cc} +80 -80
  215. data/src/core/lib/http/httpcli.h +41 -33
  216. data/src/core/lib/http/{httpcli_security_connector.c → httpcli_security_connector.cc} +69 -55
  217. data/src/core/lib/http/{parser.c → parser.cc} +42 -42
  218. data/src/core/lib/http/parser.h +28 -20
  219. data/src/core/lib/{support → iomgr}/block_annotate.h +17 -8
  220. data/src/core/lib/iomgr/{call_combiner.c → call_combiner.cc} +29 -17
  221. data/src/core/lib/iomgr/call_combiner.h +9 -1
  222. data/src/core/lib/iomgr/closure.h +220 -62
  223. data/src/core/lib/iomgr/{combiner.c → combiner.cc} +63 -62
  224. data/src/core/lib/iomgr/combiner.h +16 -8
  225. data/src/core/lib/iomgr/{endpoint.c → endpoint.cc} +6 -0
  226. data/src/core/lib/iomgr/endpoint.h +47 -32
  227. data/src/core/lib/iomgr/endpoint_pair.h +12 -4
  228. data/src/core/lib/iomgr/{endpoint_pair_posix.c → endpoint_pair_posix.cc} +3 -3
  229. data/src/core/lib/iomgr/{endpoint_pair_uv.c → endpoint_pair_uv.cc} +2 -2
  230. data/src/core/lib/iomgr/{endpoint_pair_windows.c → endpoint_pair_windows.cc} +6 -6
  231. data/src/core/lib/iomgr/{error.c → error.cc} +125 -124
  232. data/src/core/lib/iomgr/error.h +32 -27
  233. data/src/core/lib/iomgr/error_internal.h +11 -2
  234. data/src/core/lib/iomgr/{ev_epoll1_linux.c → ev_epoll1_linux.cc} +214 -215
  235. data/src/core/lib/iomgr/ev_epoll1_linux.h +9 -1
  236. data/src/core/lib/iomgr/ev_epollex_linux.cc +1488 -0
  237. data/src/core/lib/iomgr/ev_epollex_linux.h +9 -1
  238. data/src/core/lib/iomgr/{ev_epollsig_linux.c → ev_epollsig_linux.cc} +304 -305
  239. data/src/core/lib/iomgr/ev_epollsig_linux.h +12 -4
  240. data/src/core/lib/iomgr/{ev_poll_posix.c → ev_poll_posix.cc} +272 -283
  241. data/src/core/lib/iomgr/ev_poll_posix.h +10 -2
  242. data/src/core/lib/iomgr/ev_posix.cc +288 -0
  243. data/src/core/lib/iomgr/ev_posix.h +75 -67
  244. data/src/core/lib/iomgr/{ev_windows.c → ev_windows.cc} +2 -2
  245. data/src/core/lib/iomgr/exec_ctx.cc +177 -0
  246. data/src/core/lib/iomgr/exec_ctx.h +35 -13
  247. data/src/core/lib/iomgr/{executor.c → executor.cc} +34 -35
  248. data/src/core/lib/iomgr/executor.h +12 -4
  249. data/src/core/lib/iomgr/{fork_posix.c → fork_posix.cc} +0 -0
  250. data/src/core/lib/iomgr/{fork_windows.c → fork_windows.cc} +0 -0
  251. data/src/core/lib/iomgr/gethostname.h +9 -1
  252. data/src/core/lib/iomgr/{gethostname_fallback.c → gethostname_fallback.cc} +2 -1
  253. data/src/core/lib/iomgr/{gethostname_host_name_max.c → gethostname_host_name_max.cc} +4 -3
  254. data/src/core/lib/iomgr/{gethostname_sysconf.c → gethostname_sysconf.cc} +3 -2
  255. data/src/core/lib/iomgr/{iocp_windows.c → iocp_windows.cc} +23 -25
  256. data/src/core/lib/iomgr/iocp_windows.h +17 -3
  257. data/src/core/lib/iomgr/{iomgr.c → iomgr.cc} +25 -19
  258. data/src/core/lib/iomgr/iomgr.h +11 -3
  259. data/src/core/lib/iomgr/iomgr_internal.h +13 -5
  260. data/src/core/lib/iomgr/{iomgr_posix.c → iomgr_posix.cc} +0 -1
  261. data/src/core/lib/iomgr/{iomgr_uv.c → iomgr_uv.cc} +1 -1
  262. data/src/core/lib/iomgr/iomgr_uv.h +8 -0
  263. data/src/core/lib/iomgr/{iomgr_windows.c → iomgr_windows.cc} +0 -0
  264. data/src/core/lib/iomgr/{is_epollexclusive_available.c → is_epollexclusive_available.cc} +1 -1
  265. data/src/core/lib/iomgr/is_epollexclusive_available.h +8 -0
  266. data/src/core/lib/iomgr/{load_file.c → load_file.cc} +12 -12
  267. data/src/core/lib/iomgr/load_file.h +2 -2
  268. data/src/core/lib/iomgr/{lockfree_event.c → lockfree_event.cc} +76 -68
  269. data/src/core/lib/iomgr/lockfree_event.h +30 -11
  270. data/src/core/lib/iomgr/{network_status_tracker.c → network_status_tracker.cc} +3 -2
  271. data/src/core/lib/iomgr/network_status_tracker.h +2 -2
  272. data/src/core/lib/iomgr/{polling_entity.c → polling_entity.cc} +18 -18
  273. data/src/core/lib/iomgr/polling_entity.h +21 -13
  274. data/src/core/lib/iomgr/pollset.h +17 -11
  275. data/src/core/lib/iomgr/pollset_set.h +23 -15
  276. data/src/core/lib/iomgr/{pollset_set_uv.c → pollset_set_uv.cc} +0 -0
  277. data/src/core/lib/iomgr/{pollset_set_windows.c → pollset_set_windows.cc} +0 -0
  278. data/src/core/lib/iomgr/{pollset_uv.c → pollset_uv.cc} +31 -29
  279. data/src/core/lib/iomgr/pollset_uv.h +8 -0
  280. data/src/core/lib/iomgr/{pollset_windows.c → pollset_windows.cc} +24 -24
  281. data/src/core/lib/iomgr/pollset_windows.h +17 -4
  282. data/src/core/lib/iomgr/port.h +10 -0
  283. data/src/core/lib/iomgr/resolve_address.h +18 -10
  284. data/src/core/lib/iomgr/{resolve_address_posix.c → resolve_address_posix.cc} +40 -40
  285. data/src/core/lib/iomgr/{resolve_address_uv.c → resolve_address_uv.cc} +61 -56
  286. data/src/core/lib/iomgr/{resolve_address_windows.c → resolve_address_windows.cc} +36 -34
  287. data/src/core/lib/iomgr/{resource_quota.c → resource_quota.cc} +209 -180
  288. data/src/core/lib/iomgr/resource_quota.h +45 -37
  289. data/src/core/lib/iomgr/{sockaddr_utils.c → sockaddr_utils.cc} +61 -61
  290. data/src/core/lib/iomgr/sockaddr_utils.h +23 -15
  291. data/src/core/lib/iomgr/sockaddr_windows.h +6 -0
  292. data/src/core/lib/iomgr/{socket_factory_posix.c → socket_factory_posix.cc} +20 -20
  293. data/src/core/lib/iomgr/socket_factory_posix.h +15 -15
  294. data/src/core/lib/iomgr/{socket_mutator.c → socket_mutator.cc} +18 -18
  295. data/src/core/lib/iomgr/socket_mutator.h +11 -11
  296. data/src/core/lib/iomgr/socket_utils.h +9 -1
  297. data/src/core/lib/iomgr/{socket_utils_common_posix.c → socket_utils_common_posix.cc} +28 -28
  298. data/src/core/lib/iomgr/{socket_utils_linux.c → socket_utils_linux.cc} +3 -3
  299. data/src/core/lib/iomgr/{socket_utils_posix.c → socket_utils_posix.cc} +3 -3
  300. data/src/core/lib/iomgr/socket_utils_posix.h +26 -18
  301. data/src/core/lib/iomgr/{socket_utils_uv.c → socket_utils_uv.cc} +1 -1
  302. data/src/core/lib/iomgr/{socket_utils_windows.c → socket_utils_windows.cc} +2 -2
  303. data/src/core/lib/iomgr/{socket_windows.c → socket_windows.cc} +18 -18
  304. data/src/core/lib/iomgr/socket_windows.h +26 -13
  305. data/src/core/lib/iomgr/tcp_client.h +14 -6
  306. data/src/core/lib/iomgr/{tcp_client_posix.c → tcp_client_posix.cc} +69 -70
  307. data/src/core/lib/iomgr/tcp_client_posix.h +11 -3
  308. data/src/core/lib/iomgr/{tcp_client_uv.c → tcp_client_uv.cc} +47 -48
  309. data/src/core/lib/iomgr/{tcp_client_windows.c → tcp_client_windows.cc} +46 -44
  310. data/src/core/lib/iomgr/{tcp_posix.c → tcp_posix.cc} +198 -175
  311. data/src/core/lib/iomgr/tcp_posix.h +15 -7
  312. data/src/core/lib/iomgr/tcp_server.h +31 -23
  313. data/src/core/lib/iomgr/{tcp_server_posix.c → tcp_server_posix.cc} +78 -77
  314. data/src/core/lib/iomgr/tcp_server_utils_posix.h +27 -19
  315. data/src/core/lib/iomgr/{tcp_server_utils_posix_common.c → tcp_server_utils_posix_common.cc} +27 -27
  316. data/src/core/lib/iomgr/{tcp_server_utils_posix_ifaddrs.c → tcp_server_utils_posix_ifaddrs.cc} +25 -25
  317. data/src/core/lib/iomgr/{tcp_server_utils_posix_noifaddrs.c → tcp_server_utils_posix_noifaddrs.cc} +2 -2
  318. data/src/core/lib/iomgr/{tcp_server_uv.c → tcp_server_uv.cc} +133 -105
  319. data/src/core/lib/iomgr/{tcp_server_windows.c → tcp_server_windows.cc} +81 -77
  320. data/src/core/lib/iomgr/tcp_uv.cc +420 -0
  321. data/src/core/lib/iomgr/tcp_uv.h +18 -4
  322. data/src/core/lib/iomgr/{tcp_windows.c → tcp_windows.cc} +90 -79
  323. data/src/core/lib/iomgr/tcp_windows.h +17 -4
  324. data/src/core/lib/iomgr/{time_averaged_stats.c → time_averaged_stats.cc} +0 -0
  325. data/src/core/lib/iomgr/time_averaged_stats.h +8 -0
  326. data/src/core/lib/iomgr/timer.h +16 -9
  327. data/src/core/lib/iomgr/{timer_generic.c → timer_generic.cc} +130 -171
  328. data/src/core/lib/iomgr/timer_generic.h +4 -4
  329. data/src/core/lib/iomgr/{timer_heap.c → timer_heap.cc} +20 -21
  330. data/src/core/lib/iomgr/timer_heap.h +16 -8
  331. data/src/core/lib/iomgr/{timer_manager.c → timer_manager.cc} +54 -52
  332. data/src/core/lib/iomgr/timer_manager.h +8 -0
  333. data/src/core/lib/iomgr/{timer_uv.c → timer_uv.cc} +22 -24
  334. data/src/core/lib/iomgr/timer_uv.h +2 -2
  335. data/src/core/lib/iomgr/{udp_server.c → udp_server.cc} +75 -75
  336. data/src/core/lib/iomgr/udp_server.h +25 -17
  337. data/src/core/lib/iomgr/{unix_sockets_posix.c → unix_sockets_posix.cc} +22 -21
  338. data/src/core/lib/iomgr/unix_sockets_posix.h +14 -6
  339. data/src/core/lib/iomgr/{unix_sockets_posix_noop.c → unix_sockets_posix_noop.cc} +5 -5
  340. data/src/core/lib/iomgr/{wakeup_fd_cv.c → wakeup_fd_cv.cc} +2 -2
  341. data/src/core/lib/iomgr/wakeup_fd_cv.h +10 -0
  342. data/src/core/lib/iomgr/{wakeup_fd_eventfd.c → wakeup_fd_eventfd.cc} +0 -0
  343. data/src/core/lib/iomgr/{wakeup_fd_nospecial.c → wakeup_fd_nospecial.cc} +0 -0
  344. data/src/core/lib/iomgr/{wakeup_fd_pipe.c → wakeup_fd_pipe.cc} +1 -0
  345. data/src/core/lib/iomgr/wakeup_fd_pipe.h +9 -1
  346. data/src/core/lib/iomgr/{wakeup_fd_posix.c → wakeup_fd_posix.cc} +6 -7
  347. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -0
  348. data/src/core/lib/json/{json.c → json.cc} +0 -0
  349. data/src/core/lib/json/json.h +8 -0
  350. data/src/core/lib/json/{json_reader.c → json_reader.cc} +18 -18
  351. data/src/core/lib/json/json_reader.h +26 -18
  352. data/src/core/lib/json/{json_string.c → json_string.cc} +57 -57
  353. data/src/core/lib/json/{json_writer.c → json_writer.cc} +20 -20
  354. data/src/core/lib/json/json_writer.h +23 -15
  355. data/src/core/lib/profiling/{basic_timers.c → basic_timers.cc} +34 -34
  356. data/src/core/lib/profiling/{stap_timers.c → stap_timers.cc} +5 -5
  357. data/src/core/lib/profiling/timers.h +6 -6
  358. data/src/core/lib/security/context/{security_context.c → security_context.cc} +98 -95
  359. data/src/core/lib/security/context/security_context.h +27 -29
  360. data/src/core/lib/security/credentials/composite/{composite_credentials.c → composite_credentials.cc} +79 -73
  361. data/src/core/lib/security/credentials/composite/composite_credentials.h +17 -9
  362. data/src/core/lib/security/credentials/{credentials.c → credentials.cc} +97 -92
  363. data/src/core/lib/security/credentials/credentials.h +83 -75
  364. data/src/core/lib/security/credentials/{credentials_metadata.c → credentials_metadata.cc} +7 -6
  365. data/src/core/lib/security/credentials/fake/{fake_credentials.c → fake_credentials.cc} +39 -36
  366. data/src/core/lib/security/credentials/fake/fake_credentials.h +13 -5
  367. data/src/core/lib/security/credentials/google_default/{credentials_generic.c → credentials_generic.cc} +5 -5
  368. data/src/core/lib/security/credentials/google_default/{google_default_credentials.c → google_default_credentials.cc} +55 -55
  369. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -1
  370. data/src/core/lib/security/credentials/iam/{iam_credentials.c → iam_credentials.cc} +19 -18
  371. data/src/core/lib/security/credentials/jwt/{json_token.c → json_token.cc} +80 -75
  372. data/src/core/lib/security/credentials/jwt/json_token.h +23 -15
  373. data/src/core/lib/security/credentials/jwt/{jwt_credentials.c → jwt_credentials.cc} +45 -41
  374. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -3
  375. data/src/core/lib/security/credentials/jwt/{jwt_verifier.c → jwt_verifier.cc} +262 -252
  376. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +38 -30
  377. data/src/core/lib/security/credentials/oauth2/{oauth2_credentials.c → oauth2_credentials.cc} +138 -141
  378. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +30 -22
  379. data/src/core/lib/security/credentials/plugin/{plugin_credentials.c → plugin_credentials.cc} +52 -53
  380. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +7 -7
  381. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +344 -0
  382. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +27 -0
  383. data/src/core/lib/security/transport/auth_filters.h +16 -0
  384. data/src/core/lib/security/transport/{client_auth_filter.c → client_auth_filter.cc} +127 -115
  385. data/src/core/lib/security/transport/{lb_targets_info.c → lb_targets_info.cc} +16 -13
  386. data/src/core/lib/security/transport/lb_targets_info.h +11 -3
  387. data/src/core/lib/security/transport/{secure_endpoint.c → secure_endpoint.cc} +84 -76
  388. data/src/core/lib/security/transport/secure_endpoint.h +13 -5
  389. data/src/core/lib/security/transport/security_connector.cc +1121 -0
  390. data/src/core/lib/security/transport/security_connector.h +97 -79
  391. data/src/core/lib/security/transport/{security_handshaker.c → security_handshaker.cc} +139 -132
  392. data/src/core/lib/security/transport/security_handshaker.h +11 -3
  393. data/src/core/lib/security/transport/{server_auth_filter.c → server_auth_filter.cc} +68 -68
  394. data/src/core/lib/security/transport/{tsi_error.c → tsi_error.cc} +1 -1
  395. data/src/core/lib/security/transport/tsi_error.h +9 -1
  396. data/src/core/lib/security/util/{json_util.c → json_util.cc} +11 -11
  397. data/src/core/lib/security/util/json_util.h +12 -4
  398. data/src/core/lib/slice/{b64.c → b64.cc} +15 -15
  399. data/src/core/lib/slice/b64.h +12 -4
  400. data/src/core/lib/slice/{percent_encoding.c → percent_encoding.cc} +15 -15
  401. data/src/core/lib/slice/percent_encoding.h +11 -3
  402. data/src/core/lib/slice/{slice.c → slice.cc} +64 -64
  403. data/src/core/lib/slice/{slice_buffer.c → slice_buffer.cc} +38 -38
  404. data/src/core/lib/slice/{slice_hash_table.c → slice_hash_table.cc} +7 -7
  405. data/src/core/lib/slice/slice_hash_table.h +19 -11
  406. data/src/core/lib/slice/{slice_intern.c → slice_intern.cc} +35 -34
  407. data/src/core/lib/slice/slice_internal.h +17 -6
  408. data/src/core/lib/slice/{slice_string_helpers.c → slice_string_helpers.cc} +9 -9
  409. data/src/core/lib/slice/slice_string_helpers.h +3 -3
  410. data/src/core/lib/support/abstract.h +29 -0
  411. data/src/core/lib/support/{alloc.c → alloc.cc} +22 -22
  412. data/src/core/lib/support/{arena.c → arena.cc} +12 -12
  413. data/src/core/lib/support/arena.h +11 -3
  414. data/src/core/lib/support/{atm.c → atm.cc} +1 -1
  415. data/src/core/lib/support/{avl.c → avl.cc} +71 -70
  416. data/src/core/lib/support/{cmdline.c → cmdline.cc} +62 -62
  417. data/src/core/lib/support/{cpu_iphone.c → cpu_iphone.cc} +2 -0
  418. data/src/core/lib/support/{cpu_linux.c → cpu_linux.cc} +10 -0
  419. data/src/core/lib/support/{cpu_posix.c → cpu_posix.cc} +27 -4
  420. data/src/core/lib/support/{cpu_windows.c → cpu_windows.cc} +1 -0
  421. data/src/core/lib/support/env.h +3 -3
  422. data/src/core/lib/support/{env_linux.c → env_linux.cc} +11 -11
  423. data/src/core/lib/support/{env_posix.c → env_posix.cc} +4 -4
  424. data/src/core/lib/support/{env_windows.c → env_windows.cc} +5 -5
  425. data/src/core/lib/support/{fork.c → fork.cc} +2 -2
  426. data/src/core/lib/support/{histogram.c → histogram.cc} +25 -26
  427. data/src/core/lib/support/{host_port.c → host_port.cc} +16 -16
  428. data/src/core/lib/support/{log.c → log.cc} +8 -8
  429. data/src/core/lib/support/{log_android.c → log_android.cc} +7 -7
  430. data/src/core/lib/support/{log_linux.c → log_linux.cc} +8 -8
  431. data/src/core/lib/support/{log_posix.c → log_posix.cc} +9 -10
  432. data/src/core/lib/support/{log_windows.c → log_windows.cc} +7 -7
  433. data/src/core/lib/support/manual_constructor.h +211 -0
  434. data/src/core/lib/support/memory.h +41 -0
  435. data/src/core/lib/support/mpscq.cc +114 -0
  436. data/src/core/lib/support/mpscq.h +45 -7
  437. data/src/core/lib/support/{murmur_hash.c → murmur_hash.cc} +9 -12
  438. data/src/core/lib/support/murmur_hash.h +9 -1
  439. data/src/core/lib/support/spinlock.h +8 -1
  440. data/src/core/lib/support/{string.c → string.cc} +56 -55
  441. data/src/core/lib/support/string.h +21 -21
  442. data/src/core/lib/support/{string_posix.c → string_posix.cc} +5 -4
  443. data/src/core/lib/support/{string_util_windows.c → string_util_windows.cc} +9 -6
  444. data/src/core/lib/support/{string_windows.c → string_windows.cc} +3 -2
  445. data/src/core/lib/support/string_windows.h +8 -0
  446. data/src/core/lib/support/{subprocess_posix.c → subprocess_posix.cc} +13 -13
  447. data/src/core/lib/support/{subprocess_windows.c → subprocess_windows.cc} +9 -9
  448. data/src/core/lib/support/{sync.c → sync.cc} +22 -22
  449. data/src/core/lib/support/{sync_posix.c → sync_posix.cc} +6 -2
  450. data/src/core/lib/support/{sync_windows.c → sync_windows.cc} +14 -14
  451. data/src/core/lib/support/{thd.c → thd.cc} +0 -0
  452. data/src/core/lib/support/{thd_posix.c → thd_posix.cc} +10 -10
  453. data/src/core/lib/support/{thd_windows.c → thd_windows.cc} +10 -10
  454. data/src/core/lib/support/{time.c → time.cc} +0 -0
  455. data/src/core/lib/support/{time_posix.c → time_posix.cc} +5 -6
  456. data/src/core/lib/support/{time_precise.c → time_precise.cc} +6 -4
  457. data/src/core/lib/support/time_precise.h +9 -1
  458. data/src/core/lib/support/{time_windows.c → time_windows.cc} +2 -3
  459. data/src/core/lib/support/{tls_pthread.c → tls_pthread.cc} +2 -2
  460. data/src/core/lib/support/tmpfile.h +1 -1
  461. data/src/core/lib/support/{tmpfile_msys.c → tmpfile_msys.cc} +2 -2
  462. data/src/core/lib/support/{tmpfile_posix.c → tmpfile_posix.cc} +7 -7
  463. data/src/core/lib/support/{tmpfile_windows.c → tmpfile_windows.cc} +2 -2
  464. data/src/core/lib/support/{wrap_memcpy.c → wrap_memcpy.cc} +4 -2
  465. data/src/core/lib/surface/{alarm.c → alarm.cc} +32 -31
  466. data/src/core/lib/surface/alarm_internal.h +10 -2
  467. data/src/core/lib/surface/{api_trace.c → api_trace.cc} +1 -1
  468. data/src/core/lib/surface/api_trace.h +2 -2
  469. data/src/core/lib/surface/{byte_buffer.c → byte_buffer.cc} +13 -13
  470. data/src/core/lib/surface/{byte_buffer_reader.c → byte_buffer_reader.cc} +9 -9
  471. data/src/core/lib/surface/{call.c → call.cc} +379 -372
  472. data/src/core/lib/surface/call.h +37 -38
  473. data/src/core/lib/surface/{call_details.c → call_details.cc} +0 -0
  474. data/src/core/lib/surface/{call_log_batch.c → call_log_batch.cc} +13 -11
  475. data/src/core/lib/surface/call_test_only.h +5 -5
  476. data/src/core/lib/surface/{channel.c → channel.cc} +94 -95
  477. data/src/core/lib/surface/channel.h +29 -21
  478. data/src/core/lib/surface/{channel_init.c → channel_init.cc} +13 -13
  479. data/src/core/lib/surface/channel_init.h +6 -6
  480. data/src/core/lib/surface/{channel_ping.c → channel_ping.cc} +12 -12
  481. data/src/core/lib/surface/{channel_stack_type.c → channel_stack_type.cc} +1 -1
  482. data/src/core/lib/surface/channel_stack_type.h +9 -1
  483. data/src/core/lib/surface/{completion_queue.c → completion_queue.cc} +416 -379
  484. data/src/core/lib/surface/completion_queue.h +29 -29
  485. data/src/core/lib/surface/{completion_queue_factory.c → completion_queue_factory.cc} +1 -1
  486. data/src/core/lib/surface/completion_queue_factory.h +8 -0
  487. data/src/core/lib/surface/{event_string.c → event_string.cc} +9 -9
  488. data/src/core/lib/surface/event_string.h +9 -1
  489. data/src/core/lib/surface/{init.c → init.cc} +16 -39
  490. data/src/core/lib/surface/init.h +8 -0
  491. data/src/core/lib/surface/{init_secure.c → init_secure.cc} +12 -25
  492. data/src/core/lib/surface/lame_client.cc +38 -40
  493. data/src/core/lib/surface/lame_client.h +8 -0
  494. data/src/core/lib/surface/{metadata_array.c → metadata_array.cc} +0 -0
  495. data/src/core/lib/surface/{server.c → server.cc} +340 -404
  496. data/src/core/lib/surface/server.h +22 -14
  497. data/src/core/lib/surface/{validate_metadata.c → validate_metadata.cc} +10 -9
  498. data/src/core/lib/surface/validate_metadata.h +10 -2
  499. data/src/core/lib/surface/{version.c → version.cc} +2 -2
  500. data/src/core/lib/transport/bdp_estimator.cc +84 -0
  501. data/src/core/lib/transport/bdp_estimator.h +67 -42
  502. data/src/core/lib/transport/{byte_stream.c → byte_stream.cc} +51 -51
  503. data/src/core/lib/transport/byte_stream.h +41 -33
  504. data/src/core/lib/transport/{connectivity_state.c → connectivity_state.cc} +36 -40
  505. data/src/core/lib/transport/connectivity_state.h +29 -21
  506. data/src/core/lib/transport/{error_utils.c → error_utils.cc} +26 -22
  507. data/src/core/lib/transport/error_utils.h +18 -6
  508. data/src/core/lib/transport/{metadata.c → metadata.cc} +92 -88
  509. data/src/core/lib/transport/metadata.h +22 -20
  510. data/src/core/lib/transport/{metadata_batch.c → metadata_batch.cc} +78 -79
  511. data/src/core/lib/transport/metadata_batch.h +46 -45
  512. data/src/core/lib/transport/pid_controller.cc +48 -0
  513. data/src/core/lib/transport/pid_controller.h +84 -32
  514. data/src/core/lib/transport/{service_config.c → service_config.cc} +66 -48
  515. data/src/core/lib/transport/service_config.h +11 -2
  516. data/src/core/lib/transport/{static_metadata.c → static_metadata.cc} +2 -2
  517. data/src/core/lib/transport/static_metadata.h +30 -23
  518. data/src/core/lib/transport/{status_conversion.c → status_conversion.cc} +4 -3
  519. data/src/core/lib/transport/status_conversion.h +12 -2
  520. data/src/core/lib/transport/{timeout_encoding.c → timeout_encoding.cc} +28 -61
  521. data/src/core/lib/transport/timeout_encoding.h +11 -2
  522. data/src/core/lib/transport/{transport.c → transport.cc} +79 -79
  523. data/src/core/lib/transport/transport.h +78 -80
  524. data/src/core/lib/transport/transport_impl.h +27 -19
  525. data/src/core/lib/transport/{transport_op_string.c → transport_op_string.cc} +32 -30
  526. data/src/core/plugin_registry/{grpc_plugin_registry.c → grpc_plugin_registry.cc} +34 -38
  527. data/src/core/tsi/{fake_transport_security.c → fake_transport_security.cc} +141 -132
  528. data/src/core/tsi/fake_transport_security.h +5 -5
  529. data/src/core/tsi/{gts_transport_security.c → gts_transport_security.cc} +4 -4
  530. data/src/core/tsi/gts_transport_security.h +11 -3
  531. data/src/core/tsi/{ssl_transport_security.c → ssl_transport_security.cc} +309 -300
  532. data/src/core/tsi/ssl_transport_security.h +25 -25
  533. data/src/core/tsi/ssl_types.h +8 -0
  534. data/src/core/tsi/{transport_security.c → transport_security.cc} +94 -87
  535. data/src/core/tsi/transport_security.h +55 -55
  536. data/src/core/tsi/{transport_security_adapter.c → transport_security_adapter.cc} +58 -55
  537. data/src/core/tsi/transport_security_adapter.h +2 -2
  538. data/src/core/tsi/{transport_security_grpc.c → transport_security_grpc.cc} +21 -21
  539. data/src/core/tsi/transport_security_grpc.h +19 -19
  540. data/src/core/tsi/transport_security_interface.h +41 -41
  541. data/src/ruby/ext/grpc/extconf.rb +4 -2
  542. data/src/ruby/ext/grpc/rb_byte_buffer.c +5 -5
  543. data/src/ruby/ext/grpc/rb_byte_buffer.h +2 -2
  544. data/src/ruby/ext/grpc/rb_call.c +41 -42
  545. data/src/ruby/ext/grpc/rb_call.h +6 -6
  546. data/src/ruby/ext/grpc/rb_call_credentials.c +30 -30
  547. data/src/ruby/ext/grpc/rb_channel.c +87 -87
  548. data/src/ruby/ext/grpc/rb_channel_credentials.c +23 -23
  549. data/src/ruby/ext/grpc/rb_completion_queue.c +11 -11
  550. data/src/ruby/ext/grpc/rb_completion_queue.h +3 -3
  551. data/src/ruby/ext/grpc/rb_compression_options.c +20 -20
  552. data/src/ruby/ext/grpc/rb_event_thread.c +14 -14
  553. data/src/ruby/ext/grpc/rb_event_thread.h +1 -1
  554. data/src/ruby/ext/grpc/rb_grpc.c +8 -8
  555. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +16 -58
  556. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +242 -306
  557. data/src/ruby/ext/grpc/rb_server.c +23 -23
  558. data/src/ruby/ext/grpc/rb_server_credentials.c +13 -13
  559. data/src/ruby/lib/grpc/generic/rpc_server.rb +25 -12
  560. data/src/ruby/lib/grpc/version.rb +1 -1
  561. data/src/ruby/pb/grpc/health/checker.rb +14 -0
  562. data/src/ruby/spec/pb/health/checker_spec.rb +29 -0
  563. data/third_party/cares/config_freebsd/ares_config.h +502 -0
  564. data/third_party/cares/config_openbsd/ares_config.h +502 -0
  565. metadata +302 -328
  566. data/src/core/ext/census/aggregation.h +0 -51
  567. data/src/core/ext/census/base_resources.c +0 -56
  568. data/src/core/ext/census/base_resources.h +0 -24
  569. data/src/core/ext/census/census_interface.h +0 -61
  570. data/src/core/ext/census/census_rpc_stats.h +0 -86
  571. data/src/core/ext/census/context.c +0 -496
  572. data/src/core/ext/census/gen/census.pb.c +0 -161
  573. data/src/core/ext/census/gen/census.pb.h +0 -280
  574. data/src/core/ext/census/gen/trace_context.pb.c +0 -39
  575. data/src/core/ext/census/gen/trace_context.pb.h +0 -78
  576. data/src/core/ext/census/grpc_filter.c +0 -196
  577. data/src/core/ext/census/grpc_plugin.c +0 -70
  578. data/src/core/ext/census/initialize.c +0 -51
  579. data/src/core/ext/census/intrusive_hash_map.c +0 -305
  580. data/src/core/ext/census/intrusive_hash_map.h +0 -152
  581. data/src/core/ext/census/intrusive_hash_map_internal.h +0 -48
  582. data/src/core/ext/census/mlog.c +0 -586
  583. data/src/core/ext/census/mlog.h +0 -80
  584. data/src/core/ext/census/operation.c +0 -48
  585. data/src/core/ext/census/placeholders.c +0 -49
  586. data/src/core/ext/census/resource.c +0 -303
  587. data/src/core/ext/census/resource.h +0 -48
  588. data/src/core/ext/census/rpc_metric_id.h +0 -36
  589. data/src/core/ext/census/trace_context.c +0 -71
  590. data/src/core/ext/census/trace_context.h +0 -56
  591. data/src/core/ext/census/trace_label.h +0 -46
  592. data/src/core/ext/census/trace_propagation.h +0 -48
  593. data/src/core/ext/census/trace_status.h +0 -30
  594. data/src/core/ext/census/trace_string.h +0 -35
  595. data/src/core/ext/census/tracing.c +0 -55
  596. data/src/core/ext/census/tracing.h +0 -109
  597. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +0 -714
  598. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +0 -924
  599. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c +0 -60
  600. data/src/core/ext/transport/chttp2/transport/flow_control.c +0 -502
  601. data/src/core/ext/transport/chttp2/transport/writing.c +0 -534
  602. data/src/core/lib/debug/trace.c +0 -146
  603. data/src/core/lib/iomgr/closure.c +0 -219
  604. data/src/core/lib/iomgr/ev_epollex_linux.c +0 -1461
  605. data/src/core/lib/iomgr/ev_posix.c +0 -266
  606. data/src/core/lib/iomgr/exec_ctx.c +0 -113
  607. data/src/core/lib/iomgr/tcp_uv.c +0 -381
  608. data/src/core/lib/security/credentials/ssl/ssl_credentials.c +0 -194
  609. data/src/core/lib/security/transport/security_connector.c +0 -914
  610. data/src/core/lib/support/backoff.c +0 -72
  611. data/src/core/lib/support/backoff.h +0 -56
  612. data/src/core/lib/support/mpscq.c +0 -79
  613. data/src/core/lib/support/stack_lockfree.c +0 -137
  614. data/src/core/lib/support/stack_lockfree.h +0 -38
  615. data/src/core/lib/transport/bdp_estimator.c +0 -110
  616. data/src/core/lib/transport/pid_controller.c +0 -63
@@ -28,15 +28,15 @@
28
28
  #include <sys/socket.h>
29
29
  #include <sys/types.h>
30
30
 
31
- int grpc_accept4(int sockfd, grpc_resolved_address *resolved_addr, int nonblock,
31
+ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock,
32
32
  int cloexec) {
33
33
  int flags = 0;
34
34
  GPR_ASSERT(sizeof(socklen_t) <= sizeof(size_t));
35
35
  GPR_ASSERT(resolved_addr->len <= (socklen_t)-1);
36
36
  flags |= nonblock ? SOCK_NONBLOCK : 0;
37
37
  flags |= cloexec ? SOCK_CLOEXEC : 0;
38
- return accept4(sockfd, (struct sockaddr *)resolved_addr->addr,
39
- (socklen_t *)&resolved_addr->len, flags);
38
+ return accept4(sockfd, (struct sockaddr*)resolved_addr->addr,
39
+ (socklen_t*)&resolved_addr->len, flags);
40
40
  }
41
41
 
42
42
  #endif
@@ -29,13 +29,13 @@
29
29
  #include <grpc/support/log.h>
30
30
  #include "src/core/lib/iomgr/sockaddr.h"
31
31
 
32
- int grpc_accept4(int sockfd, grpc_resolved_address *resolved_addr, int nonblock,
32
+ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock,
33
33
  int cloexec) {
34
34
  int fd, flags;
35
35
  GPR_ASSERT(sizeof(socklen_t) <= sizeof(size_t));
36
36
  GPR_ASSERT(resolved_addr->len <= (socklen_t)-1);
37
- fd = accept(sockfd, (struct sockaddr *)resolved_addr->addr,
38
- (socklen_t *)&resolved_addr->len);
37
+ fd = accept(sockfd, (struct sockaddr*)resolved_addr->addr,
38
+ (socklen_t*)&resolved_addr->len);
39
39
  if (fd >= 0) {
40
40
  if (nonblock) {
41
41
  flags = fcntl(fd, F_GETFL, 0);
@@ -29,24 +29,28 @@
29
29
  #include "src/core/lib/iomgr/socket_factory_posix.h"
30
30
  #include "src/core/lib/iomgr/socket_mutator.h"
31
31
 
32
+ #ifdef __cplusplus
33
+ extern "C" {
34
+ #endif
35
+
32
36
  /* a wrapper for accept or accept4 */
33
- int grpc_accept4(int sockfd, grpc_resolved_address *resolved_addr, int nonblock,
37
+ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock,
34
38
  int cloexec);
35
39
 
36
40
  /* set a socket to non blocking mode */
37
- grpc_error *grpc_set_socket_nonblocking(int fd, int non_blocking);
41
+ grpc_error* grpc_set_socket_nonblocking(int fd, int non_blocking);
38
42
 
39
43
  /* set a socket to close on exec */
40
- grpc_error *grpc_set_socket_cloexec(int fd, int close_on_exec);
44
+ grpc_error* grpc_set_socket_cloexec(int fd, int close_on_exec);
41
45
 
42
46
  /* set a socket to reuse old addresses */
43
- grpc_error *grpc_set_socket_reuse_addr(int fd, int reuse);
47
+ grpc_error* grpc_set_socket_reuse_addr(int fd, int reuse);
44
48
 
45
49
  /* disable nagle */
46
- grpc_error *grpc_set_socket_low_latency(int fd, int low_latency);
50
+ grpc_error* grpc_set_socket_low_latency(int fd, int low_latency);
47
51
 
48
52
  /* set SO_REUSEPORT */
49
- grpc_error *grpc_set_socket_reuse_port(int fd, int reuse);
53
+ grpc_error* grpc_set_socket_reuse_port(int fd, int reuse);
50
54
 
51
55
  /* Returns true if this system can create AF_INET6 sockets bound to ::1.
52
56
  The value is probed once, and cached for the life of the process.
@@ -60,24 +64,24 @@ int grpc_ipv6_loopback_available(void);
60
64
 
61
65
  /* Tries to set SO_NOSIGPIPE if available on this platform.
62
66
  If SO_NO_SIGPIPE is not available, returns 1. */
63
- grpc_error *grpc_set_socket_no_sigpipe_if_possible(int fd);
67
+ grpc_error* grpc_set_socket_no_sigpipe_if_possible(int fd);
64
68
 
65
69
  /* Tries to set IP_PKTINFO if available on this platform.
66
70
  If IP_PKTINFO is not available, returns 1. */
67
- grpc_error *grpc_set_socket_ip_pktinfo_if_possible(int fd);
71
+ grpc_error* grpc_set_socket_ip_pktinfo_if_possible(int fd);
68
72
 
69
73
  /* Tries to set IPV6_RECVPKTINFO if available on this platform.
70
74
  If IPV6_RECVPKTINFO is not available, returns 1. */
71
- grpc_error *grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd);
75
+ grpc_error* grpc_set_socket_ipv6_recvpktinfo_if_possible(int fd);
72
76
 
73
77
  /* Tries to set the socket's send buffer to given size. */
74
- grpc_error *grpc_set_socket_sndbuf(int fd, int buffer_size_bytes);
78
+ grpc_error* grpc_set_socket_sndbuf(int fd, int buffer_size_bytes);
75
79
 
76
80
  /* Tries to set the socket's receive buffer to given size. */
77
- grpc_error *grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes);
81
+ grpc_error* grpc_set_socket_rcvbuf(int fd, int buffer_size_bytes);
78
82
 
79
83
  /* Tries to set the socket using a grpc_socket_mutator */
80
- grpc_error *grpc_set_socket_with_mutator(int fd, grpc_socket_mutator *mutator);
84
+ grpc_error* grpc_set_socket_with_mutator(int fd, grpc_socket_mutator* mutator);
81
85
 
82
86
  /* An enum to keep track of IPv4/IPv6 socket modes.
83
87
 
@@ -118,15 +122,19 @@ extern int grpc_forbid_dualstack_sockets_for_testing;
118
122
  IPv4, so that bind() or connect() see the correct family.
119
123
  Also, it's important to distinguish between DUALSTACK and IPV6 when
120
124
  listening on the [::] wildcard address. */
121
- grpc_error *grpc_create_dualstack_socket(const grpc_resolved_address *addr,
125
+ grpc_error* grpc_create_dualstack_socket(const grpc_resolved_address* addr,
122
126
  int type, int protocol,
123
- grpc_dualstack_mode *dsmode,
124
- int *newfd);
127
+ grpc_dualstack_mode* dsmode,
128
+ int* newfd);
125
129
 
126
130
  /* Same as grpc_create_dualstack_socket(), but use the given socket factory (if
127
131
  non-null) to create the socket, rather than calling socket() directly. */
128
- grpc_error *grpc_create_dualstack_socket_using_factory(
129
- grpc_socket_factory *factory, const grpc_resolved_address *addr, int type,
130
- int protocol, grpc_dualstack_mode *dsmode, int *newfd);
132
+ grpc_error* grpc_create_dualstack_socket_using_factory(
133
+ grpc_socket_factory* factory, const grpc_resolved_address* addr, int type,
134
+ int protocol, grpc_dualstack_mode* dsmode, int* newfd);
135
+
136
+ #ifdef __cplusplus
137
+ }
138
+ #endif
131
139
 
132
140
  #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_UTILS_POSIX_H */
@@ -26,7 +26,7 @@
26
26
 
27
27
  #include <grpc/support/log.h>
28
28
 
29
- const char *grpc_inet_ntop(int af, const void *src, char *dst, size_t size) {
29
+ const char* grpc_inet_ntop(int af, const void* src, char* dst, size_t size) {
30
30
  uv_inet_ntop(af, src, dst, size);
31
31
  return dst;
32
32
  }
@@ -25,9 +25,9 @@
25
25
 
26
26
  #include <grpc/support/log.h>
27
27
 
28
- const char *grpc_inet_ntop(int af, const void *src, char *dst, size_t size) {
28
+ const char* grpc_inet_ntop(int af, const void* src, char* dst, size_t size) {
29
29
  /* Windows InetNtopA wants a mutable ip pointer */
30
- return InetNtopA(af, (void *)src, dst, size);
30
+ return InetNtopA(af, (void*)src, dst, size);
31
31
  }
32
32
 
33
33
  #endif /* GRPC_WINDOWS_SOCKETUTILS */
@@ -36,9 +36,9 @@
36
36
  #include "src/core/lib/iomgr/pollset_windows.h"
37
37
  #include "src/core/lib/iomgr/socket_windows.h"
38
38
 
39
- grpc_winsocket *grpc_winsocket_create(SOCKET socket, const char *name) {
40
- char *final_name;
41
- grpc_winsocket *r = gpr_malloc(sizeof(grpc_winsocket));
39
+ grpc_winsocket* grpc_winsocket_create(SOCKET socket, const char* name) {
40
+ char* final_name;
41
+ grpc_winsocket* r = (grpc_winsocket*)gpr_malloc(sizeof(grpc_winsocket));
42
42
  memset(r, 0, sizeof(grpc_winsocket));
43
43
  r->socket = socket;
44
44
  gpr_mu_init(&r->state_mu);
@@ -53,7 +53,7 @@ grpc_winsocket *grpc_winsocket_create(SOCKET socket, const char *name) {
53
53
  operations to abort them. We need to do that this way because of the
54
54
  various callsites of that function, which happens to be in various
55
55
  mutex hold states, and that'd be unsafe to call them directly. */
56
- void grpc_winsocket_shutdown(grpc_winsocket *winsocket) {
56
+ void grpc_winsocket_shutdown(grpc_winsocket* winsocket) {
57
57
  /* Grab the function pointer for DisconnectEx for that specific socket.
58
58
  It may change depending on the interface. */
59
59
  int status;
@@ -76,7 +76,7 @@ void grpc_winsocket_shutdown(grpc_winsocket *winsocket) {
76
76
  if (status == 0) {
77
77
  DisconnectEx(winsocket->socket, NULL, 0, 0);
78
78
  } else {
79
- char *utf8_message = gpr_format_message(WSAGetLastError());
79
+ char* utf8_message = gpr_format_message(WSAGetLastError());
80
80
  gpr_log(GPR_INFO, "Unable to retrieve DisconnectEx pointer : %s",
81
81
  utf8_message);
82
82
  gpr_free(utf8_message);
@@ -84,19 +84,19 @@ void grpc_winsocket_shutdown(grpc_winsocket *winsocket) {
84
84
  closesocket(winsocket->socket);
85
85
  }
86
86
 
87
- static void destroy(grpc_winsocket *winsocket) {
87
+ static void destroy(grpc_winsocket* winsocket) {
88
88
  grpc_iomgr_unregister_object(&winsocket->iomgr_object);
89
89
  gpr_mu_destroy(&winsocket->state_mu);
90
90
  gpr_free(winsocket);
91
91
  }
92
92
 
93
- static bool check_destroyable(grpc_winsocket *winsocket) {
93
+ static bool check_destroyable(grpc_winsocket* winsocket) {
94
94
  return winsocket->destroy_called == true &&
95
95
  winsocket->write_info.closure == NULL &&
96
96
  winsocket->read_info.closure == NULL;
97
97
  }
98
98
 
99
- void grpc_winsocket_destroy(grpc_winsocket *winsocket) {
99
+ void grpc_winsocket_destroy(grpc_winsocket* winsocket) {
100
100
  gpr_mu_lock(&winsocket->state_mu);
101
101
  GPR_ASSERT(!winsocket->destroy_called);
102
102
  winsocket->destroy_called = true;
@@ -109,9 +109,9 @@ void grpc_winsocket_destroy(grpc_winsocket *winsocket) {
109
109
  -) The IOCP already completed in the background, and we need to call
110
110
  the callback now.
111
111
  -) The IOCP hasn't completed yet, and we're queuing it for later. */
112
- static void socket_notify_on_iocp(grpc_exec_ctx *exec_ctx,
113
- grpc_winsocket *socket, grpc_closure *closure,
114
- grpc_winsocket_callback_info *info) {
112
+ static void socket_notify_on_iocp(grpc_exec_ctx* exec_ctx,
113
+ grpc_winsocket* socket, grpc_closure* closure,
114
+ grpc_winsocket_callback_info* info) {
115
115
  GPR_ASSERT(info->closure == NULL);
116
116
  gpr_mu_lock(&socket->state_mu);
117
117
  if (info->has_pending_iocp) {
@@ -123,19 +123,19 @@ static void socket_notify_on_iocp(grpc_exec_ctx *exec_ctx,
123
123
  gpr_mu_unlock(&socket->state_mu);
124
124
  }
125
125
 
126
- void grpc_socket_notify_on_write(grpc_exec_ctx *exec_ctx,
127
- grpc_winsocket *socket,
128
- grpc_closure *closure) {
126
+ void grpc_socket_notify_on_write(grpc_exec_ctx* exec_ctx,
127
+ grpc_winsocket* socket,
128
+ grpc_closure* closure) {
129
129
  socket_notify_on_iocp(exec_ctx, socket, closure, &socket->write_info);
130
130
  }
131
131
 
132
- void grpc_socket_notify_on_read(grpc_exec_ctx *exec_ctx, grpc_winsocket *socket,
133
- grpc_closure *closure) {
132
+ void grpc_socket_notify_on_read(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket,
133
+ grpc_closure* closure) {
134
134
  socket_notify_on_iocp(exec_ctx, socket, closure, &socket->read_info);
135
135
  }
136
136
 
137
- void grpc_socket_become_ready(grpc_exec_ctx *exec_ctx, grpc_winsocket *socket,
138
- grpc_winsocket_callback_info *info) {
137
+ void grpc_socket_become_ready(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket,
138
+ grpc_winsocket_callback_info* info) {
139
139
  GPR_ASSERT(!info->has_pending_iocp);
140
140
  gpr_mu_lock(&socket->state_mu);
141
141
  if (info->closure) {
@@ -20,6 +20,9 @@
20
20
  #define GRPC_CORE_LIB_IOMGR_SOCKET_WINDOWS_H
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
+ #include "src/core/lib/iomgr/port.h"
24
+
25
+ #ifdef GRPC_WINSOCK_SOCKET
23
26
  #include <winsock2.h>
24
27
 
25
28
  #include <grpc/support/atm.h>
@@ -28,6 +31,10 @@
28
31
  #include "src/core/lib/iomgr/exec_ctx.h"
29
32
  #include "src/core/lib/iomgr/iomgr_internal.h"
30
33
 
34
+ #ifdef __cplusplus
35
+ extern "C" {
36
+ #endif
37
+
31
38
  /* This holds the data for an outstanding read or write on a socket.
32
39
  The mutex to protect the concurrent access to that data is the one
33
40
  inside the winsocket wrapper. */
@@ -40,7 +47,7 @@ typedef struct grpc_winsocket_callback_info {
40
47
  OVERLAPPED overlapped;
41
48
  /* The callback information for the pending operation. May be empty if the
42
49
  caller hasn't registered a callback yet. */
43
- grpc_closure *closure;
50
+ grpc_closure* closure;
44
51
  /* A boolean to describe if the IO Completion Port got a notification for
45
52
  that operation. This will happen if the operation completed before the
46
53
  called had time to register a callback. We could avoid that behavior
@@ -86,25 +93,31 @@ typedef struct grpc_winsocket {
86
93
 
87
94
  /* Create a wrapped windows handle. This takes ownership of it, meaning that
88
95
  it will be responsible for closing it. */
89
- grpc_winsocket *grpc_winsocket_create(SOCKET socket, const char *name);
96
+ grpc_winsocket* grpc_winsocket_create(SOCKET socket, const char* name);
90
97
 
91
98
  /* Initiate an asynchronous shutdown of the socket. Will call off any pending
92
99
  operation to cancel them. */
93
- void grpc_winsocket_shutdown(grpc_winsocket *socket);
100
+ void grpc_winsocket_shutdown(grpc_winsocket* socket);
94
101
 
95
102
  /* Destroy a socket. Should only be called if there's no pending operation. */
96
- void grpc_winsocket_destroy(grpc_winsocket *socket);
103
+ void grpc_winsocket_destroy(grpc_winsocket* socket);
104
+
105
+ void grpc_socket_notify_on_write(grpc_exec_ctx* exec_ctx,
106
+ grpc_winsocket* winsocket,
107
+ grpc_closure* closure);
108
+
109
+ void grpc_socket_notify_on_read(grpc_exec_ctx* exec_ctx,
110
+ grpc_winsocket* winsocket,
111
+ grpc_closure* closure);
97
112
 
98
- void grpc_socket_notify_on_write(grpc_exec_ctx *exec_ctx,
99
- grpc_winsocket *winsocket,
100
- grpc_closure *closure);
113
+ void grpc_socket_become_ready(grpc_exec_ctx* exec_ctx,
114
+ grpc_winsocket* winsocket,
115
+ grpc_winsocket_callback_info* ci);
101
116
 
102
- void grpc_socket_notify_on_read(grpc_exec_ctx *exec_ctx,
103
- grpc_winsocket *winsocket,
104
- grpc_closure *closure);
117
+ #ifdef __cplusplus
118
+ }
119
+ #endif
105
120
 
106
- void grpc_socket_become_ready(grpc_exec_ctx *exec_ctx,
107
- grpc_winsocket *winsocket,
108
- grpc_winsocket_callback_info *ci);
121
+ #endif
109
122
 
110
123
  #endif /* GRPC_CORE_LIB_IOMGR_SOCKET_WINDOWS_H */
@@ -25,16 +25,24 @@
25
25
  #include "src/core/lib/iomgr/pollset_set.h"
26
26
  #include "src/core/lib/iomgr/resolve_address.h"
27
27
 
28
+ #ifdef __cplusplus
29
+ extern "C" {
30
+ #endif
31
+
28
32
  /* Asynchronously connect to an address (specified as (addr, len)), and call
29
33
  cb with arg and the completed connection when done (or call cb with arg and
30
34
  NULL on failure).
31
35
  interested_parties points to a set of pollsets that would be interested
32
36
  in this connection being established (in order to continue their work) */
33
- void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *on_connect,
34
- grpc_endpoint **endpoint,
35
- grpc_pollset_set *interested_parties,
36
- const grpc_channel_args *channel_args,
37
- const grpc_resolved_address *addr,
38
- gpr_timespec deadline);
37
+ void grpc_tcp_client_connect(grpc_exec_ctx* exec_ctx, grpc_closure* on_connect,
38
+ grpc_endpoint** endpoint,
39
+ grpc_pollset_set* interested_parties,
40
+ const grpc_channel_args* channel_args,
41
+ const grpc_resolved_address* addr,
42
+ grpc_millis deadline);
43
+
44
+ #ifdef __cplusplus
45
+ }
46
+ #endif
39
47
 
40
48
  #endif /* GRPC_CORE_LIB_IOMGR_TCP_CLIENT_H */
@@ -43,26 +43,25 @@
43
43
  #include "src/core/lib/iomgr/unix_sockets_posix.h"
44
44
  #include "src/core/lib/support/string.h"
45
45
 
46
- extern grpc_tracer_flag grpc_tcp_trace;
46
+ extern grpc_core::TraceFlag grpc_tcp_trace;
47
47
 
48
48
  typedef struct {
49
49
  gpr_mu mu;
50
- grpc_fd *fd;
51
- gpr_timespec deadline;
50
+ grpc_fd* fd;
52
51
  grpc_timer alarm;
53
52
  grpc_closure on_alarm;
54
53
  int refs;
55
54
  grpc_closure write_closure;
56
- grpc_pollset_set *interested_parties;
57
- char *addr_str;
58
- grpc_endpoint **ep;
59
- grpc_closure *closure;
60
- grpc_channel_args *channel_args;
55
+ grpc_pollset_set* interested_parties;
56
+ char* addr_str;
57
+ grpc_endpoint** ep;
58
+ grpc_closure* closure;
59
+ grpc_channel_args* channel_args;
61
60
  } async_connect;
62
61
 
63
- static grpc_error *prepare_socket(const grpc_resolved_address *addr, int fd,
64
- const grpc_channel_args *channel_args) {
65
- grpc_error *err = GRPC_ERROR_NONE;
62
+ static grpc_error* prepare_socket(const grpc_resolved_address* addr, int fd,
63
+ const grpc_channel_args* channel_args) {
64
+ grpc_error* err = GRPC_ERROR_NONE;
66
65
 
67
66
  GPR_ASSERT(fd >= 0);
68
67
 
@@ -80,8 +79,8 @@ static grpc_error *prepare_socket(const grpc_resolved_address *addr, int fd,
80
79
  for (size_t i = 0; i < channel_args->num_args; i++) {
81
80
  if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_SOCKET_MUTATOR)) {
82
81
  GPR_ASSERT(channel_args->args[i].type == GRPC_ARG_POINTER);
83
- grpc_socket_mutator *mutator =
84
- (grpc_socket_mutator *)channel_args->args[i].value.pointer.p;
82
+ grpc_socket_mutator* mutator =
83
+ (grpc_socket_mutator*)channel_args->args[i].value.pointer.p;
85
84
  err = grpc_set_socket_with_mutator(fd, mutator);
86
85
  if (err != GRPC_ERROR_NONE) goto error;
87
86
  }
@@ -97,18 +96,19 @@ done:
97
96
  return err;
98
97
  }
99
98
 
100
- static void tc_on_alarm(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) {
99
+ static void tc_on_alarm(grpc_exec_ctx* exec_ctx, void* acp, grpc_error* error) {
101
100
  int done;
102
- async_connect *ac = (async_connect *)acp;
103
- if (GRPC_TRACER_ON(grpc_tcp_trace)) {
104
- const char *str = grpc_error_string(error);
101
+ async_connect* ac = (async_connect*)acp;
102
+ if (grpc_tcp_trace.enabled()) {
103
+ const char* str = grpc_error_string(error);
105
104
  gpr_log(GPR_DEBUG, "CLIENT_CONNECT: %s: on_alarm: error=%s", ac->addr_str,
106
105
  str);
107
106
  }
108
107
  gpr_mu_lock(&ac->mu);
109
- if (ac->fd != NULL) {
110
- grpc_fd_shutdown(exec_ctx, ac->fd, GRPC_ERROR_CREATE_FROM_STATIC_STRING(
111
- "connect() timed out"));
108
+ if (ac->fd != nullptr) {
109
+ grpc_fd_shutdown(
110
+ exec_ctx, ac->fd,
111
+ GRPC_ERROR_CREATE_FROM_STATIC_STRING("connect() timed out"));
112
112
  }
113
113
  done = (--ac->refs == 0);
114
114
  gpr_mu_unlock(&ac->mu);
@@ -120,26 +120,26 @@ static void tc_on_alarm(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) {
120
120
  }
121
121
  }
122
122
 
123
- grpc_endpoint *grpc_tcp_client_create_from_fd(
124
- grpc_exec_ctx *exec_ctx, grpc_fd *fd, const grpc_channel_args *channel_args,
125
- const char *addr_str) {
123
+ grpc_endpoint* grpc_tcp_client_create_from_fd(
124
+ grpc_exec_ctx* exec_ctx, grpc_fd* fd, const grpc_channel_args* channel_args,
125
+ const char* addr_str) {
126
126
  return grpc_tcp_create(exec_ctx, fd, channel_args, addr_str);
127
127
  }
128
128
 
129
- static void on_writable(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) {
130
- async_connect *ac = (async_connect *)acp;
129
+ static void on_writable(grpc_exec_ctx* exec_ctx, void* acp, grpc_error* error) {
130
+ async_connect* ac = (async_connect*)acp;
131
131
  int so_error = 0;
132
132
  socklen_t so_error_size;
133
133
  int err;
134
134
  int done;
135
- grpc_endpoint **ep = ac->ep;
136
- grpc_closure *closure = ac->closure;
137
- grpc_fd *fd;
135
+ grpc_endpoint** ep = ac->ep;
136
+ grpc_closure* closure = ac->closure;
137
+ grpc_fd* fd;
138
138
 
139
139
  GRPC_ERROR_REF(error);
140
140
 
141
- if (GRPC_TRACER_ON(grpc_tcp_trace)) {
142
- const char *str = grpc_error_string(error);
141
+ if (grpc_tcp_trace.enabled()) {
142
+ const char* str = grpc_error_string(error);
143
143
  gpr_log(GPR_DEBUG, "CLIENT_CONNECT: %s: on_writable: error=%s",
144
144
  ac->addr_str, str);
145
145
  }
@@ -147,7 +147,7 @@ static void on_writable(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) {
147
147
  gpr_mu_lock(&ac->mu);
148
148
  GPR_ASSERT(ac->fd);
149
149
  fd = ac->fd;
150
- ac->fd = NULL;
150
+ ac->fd = nullptr;
151
151
  gpr_mu_unlock(&ac->mu);
152
152
 
153
153
  grpc_timer_cancel(exec_ctx, &ac->alarm);
@@ -175,7 +175,7 @@ static void on_writable(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) {
175
175
  grpc_pollset_set_del_fd(exec_ctx, ac->interested_parties, fd);
176
176
  *ep = grpc_tcp_client_create_from_fd(exec_ctx, fd, ac->channel_args,
177
177
  ac->addr_str);
178
- fd = NULL;
178
+ fd = nullptr;
179
179
  break;
180
180
  case ENOBUFS:
181
181
  /* We will get one of these errors if we have run out of
@@ -208,20 +208,20 @@ static void on_writable(grpc_exec_ctx *exec_ctx, void *acp, grpc_error *error) {
208
208
  }
209
209
 
210
210
  finish:
211
- if (fd != NULL) {
211
+ if (fd != nullptr) {
212
212
  grpc_pollset_set_del_fd(exec_ctx, ac->interested_parties, fd);
213
- grpc_fd_orphan(exec_ctx, fd, NULL, NULL, false /* already_closed */,
213
+ grpc_fd_orphan(exec_ctx, fd, nullptr, nullptr, false /* already_closed */,
214
214
  "tcp_client_orphan");
215
- fd = NULL;
215
+ fd = nullptr;
216
216
  }
217
217
  done = (--ac->refs == 0);
218
218
  gpr_mu_unlock(&ac->mu);
219
219
  if (error != GRPC_ERROR_NONE) {
220
- char *error_descr;
220
+ char* error_descr;
221
221
  grpc_slice str;
222
222
  bool ret = grpc_error_get_str(error, GRPC_ERROR_STR_DESCRIPTION, &str);
223
223
  GPR_ASSERT(ret);
224
- char *desc = grpc_slice_to_c_string(str);
224
+ char* desc = grpc_slice_to_c_string(str);
225
225
  gpr_asprintf(&error_descr, "Failed to connect to remote host: %s", desc);
226
226
  error = grpc_error_set_str(error, GRPC_ERROR_STR_DESCRIPTION,
227
227
  grpc_slice_from_copied_string(error_descr));
@@ -239,24 +239,24 @@ finish:
239
239
  GRPC_CLOSURE_SCHED(exec_ctx, closure, error);
240
240
  }
241
241
 
242
- static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx,
243
- grpc_closure *closure, grpc_endpoint **ep,
244
- grpc_pollset_set *interested_parties,
245
- const grpc_channel_args *channel_args,
246
- const grpc_resolved_address *addr,
247
- gpr_timespec deadline) {
242
+ static void tcp_client_connect_impl(grpc_exec_ctx* exec_ctx,
243
+ grpc_closure* closure, grpc_endpoint** ep,
244
+ grpc_pollset_set* interested_parties,
245
+ const grpc_channel_args* channel_args,
246
+ const grpc_resolved_address* addr,
247
+ grpc_millis deadline) {
248
248
  int fd;
249
249
  grpc_dualstack_mode dsmode;
250
250
  int err;
251
- async_connect *ac;
251
+ async_connect* ac;
252
252
  grpc_resolved_address addr6_v4mapped;
253
253
  grpc_resolved_address addr4_copy;
254
- grpc_fd *fdobj;
255
- char *name;
256
- char *addr_str;
257
- grpc_error *error;
254
+ grpc_fd* fdobj;
255
+ char* name;
256
+ char* addr_str;
257
+ grpc_error* error;
258
258
 
259
- *ep = NULL;
259
+ *ep = nullptr;
260
260
 
261
261
  /* Use dualstack sockets where available. */
262
262
  if (grpc_sockaddr_to_v4mapped(addr, &addr6_v4mapped)) {
@@ -280,8 +280,7 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx,
280
280
 
281
281
  do {
282
282
  GPR_ASSERT(addr->len < ~(socklen_t)0);
283
- err =
284
- connect(fd, (const struct sockaddr *)addr->addr, (socklen_t)addr->len);
283
+ err = connect(fd, (const struct sockaddr*)addr->addr, (socklen_t)addr->len);
285
284
  } while (err < 0 && errno == EINTR);
286
285
 
287
286
  addr_str = grpc_sockaddr_to_uri(addr);
@@ -297,37 +296,35 @@ static void tcp_client_connect_impl(grpc_exec_ctx *exec_ctx,
297
296
  }
298
297
 
299
298
  if (errno != EWOULDBLOCK && errno != EINPROGRESS) {
300
- grpc_fd_orphan(exec_ctx, fdobj, NULL, NULL, false /* already_closed */,
301
- "tcp_client_connect_error");
299
+ grpc_fd_orphan(exec_ctx, fdobj, nullptr, nullptr,
300
+ false /* already_closed */, "tcp_client_connect_error");
302
301
  GRPC_CLOSURE_SCHED(exec_ctx, closure, GRPC_OS_ERROR(errno, "connect"));
303
302
  goto done;
304
303
  }
305
304
 
306
305
  grpc_pollset_set_add_fd(exec_ctx, interested_parties, fdobj);
307
306
 
308
- ac = (async_connect *)gpr_malloc(sizeof(async_connect));
307
+ ac = (async_connect*)gpr_malloc(sizeof(async_connect));
309
308
  ac->closure = closure;
310
309
  ac->ep = ep;
311
310
  ac->fd = fdobj;
312
311
  ac->interested_parties = interested_parties;
313
312
  ac->addr_str = addr_str;
314
- addr_str = NULL;
313
+ addr_str = nullptr;
315
314
  gpr_mu_init(&ac->mu);
316
315
  ac->refs = 2;
317
316
  GRPC_CLOSURE_INIT(&ac->write_closure, on_writable, ac,
318
317
  grpc_schedule_on_exec_ctx);
319
318
  ac->channel_args = grpc_channel_args_copy(channel_args);
320
319
 
321
- if (GRPC_TRACER_ON(grpc_tcp_trace)) {
320
+ if (grpc_tcp_trace.enabled()) {
322
321
  gpr_log(GPR_DEBUG, "CLIENT_CONNECT: %s: asynchronously connecting fd %p",
323
322
  ac->addr_str, fdobj);
324
323
  }
325
324
 
326
325
  gpr_mu_lock(&ac->mu);
327
326
  GRPC_CLOSURE_INIT(&ac->on_alarm, tc_on_alarm, ac, grpc_schedule_on_exec_ctx);
328
- grpc_timer_init(exec_ctx, &ac->alarm,
329
- gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC),
330
- &ac->on_alarm, gpr_now(GPR_CLOCK_MONOTONIC));
327
+ grpc_timer_init(exec_ctx, &ac->alarm, deadline, &ac->on_alarm);
331
328
  grpc_fd_notify_on_write(exec_ctx, ac->fd, &ac->write_closure);
332
329
  gpr_mu_unlock(&ac->mu);
333
330
 
@@ -337,18 +334,20 @@ done:
337
334
  }
338
335
 
339
336
  // overridden by api_fuzzer.c
337
+ extern "C" {
340
338
  void (*grpc_tcp_client_connect_impl)(
341
- grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep,
342
- grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args,
343
- const grpc_resolved_address *addr,
344
- gpr_timespec deadline) = tcp_client_connect_impl;
345
-
346
- void grpc_tcp_client_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure,
347
- grpc_endpoint **ep,
348
- grpc_pollset_set *interested_parties,
349
- const grpc_channel_args *channel_args,
350
- const grpc_resolved_address *addr,
351
- gpr_timespec deadline) {
339
+ grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep,
340
+ grpc_pollset_set* interested_parties, const grpc_channel_args* channel_args,
341
+ const grpc_resolved_address* addr,
342
+ grpc_millis deadline) = tcp_client_connect_impl;
343
+ }
344
+
345
+ void grpc_tcp_client_connect(grpc_exec_ctx* exec_ctx, grpc_closure* closure,
346
+ grpc_endpoint** ep,
347
+ grpc_pollset_set* interested_parties,
348
+ const grpc_channel_args* channel_args,
349
+ const grpc_resolved_address* addr,
350
+ grpc_millis deadline) {
352
351
  grpc_tcp_client_connect_impl(exec_ctx, closure, ep, interested_parties,
353
352
  channel_args, addr, deadline);
354
353
  }