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
@@ -23,11 +23,15 @@
23
23
  #include "src/core/ext/filters/client_channel/resolver.h"
24
24
  #include "src/core/lib/channel/channel_stack.h"
25
25
 
26
- extern grpc_tracer_flag grpc_client_channel_trace;
26
+ extern grpc_core::TraceFlag grpc_client_channel_trace;
27
27
 
28
28
  // Channel arg key for server URI string.
29
29
  #define GRPC_ARG_SERVER_URI "grpc.server_uri"
30
30
 
31
+ #ifdef __cplusplus
32
+ extern "C" {
33
+ #endif
34
+
31
35
  /* A client channel is a channel that begins disconnected, and can connect
32
36
  to some endpoint on demand. If that endpoint disconnects, it will be
33
37
  connected to again later.
@@ -38,18 +42,22 @@ extern grpc_tracer_flag grpc_client_channel_trace;
38
42
  extern const grpc_channel_filter grpc_client_channel_filter;
39
43
 
40
44
  grpc_connectivity_state grpc_client_channel_check_connectivity_state(
41
- grpc_exec_ctx *exec_ctx, grpc_channel_element *elem, int try_to_connect);
45
+ grpc_exec_ctx* exec_ctx, grpc_channel_element* elem, int try_to_connect);
42
46
 
43
47
  int grpc_client_channel_num_external_connectivity_watchers(
44
- grpc_channel_element *elem);
48
+ grpc_channel_element* elem);
45
49
 
46
50
  void grpc_client_channel_watch_connectivity_state(
47
- grpc_exec_ctx *exec_ctx, grpc_channel_element *elem,
48
- grpc_polling_entity pollent, grpc_connectivity_state *state,
49
- grpc_closure *on_complete, grpc_closure *watcher_timer_init);
51
+ grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
52
+ grpc_polling_entity pollent, grpc_connectivity_state* state,
53
+ grpc_closure* on_complete, grpc_closure* watcher_timer_init);
50
54
 
51
55
  /* Debug helper: pull the subchannel call from a call stack element */
52
- grpc_subchannel_call *grpc_client_channel_get_subchannel_call(
53
- grpc_call_element *elem);
56
+ grpc_subchannel_call* grpc_client_channel_get_subchannel_call(
57
+ grpc_call_element* elem);
58
+
59
+ #ifdef __cplusplus
60
+ }
61
+ #endif
54
62
 
55
63
  #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H */
@@ -27,6 +27,10 @@
27
27
  // Channel arg key for client channel factory.
28
28
  #define GRPC_ARG_CLIENT_CHANNEL_FACTORY "grpc.client_channel_factory"
29
29
 
