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
@@ -22,58 +22,60 @@
22
22
  #include "src/core/ext/filters/client_channel/subchannel.h"
23
23
  #include "src/core/lib/iomgr/iomgr.h"
24
24
 
25
+ #ifdef __cplusplus
26
+ extern "C" {
27
+ #endif
28
+
25
29
  typedef struct grpc_resolver grpc_resolver;
26
30
  typedef struct grpc_resolver_vtable grpc_resolver_vtable;
27
31
 
28
- #ifndef NDEBUG
29
- extern grpc_tracer_flag grpc_trace_resolver_refcount;
30
- #endif
32
+ extern grpc_core::DebugOnlyTraceFlag grpc_trace_resolver_refcount;
31
33
 
32
34
  /** \a grpc_resolver provides \a grpc_channel_args objects to its caller */
33
35
  struct grpc_resolver {
34
- const grpc_resolver_vtable *vtable;
36
+ const grpc_resolver_vtable* vtable;
35
37
  gpr_refcount refs;
36
- grpc_combiner *combiner;
38
+ grpc_combiner* combiner;
37
39
  };
38
40
 
39
41
  struct grpc_resolver_vtable {
40
- void (*destroy)(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver);
41
- void (*shutdown_locked)(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver);
42
- void (*channel_saw_error_locked)(grpc_exec_ctx *exec_ctx,
43
- grpc_resolver *resolver);
44
- void (*next_locked)(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver,
45
- grpc_channel_args **result, grpc_closure *on_complete);
42
+ void (*destroy)(grpc_exec_ctx* exec_ctx, grpc_resolver* resolver);
43
+ void (*shutdown_locked)(grpc_exec_ctx* exec_ctx, grpc_resolver* resolver);
44
+ void (*channel_saw_error_locked)(grpc_exec_ctx* exec_ctx,
45
+ grpc_resolver* resolver);
46
+ void (*next_locked)(grpc_exec_ctx* exec_ctx, grpc_resolver* resolver,
47
+ grpc_channel_args** result, grpc_closure* on_complete);
46
48
  };
47
49
 
48
50
  #ifndef NDEBUG
49
51
  #define GRPC_RESOLVER_REF(p, r) grpc_resolver_ref((p), __FILE__, __LINE__, (r))
50
52
  #define GRPC_RESOLVER_UNREF(e, p, r) \
51
53
  grpc_resolver_unref((e), (p), __FILE__, __LINE__, (r))
52
- void grpc_resolver_ref(grpc_resolver *policy, const char *file, int line,
53
- const char *reason);
54
- void grpc_resolver_unref(grpc_exec_ctx *exec_ctx, grpc_resolver *policy,
55
- const char *file, int line, const char *reason);
54
+ void grpc_resolver_ref(grpc_resolver* policy, const char* file, int line,
55
+ const char* reason);
56
+ void grpc_resolver_unref(grpc_exec_ctx* exec_ctx, grpc_resolver* policy,
57
+ const char* file, int line, const char* reason);
56
58
  #else
57
59
  #define GRPC_RESOLVER_REF(p, r) grpc_resolver_ref((p))
58
60
  #define GRPC_RESOLVER_UNREF(e, p, r) grpc_resolver_unref((e), (p))
59
- void grpc_resolver_ref(grpc_resolver *policy);
60
- void grpc_resolver_unref(grpc_exec_ctx *exec_ctx, grpc_resolver *policy);
61
+ void grpc_resolver_ref(grpc_resolver* policy);
62
+ void grpc_resolver_unref(grpc_exec_ctx* exec_ctx, grpc_resolver* policy);
61
63
  #endif
62
64
 
63
- void grpc_resolver_init(grpc_resolver *resolver,
64
- const grpc_resolver_vtable *vtable,
65
- grpc_combiner *combiner);
65
+ void grpc_resolver_init(grpc_resolver* resolver,
66
+ const grpc_resolver_vtable* vtable,
67
+ grpc_combiner* combiner);
66
68
 
67
- void grpc_resolver_shutdown_locked(grpc_exec_ctx *exec_ctx,
68
- grpc_resolver *resolver);
69
+ void grpc_resolver_shutdown_locked(grpc_exec_ctx* exec_ctx,
70
+ grpc_resolver* resolver);
69
71
 
70
72
  /** Notification that the channel has seen an error on some address.
71
73
  Can be used as a hint that re-resolution is desirable soon.
72
74
 
73
75
  Must be called from the combiner passed as a resolver_arg at construction
74
76
  time.*/
75
- void grpc_resolver_channel_saw_error_locked(grpc_exec_ctx *exec_ctx,
76
- grpc_resolver *resolver);
77
+ void grpc_resolver_channel_saw_error_locked(grpc_exec_ctx* exec_ctx,
78
+ grpc_resolver* resolver);
77
79
 
78
80
  /** Get the next result from the resolver. Expected to set \a *result with
79
81
  new channel args and then schedule \a on_complete for execution.
@@ -83,8 +85,12 @@ void grpc_resolver_channel_saw_error_locked(grpc_exec_ctx *exec_ctx,
83
85
 
84
86
  Must be called from the combiner passed as a resolver_arg at construction
85
87
  time.*/
86
- void grpc_resolver_next_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *resolver,
87
- grpc_channel_args **result,
88
- grpc_closure *on_complete);
88
+ void grpc_resolver_next_locked(grpc_exec_ctx* exec_ctx, grpc_resolver* resolver,
89
+ grpc_channel_args** result,
90
+ grpc_closure* on_complete);
91
+
92
+ #ifdef __cplusplus
93
+ }
94
+ #endif
89
95
 
