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
@@ -25,6 +25,10 @@
25
25
  #include "src/core/lib/iomgr/polling_entity.h"
26
26
  #include "src/core/lib/iomgr/resolve_address.h"
27
27
 
28
+ #ifdef __cplusplus
29
+ extern "C" {
30
+ #endif
31
+
28
32
  typedef struct grpc_ares_request grpc_ares_request;
29
33
 
30
34
  /* Asynchronously resolve \a name. Use \a default_port if a port isn't
@@ -32,12 +36,12 @@ typedef struct grpc_ares_request grpc_ares_request;
32
36
  must be called at least once before this function. \a on_done may be
33
37
  called directly in this function without being scheduled with \a exec_ctx,
34
38
  so it must not try to acquire locks that are being held by the caller. */
35
- extern void (*grpc_resolve_address_ares)(grpc_exec_ctx *exec_ctx,
36
- const char *name,
37
- const char *default_port,
38
- grpc_pollset_set *interested_parties,
39
- grpc_closure *on_done,
40
- grpc_resolved_addresses **addresses);
39
+ extern void (*grpc_resolve_address_ares)(grpc_exec_ctx* exec_ctx,
40
+ const char* name,
41
+ const char* default_port,
42
+ grpc_pollset_set* interested_parties,
43
+ grpc_closure* on_done,
44
+ grpc_resolved_addresses** addresses);
41
45
 
42
46
  /* Asynchronously resolve \a name. It will try to resolve grpclb SRV records in
43
47
  addition to the normal address records. For normal address records, it uses
@@ -46,24 +50,28 @@ extern void (*grpc_resolve_address_ares)(grpc_exec_ctx *exec_ctx,
46
50
  function. \a on_done may be called directly in this function without being
47
51
  scheduled with \a exec_ctx, so it must not try to acquire locks that are
48
52
  being held by the caller. */
49
- extern grpc_ares_request *(*grpc_dns_lookup_ares)(
50
- grpc_exec_ctx *exec_ctx, const char *dns_server, const char *name,
51
- const char *default_port, grpc_pollset_set *interested_parties,
52
- grpc_closure *on_done, grpc_lb_addresses **addresses, bool check_grpclb,
53
- char **service_config_json);
53
+ extern grpc_ares_request* (*grpc_dns_lookup_ares)(
54
+ grpc_exec_ctx* exec_ctx, const char* dns_server, const char* name,
55
+ const char* default_port, grpc_pollset_set* interested_parties,
56
+ grpc_closure* on_done, grpc_lb_addresses** addresses, bool check_grpclb,
57
+ char** service_config_json);
54
58
 
55
59
  /* Cancel the pending grpc_ares_request \a request */
56
- void grpc_cancel_ares_request(grpc_exec_ctx *exec_ctx,
57
- grpc_ares_request *request);
60
+ void grpc_cancel_ares_request(grpc_exec_ctx* exec_ctx,
61
+ grpc_ares_request* request);
58
62
 
59
63
  /* Initialize gRPC ares wrapper. Must be called at least once before
60
64
  grpc_resolve_address_ares(). */
61
- grpc_error *grpc_ares_init(void);
65
+ grpc_error* grpc_ares_init(void);
62
66
 
63
67
  /* Uninitialized gRPC ares wrapper. If there was more than one previous call to
64
68
  grpc_ares_init(), this function uninitializes the gRPC ares wrapper only if
65
69
  it has been called the same number of times as grpc_ares_init(). */
66
70
  void grpc_ares_cleanup(void);
67
71
 
72
+ #ifdef __cplusplus
73
+ }
74
+ #endif
75
+
68
76
  #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_DNS_C_ARES_GRPC_ARES_WRAPPER_H \