30
+ #ifdef __cplusplus
31
+ extern "C" {
32
+ #endif
33
+
30
34
  typedef struct grpc_client_channel_factory grpc_client_channel_factory;
31
35
  typedef struct grpc_client_channel_factory_vtable
32
36
  grpc_client_channel_factory_vtable;
@@ -40,38 +44,42 @@ typedef enum {
40
44
  /** Constructor for new configured channels.
41
45
  Creating decorators around this type is encouraged to adapt behavior. */
42
46
  struct grpc_client_channel_factory {
43
- const grpc_client_channel_factory_vtable *vtable;
47
+ const grpc_client_channel_factory_vtable* vtable;
44
48
  };
45
49
 
46
50
  struct grpc_client_channel_factory_vtable {
47
- void (*ref)(grpc_client_channel_factory *factory);
48
- void (*unref)(grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory);
49
- grpc_subchannel *(*create_subchannel)(grpc_exec_ctx *exec_ctx,
50
- grpc_client_channel_factory *factory,
51
- const grpc_subchannel_args *args);
52
- grpc_channel *(*create_client_channel)(grpc_exec_ctx *exec_ctx,
53
- grpc_client_channel_factory *factory,
54
- const char *target,
51
+ void (*ref)(grpc_client_channel_factory* factory);
52
+ void (*unref)(grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory);
53
+ grpc_subchannel* (*create_subchannel)(grpc_exec_ctx* exec_ctx,
54
+ grpc_client_channel_factory* factory,
55
+ const grpc_subchannel_args* args);
56
+ grpc_channel* (*create_client_channel)(grpc_exec_ctx* exec_ctx,
57
+ grpc_client_channel_factory* factory,
58
+ const char* target,
55
59
  grpc_client_channel_type type,
56
- const grpc_channel_args *args);
60
+ const grpc_channel_args* args);
57
61
  };
58
62
 
59
- void grpc_client_channel_factory_ref(grpc_client_channel_factory *factory);
60
- void grpc_client_channel_factory_unref(grpc_exec_ctx *exec_ctx,
61
- grpc_client_channel_factory *factory);
63
+ void grpc_client_channel_factory_ref(grpc_client_channel_factory* factory);
64
+ void grpc_client_channel_factory_unref(grpc_exec_ctx* exec_ctx,
65
+ grpc_client_channel_factory* factory);
62
66
 
63
67
  /** Create a new grpc_subchannel */
64
- grpc_subchannel *grpc_client_channel_factory_create_subchannel(
65
- grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory,
66
- const grpc_subchannel_args *args);
68
+ grpc_subchannel* grpc_client_channel_factory_create_subchannel(
69
+ grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory,
70
+ const grpc_subchannel_args* args);
67
71
 
68
72
  /** Create a new grpc_channel */
69
- grpc_channel *grpc_client_channel_factory_create_channel(
70
- grpc_exec_ctx *exec_ctx, grpc_client_channel_factory *factory,
71
- const char *target, grpc_client_channel_type type,
72
- const grpc_channel_args *args);
73
+ grpc_channel* grpc_client_channel_factory_create_channel(
74
+ grpc_exec_ctx* exec_ctx, grpc_client_channel_factory* factory,
75
+ const char* target, grpc_client_channel_type type,
76
+ const grpc_channel_args* args);
73
77
 
74
78
  grpc_arg grpc_client_channel_factory_create_channel_arg(
75
- grpc_client_channel_factory *factory);
79
+ grpc_client_channel_factory* factory);
80
+
81
+ #ifdef __cplusplus
82
+ }
83
+ #endif
76
84
 
77
85
  #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H */
@@ -34,16 +34,16 @@
34
34
  #include "src/core/ext/filters/client_channel/subchannel_index.h"
35
35
  #include "src/core/lib/surface/channel_init.h"
36
36
 
37
- static bool append_filter(grpc_exec_ctx *exec_ctx,
38
- grpc_channel_stack_builder *builder, void *arg) {
37
+ static bool append_filter(grpc_exec_ctx* exec_ctx,
38
+ grpc_channel_stack_builder* builder, void* arg) {
39
39
  return grpc_channel_stack_builder_append_filter(
40
- builder, (const grpc_channel_filter *)arg, NULL, NULL);
40
+ builder, (const grpc_channel_filter*)arg, nullptr, nullptr);
41
41
  }
42
42
 