90
96
  #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_H */
@@ -32,13 +32,13 @@
32
32
  #include "src/core/ext/filters/client_channel/lb_policy_registry.h"
33
33
  #include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h"
34
34
  #include "src/core/ext/filters/client_channel/resolver_registry.h"
35
+ #include "src/core/lib/backoff/backoff.h"
35
36
  #include "src/core/lib/channel/channel_args.h"
36
37
  #include "src/core/lib/iomgr/combiner.h"
37
38
  #include "src/core/lib/iomgr/gethostname.h"
38
39
  #include "src/core/lib/iomgr/resolve_address.h"
39
40
  #include "src/core/lib/iomgr/timer.h"
40
41
  #include "src/core/lib/json/json.h"
41
- #include "src/core/lib/support/backoff.h"
42
42
  #include "src/core/lib/support/env.h"
43
43
  #include "src/core/lib/support/string.h"
44
44
  #include "src/core/lib/transport/service_config.h"
@@ -53,98 +53,98 @@ typedef struct {
53
53
  /** base class: must be first */
54
54
  grpc_resolver base;
55
55
  /** DNS server to use (if not system default) */
56
- char *dns_server;
56
+ char* dns_server;
57
57
  /** name to resolve (usually the same as target_name) */
58
- char *name_to_resolve;
58
+ char* name_to_resolve;
59
59
  /** default port to use */
60
- char *default_port;
60
+ char* default_port;
61
61
  /** channel args. */
62
- grpc_channel_args *channel_args;
62
+ grpc_channel_args* channel_args;
63
63
  /** whether to request the service config */
64
64
  bool request_service_config;
65
65
  /** pollset_set to drive the name resolution process */
66
- grpc_pollset_set *interested_parties;
66
+ grpc_pollset_set* interested_parties;
67
67
 
68
68
  /** Closures used by the combiner */
69
69
  grpc_closure dns_ares_on_retry_timer_locked;
70
70
  grpc_closure dns_ares_on_resolved_locked;
71
71
 
72
72
  /** Combiner guarding the rest of the state */
73
- grpc_combiner *combiner;
73
+ grpc_combiner* combiner;
74
74
  /** are we currently resolving? */
75
75
  bool resolving;
76
76
  /** the pending resolving request */
77
- grpc_ares_request *pending_request;
77
+ grpc_ares_request* pending_request;
78
78
  /** which version of the result have we published? */
79
79
  int published_version;
80
80
  /** which version of the result is current? */
81
81
  int resolved_version;
82
82
  /** pending next completion, or NULL */
83
- grpc_closure *next_completion;
83
+ grpc_closure* next_completion;
84
84
  /** target result address for next completion */
85
- grpc_channel_args **target_result;
85
+ grpc_channel_args** target_result;
86
86
  /** current (fully resolved) result */
87
- grpc_channel_args *resolved_result;
87
+ grpc_channel_args* resolved_result;
88
88
  /** retry timer */
89
89
  bool have_retry_timer;
90
90
  grpc_timer retry_timer;
91
91
  /** retry backoff state */
92
- gpr_backoff backoff_state;
92
+ grpc_backoff backoff_state;
93
93
 
94
94
  /** currently resolving addresses */
95
- grpc_lb_addresses *lb_addresses;
95
+ grpc_lb_addresses* lb_addresses;
96
96
  /** currently resolving service config */
97
- char *service_config_json;
97
+ char* service_config_json;
98
98
  } ares_dns_resolver;
