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
@@ -21,8 +21,15 @@
21
21
 
22
22
  #include <grpc/support/sync.h>
23
23
 
24
+ #include "src/core/lib/iomgr/port.h"
25
+
26
+ #ifdef GRPC_WINSOCK_SOCKET
24
27
  #include "src/core/lib/iomgr/socket_windows.h"
25
28
 
29
+ #ifdef __cplusplus
30
+ extern "C" {
31
+ #endif
32
+
26
33
  /* There isn't really any such thing as a pollset under Windows, due to the
27
34
  nature of the IO completion ports. A Windows "pollset" is merely a mutex
28
35
  used to synchronize with the IOCP, and workers are condition variables
@@ -35,8 +42,8 @@ typedef enum {
35
42
  } grpc_pollset_worker_link_type;
36
43
 
37
44
  typedef struct grpc_pollset_worker_link {
38
- struct grpc_pollset_worker *next;
39
- struct grpc_pollset_worker *prev;
45
+ struct grpc_pollset_worker* next;
46
+ struct grpc_pollset_worker* prev;
40
47
  } grpc_pollset_worker_link;
41
48
 
42
49
  struct grpc_pollset;
@@ -45,7 +52,7 @@ typedef struct grpc_pollset grpc_pollset;
45
52
  typedef struct grpc_pollset_worker {
46
53
  gpr_cv cv;
47
54
  int kicked;
48
- struct grpc_pollset *pollset;
55
+ struct grpc_pollset* pollset;
49
56
  grpc_pollset_worker_link links[GRPC_POLLSET_WORKER_LINK_TYPES];
50
57
  } grpc_pollset_worker;
51
58
 
@@ -54,10 +61,16 @@ struct grpc_pollset {
54
61
  int kicked_without_pollers;
55
62
  int is_iocp_worker;
56
63
  grpc_pollset_worker root_worker;
57
- grpc_closure *on_shutdown;
64
+ grpc_closure* on_shutdown;
58
65
  };
59
66
 
60
67
  void grpc_pollset_global_init(void);
61
68
  void grpc_pollset_global_shutdown(void);
62
69
 
70
+ #ifdef __cplusplus
71
+ }
72
+ #endif
73
+
74
+ #endif
75
+
63
76
  #endif /* GRPC_CORE_LIB_IOMGR_POLLSET_WINDOWS_H */
@@ -113,6 +113,16 @@
113
113
  #define GRPC_POSIX_SOCKETUTILS 1
114
114
  #define GRPC_POSIX_WAKEUP_FD 1
115
115
  #define GRPC_TIMER_USE_GENERIC 1
116
+ #elif defined(GPR_OPENBSD)
117
+ #define GRPC_HAVE_IFADDRS 1
118
+ #define GRPC_HAVE_IPV6_RECVPKTINFO 1
119
+ #define GRPC_HAVE_UNIX_SOCKET 1
120
+ #define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD 1
121
+ #define GRPC_POSIX_SOCKET 1
122
+ #define GRPC_POSIX_SOCKETADDR 1
123
+ #define GRPC_POSIX_SOCKETUTILS 1
124
+ #define GRPC_POSIX_WAKEUP_FD 1
125
+ #define GRPC_TIMER_USE_GENERIC 1
116
126
  #elif defined(GPR_NACL)
117
127
  #define GRPC_HAVE_ARPA_NAMESER 1
118
128
  #define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD 1
@@ -25,6 +25,10 @@
25
25
 
26
26
  #define GRPC_MAX_SOCKADDR_SIZE 128
27
27
 
28
+ #ifdef __cplusplus
29
+ extern "C" {
30
+ #endif
31
+
28
32
  typedef struct {
29
33
  char addr[GRPC_MAX_SOCKADDR_SIZE];
30
34
  size_t len;
@@ -32,24 +36,28 @@ typedef struct {
32
36
 
33
37
  typedef struct {
34
38
  size_t naddrs;
35
- grpc_resolved_address *addrs;
39
+ grpc_resolved_address* addrs;
36
40
  } grpc_resolved_addresses;
37
41
 
38
42
  /* Asynchronously resolve addr. Use default_port if a port isn't designated
39
43
  in addr, otherwise use the port in addr. */
40
44
  /* TODO(ctiller): add a timeout here */
41
- extern void (*grpc_resolve_address)(grpc_exec_ctx *exec_ctx, const char *addr,
42
- const char *default_port,
43
- grpc_pollset_set *interested_parties,
44
- grpc_closure *on_done,
45
- grpc_resolved_addresses **addresses);
45
+ extern void (*grpc_resolve_address)(grpc_exec_ctx* exec_ctx, const char* addr,
46
+ const char* default_port,
47
+ grpc_pollset_set* interested_parties,
48
+ grpc_closure* on_done,
49
+ grpc_resolved_addresses** addresses);
46
50
  /* Destroy resolved addresses */
47
- void grpc_resolved_addresses_destroy(grpc_resolved_addresses *addresses);
51
+ void grpc_resolved_addresses_destroy(grpc_resolved_addresses* addresses);
48
52
 
49
53
  /* Resolve addr in a blocking fashion. Returns NULL on failure. On success,
50
54
  result must be freed with grpc_resolved_addresses_destroy. */
51
- extern grpc_error *(*grpc_blocking_resolve_address)(
52
- const char *name, const char *default_port,
53
- grpc_resolved_addresses **addresses);
55
+ extern grpc_error* (*grpc_blocking_resolve_address)(
56
+ const char* name, const char* default_port,
57
+ grpc_resolved_addresses** addresses);
58
+
59
+ #ifdef __cplusplus
60
+ }
61
+ #endif
54
62
 
55
63
  #endif /* GRPC_CORE_LIB_IOMGR_RESOLVE_ADDRESS_H */
@@ -33,22 +33,22 @@
33
33
  #include <grpc/support/thd.h>
34
34
  #include <grpc/support/time.h>
35
35
  #include <grpc/support/useful.h>
36
+ #include "src/core/lib/iomgr/block_annotate.h"
36
37
  #include "src/core/lib/iomgr/executor.h"
37
38
  #include "src/core/lib/iomgr/iomgr_internal.h"
38
39
  #include "src/core/lib/iomgr/unix_sockets_posix.h"
39
- #include "src/core/lib/support/block_annotate.h"
40
40
  #include "src/core/lib/support/string.h"
41
41
 
42
- static grpc_error *blocking_resolve_address_impl(
43
- const char *name, const char *default_port,
44
- grpc_resolved_addresses **addresses) {
42
+ static grpc_error* blocking_resolve_address_impl(
43
+ const char* name, const char* default_port,
44
+ grpc_resolved_addresses** addresses) {
45
45
  struct addrinfo hints;
46
- struct addrinfo *result = NULL, *resp;
47
- char *host;
48
- char *port;
46
+ struct addrinfo *result = nullptr, *resp;
47
+ char* host;
48
+ char* port;
49
49
  int s;
50
50
  size_t i;
51
- grpc_error *err;
51
+ grpc_error* err;
52
52
 
53
53
  if (name[0] == 'u' && name[1] == 'n' && name[2] == 'i' && name[3] == 'x' &&
54
54
  name[4] == ':' && name[5] != 0) {
@@ -57,14 +57,14 @@ static grpc_error *blocking_resolve_address_impl(
57
57
 
58
58
  /* parse name, splitting it into host and port parts */
59
59
  gpr_split_host_port(name, &host, &port);
60
- if (host == NULL) {
60
+ if (host == nullptr) {
61
61
  err = grpc_error_set_str(
62
62
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("unparseable host:port"),
63
63
  GRPC_ERROR_STR_TARGET_ADDRESS, grpc_slice_from_copied_string(name));
64
64
  goto done;
65
65
  }
66
- if (port == NULL) {
67
- if (default_port == NULL) {
66
+ if (port == nullptr) {
67
+ if (default_port == nullptr) {
68
68
  err = grpc_error_set_str(
69
69
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("no port in name"),
70
70
  GRPC_ERROR_STR_TARGET_ADDRESS, grpc_slice_from_copied_string(name));
@@ -81,16 +81,16 @@ static grpc_error *blocking_resolve_address_impl(
81
81
 
82
82
  GRPC_SCHEDULING_START_BLOCKING_REGION;
83
83
  s = getaddrinfo(host, port, &hints, &result);
84
- GRPC_SCHEDULING_END_BLOCKING_REGION;
84
+ GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX;
85
85
 
86
86
  if (s != 0) {
87
87
  /* Retry if well-known service name is recognized */
88
- const char *svc[][2] = {{"http", "80"}, {"https", "443"}};
88
+ const char* svc[][2] = {{"http", "80"}, {"https", "443"}};
89
89
  for (i = 0; i < GPR_ARRAY_SIZE(svc); i++) {
90
90
  if (strcmp(port, svc[i][0]) == 0) {
91
91
  GRPC_SCHEDULING_START_BLOCKING_REGION;
92
92
  s = getaddrinfo(host, svc[i][1], &hints, &result);
93
- GRPC_SCHEDULING_END_BLOCKING_REGION;
93
+ GRPC_SCHEDULING_END_BLOCKING_REGION_NO_EXEC_CTX;
94
94
  break;
95
95
  }
96
96
  }
@@ -113,15 +113,15 @@ static grpc_error *blocking_resolve_address_impl(
113
113
 
114
114
  /* Success path: set addrs non-NULL, fill it in */
115
115
  *addresses =
116
- (grpc_resolved_addresses *)gpr_malloc(sizeof(grpc_resolved_addresses));
116
+ (grpc_resolved_addresses*)gpr_malloc(sizeof(grpc_resolved_addresses));
117
117
  (*addresses)->naddrs = 0;
118
- for (resp = result; resp != NULL; resp = resp->ai_next) {
118
+ for (resp = result; resp != nullptr; resp = resp->ai_next) {
119
119
  (*addresses)->naddrs++;
120
120
  }
121
- (*addresses)->addrs = (grpc_resolved_address *)gpr_malloc(
121
+ (*addresses)->addrs = (grpc_resolved_address*)gpr_malloc(
122
122
  sizeof(grpc_resolved_address) * (*addresses)->naddrs);
123
123
  i = 0;
124
- for (resp = result; resp != NULL; resp = resp->ai_next) {
124
+ for (resp = result; resp != nullptr; resp = resp->ai_next) {
125
125
  memcpy(&(*addresses)->addrs[i].addr, resp->ai_addr, resp->ai_addrlen);
126
126
  (*addresses)->addrs[i].len = resp->ai_addrlen;
127
127
  i++;
@@ -137,24 +137,24 @@ done:
137
137
  return err;
138
138
  }
139
139
 
140
- grpc_error *(*grpc_blocking_resolve_address)(
141
- const char *name, const char *default_port,
142
- grpc_resolved_addresses **addresses) = blocking_resolve_address_impl;
140
+ grpc_error* (*grpc_blocking_resolve_address)(
141
+ const char* name, const char* default_port,
142
+ grpc_resolved_addresses** addresses) = blocking_resolve_address_impl;
143
143
 
144
144
  typedef struct {
145
- char *name;
146
- char *default_port;
147
- grpc_closure *on_done;
148
- grpc_resolved_addresses **addrs_out;
145
+ char* name;
146
+ char* default_port;
147
+ grpc_closure* on_done;
148
+ grpc_resolved_addresses** addrs_out;
149
149
  grpc_closure request_closure;
150
- void *arg;
150
+ void* arg;
151
151
  } request;
152
152
 
153
153
  /* Callback to be passed to grpc_executor to asynch-ify
154
154
  * grpc_blocking_resolve_address */
155
- static void do_request_thread(grpc_exec_ctx *exec_ctx, void *rp,
156
- grpc_error *error) {
157
- request *r = (request *)rp;
155
+ static void do_request_thread(grpc_exec_ctx* exec_ctx, void* rp,
156
+ grpc_error* error) {
157
+ request* r = (request*)rp;
158
158
  GRPC_CLOSURE_SCHED(
159
159
  exec_ctx, r->on_done,
160
160
  grpc_blocking_resolve_address(r->name, r->default_port, r->addrs_out));
@@ -163,19 +163,19 @@ static void do_request_thread(grpc_exec_ctx *exec_ctx, void *rp,
163
163
  gpr_free(r);
164
164
  }
165
165
 
166
- void grpc_resolved_addresses_destroy(grpc_resolved_addresses *addrs) {
167
- if (addrs != NULL) {
166
+ void grpc_resolved_addresses_destroy(grpc_resolved_addresses* addrs) {
167
+ if (addrs != nullptr) {
168
168
  gpr_free(addrs->addrs);
169
169
  }
170
170
  gpr_free(addrs);
171
171
  }
172
172
 
173
- static void resolve_address_impl(grpc_exec_ctx *exec_ctx, const char *name,
174
- const char *default_port,
175
- grpc_pollset_set *interested_parties,
176
- grpc_closure *on_done,
177
- grpc_resolved_addresses **addrs) {
178
- request *r = (request *)gpr_malloc(sizeof(request));
173
+ static void resolve_address_impl(grpc_exec_ctx* exec_ctx, const char* name,
174
+ const char* default_port,
175
+ grpc_pollset_set* interested_parties,
176
+ grpc_closure* on_done,
177
+ grpc_resolved_addresses** addrs) {
178
+ request* r = (request*)gpr_malloc(sizeof(request));
179
179
  GRPC_CLOSURE_INIT(&r->request_closure, do_request_thread, r,
180
180
  grpc_executor_scheduler(GRPC_EXECUTOR_SHORT));
181
181
  r->name = gpr_strdup(name);
@@ -186,8 +186,8 @@ static void resolve_address_impl(grpc_exec_ctx *exec_ctx, const char *name,
186
186
  }
187
187
 
188
188
  void (*grpc_resolve_address)(
189
- grpc_exec_ctx *exec_ctx, const char *name, const char *default_port,
190
- grpc_pollset_set *interested_parties, grpc_closure *on_done,
191
- grpc_resolved_addresses **addrs) = resolve_address_impl;
189
+ grpc_exec_ctx* exec_ctx, const char* name, const char* default_port,
190
+ grpc_pollset_set* interested_parties, grpc_closure* on_done,
191
+ grpc_resolved_addresses** addrs) = resolve_address_impl;
192
192
 
193
193
  #endif
@@ -38,22 +38,23 @@
38
38
  #include <string.h>
39
39
 
40
40
  typedef struct request {
41
- grpc_closure *on_done;
42
- grpc_resolved_addresses **addresses;
43
- struct addrinfo *hints;
44
- char *host;
45
- char *port;
41
+ grpc_closure* on_done;
42
+ grpc_resolved_addresses** addresses;
43
+ struct addrinfo* hints;
44
+ char* host;
45
+ char* port;
46
46
  } request;
47
47
 
48
- static int retry_named_port_failure(int status, request *r,
48
+ static int retry_named_port_failure(int status, request* r,
49
49
  uv_getaddrinfo_cb getaddrinfo_cb) {
50
50
  if (status != 0) {
51
51
  // This loop is copied from resolve_address_posix.c
52
- char *svc[][2] = {{"http", "80"}, {"https", "443"}};
52
+ const char* svc[][2] = {{"http", "80"}, {"https", "443"}};
53
53
  for (size_t i = 0; i < GPR_ARRAY_SIZE(svc); i++) {
54
54
  if (strcmp(r->port, svc[i][0]) == 0) {
55
55
  int retry_status;
56
- uv_getaddrinfo_t *req = gpr_malloc(sizeof(uv_getaddrinfo_t));
56
+ uv_getaddrinfo_t* req =
57
+ (uv_getaddrinfo_t*)gpr_malloc(sizeof(uv_getaddrinfo_t));
57
58
  req->data = r;
58
59
  r->port = gpr_strdup(svc[i][1]);
59
60
  retry_status = uv_getaddrinfo(uv_default_loop(), req, getaddrinfo_cb,
@@ -72,12 +73,12 @@ static int retry_named_port_failure(int status, request *r,
72
73
  return 1;
73
74
  }
74
75
 
75
- static grpc_error *handle_addrinfo_result(int status, struct addrinfo *result,
76
- grpc_resolved_addresses **addresses) {
77
- struct addrinfo *resp;
76
+ static grpc_error* handle_addrinfo_result(int status, struct addrinfo* result,
77
+ grpc_resolved_addresses** addresses) {
78
+ struct addrinfo* resp;
78
79
  size_t i;
79
80
  if (status != 0) {
80
- grpc_error *error;
81
+ grpc_error* error;
81
82
  *addresses = NULL;
82
83
  error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("getaddrinfo failed");
83
84
  error =
@@ -85,13 +86,14 @@ static grpc_error *handle_addrinfo_result(int status, struct addrinfo *result,
85
86
  grpc_slice_from_static_string(uv_strerror(status)));
86
87
  return error;
87
88
  }
88
- (*addresses) = gpr_malloc(sizeof(grpc_resolved_addresses));
89
+ (*addresses) =
90
+ (grpc_resolved_addresses*)gpr_malloc(sizeof(grpc_resolved_addresses));
89
91
  (*addresses)->naddrs = 0;
90
92
  for (resp = result; resp != NULL; resp = resp->ai_next) {
91
93
  (*addresses)->naddrs++;
92
94
  }
93
- (*addresses)->addrs =
94
- gpr_malloc(sizeof(grpc_resolved_address) * (*addresses)->naddrs);
95
+ (*addresses)->addrs = (grpc_resolved_address*)gpr_malloc(
96
+ sizeof(grpc_resolved_address) * (*addresses)->naddrs);
95
97
  i = 0;
96
98
  for (resp = result; resp != NULL; resp = resp->ai_next) {
97
99
  memcpy(&(*addresses)->addrs[i].addr, resp->ai_addr, resp->ai_addrlen);
@@ -101,7 +103,7 @@ static grpc_error *handle_addrinfo_result(int status, struct addrinfo *result,
101
103
 
102
104
  {
103
105
  for (i = 0; i < (*addresses)->naddrs; i++) {
104
- char *buf;
106
+ char* buf;
105
107
  grpc_sockaddr_to_string(&buf, &(*addresses)->addrs[i], 0);
106
108
  gpr_free(buf);
107
109
  }
@@ -109,13 +111,13 @@ static grpc_error *handle_addrinfo_result(int status, struct addrinfo *result,
109
111
  return GRPC_ERROR_NONE;
110
112
  }
111
113
 
112
- static void getaddrinfo_callback(uv_getaddrinfo_t *req, int status,
113
- struct addrinfo *res) {
114
- request *r = (request *)req->data;
114
+ static void getaddrinfo_callback(uv_getaddrinfo_t* req, int status,
115
+ struct addrinfo* res) {
116
+ request* r = (request*)req->data;
115
117
  grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
116
- grpc_error *error;
118
+ grpc_error* error;
117
119
  int retry_status;
118
- char *port = r->port;
120
+ char* port = r->port;
119
121
 
120
122
  gpr_free(req);
121
123
  retry_status = retry_named_port_failure(status, r, getaddrinfo_callback);
@@ -137,14 +139,14 @@ static void getaddrinfo_callback(uv_getaddrinfo_t *req, int status,
137
139
  uv_freeaddrinfo(res);
138
140
  }
139
141
 
140
- static grpc_error *try_split_host_port(const char *name,
141
- const char *default_port, char **host,
142
- char **port) {
142
+ static grpc_error* try_split_host_port(const char* name,
143
+ const char* default_port, char** host,
144
+ char** port) {
143
145
  /* parse name, splitting it into host and port parts */
144
- grpc_error *error;
146
+ grpc_error* error;
145
147
  gpr_split_host_port(name, host, port);
146
148
  if (*host == NULL) {
147
- char *msg;
149
+ char* msg;
148
150
  gpr_asprintf(&msg, "unparseable host:port: '%s'", name);
149
151
  error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(msg);
150
152
  gpr_free(msg);
@@ -153,7 +155,7 @@ static grpc_error *try_split_host_port(const char *name,
153
155
  if (*port == NULL) {
154
156
  // TODO(murgatroid99): add tests for this case
155
157
  if (default_port == NULL) {
156
- char *msg;
158
+ char* msg;
157
159
  gpr_asprintf(&msg, "no port in name '%s'", name);
158
160
  error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(msg);
159
161
  gpr_free(msg);
@@ -164,16 +166,17 @@ static grpc_error *try_split_host_port(const char *name,
164
166
  return GRPC_ERROR_NONE;
165
167
  }
166
168
 
167
- static grpc_error *blocking_resolve_address_impl(
168
- const char *name, const char *default_port,
169
- grpc_resolved_addresses **addresses) {
170
- char *host;
171
- char *port;
169
+ static grpc_error* blocking_resolve_address_impl(
170
+ const char* name, const char* default_port,
171
+ grpc_resolved_addresses** addresses) {
172
+ char* host;
173
+ char* port;
172
174
  struct addrinfo hints;
173
175
  uv_getaddrinfo_t req;
174
176
  int s;
175
- grpc_error *err;
177
+ grpc_error* err;
176
178
  int retry_status;
179
+ request r;
177
180
 
178
181
  GRPC_UV_ASSERT_SAME_THREAD();
179
182
 
@@ -191,8 +194,10 @@ static grpc_error *blocking_resolve_address_impl(
191
194
  hints.ai_flags = AI_PASSIVE; /* for wildcard IP address */
192
195
 
193
196
  s = uv_getaddrinfo(uv_default_loop(), &req, NULL, host, port, &hints);
194
- request r = {
195
- .addresses = addresses, .hints = &hints, .host = host, .port = port};
197
+ r.addresses = addresses;
198
+ r.hints = &hints;
199
+ r.host = host;
200
+ r.port = port;
196
201
  retry_status = retry_named_port_failure(s, &r, NULL);
197
202
  if (retry_status <= 0) {
198
203
  s = retry_status;
@@ -208,28 +213,28 @@ done:
208
213
  return err;
209
214
  }
210
215
 
211
- grpc_error *(*grpc_blocking_resolve_address)(
212
- const char *name, const char *default_port,
213
- grpc_resolved_addresses **addresses) = blocking_resolve_address_impl;
216
+ grpc_error* (*grpc_blocking_resolve_address)(
217
+ const char* name, const char* default_port,
218
+ grpc_resolved_addresses** addresses) = blocking_resolve_address_impl;
214
219
 
215
- void grpc_resolved_addresses_destroy(grpc_resolved_addresses *addrs) {
220
+ void grpc_resolved_addresses_destroy(grpc_resolved_addresses* addrs) {
216
221
  if (addrs != NULL) {
217
222
  gpr_free(addrs->addrs);
218
223
  }
219
224
  gpr_free(addrs);
220
225
  }
221
226
 
222
- static void resolve_address_impl(grpc_exec_ctx *exec_ctx, const char *name,
223
- const char *default_port,
224
- grpc_pollset_set *interested_parties,
225
- grpc_closure *on_done,
226
- grpc_resolved_addresses **addrs) {
227
- uv_getaddrinfo_t *req = NULL;
228
- request *r = NULL;
229
- struct addrinfo *hints = NULL;
230
- char *host = NULL;
231
- char *port = NULL;
232
- grpc_error *err;
227
+ static void resolve_address_impl(grpc_exec_ctx* exec_ctx, const char* name,
228
+ const char* default_port,
229
+ grpc_pollset_set* interested_parties,
230
+ grpc_closure* on_done,
231
+ grpc_resolved_addresses** addrs) {
232
+ uv_getaddrinfo_t* req = NULL;
233
+ request* r = NULL;
234
+ struct addrinfo* hints = NULL;
235
+ char* host = NULL;
236
+ char* port = NULL;
237
+ grpc_error* err;
233
238
  int s;
234
239
  GRPC_UV_ASSERT_SAME_THREAD();
235
240
  err = try_split_host_port(name, default_port, &host, &port);
@@ -239,16 +244,16 @@ static void resolve_address_impl(grpc_exec_ctx *exec_ctx, const char *name,
239
244
  gpr_free(port);
240
245
  return;
241
246
  }
242
- r = gpr_malloc(sizeof(request));
247
+ r = (request*)gpr_malloc(sizeof(request));
243
248
  r->on_done = on_done;
244
249
  r->addresses = addrs;
245
250
  r->host = host;
246
251
  r->port = port;
247
- req = gpr_malloc(sizeof(uv_getaddrinfo_t));
252
+ req = (uv_getaddrinfo_t*)gpr_malloc(sizeof(uv_getaddrinfo_t));
248
253
  req->data = r;
249
254
 
250
255
  /* Call getaddrinfo */
251
- hints = gpr_malloc(sizeof(struct addrinfo));
256
+ hints = (addrinfo*)gpr_malloc(sizeof(struct addrinfo));
252
257
  memset(hints, 0, sizeof(struct addrinfo));
253
258
  hints->ai_family = AF_UNSPEC; /* ipv4 or ipv6 */
254
259
  hints->ai_socktype = SOCK_STREAM; /* stream socket */
@@ -273,8 +278,8 @@ static void resolve_address_impl(grpc_exec_ctx *exec_ctx, const char *name,
273
278
  }
274
279
 
275
280
  void (*grpc_resolve_address)(
276
- grpc_exec_ctx *exec_ctx, const char *name, const char *default_port,
277
- grpc_pollset_set *interested_parties, grpc_closure *on_done,
278
- grpc_resolved_addresses **addrs) = resolve_address_impl;
281
+ grpc_exec_ctx* exec_ctx, const char* name, const char* default_port,
282
+ grpc_pollset_set* interested_parties, grpc_closure* on_done,
283
+ grpc_resolved_addresses** addrs) = resolve_address_impl;
279
284
 
280
285
  #endif /* GRPC_UV */