43
- static bool set_default_host_if_unset(grpc_exec_ctx *exec_ctx,
44
- grpc_channel_stack_builder *builder,
45
- void *unused) {
46
- const grpc_channel_args *args =
43
+ static bool set_default_host_if_unset(grpc_exec_ctx* exec_ctx,
44
+ grpc_channel_stack_builder* builder,
45
+ void* unused) {
46
+ const grpc_channel_args* args =
47
47
  grpc_channel_stack_builder_get_channel_arguments(builder);
48
48
  for (size_t i = 0; i < args->num_args; i++) {
49
49
  if (0 == strcmp(args->args[i].key, GRPC_ARG_DEFAULT_AUTHORITY) ||
@@ -51,12 +51,12 @@ static bool set_default_host_if_unset(grpc_exec_ctx *exec_ctx,
51
51
  return true;
52
52
  }
53
53
  }
54
- char *default_authority = grpc_get_default_authority(
54
+ char* default_authority = grpc_get_default_authority(
55
55
  exec_ctx, grpc_channel_stack_builder_get_target(builder));
56
- if (default_authority != NULL) {
56
+ if (default_authority != nullptr) {
57
57
  grpc_arg arg = grpc_channel_arg_string_create(
58
- (char *)GRPC_ARG_DEFAULT_AUTHORITY, default_authority);
59
- grpc_channel_args *new_args = grpc_channel_args_copy_and_add(args, &arg, 1);
58
+ (char*)GRPC_ARG_DEFAULT_AUTHORITY, default_authority);
59
+ grpc_channel_args* new_args = grpc_channel_args_copy_and_add(args, &arg, 1);
60
60
  grpc_channel_stack_builder_set_channel_arguments(exec_ctx, builder,
61
61
  new_args);
62
62
  gpr_free(default_authority);
@@ -65,7 +65,7 @@ static bool set_default_host_if_unset(grpc_exec_ctx *exec_ctx,
65
65
  return true;
66
66
  }
67
67
 
68
- void grpc_client_channel_init(void) {
68
+ extern "C" void grpc_client_channel_init(void) {
69
69
  grpc_lb_policy_registry_init();
70
70
  grpc_resolver_registry_init();
71
71
  grpc_retry_throttle_map_init();
@@ -73,18 +73,14 @@ void grpc_client_channel_init(void) {
73
73
  grpc_register_http_proxy_mapper();
74
74
  grpc_subchannel_index_init();
75
75
  grpc_channel_init_register_stage(GRPC_CLIENT_CHANNEL, INT_MIN,
76
- set_default_host_if_unset, NULL);
76
+ set_default_host_if_unset, nullptr);
77
77
  grpc_channel_init_register_stage(
78
78
  GRPC_CLIENT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, append_filter,
79
- (void *)&grpc_client_channel_filter);
79
+ (void*)&grpc_client_channel_filter);
80
80
  grpc_http_connect_register_handshaker_factory();
81
- grpc_register_tracer(&grpc_client_channel_trace);
82
- #ifndef NDEBUG
83
- grpc_register_tracer(&grpc_trace_resolver_refcount);
84
- #endif
85
81
  }
86
82
 
87
- void grpc_client_channel_shutdown(void) {
83
+ extern "C" void grpc_client_channel_shutdown(void) {
88
84
  grpc_subchannel_index_shutdown();
89
85
  grpc_channel_init_shutdown();
90
86
  grpc_proxy_mapper_registry_shutdown();
@@ -23,51 +23,59 @@
23
23
  #include "src/core/lib/iomgr/resolve_address.h"
24
24
  #include "src/core/lib/transport/transport.h"
25
25
 
26
+ #ifdef __cplusplus
27
+ extern "C" {
28
+ #endif
29
+
26
30
  typedef struct grpc_connector grpc_connector;
27
31
  typedef struct grpc_connector_vtable grpc_connector_vtable;
28
32
 
29
33
  struct grpc_connector {
30
- const grpc_connector_vtable *vtable;
34
+ const grpc_connector_vtable* vtable;
31
35
  };
32
36
 
33
37
  typedef struct {
34
38
  /** set of pollsets interested in this connection */
35
- grpc_pollset_set *interested_parties;
39
+ grpc_pollset_set* interested_parties;
36
40
  /** deadline for connection */
37
- gpr_timespec deadline;
41
+ grpc_millis deadline;
38
42
  /** channel arguments (to be passed to transport) */
39
- const grpc_channel_args *channel_args;
43
+ const grpc_channel_args* channel_args;
40
44
  } grpc_connect_in_args;
41
45
 
42
46
  typedef struct {
43
47
  /** the connected transport */
44
- grpc_transport *transport;
48
+ grpc_transport* transport;
45
49
 
46
50
  /** channel arguments (to be passed to the filters) */
47
- grpc_channel_args *channel_args;
51
+ grpc_channel_args* channel_args;
48
52
  } grpc_connect_out_args;
49
53
 
50
54
  struct grpc_connector_vtable {
51
- void (*ref)(grpc_connector *connector);
52
- void (*unref)(grpc_exec_ctx *exec_ctx, grpc_connector *connector);
55
+ void (*ref)(grpc_connector* connector);
56
+ void (*unref)(grpc_exec_ctx* exec_ctx, grpc_connector* connector);
53
57
  /** Implementation of grpc_connector_shutdown */
54
- void (*shutdown)(grpc_exec_ctx *exec_ctx, grpc_connector *connector,
55
- grpc_error *why);
58
+ void (*shutdown)(grpc_exec_ctx* exec_ctx, grpc_connector* connector,
59
+ grpc_error* why);
56
60
  /** Implementation of grpc_connector_connect */
57
- void (*connect)(grpc_exec_ctx *exec_ctx, grpc_connector *connector,
58
- const grpc_connect_in_args *in_args,
59
- grpc_connect_out_args *out_args, grpc_closure *notify);
61
+ void (*connect)(grpc_exec_ctx* exec_ctx, grpc_connector* connector,
62
+ const grpc_connect_in_args* in_args,
63
+ grpc_connect_out_args* out_args, grpc_closure* notify);
60
64
  };
61
65
 
62
- grpc_connector *grpc_connector_ref(grpc_connector *connector);
63
- void grpc_connector_unref(grpc_exec_ctx *exec_ctx, grpc_connector *connector);
66
+ grpc_connector* grpc_connector_ref(grpc_connector* connector);
67
+ void grpc_connector_unref(grpc_exec_ctx* exec_ctx, grpc_connector* connector);
64
68
  /** Connect using the connector: max one outstanding call at a time */
65
- void grpc_connector_connect(grpc_exec_ctx *exec_ctx, grpc_connector *connector,
66
- const grpc_connect_in_args *in_args,
67
- grpc_connect_out_args *out_args,
68
- grpc_closure *notify);
69
+ void grpc_connector_connect(grpc_exec_ctx* exec_ctx, grpc_connector* connector,
70
+ const grpc_connect_in_args* in_args,
71
+ grpc_connect_out_args* out_args,
72
+ grpc_closure* notify);
69
73
  /** Cancel any pending connection */
70
- void grpc_connector_shutdown(grpc_exec_ctx *exec_ctx, grpc_connector *connector,
71
- grpc_error *why);
74
+ void grpc_connector_shutdown(grpc_exec_ctx* exec_ctx, grpc_connector* connector,
75
+ grpc_error* why);
76
+
77
+ #ifdef __cplusplus
78
+ }
79
+ #endif
72
80
 
73
81
  #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H */
@@ -65,10 +65,10 @@ static void http_connect_handshaker_unref(grpc_exec_ctx* exec_ctx,
65
65
  http_connect_handshaker* handshaker) {
66
66
  if (gpr_unref(&handshaker->refcount)) {
67
67
  gpr_mu_destroy(&handshaker->mu);
68
- if (handshaker->endpoint_to_destroy != NULL) {
68
+ if (handshaker->endpoint_to_destroy != nullptr) {
69
69
  grpc_endpoint_destroy(exec_ctx, handshaker->endpoint_to_destroy);
70
70
  }
71
- if (handshaker->read_buffer_to_destroy != NULL) {
71
+ if (handshaker->read_buffer_to_destroy != nullptr) {
72
72
  grpc_slice_buffer_destroy_internal(exec_ctx,
73
73
  handshaker->read_buffer_to_destroy);
74
74
  gpr_free(handshaker->read_buffer_to_destroy);
@@ -85,11 +85,11 @@ static void http_connect_handshaker_unref(grpc_exec_ctx* exec_ctx,
85
85
  static void cleanup_args_for_failure_locked(
86
86
  grpc_exec_ctx* exec_ctx, http_connect_handshaker* handshaker) {
87
87
  handshaker->endpoint_to_destroy = handshaker->args->endpoint;
88
- handshaker->args->endpoint = NULL;
88
+ handshaker->args->endpoint = nullptr;
89
89
  handshaker->read_buffer_to_destroy = handshaker->args->read_buffer;
90
- handshaker->args->read_buffer = NULL;
90
+ handshaker->args->read_buffer = nullptr;
91
91
  grpc_channel_args_destroy(exec_ctx, handshaker->args->args);
92
- handshaker->args->args = NULL;
92
+ handshaker->args->args = nullptr;
93
93
  }
94
94
 
95
95
  // If the handshake failed or we're shutting down, clean up and invoke the
@@ -260,7 +260,7 @@ static void http_connect_handshaker_do_handshake(
260
260
  // If not found, invoke on_handshake_done without doing anything.
261
261
  const grpc_arg* arg =
262
262
  grpc_channel_args_find(args->args, GRPC_ARG_HTTP_CONNECT_SERVER);
263
- if (arg == NULL) {
263
+ if (arg == nullptr) {
264
264
  // Set shutdown to true so that subsequent calls to
265
265
  // http_connect_handshaker_shutdown() do nothing.
266
266
  gpr_mu_lock(&handshaker->mu);
@@ -273,11 +273,11 @@ static void http_connect_handshaker_do_handshake(
273
273
  char* server_name = arg->value.string;
274
274
  // Get headers from channel args.
275
275
  arg = grpc_channel_args_find(args->args, GRPC_ARG_HTTP_CONNECT_HEADERS);
276
- grpc_http_header* headers = NULL;
276
+ grpc_http_header* headers = nullptr;
277
277
  size_t num_headers = 0;
278
- char** header_strings = NULL;
278
+ char** header_strings = nullptr;
279
279
  size_t num_header_strings = 0;
280
- if (arg != NULL) {
280
+ if (arg != nullptr) {
281
281
  GPR_ASSERT(arg->type == GRPC_ARG_STRING);
282
282
  gpr_string_split(arg->value.string, "\n", &header_strings,
283
283
  &num_header_strings);
@@ -285,7 +285,7 @@ static void http_connect_handshaker_do_handshake(
285
285
  num_header_strings);
286
286
  for (size_t i = 0; i < num_header_strings; ++i) {
287
287
  char* sep = strchr(header_strings[i], ':');
288
- if (sep == NULL) {
288
+ if (sep == nullptr) {
289
289
  gpr_log(GPR_ERROR, "skipping unparseable HTTP CONNECT header: %s",
290
290
  header_strings[i]);
291
291
  continue;
@@ -28,7 +28,15 @@
28
28
  /// seperated by colons.
29
29
  #define GRPC_ARG_HTTP_CONNECT_HEADERS "grpc.http_connect_headers"
30
30
 
31
+ #ifdef __cplusplus
32
+ extern "C" {
33
+ #endif
34
+
31
35
  /// Registers handshaker factory.
32
36
  void grpc_http_connect_register_handshaker_factory();
33
37
 
38
+ #ifdef __cplusplus
39
+ }
40
+ #endif
41
+
34
42
  #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_CONNECT_HANDSHAKER_H */
@@ -41,15 +41,15 @@
41
41
  * responsibility to gpr_free user_cred.
42
42
  */
43
43
  static char* get_http_proxy_server(grpc_exec_ctx* exec_ctx, char** user_cred) {
44
- GPR_ASSERT(user_cred != NULL);
45
- char* proxy_name = NULL;
44
+ GPR_ASSERT(user_cred != nullptr);
45
+ char* proxy_name = nullptr;
46
46
  char* uri_str = gpr_getenv("http_proxy");
47
- char** authority_strs = NULL;
47
+ char** authority_strs = nullptr;
48
48
  size_t authority_nstrs;
49
- if (uri_str == NULL) return NULL;
49
+ if (uri_str == nullptr) return nullptr;
50
50
  grpc_uri* uri =
51
51
  grpc_uri_parse(exec_ctx, uri_str, false /* suppress_errors */);
52
- if (uri == NULL || uri->authority == NULL) {
52
+ if (uri == nullptr || uri->authority == nullptr) {
53
53
  gpr_log(GPR_ERROR, "cannot parse value of 'http_proxy' env var");
54
54
  goto done;
55
55
  }
@@ -73,7 +73,7 @@ static char* get_http_proxy_server(grpc_exec_ctx* exec_ctx, char** user_cred) {
73
73
  for (size_t i = 0; i < authority_nstrs; i++) {
74
74
  gpr_free(authority_strs[i]);
75
75
  }
76
- proxy_name = NULL;
76
+ proxy_name = nullptr;
77
77
  }
78
78
  gpr_free(authority_strs);
79
79
  done:
@@ -88,13 +88,13 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx,
88
88
  const grpc_channel_args* args,
89
89
  char** name_to_resolve,
90
90
  grpc_channel_args** new_args) {
91
- char* user_cred = NULL;
91
+ char* user_cred = nullptr;
92
92
  *name_to_resolve = get_http_proxy_server(exec_ctx, &user_cred);
93
- if (*name_to_resolve == NULL) return false;
94
- char* no_proxy_str = NULL;
93
+ if (*name_to_resolve == nullptr) return false;
94
+ char* no_proxy_str = nullptr;
95
95
  grpc_uri* uri =
96
96
  grpc_uri_parse(exec_ctx, server_uri, false /* suppress_errors */);
97
- if (uri == NULL || uri->path[0] == '\0') {
97
+ if (uri == nullptr || uri->path[0] == '\0') {
98
98
  gpr_log(GPR_ERROR,
99
99
  "'http_proxy' environment variable set, but cannot "
100
100
  "parse server URI '%s' -- not using proxy",
@@ -107,7 +107,7 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx,
107
107
  goto no_use_proxy;
108
108
  }
109
109
  no_proxy_str = gpr_getenv("no_proxy");
110
- if (no_proxy_str != NULL) {
110
+ if (no_proxy_str != nullptr) {
111
111
  static const char* NO_PROXY_SEPARATOR = ",";
112
112
  bool use_proxy = true;
113
113
  char* server_host;
@@ -149,7 +149,7 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx,
149
149
  args_to_add[0] = grpc_channel_arg_string_create(
150
150
  (char*)GRPC_ARG_HTTP_CONNECT_SERVER,
151
151
  uri->path[0] == '/' ? uri->path + 1 : uri->path);
152
- if (user_cred != NULL) {
152
+ if (user_cred != nullptr) {
153
153
  /* Use base64 encoding for user credentials as stated in RFC 7617 */
154
154
  char* encoded_user_cred =
155
155
  grpc_base64_encode(user_cred, strlen(user_cred), 0, 0);
@@ -167,9 +167,9 @@ static bool proxy_mapper_map_name(grpc_exec_ctx* exec_ctx,
167
167
  gpr_free(user_cred);
168
168
  return true;
169
169
  no_use_proxy:
170
- if (uri != NULL) grpc_uri_destroy(uri);
170
+ if (uri != nullptr) grpc_uri_destroy(uri);
171
171
  gpr_free(*name_to_resolve);
172
- *name_to_resolve = NULL;
172
+ *name_to_resolve = nullptr;
173
173
  gpr_free(user_cred);
174
174
  return false;
175
175
  }
@@ -19,6 +19,14 @@
19
19
  #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H
20
20
  #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H
21
21
 
22
+ #ifdef __cplusplus
23
+ extern "C" {
24
+ #endif
25
+
22
26
  void grpc_register_http_proxy_mapper();
23
27
 
28
+ #ifdef __cplusplus
29
+ }
30
+ #endif
31
+
24
32
  #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_H */
@@ -21,14 +21,12 @@
21
21
 
22
22
  #define WEAK_REF_BITS 16
23
23
 
24
- #ifndef NDEBUG
25
- grpc_tracer_flag grpc_trace_lb_policy_refcount =
26
- GRPC_TRACER_INITIALIZER(false, "lb_policy_refcount");
27
- #endif
24
+ grpc_core::DebugOnlyTraceFlag grpc_trace_lb_policy_refcount(
25
+ false, "lb_policy_refcount");
28
26
 
29
- void grpc_lb_policy_init(grpc_lb_policy *policy,
30
- const grpc_lb_policy_vtable *vtable,
31
- grpc_combiner *combiner) {
27
+ void grpc_lb_policy_init(grpc_lb_policy* policy,
28
+ const grpc_lb_policy_vtable* vtable,
29
+ grpc_combiner* combiner) {
32
30
  policy->vtable = vtable;
33
31
  gpr_atm_no_barrier_store(&policy->ref_pair, 1 << WEAK_REF_BITS);
34
32
  policy->interested_parties = grpc_pollset_set_create();
@@ -37,7 +35,7 @@ void grpc_lb_policy_init(grpc_lb_policy *policy,
37
35
 
38
36
  #ifndef NDEBUG
39
37
  #define REF_FUNC_EXTRA_ARGS , const char *file, int line, const char *reason
40
- #define REF_MUTATE_EXTRA_ARGS REF_FUNC_EXTRA_ARGS, const char *purpose
38
+ #define REF_MUTATE_EXTRA_ARGS REF_FUNC_EXTRA_ARGS, const char* purpose
41
39
  #define REF_FUNC_PASS_ARGS(new_reason) , file, line, new_reason
42
40
  #define REF_MUTATE_PASS_ARGS(purpose) , file, line, reason, purpose
43
41
  #else
@@ -47,12 +45,12 @@ void grpc_lb_policy_init(grpc_lb_policy *policy,
47
45
  #define REF_MUTATE_PASS_ARGS(x)
48
46
  #endif
49
47
 
50
- static gpr_atm ref_mutate(grpc_lb_policy *c, gpr_atm delta,
48
+ static gpr_atm ref_mutate(grpc_lb_policy* c, gpr_atm delta,
51
49
  int barrier REF_MUTATE_EXTRA_ARGS) {
52
50
  gpr_atm old_val = barrier ? gpr_atm_full_fetch_add(&c->ref_pair, delta)
53
51
  : gpr_atm_no_barrier_fetch_add(&c->ref_pair, delta);
54
52
  #ifndef NDEBUG
55
- if (GRPC_TRACER_ON(grpc_trace_lb_policy_refcount)) {
53
+ if (grpc_trace_lb_policy_refcount.enabled()) {
56
54
  gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
57
55
  "LB_POLICY: %p %12s 0x%" PRIxPTR " -> 0x%" PRIxPTR " [%s]", c,
58
56
  purpose, old_val, old_val + delta, reason);
@@ -61,104 +59,105 @@ static gpr_atm ref_mutate(grpc_lb_policy *c, gpr_atm delta,
61
59
  return old_val;
62
60
  }
63
61
 
64
- void grpc_lb_policy_ref(grpc_lb_policy *policy REF_FUNC_EXTRA_ARGS) {
62
+ void grpc_lb_policy_ref(grpc_lb_policy* policy REF_FUNC_EXTRA_ARGS) {
65
63
  ref_mutate(policy, 1 << WEAK_REF_BITS, 0 REF_MUTATE_PASS_ARGS("STRONG_REF"));
66
64
  }
67
65
 
68
- static void shutdown_locked(grpc_exec_ctx *exec_ctx, void *arg,
69
- grpc_error *error) {
70
- grpc_lb_policy *policy = (grpc_lb_policy *)arg;
66
+ static void shutdown_locked(grpc_exec_ctx* exec_ctx, void* arg,
67
+ grpc_error* error) {
68
+ grpc_lb_policy* policy = (grpc_lb_policy*)arg;
71
69
  policy->vtable->shutdown_locked(exec_ctx, policy);
72
70
  GRPC_LB_POLICY_WEAK_UNREF(exec_ctx, policy, "strong-unref");
73
71
  }
74
72
 
75
- void grpc_lb_policy_unref(grpc_exec_ctx *exec_ctx,
76
- grpc_lb_policy *policy REF_FUNC_EXTRA_ARGS) {
73
+ void grpc_lb_policy_unref(grpc_exec_ctx* exec_ctx,
74
+ grpc_lb_policy* policy REF_FUNC_EXTRA_ARGS) {
77
75
  gpr_atm old_val =
78
76
  ref_mutate(policy, (gpr_atm)1 - (gpr_atm)(1 << WEAK_REF_BITS),
79
77
  1 REF_MUTATE_PASS_ARGS("STRONG_UNREF"));
80
78
  gpr_atm mask = ~(gpr_atm)((1 << WEAK_REF_BITS) - 1);
81
79
  gpr_atm check = 1 << WEAK_REF_BITS;
82
80
  if ((old_val & mask) == check) {
83
- GRPC_CLOSURE_SCHED(exec_ctx, GRPC_CLOSURE_CREATE(
84
- shutdown_locked, policy,
85
- grpc_combiner_scheduler(policy->combiner)),
86
- GRPC_ERROR_NONE);
81
+ GRPC_CLOSURE_SCHED(
82
+ exec_ctx,
83
+ GRPC_CLOSURE_CREATE(shutdown_locked, policy,
84
+ grpc_combiner_scheduler(policy->combiner)),
85
+ GRPC_ERROR_NONE);
87
86
  } else {
88
87
  grpc_lb_policy_weak_unref(exec_ctx,
89
88
  policy REF_FUNC_PASS_ARGS("strong-unref"));
90
89
  }
91
90
  }
92
91
 
93
- void grpc_lb_policy_weak_ref(grpc_lb_policy *policy REF_FUNC_EXTRA_ARGS) {
92
+ void grpc_lb_policy_weak_ref(grpc_lb_policy* policy REF_FUNC_EXTRA_ARGS) {
94
93
  ref_mutate(policy, 1, 0 REF_MUTATE_PASS_ARGS("WEAK_REF"));
95
94
  }
96
95
 
97
- void grpc_lb_policy_weak_unref(grpc_exec_ctx *exec_ctx,
98
- grpc_lb_policy *policy REF_FUNC_EXTRA_ARGS) {
96
+ void grpc_lb_policy_weak_unref(grpc_exec_ctx* exec_ctx,
97
+ grpc_lb_policy* policy REF_FUNC_EXTRA_ARGS) {
99
98
  gpr_atm old_val =
100
99
  ref_mutate(policy, -(gpr_atm)1, 1 REF_MUTATE_PASS_ARGS("WEAK_UNREF"));
101
100
  if (old_val == 1) {
102
101
  grpc_pollset_set_destroy(exec_ctx, policy->interested_parties);
103
- grpc_combiner *combiner = policy->combiner;
102
+ grpc_combiner* combiner = policy->combiner;
104
103
  policy->vtable->destroy(exec_ctx, policy);
105
104
  GRPC_COMBINER_UNREF(exec_ctx, combiner, "lb_policy");
106
105
  }
107
106
  }
108
107
 
109
- int grpc_lb_policy_pick_locked(grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy,
110
- const grpc_lb_policy_pick_args *pick_args,
111
- grpc_connected_subchannel **target,
112
- grpc_call_context_element *context,
113
- void **user_data, grpc_closure *on_complete) {
108
+ int grpc_lb_policy_pick_locked(grpc_exec_ctx* exec_ctx, grpc_lb_policy* policy,
109
+ const grpc_lb_policy_pick_args* pick_args,
110
+ grpc_connected_subchannel** target,
111
+ grpc_call_context_element* context,
112
+ void** user_data, grpc_closure* on_complete) {
114
113
  return policy->vtable->pick_locked(exec_ctx, policy, pick_args, target,
115
114
  context, user_data, on_complete);
116
115
  }
117
116
 
118
- void grpc_lb_policy_cancel_pick_locked(grpc_exec_ctx *exec_ctx,
119
- grpc_lb_policy *policy,
120
- grpc_connected_subchannel **target,
121
- grpc_error *error) {
117
+ void grpc_lb_policy_cancel_pick_locked(grpc_exec_ctx* exec_ctx,
118
+ grpc_lb_policy* policy,
119
+ grpc_connected_subchannel** target,
120
+ grpc_error* error) {
122
121
  policy->vtable->cancel_pick_locked(exec_ctx, policy, target, error);
123
122
  }
124
123
 
125
- void grpc_lb_policy_cancel_picks_locked(grpc_exec_ctx *exec_ctx,
126
- grpc_lb_policy *policy,
124
+ void grpc_lb_policy_cancel_picks_locked(grpc_exec_ctx* exec_ctx,
125
+ grpc_lb_policy* policy,
127
126
  uint32_t initial_metadata_flags_mask,
128
127
  uint32_t initial_metadata_flags_eq,
129
- grpc_error *error) {
128
+ grpc_error* error) {
130
129
  policy->vtable->cancel_picks_locked(exec_ctx, policy,
131
130
  initial_metadata_flags_mask,
132
131
  initial_metadata_flags_eq, error);
133
132
  }
134
133
 
135
- void grpc_lb_policy_exit_idle_locked(grpc_exec_ctx *exec_ctx,
136
- grpc_lb_policy *policy) {
134
+ void grpc_lb_policy_exit_idle_locked(grpc_exec_ctx* exec_ctx,
135
+ grpc_lb_policy* policy) {
137
136
  policy->vtable->exit_idle_locked(exec_ctx, policy);
138
137
  }
139
138
 
140
- void grpc_lb_policy_ping_one_locked(grpc_exec_ctx *exec_ctx,
141
- grpc_lb_policy *policy,
142
- grpc_closure *closure) {
139
+ void grpc_lb_policy_ping_one_locked(grpc_exec_ctx* exec_ctx,
140
+ grpc_lb_policy* policy,
141
+ grpc_closure* closure) {
143
142
  policy->vtable->ping_one_locked(exec_ctx, policy, closure);
144
143
  }
145
144
 
146
145
  void grpc_lb_policy_notify_on_state_change_locked(
147
- grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy,
148
- grpc_connectivity_state *state, grpc_closure *closure) {
146
+ grpc_exec_ctx* exec_ctx, grpc_lb_policy* policy,
147
+ grpc_connectivity_state* state, grpc_closure* closure) {
149
148
  policy->vtable->notify_on_state_change_locked(exec_ctx, policy, state,
150
149
  closure);
151
150
  }
152
151
 
153
152
  grpc_connectivity_state grpc_lb_policy_check_connectivity_locked(
154
- grpc_exec_ctx *exec_ctx, grpc_lb_policy *policy,
155
- grpc_error **connectivity_error) {
153
+ grpc_exec_ctx* exec_ctx, grpc_lb_policy* policy,
154
+ grpc_error** connectivity_error) {
156
155
  return policy->vtable->check_connectivity_locked(exec_ctx, policy,
157
156
  connectivity_error);
158
157
  }
159
158
 
160
- void grpc_lb_policy_update_locked(grpc_exec_ctx *exec_ctx,
161
- grpc_lb_policy *policy,
162
- const grpc_lb_policy_args *lb_policy_args) {
159
+ void grpc_lb_policy_update_locked(grpc_exec_ctx* exec_ctx,
160
+ grpc_lb_policy* policy,
161
+ const grpc_lb_policy_args* lb_policy_args) {
163
162
  policy->vtable->update_locked(exec_ctx, policy, lb_policy_args);
164
163
  }