99
99
 
100
- static void dns_ares_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *r);
100
+ static void dns_ares_destroy(grpc_exec_ctx* exec_ctx, grpc_resolver* r);
101
101
 
102
- static void dns_ares_start_resolving_locked(grpc_exec_ctx *exec_ctx,
103
- ares_dns_resolver *r);
104
- static void dns_ares_maybe_finish_next_locked(grpc_exec_ctx *exec_ctx,
105
- ares_dns_resolver *r);
102
+ static void dns_ares_start_resolving_locked(grpc_exec_ctx* exec_ctx,
103
+ ares_dns_resolver* r);
104
+ static void dns_ares_maybe_finish_next_locked(grpc_exec_ctx* exec_ctx,
105
+ ares_dns_resolver* r);
106
106
 
107
- static void dns_ares_shutdown_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *r);
108
- static void dns_ares_channel_saw_error_locked(grpc_exec_ctx *exec_ctx,
109
- grpc_resolver *r);
110
- static void dns_ares_next_locked(grpc_exec_ctx *exec_ctx, grpc_resolver *r,
111
- grpc_channel_args **target_result,
112
- grpc_closure *on_complete);
107
+ static void dns_ares_shutdown_locked(grpc_exec_ctx* exec_ctx, grpc_resolver* r);
108
+ static void dns_ares_channel_saw_error_locked(grpc_exec_ctx* exec_ctx,
109
+ grpc_resolver* r);
110
+ static void dns_ares_next_locked(grpc_exec_ctx* exec_ctx, grpc_resolver* r,
111
+ grpc_channel_args** target_result,
112
+ grpc_closure* on_complete);
113
113
 
114
114
  static const grpc_resolver_vtable dns_ares_resolver_vtable = {
115
115
  dns_ares_destroy, dns_ares_shutdown_locked,
116
116
  dns_ares_channel_saw_error_locked, dns_ares_next_locked};
117
117
 