69
- */
77
+ */
@@ -0,0 +1,60 @@
1
+ /*
2
+ *
3
+ * Copyright 2016-2017 gRPC authors.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ *
17
+ */
18
+
19
+ #include <grpc/support/port_platform.h>
20
+ #if GRPC_ARES != 1 || defined(GRPC_UV)
21
+
22
+ #include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h"
23
+
24
+ struct grpc_ares_request {
25
+ char val;
26
+ };
27
+
28
+ static grpc_ares_request* grpc_dns_lookup_ares_impl(
29
+ grpc_exec_ctx* exec_ctx, const char* dns_server, const char* name,
30
+ const char* default_port, grpc_pollset_set* interested_parties,
31
+ grpc_closure* on_done, grpc_lb_addresses** addrs, bool check_grpclb,
32
+ char** service_config_json) {
33
+ return NULL;
34
+ }
35
+
36
+ grpc_ares_request* (*grpc_dns_lookup_ares)(
37
+ grpc_exec_ctx* exec_ctx, const char* dns_server, const char* name,
38
+ const char* default_port, grpc_pollset_set* interested_parties,
39
+ grpc_closure* on_done, grpc_lb_addresses** addrs, bool check_grpclb,
40
+ char** service_config_json) = grpc_dns_lookup_ares_impl;
41
+
42
+ void grpc_cancel_ares_request(grpc_exec_ctx* exec_ctx, grpc_ares_request* r) {}
43
+
44
+ grpc_error* grpc_ares_init(void) { return GRPC_ERROR_NONE; }
45
+
46
+ void grpc_ares_cleanup(void) {}
47
+
48
+ static void grpc_resolve_address_ares_impl(grpc_exec_ctx* exec_ctx,
49
+ const char* name,
50
+ const char* default_port,
51
+ grpc_pollset_set* interested_parties,
52
+ grpc_closure* on_done,
53
+ grpc_resolved_addresses** addrs) {}
54
+
55
+ void (*grpc_resolve_address_ares)(
56
+ grpc_exec_ctx* exec_ctx, const char* name, const char* default_port,
57
+ grpc_pollset_set* interested_parties, grpc_closure* on_done,
58
+ grpc_resolved_addresses** addrs) = grpc_resolve_address_ares_impl;
59
+
60
+ #endif /* GRPC_ARES != 1 || defined(GRPC_UV) */
@@ -16,6 +16,9 @@
16
16
  *
17
17
  */
18
18
 
19
+ #include <grpc/support/port_platform.h>
20
+
21
+ #include <inttypes.h>
19
22
  #include <string.h>
20
23
 
21
24
  #include <grpc/support/alloc.h>
@@ -24,11 +27,11 @@
24
27
 
25
28
  #include "src/core/ext/filters/client_channel/lb_policy_registry.h"
26
29
  #include "src/core/ext/filters/client_channel/resolver_registry.h"
30
+ #include "src/core/lib/backoff/backoff.h"
27
31
  #include "src/core/lib/channel/channel_args.h"
28
32
  #include "src/core/lib/iomgr/combiner.h"
29
33
  #include "src/core/lib/iomgr/resolve_address.h"
30
34
  #include "src/core/lib/iomgr/timer.h"
31
- #include "src/core/lib/support/backoff.h"
32
35
  #include "src/core/lib/support/env.h"
33
36
  #include "src/core/lib/support/string.h"
34
37
 
@@ -42,13 +45,13 @@ typedef struct {
42
45
  /** base class: must be first */
43
46
  grpc_resolver base;
44
47
  /** name to resolve */
45
- char *name_to_resolve;
48
+ char* name_to_resolve;
46
49
  /** default port to use */
47
- char *default_port;
50
+ char* default_port;
48
51
  /** channel args. */
49
- grpc_channel_args *channel_args;
52
+ grpc_channel_args* channel_args;
50
53
  /** pollset_set to drive the name resolution process */
51
- grpc_pollset_set *interested_parties;
54
+ grpc_pollset_set* interested_parties;
52
55
 
53
56
  /** are we currently resolving? */
54
57
  bool resolving;
@@ -57,82 +60,82 @@ typedef struct {
57
60
  /** which version of the result is current? */
58
61
  int resolved_version;
59
62
  /** pending next completion, or NULL */
60
- grpc_closure *next_completion;
63
+ grpc_closure* next_completion;
61
64
  /** target result address for next completion */
62
- grpc_channel_args **target_result;
65
+ grpc_channel_args** target_result;
63
66
  /** current (fully resolved) result */
64
- grpc_channel_args *resolved_result;
67
+ grpc_channel_args* resolved_result;
65
68
  /** retry timer */
66
69
  bool have_retry_timer;
67
70
  grpc_timer retry_timer;
68
71
  grpc_closure on_retry;
69
72
  /** retry backoff state */
70
- gpr_backoff backoff_state;
73
+ grpc_backoff backoff_state;
71
74
 
72
75
  /** currently resolving addresses */
73
- grpc_resolved_addresses *addresses;
76
+ grpc_resolved_addresses* addresses;
74
77
  } dns_resolver;
75
78
 
76
- static void dns_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *r);
79
+ static void dns_destroy(grpc_exec_ctx* exec_ctx, grpc_resolver* r);
77
80
 
78
- static void dns_start_resolving_locked(grpc_exec_ctx *exec_ctx,
79
- dns_resolver *r);
80
- static void dns_maybe_finish_next_locked(grpc_exec_ctx *exec_ctx,
81
- dns_resolver *r);
81
+ static void dns_start_resolving_locked(grpc_exec_ctx* exec_ctx,
82
+ dns_resolver* r);
83
+ static void dns_maybe_finish_next_locked(grpc_exec_ctx* exec_ctx,
84
+ dns_resolver* r);
82
85
 
83
- static void dns_shutdown_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *r);
84
- static void dns_channel_saw_error_locked(grpc_exec_ctx *exec_ctx,
85
- grpc_resolver *r);
86
- static void dns_next_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *r,
87
- grpc_channel_args **target_result,
88
- grpc_closure *on_complete);
86
+ static void dns_shutdown_locked(grpc_exec_ctx* exec_ctx, grpc_resolver* r);
87
+ static void dns_channel_saw_error_locked(grpc_exec_ctx* exec_ctx,
88
+ grpc_resolver* r);
89
+ static void dns_next_locked(grpc_exec_ctx* exec_ctx, grpc_resolver* r,
90
+ grpc_channel_args** target_result,
91
+ grpc_closure* on_complete);
89
92
 
90
93
  static const grpc_resolver_vtable dns_resolver_vtable = {
91
94
  dns_destroy, dns_shutdown_locked, dns_channel_saw_error_locked,
92
95
  dns_next_locked};
93
96
 