118
- static void dns_ares_shutdown_locked(grpc_exec_ctx *exec_ctx,
119
- grpc_resolver *resolver) {
120
- ares_dns_resolver *r = (ares_dns_resolver *)resolver;
118
+ static void dns_ares_shutdown_locked(grpc_exec_ctx* exec_ctx,
119
+ grpc_resolver* resolver) {
120
+ ares_dns_resolver* r = (ares_dns_resolver*)resolver;
121
121
  if (r->have_retry_timer) {
122
122
  grpc_timer_cancel(exec_ctx, &r->retry_timer);
123
123
  }
124
- if (r->pending_request != NULL) {
124
+ if (r->pending_request != nullptr) {
125
125
  grpc_cancel_ares_request(exec_ctx, r->pending_request);
126
126
  }
127
- if (r->next_completion != NULL) {
128
- *r->target_result = NULL;
127
+ if (r->next_completion != nullptr) {
128
+ *r->target_result = nullptr;
129
129
  GRPC_CLOSURE_SCHED(
130
130
  exec_ctx, r->next_completion,
131
131
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Resolver Shutdown"));
132
- r->next_completion = NULL;
132
+ r->next_completion = nullptr;
133
133
  }
134
134
  }
135
135
 
136
- static void dns_ares_channel_saw_error_locked(grpc_exec_ctx *exec_ctx,
137
- grpc_resolver *resolver) {
138
- ares_dns_resolver *r = (ares_dns_resolver *)resolver;
136
+ static void dns_ares_channel_saw_error_locked(grpc_exec_ctx* exec_ctx,
137
+ grpc_resolver* resolver) {
138
+ ares_dns_resolver* r = (ares_dns_resolver*)resolver;
139
139
  if (!r->resolving) {
140
- gpr_backoff_reset(&r->backoff_state);
140
+ grpc_backoff_reset(&r->backoff_state);
141
141
  dns_ares_start_resolving_locked(exec_ctx, r);
142
142
  }
143
143
  }
144
144
 
145
- static void dns_ares_on_retry_timer_locked(grpc_exec_ctx *exec_ctx, void *arg,
146
- grpc_error *error) {
147
- ares_dns_resolver *r = (ares_dns_resolver *)arg;
145
+ static void dns_ares_on_retry_timer_locked(grpc_exec_ctx* exec_ctx, void* arg,
146
+ grpc_error* error) {
147
+ ares_dns_resolver* r = (ares_dns_resolver*)arg;
148
148
  r->have_retry_timer = false;
149
149
  if (error == GRPC_ERROR_NONE) {
150
150
  if (!r->resolving) {
@@ -154,8 +154,8 @@ static void dns_ares_on_retry_timer_locked(grpc_exec_ctx *exec_ctx, void *arg,
154
154
  GRPC_RESOLVER_UNREF(exec_ctx, &r->base, "retry-timer");
155
155
  }
156
156
 
157
- static bool value_in_json_array(grpc_json *array, const char *value) {
158
- for (grpc_json *entry = array->child; entry != NULL; entry = entry->next) {
157
+ static bool value_in_json_array(grpc_json* array, const char* value) {
158
+ for (grpc_json* entry = array->child; entry != nullptr; entry = entry->next) {
159
159
  if (entry->type == GRPC_JSON_STRING && strcmp(entry->value, value) == 0) {
160
160
  return true;
161
161
  }
@@ -163,49 +163,50 @@ static bool value_in_json_array(grpc_json *array, const char *value) {
163
163
  return false;
164
164
  }
165
165
 
166
- static char *choose_service_config(char *service_config_choice_json) {
167
- grpc_json *choices_json = grpc_json_parse_string(service_config_choice_json);
168
- if (choices_json == NULL || choices_json->type != GRPC_JSON_ARRAY) {
166
+ static char* choose_service_config(char* service_config_choice_json) {
167
+ grpc_json* choices_json = grpc_json_parse_string(service_config_choice_json);
168
+ if (choices_json == nullptr || choices_json->type != GRPC_JSON_ARRAY) {
169
169
  gpr_log(GPR_ERROR, "cannot parse service config JSON string");
170
- return NULL;
170
+ return nullptr;
171
171
  }
172
- char *service_config = NULL;
173
- for (grpc_json *choice = choices_json->child; choice != NULL;
172
+ char* service_config = nullptr;
173
+ for (grpc_json* choice = choices_json->child; choice != nullptr;
174
174
  choice = choice->next) {
175
175
  if (choice->type != GRPC_JSON_OBJECT) {
176
176
  gpr_log(GPR_ERROR, "cannot parse service config JSON string");
177
177
  break;
178
178
  }
179
- grpc_json *service_config_json = NULL;
180
- for (grpc_json *field = choice->child; field != NULL; field = field->next) {
179
+ grpc_json* service_config_json = nullptr;
180
+ for (grpc_json* field = choice->child; field != nullptr;
181
+ field = field->next) {
181
182
  // Check client language, if specified.
182
183
  if (strcmp(field->key, "clientLanguage") == 0) {
183
184
  if (field->type != GRPC_JSON_ARRAY ||
184
185
  !value_in_json_array(field, "c++")) {
185
- service_config_json = NULL;
186
+ service_config_json = nullptr;
186
187
  break;
187
188
  }
188
189
  }
189
190
  // Check client hostname, if specified.
190
191
  if (strcmp(field->key, "clientHostname") == 0) {
191
- char *hostname = grpc_gethostname();
192
- if (hostname == NULL || field->type != GRPC_JSON_ARRAY ||
192
+ char* hostname = grpc_gethostname();
193
+ if (hostname == nullptr || field->type != GRPC_JSON_ARRAY ||
193
194
  !value_in_json_array(field, hostname)) {
194
- service_config_json = NULL;
195
+ service_config_json = nullptr;
195
196
  break;
196
197
  }
197
198
  }
198
199
  // Check percentage, if specified.
199
200
  if (strcmp(field->key, "percentage") == 0) {
200
201
  if (field->type != GRPC_JSON_NUMBER) {
201
- service_config_json = NULL;
202
+ service_config_json = nullptr;
202
203
  break;
203
204
  }
204
205
  int random_pct = rand() % 100;
205
206
  int percentage;
206
207
  if (sscanf(field->value, "%d", &percentage) != 1 ||
207
208
  random_pct > percentage || percentage == 0) {
208
- service_config_json = NULL;
209
+ service_config_json = nullptr;
209
210
  break;
210
211
  }
211
212
  }
@@ -216,7 +217,7 @@ static char *choose_service_config(char *service_config_choice_json) {
216
217
  }
217
218
  }
218
219
  }
219
- if (service_config_json != NULL) {
220
+ if (service_config_json != nullptr) {
220
221
  service_config = grpc_json_dump_to_string(service_config_json, 0);
221
222
  break;
222
223
  }
@@ -225,39 +226,39 @@ static char *choose_service_config(char *service_config_choice_json) {
225
226
  return service_config;
226
227
  }
227
228
 
228
- static void dns_ares_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg,
229
- grpc_error *error) {
230
- ares_dns_resolver *r = (ares_dns_resolver *)arg;
231
- grpc_channel_args *result = NULL;
229
+ static void dns_ares_on_resolved_locked(grpc_exec_ctx* exec_ctx, void* arg,
230
+ grpc_error* error) {
231
+ ares_dns_resolver* r = (ares_dns_resolver*)arg;
232
+ grpc_channel_args* result = nullptr;
232
233
  GPR_ASSERT(r->resolving);
233
234
  r->resolving = false;
234
- r->pending_request = NULL;
235
- if (r->lb_addresses != NULL) {
236
- static const char *args_to_remove[2];
235
+ r->pending_request = nullptr;
236
+ if (r->lb_addresses != nullptr) {
237
+ static const char* args_to_remove[2];
237
238
  size_t num_args_to_remove = 0;
238
239
  grpc_arg new_args[3];
239
240
  size_t num_args_to_add = 0;
240
241
  new_args[num_args_to_add++] =
241
242
  grpc_lb_addresses_create_channel_arg(r->lb_addresses);
242
- grpc_service_config *service_config = NULL;
243
- char *service_config_string = NULL;
244
- if (r->service_config_json != NULL) {
243
+ grpc_service_config* service_config = nullptr;
244
+ char* service_config_string = nullptr;
245
+ if (r->service_config_json != nullptr) {
245
246
  service_config_string = choose_service_config(r->service_config_json);
246
247
  gpr_free(r->service_config_json);
247
- if (service_config_string != NULL) {
248
+ if (service_config_string != nullptr) {
248
249
  gpr_log(GPR_INFO, "selected service config choice: %s",
249
250
  service_config_string);
250
251
  args_to_remove[num_args_to_remove++] = GRPC_ARG_SERVICE_CONFIG;
251
252
  new_args[num_args_to_add++] = grpc_channel_arg_string_create(
252
- (char *)GRPC_ARG_SERVICE_CONFIG, service_config_string);
253
+ (char*)GRPC_ARG_SERVICE_CONFIG, service_config_string);
253
254
  service_config = grpc_service_config_create(service_config_string);
254
- if (service_config != NULL) {
255
- const char *lb_policy_name =
255
+ if (service_config != nullptr) {
256
+ const char* lb_policy_name =
256
257
  grpc_service_config_get_lb_policy_name(service_config);
257
- if (lb_policy_name != NULL) {
258
+ if (lb_policy_name != nullptr) {
258
259
  args_to_remove[num_args_to_remove++] = GRPC_ARG_LB_POLICY_NAME;
259
260
  new_args[num_args_to_add++] = grpc_channel_arg_string_create(
260
- (char *)GRPC_ARG_LB_POLICY_NAME, (char *)lb_policy_name);
261
+ (char*)GRPC_ARG_LB_POLICY_NAME, (char*)lb_policy_name);
261
262
  }
262
263
  }
263
264
  }
@@ -265,30 +266,29 @@ static void dns_ares_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg,
265
266
  result = grpc_channel_args_copy_and_add_and_remove(
266
267
  r->channel_args, args_to_remove, num_args_to_remove, new_args,
267
268
  num_args_to_add);
268
- if (service_config != NULL) grpc_service_config_destroy(service_config);
269
+ if (service_config != nullptr) grpc_service_config_destroy(service_config);
269
270
  gpr_free(service_config_string);
270
271
  grpc_lb_addresses_destroy(exec_ctx, r->lb_addresses);
271
272
  } else {
272
- const char *msg = grpc_error_string(error);
273
+ const char* msg = grpc_error_string(error);
273
274
  gpr_log(GPR_DEBUG, "dns resolution failed: %s", msg);
274
- gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC);
275
- gpr_timespec next_try = gpr_backoff_step(&r->backoff_state, now);
276
- gpr_timespec timeout = gpr_time_sub(next_try, now);
275
+ grpc_millis next_try =
276
+ grpc_backoff_step(exec_ctx, &r->backoff_state).next_attempt_start_time;
277
+ grpc_millis timeout = next_try - grpc_exec_ctx_now(exec_ctx);
277
278
  gpr_log(GPR_INFO, "dns resolution failed (will retry): %s",
278
279
  grpc_error_string(error));
279
280
  GPR_ASSERT(!r->have_retry_timer);
280
281
  r->have_retry_timer = true;
281
282
  GRPC_RESOLVER_REF(&r->base, "retry-timer");
282
- if (gpr_time_cmp(timeout, gpr_time_0(timeout.clock_type)) > 0) {
283
- gpr_log(GPR_DEBUG, "retrying in %" PRId64 ".%09d seconds", timeout.tv_sec,
284
- timeout.tv_nsec);
283
+ if (timeout > 0) {
284
+ gpr_log(GPR_DEBUG, "retrying in %" PRIdPTR " milliseconds", timeout);
285
285
  } else {
286
286
  gpr_log(GPR_DEBUG, "retrying immediately");
287
287
  }
288
288
  grpc_timer_init(exec_ctx, &r->retry_timer, next_try,
289
- &r->dns_ares_on_retry_timer_locked, now);
289
+ &r->dns_ares_on_retry_timer_locked);
290
290
  }
291
- if (r->resolved_result != NULL) {
291
+ if (r->resolved_result != nullptr) {
292
292
  grpc_channel_args_destroy(exec_ctx, r->resolved_result);
293
293
  }
294
294
  r->resolved_result = result;
@@ -297,55 +297,55 @@ static void dns_ares_on_resolved_locked(grpc_exec_ctx *exec_ctx, void *arg,
297
297
  GRPC_RESOLVER_UNREF(exec_ctx, &r->base, "dns-resolving");
298
298
  }
299
299
 
300
- static void dns_ares_next_locked(grpc_exec_ctx *exec_ctx,
301
- grpc_resolver *resolver,
302
- grpc_channel_args **target_result,
303
- grpc_closure *on_complete) {
300
+ static void dns_ares_next_locked(grpc_exec_ctx* exec_ctx,
301
+ grpc_resolver* resolver,
302
+ grpc_channel_args** target_result,
303
+ grpc_closure* on_complete) {
304
304
  gpr_log(GPR_DEBUG, "dns_ares_next is called.");
305
- ares_dns_resolver *r = (ares_dns_resolver *)resolver;
305
+ ares_dns_resolver* r = (ares_dns_resolver*)resolver;
306
306
  GPR_ASSERT(!r->next_completion);
307
307
  r->next_completion = on_complete;
308
308
  r->target_result = target_result;
309
309
  if (r->resolved_version == 0 && !r->resolving) {
310
- gpr_backoff_reset(&r->backoff_state);
310
+ grpc_backoff_reset(&r->backoff_state);
311
311
  dns_ares_start_resolving_locked(exec_ctx, r);
312
312
  } else {
313
313
  dns_ares_maybe_finish_next_locked(exec_ctx, r);
314
314
  }
315
315
  }
316
316
 
317
- static void dns_ares_start_resolving_locked(grpc_exec_ctx *exec_ctx,
318
- ares_dns_resolver *r) {
317
+ static void dns_ares_start_resolving_locked(grpc_exec_ctx* exec_ctx,
318
+ ares_dns_resolver* r) {
319
319
  GRPC_RESOLVER_REF(&r->base, "dns-resolving");
320
320
  GPR_ASSERT(!r->resolving);
321
321
  r->resolving = true;
322
- r->lb_addresses = NULL;
323
- r->service_config_json = NULL;
322
+ r->lb_addresses = nullptr;
323
+ r->service_config_json = nullptr;
324
324
  r->pending_request = grpc_dns_lookup_ares(
325
325
  exec_ctx, r->dns_server, r->name_to_resolve, r->default_port,
326
326
  r->interested_parties, &r->dns_ares_on_resolved_locked, &r->lb_addresses,
327
327
  true /* check_grpclb */,
328
- r->request_service_config ? &r->service_config_json : NULL);
328
+ r->request_service_config ? &r->service_config_json : nullptr);
329
329
  }
330
330
 
331
- static void dns_ares_maybe_finish_next_locked(grpc_exec_ctx *exec_ctx,
332
- ares_dns_resolver *r) {
333
- if (r->next_completion != NULL &&
331
+ static void dns_ares_maybe_finish_next_locked(grpc_exec_ctx* exec_ctx,
332
+ ares_dns_resolver* r) {
333
+ if (r->next_completion != nullptr &&
334
334
  r->resolved_version != r->published_version) {
335
- *r->target_result = r->resolved_result == NULL
336
- ? NULL
335
+ *r->target_result = r->resolved_result == nullptr
336
+ ? nullptr
337
337
  : grpc_channel_args_copy(r->resolved_result);
338
338
  gpr_log(GPR_DEBUG, "dns_ares_maybe_finish_next_locked");
339
339
  GRPC_CLOSURE_SCHED(exec_ctx, r->next_completion, GRPC_ERROR_NONE);
340
- r->next_completion = NULL;
340
+ r->next_completion = nullptr;
341
341
  r->published_version = r->resolved_version;
342
342
  }
343
343
  }
344
344
 
345
- static void dns_ares_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *gr) {
345
+ static void dns_ares_destroy(grpc_exec_ctx* exec_ctx, grpc_resolver* gr) {
346
346
  gpr_log(GPR_DEBUG, "dns_ares_destroy");
347
- ares_dns_resolver *r = (ares_dns_resolver *)gr;
348
- if (r->resolved_result != NULL) {
347
+ ares_dns_resolver* r = (ares_dns_resolver*)gr;
348
+ if (r->resolved_result != nullptr) {
349
349
  grpc_channel_args_destroy(exec_ctx, r->resolved_result);
350
350
  }
351
351
  grpc_pollset_set_destroy(exec_ctx, r->interested_parties);
@@ -356,15 +356,15 @@ static void dns_ares_destroy(grpc_exec_ctx *exec_ctx, grpc_resolver *gr) {
356
356
  gpr_free(r);
357
357
  }
358
358
 
359
- static grpc_resolver *dns_ares_create(grpc_exec_ctx *exec_ctx,
360
- grpc_resolver_args *args,
361
- const char *default_port) {
359
+ static grpc_resolver* dns_ares_create(grpc_exec_ctx* exec_ctx,
360
+ grpc_resolver_args* args,
361
+ const char* default_port) {
362
362
  /* Get name from args. */
363
- const char *path = args->uri->path;
363
+ const char* path = args->uri->path;
364
364
  if (path[0] == '/') ++path;
365
365
  /* Create resolver. */
366
- ares_dns_resolver *r =
367
- (ares_dns_resolver *)gpr_zalloc(sizeof(ares_dns_resolver));
366
+ ares_dns_resolver* r =
367
+ (ares_dns_resolver*)gpr_zalloc(sizeof(ares_dns_resolver));
368
368
  grpc_resolver_init(&r->base, &dns_ares_resolver_vtable, args->combiner);
369
369
  if (0 != strcmp(args->uri->authority, "")) {
370
370
  r->dns_server = gpr_strdup(args->uri->authority);
@@ -372,20 +372,20 @@ static grpc_resolver *dns_ares_create(grpc_exec_ctx *exec_ctx,
372
372
  r->name_to_resolve = gpr_strdup(path);
373
373
  r->default_port = gpr_strdup(default_port);
374
374
  r->channel_args = grpc_channel_args_copy(args->args);
375
- const grpc_arg *arg = grpc_channel_args_find(
375
+ const grpc_arg* arg = grpc_channel_args_find(
376
376
  r->channel_args, GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION);
377
377
  r->request_service_config = !grpc_channel_arg_get_integer(
378
378
  arg, (grpc_integer_options){false, false, true});
379
379
  r->interested_parties = grpc_pollset_set_create();
380
- if (args->pollset_set != NULL) {
380
+ if (args->pollset_set != nullptr) {
381
381
  grpc_pollset_set_add_pollset_set(exec_ctx, r->interested_parties,
382
382
  args->pollset_set);
383
383
  }
384
- gpr_backoff_init(&r->backoff_state, GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS,
385
- GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER,
386
- GRPC_DNS_RECONNECT_JITTER,
387
- GRPC_DNS_MIN_CONNECT_TIMEOUT_SECONDS * 1000,
388
- GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000);
384
+ grpc_backoff_init(
385
+ &r->backoff_state, GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS * 1000,
386
+ GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER, GRPC_DNS_RECONNECT_JITTER,
387
+ GRPC_DNS_MIN_CONNECT_TIMEOUT_SECONDS * 1000,
388
+ GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000);
389
389
  GRPC_CLOSURE_INIT(&r->dns_ares_on_retry_timer_locked,
390
390
  dns_ares_on_retry_timer_locked, r,
391
391
  grpc_combiner_scheduler(r->base.combiner));
@@ -399,19 +399,19 @@ static grpc_resolver *dns_ares_create(grpc_exec_ctx *exec_ctx,
399
399
  * FACTORY
400
400
  */
401
401
 
402
- static void dns_ares_factory_ref(grpc_resolver_factory *factory) {}
402
+ static void dns_ares_factory_ref(grpc_resolver_factory* factory) {}
403
403
 
404
- static void dns_ares_factory_unref(grpc_resolver_factory *factory) {}
404
+ static void dns_ares_factory_unref(grpc_resolver_factory* factory) {}
405
405
 
406
- static grpc_resolver *dns_factory_create_resolver(
407
- grpc_exec_ctx *exec_ctx, grpc_resolver_factory *factory,
408
- grpc_resolver_args *args) {
406
+ static grpc_resolver* dns_factory_create_resolver(
407
+ grpc_exec_ctx* exec_ctx, grpc_resolver_factory* factory,
408
+ grpc_resolver_args* args) {
409
409
  return dns_ares_create(exec_ctx, args, "https");
410
410
  }
411
411
 
412
- static char *dns_ares_factory_get_default_host_name(
413
- grpc_resolver_factory *factory, grpc_uri *uri) {
414
- const char *path = uri->path;
412
+ static char* dns_ares_factory_get_default_host_name(
413
+ grpc_resolver_factory* factory, grpc_uri* uri) {
414
+ const char* path = uri->path;
415
415
  if (path[0] == '/') ++path;
416
416
  return gpr_strdup(path);
417
417
  }
@@ -421,16 +421,16 @@ static const grpc_resolver_factory_vtable dns_ares_factory_vtable = {
421
421
  dns_ares_factory_get_default_host_name, "dns"};
422
422
  static grpc_resolver_factory dns_resolver_factory = {&dns_ares_factory_vtable};
423
423
 
424
- static grpc_resolver_factory *dns_ares_resolver_factory_create() {
424
+ static grpc_resolver_factory* dns_ares_resolver_factory_create() {
425
425
  return &dns_resolver_factory;
426
426
  }
427
427
 
428
- void grpc_resolver_dns_ares_init(void) {
429
- char *resolver = gpr_getenv("GRPC_DNS_RESOLVER");
428
+ extern "C" void grpc_resolver_dns_ares_init(void) {
429
+ char* resolver = gpr_getenv("GRPC_DNS_RESOLVER");
430
430
  /* TODO(zyc): Turn on c-ares based resolver by default after the address
431
431
  sorter and the CNAME support are added. */
432
- if (resolver != NULL && gpr_stricmp(resolver, "ares") == 0) {
433
- grpc_error *error = grpc_ares_init();
432
+ if (resolver != nullptr && gpr_stricmp(resolver, "ares") == 0) {
433
+ grpc_error* error = grpc_ares_init();
434
434
  if (error != GRPC_ERROR_NONE) {
435
435
  GRPC_LOG_IF_ERROR("ares_library_init() failed", error);
436
436
  return;
@@ -441,9 +441,9 @@ void grpc_resolver_dns_ares_init(void) {
441
441
  gpr_free(resolver);
442
442
  }
443
443
 
444
- void grpc_resolver_dns_ares_shutdown(void) {
445
- char *resolver = gpr_getenv("GRPC_DNS_RESOLVER");
446
- if (resolver != NULL && gpr_stricmp(resolver, "ares") == 0) {
444
+ extern "C" void grpc_resolver_dns_ares_shutdown(void) {
445
+ char* resolver = gpr_getenv("GRPC_DNS_RESOLVER");
446
+ if (resolver != nullptr && gpr_stricmp(resolver, "ares") == 0) {
447
447
  grpc_ares_cleanup();
448
448
  }
449
449
  gpr_free(resolver);
@@ -451,8 +451,8 @@ void grpc_resolver_dns_ares_shutdown(void) {
451
451
 
452
452
  #else /* GRPC_ARES == 1 && !defined(GRPC_UV) */
453
453
 
454
- void grpc_resolver_dns_ares_init(void) {}
454
+ extern "C" void grpc_resolver_dns_ares_init(void) {}
455
455
 
456
- void grpc_resolver_dns_ares_shutdown(void) {}
456
+ extern "C" void grpc_resolver_dns_ares_shutdown(void) {}
457
457
 
458
458
  #endif /* GRPC_ARES == 1 && !defined(GRPC_UV) */