94
- static void dns_shutdown_locked(grpc_exec_ctx *exec_ctx,
95
- grpc_resolver *resolver) {
96
- dns_resolver *r = (dns_resolver *)resolver;
97
+ static void dns_shutdown_locked(grpc_exec_ctx* exec_ctx,
98
+ grpc_resolver* resolver) {
99
+ dns_resolver* r = (dns_resolver*)resolver;
97
100
  if (r->have_retry_timer) {
98
101
  grpc_timer_cancel(exec_ctx, &r->retry_timer);
99
102
  }
100
- if (r->next_completion != NULL) {
101
- *r->target_result = NULL;
103
+ if (r->next_completion != nullptr) {
104
+ *r->target_result = nullptr;
102
105
  GRPC_CLOSURE_SCHED(
103
106
  exec_ctx, r->next_completion,
104
107
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Resolver Shutdown"));
105
- r->next_completion = NULL;
108
+ r->next_completion = nullptr;
106
109
  }
107
110
  }
108
111
 
109
- static void dns_channel_saw_error_locked(grpc_exec_ctx *exec_ctx,
110
- grpc_resolver *resolver) {
111
- dns_resolver *r = (dns_resolver *)resolver;
112
+ static void dns_channel_saw_error_locked(grpc_exec_ctx* exec_ctx,
113
+ grpc_resolver* resolver) {
114
+ dns_resolver* r = (dns_resolver*)resolver;
112
115
  if (!r->resolving) {
113
- gpr_backoff_reset(&r->backoff_state);
116
+ grpc_backoff_reset(&r->backoff_state);
114
117
  dns_start_resolving_locked(exec_ctx, r);
115
118
  }
116
119
  }
117
120
 
118
- static void dns_next_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver,
119
- grpc_channel_args **target_result,
120
- grpc_closure *on_complete) {
121
- dns_resolver *r = (dns_resolver *)resolver;
121
+ static void dns_next_locked(grpc_exec_ctx* exec_ctx, grpc_resolver* resolver,
122
+ grpc_channel_args** target_result,
123
+ grpc_closure* on_complete) {
124
+ dns_resolver* r = (dns_resolver*)resolver;
122
125
  GPR_ASSERT(!r->next_completion);
123
126
  r->next_completion = on_complete;
124
127
  r->target_result = target_result;
125
128
  if (r->resolved_version == 0 && !r->resolving) {
126
- gpr_backoff_reset(&r->backoff_state);
129
+ grpc_backoff_reset(&r->backoff_state);
127
130
  dns_start_resolving_locked(exec_ctx, r);
128
131
  } else {
129
132
  dns_maybe_finish_next_locked(exec_ctx, r);
130
133
  }
131
134
  }
132
135
 
133
- static void dns_on_retry_timer_locked(grpc_exec_ctx *exec_ctx, void *arg,
134
- grpc_error *error) {
135
- dns_resolver *r = (dns_resolver *)arg;
136
+ static void dns_on_retry_timer_locked(grpc_exec_ctx* exec_ctx, void* arg,
137
+ grpc_error* error) {
138
+ dns_resolver* r = (dns_resolver*)arg;
136
139
 
137
140
  r->have_retry_timer = false;
138
141
  if (error == GRPC_ERROR_NONE) {
@@ -144,60 +147,63 @@ static void dns_on_retry_timer_locked(grpc_exec_ctx *exec_ctx, void *arg,
144
147
  GRPC_RESOLVER_UNREF(exec_ctx, &r->base, "retry-timer");
145
148
  }
146
149
 
147
- static void dns_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg,
148
- grpc_error *error) {
149
- dns_resolver *r = (dns_resolver *)arg;
150
- grpc_channel_args *result = NULL;
150
+ static void dns_on_resolved_locked(grpc_exec_ctx* exec_ctx, void* arg,
151
+ grpc_error* error) {
152
+ dns_resolver* r = (dns_resolver*)arg;
153
+ grpc_channel_args* result = nullptr;
151
154
  GPR_ASSERT(r->resolving);
152
155
  r->resolving = false;
153
- if (r->addresses != NULL) {
154
- grpc_lb_addresses *addresses = grpc_lb_addresses_create(
155
- r->addresses->naddrs, NULL /* user_data_vtable */);
156
+ GRPC_ERROR_REF(error);
157
+ error = grpc_error_set_str(error, GRPC_ERROR_STR_TARGET_ADDRESS,
158
+ grpc_slice_from_copied_string(r->name_to_resolve));
159
+ if (r->addresses != nullptr) {
160
+ grpc_lb_addresses* addresses = grpc_lb_addresses_create(
161
+ r->addresses->naddrs, nullptr /* user_data_vtable */);
156
162
  for (size_t i = 0; i < r->addresses->naddrs; ++i) {
157
163
  grpc_lb_addresses_set_address(
158
164
  addresses, i, &r->addresses->addrs[i].addr,
159
165
  r->addresses->addrs[i].len, false /* is_balancer */,
160
- NULL /* balancer_name */, NULL /* user_data */);
166
+ nullptr /* balancer_name */, nullptr /* user_data */);
161
167
  }
162
168
  grpc_arg new_arg = grpc_lb_addresses_create_channel_arg(addresses);
163
169
  result = grpc_channel_args_copy_and_add(r->channel_args, &new_arg, 1);
164
170
  grpc_resolved_addresses_destroy(r->addresses);
165
171
  grpc_lb_addresses_destroy(exec_ctx, addresses);
166
172
  } else {
167
- gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC);
168
- gpr_timespec next_try = gpr_backoff_step(&r->backoff_state, now);
169
- gpr_timespec timeout = gpr_time_sub(next_try, now);
173
+ grpc_millis next_try =
174
+ grpc_backoff_step(exec_ctx, &r->backoff_state).next_attempt_start_time;
175
+ grpc_millis timeout = next_try - grpc_exec_ctx_now(exec_ctx);
170
176
  gpr_log(GPR_INFO, "dns resolution failed (will retry): %s",
171
177
  grpc_error_string(error));
172
178
  GPR_ASSERT(!r->have_retry_timer);
173
179
  r->have_retry_timer = true;
174
180
  GRPC_RESOLVER_REF(&r->base, "retry-timer");
175
- if (gpr_time_cmp(timeout, gpr_time_0(timeout.clock_type)) > 0) {
176
- gpr_log(GPR_DEBUG, "retrying in %" PRId64 ".%09d seconds", timeout.tv_sec,
177
- timeout.tv_nsec);
181
+ if (timeout > 0) {
182
+ gpr_log(GPR_DEBUG, "retrying in %" PRIdPTR " milliseconds", timeout);
178
183
  } else {
179
184
  gpr_log(GPR_DEBUG, "retrying immediately");
180
185
  }
181
186
  GRPC_CLOSURE_INIT(&r->on_retry, dns_on_retry_timer_locked, r,
182
187
  grpc_combiner_scheduler(r->base.combiner));
183
- grpc_timer_init(exec_ctx, &r->retry_timer, next_try, &r->on_retry, now);
188
+ grpc_timer_init(exec_ctx, &r->retry_timer, next_try, &r->on_retry);
184
189
  }
185
- if (r->resolved_result != NULL) {
190
+ if (r->resolved_result != nullptr) {
186
191
  grpc_channel_args_destroy(exec_ctx, r->resolved_result);
187
192
  }
188
193
  r->resolved_result = result;
189
194
  r->resolved_version++;
190
195
  dns_maybe_finish_next_locked(exec_ctx, r);
196
+ GRPC_ERROR_UNREF(error);
191
197
 
192
198
  GRPC_RESOLVER_UNREF(exec_ctx, &r->base, "dns-resolving");
193
199
  }
194
200
 
195
- static void dns_start_resolving_locked(grpc_exec_ctx *exec_ctx,
196
- dns_resolver *r) {
201
+ static void dns_start_resolving_locked(grpc_exec_ctx* exec_ctx,
202
+ dns_resolver* r) {
197
203
  GRPC_RESOLVER_REF(&r->base, "dns-resolving");
198
204
  GPR_ASSERT(!r->resolving);
199
205
  r->resolving = true;
200
- r->addresses = NULL;
206
+ r->addresses = nullptr;
201
207
  grpc_resolve_address(
202
208
  exec_ctx, r->name_to_resolve, r->default_port, r->interested_parties,
203
209
  GRPC_CLOSURE_CREATE(dns_on_resolved_locked, r,
@@ -205,22 +211,22 @@ static void dns_start_resolving_locked(grpc_exec_ctx *exec_ctx,
205
211
  &r->addresses);
206
212
  }
207
213
 
208
- static void dns_maybe_finish_next_locked(grpc_exec_ctx *exec_ctx,
209
- dns_resolver *r) {
210
- if (r->next_completion != NULL &&
214
+ static void dns_maybe_finish_next_locked(grpc_exec_ctx* exec_ctx,
215
+ dns_resolver* r) {
216
+ if (r->next_completion != nullptr &&
211
217
  r->resolved_version != r->published_version) {
212
- *r->target_result = r->resolved_result == NULL
213
- ? NULL
218
+ *r->target_result = r->resolved_result == nullptr
219
+ ? nullptr
214
220
  : grpc_channel_args_copy(r->resolved_result);
215
221
  GRPC_CLOSURE_SCHED(exec_ctx, r->next_completion, GRPC_ERROR_NONE);
216
- r->next_completion = NULL;
222
+ r->next_completion = nullptr;
217
223
  r->published_version = r->resolved_version;
218
224
  }
219
225
  }
220
226
 
221
- static void dns_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *gr) {
222
- dns_resolver *r = (dns_resolver *)gr;
223
- if (r->resolved_result != NULL) {
227
+ static void dns_destroy(grpc_exec_ctx* exec_ctx, grpc_resolver* gr) {
228
+ dns_resolver* r = (dns_resolver*)gr;
229
+ if (r->resolved_result != nullptr) {
224
230
  grpc_channel_args_destroy(exec_ctx, r->resolved_result);
225
231
  }
226
232
  grpc_pollset_set_destroy(exec_ctx, r->interested_parties);
@@ -230,32 +236,32 @@ static void dns_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *gr) {
230
236
  gpr_free(r);
231
237
  }
232
238
 
233
- static grpc_resolver *dns_create(grpc_exec_ctx *exec_ctx,
234
- grpc_resolver_args *args,
235
- const char *default_port) {
239
+ static grpc_resolver* dns_create(grpc_exec_ctx* exec_ctx,
240
+ grpc_resolver_args* args,
241
+ const char* default_port) {
236
242
  if (0 != strcmp(args->uri->authority, "")) {
237
243
  gpr_log(GPR_ERROR, "authority based dns uri's not supported");
238
- return NULL;
244
+ return nullptr;
239
245
  }
240
246
  // Get name from args.
241
- char *path = args->uri->path;
247
+ char* path = args->uri->path;
242
248
  if (path[0] == '/') ++path;
243
249
  // Create resolver.
244
- dns_resolver *r = (dns_resolver *)gpr_zalloc(sizeof(dns_resolver));
250
+ dns_resolver* r = (dns_resolver*)gpr_zalloc(sizeof(dns_resolver));
245
251
  grpc_resolver_init(&r->base, &dns_resolver_vtable, args->combiner);
246
252
  r->name_to_resolve = gpr_strdup(path);
247
253
  r->default_port = gpr_strdup(default_port);
248
254
  r->channel_args = grpc_channel_args_copy(args->args);
249
255
  r->interested_parties = grpc_pollset_set_create();
250
- if (args->pollset_set != NULL) {
256
+ if (args->pollset_set != nullptr) {
251
257
  grpc_pollset_set_add_pollset_set(exec_ctx, r->interested_parties,
252
258
  args->pollset_set);
253
259
  }
254
- gpr_backoff_init(&r->backoff_state, GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS,
255
- GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER,
256
- GRPC_DNS_RECONNECT_JITTER,
257
- GRPC_DNS_MIN_CONNECT_TIMEOUT_SECONDS * 1000,
258
- GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000);
260
+ grpc_backoff_init(
261
+ &r->backoff_state, GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS * 1000,
262
+ GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER, GRPC_DNS_RECONNECT_JITTER,
263
+ GRPC_DNS_MIN_CONNECT_TIMEOUT_SECONDS * 1000,
264
+ GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000);
259
265
  return &r->base;
260
266
  }
261
267
 
@@ -263,19 +269,19 @@ static grpc_resolver *dns_create(grpc_exec_ctx *exec_ctx,
263
269
  * FACTORY
264
270
  */
265
271
 
266
- static void dns_factory_ref(grpc_resolver_factory *factory) {}
272
+ static void dns_factory_ref(grpc_resolver_factory* factory) {}
267
273
 
268
- static void dns_factory_unref(grpc_resolver_factory *factory) {}
274
+ static void dns_factory_unref(grpc_resolver_factory* factory) {}
269
275
 
270
- static grpc_resolver *dns_factory_create_resolver(
271
- grpc_exec_ctx *exec_ctx, grpc_resolver_factory *factory,
272
- grpc_resolver_args *args) {
276
+ static grpc_resolver* dns_factory_create_resolver(
277
+ grpc_exec_ctx* exec_ctx, grpc_resolver_factory* factory,
278
+ grpc_resolver_args* args) {
273
279
  return dns_create(exec_ctx, args, "https");
274
280
  }
275
281
 
276
- static char *dns_factory_get_default_host_name(grpc_resolver_factory *factory,
277
- grpc_uri *uri) {
278
- const char *path = uri->path;
282
+ static char* dns_factory_get_default_host_name(grpc_resolver_factory* factory,
283
+ grpc_uri* uri) {
284
+ const char* path = uri->path;
279
285
  if (path[0] == '/') ++path;
280
286
  return gpr_strdup(path);
281
287
  }
@@ -285,19 +291,19 @@ static const grpc_resolver_factory_vtable dns_factory_vtable = {
285
291
  dns_factory_get_default_host_name, "dns"};
286
292
  static grpc_resolver_factory dns_resolver_factory = {&dns_factory_vtable};
287
293
 
288
- static grpc_resolver_factory *dns_resolver_factory_create() {
294
+ static grpc_resolver_factory* dns_resolver_factory_create() {
289
295
  return &dns_resolver_factory;
290
296
  }
291
297
 
292
- void grpc_resolver_dns_native_init(void) {
293
- char *resolver = gpr_getenv("GRPC_DNS_RESOLVER");
294
- if (resolver != NULL && gpr_stricmp(resolver, "native") == 0) {
298
+ extern "C" void grpc_resolver_dns_native_init(void) {
299
+ char* resolver = gpr_getenv("GRPC_DNS_RESOLVER");
300
+ if (resolver != nullptr && gpr_stricmp(resolver, "native") == 0) {
295
301
  gpr_log(GPR_DEBUG, "Using native dns resolver");
296
302
  grpc_register_resolver_type(dns_resolver_factory_create());
297
303
  } else {
298
- grpc_resolver_factory *existing_factory =
304
+ grpc_resolver_factory* existing_factory =
299
305
  grpc_resolver_factory_lookup("dns");
300
- if (existing_factory == NULL) {
306
+ if (existing_factory == nullptr) {
301
307
  gpr_log(GPR_DEBUG, "Using native dns resolver");
302
308
  grpc_register_resolver_type(dns_resolver_factory_create());
303
309
  } else {
@@ -307,4 +313,4 @@ void grpc_resolver_dns_native_init(void) {
307
313
  gpr_free(resolver);
308
314
  }
309
315
 
310
- void grpc_resolver_dns_native_shutdown(void) {}
316
+ extern "C" void grpc_resolver_dns_native_shutdown(void) {}