grpc 1.8.7 → 1.9.0.pre1

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 (488) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +549 -325
  3. data/include/grpc/impl/codegen/grpc_types.h +1 -2
  4. data/include/grpc/impl/codegen/port_platform.h +46 -5
  5. data/include/grpc/impl/codegen/slice.h +1 -2
  6. data/include/grpc/module.modulemap +0 -2
  7. data/include/grpc/slice_buffer.h +1 -2
  8. data/include/grpc/support/log.h +4 -2
  9. data/include/grpc/support/thd.h +4 -1
  10. data/include/grpc/support/tls.h +6 -0
  11. data/include/grpc/support/tls_gcc.h +5 -40
  12. data/include/grpc/support/tls_msvc.h +9 -0
  13. data/include/grpc/support/tls_pthread.h +9 -0
  14. data/src/core/ext/filters/client_channel/backup_poller.cc +32 -29
  15. data/src/core/ext/filters/client_channel/backup_poller.h +2 -2
  16. data/src/core/ext/filters/client_channel/channel_connectivity.cc +26 -32
  17. data/src/core/ext/filters/client_channel/client_channel.cc +325 -356
  18. data/src/core/ext/filters/client_channel/client_channel.h +4 -12
  19. data/src/core/ext/filters/client_channel/client_channel_factory.cc +9 -14
  20. data/src/core/ext/filters/client_channel/client_channel_factory.h +7 -20
  21. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +7 -10
  22. data/src/core/ext/filters/client_channel/connector.cc +6 -7
  23. data/src/core/ext/filters/client_channel/connector.h +6 -16
  24. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +38 -50
  25. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -8
  26. data/src/core/ext/filters/client_channel/http_proxy.cc +9 -13
  27. data/src/core/ext/filters/client_channel/http_proxy.h +0 -8
  28. data/src/core/ext/filters/client_channel/lb_policy.cc +72 -94
  29. data/src/core/ext/filters/client_channel/lb_policy.h +83 -92
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +14 -19
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +0 -8
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +474 -591
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -8
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +2 -10
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +6 -6
  36. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +0 -8
  37. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +0 -9
  38. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +0 -9
  39. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +3 -4
  40. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +9 -12
  41. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +160 -182
  42. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +182 -221
  43. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +24 -35
  44. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +9 -20
  45. data/src/core/ext/filters/client_channel/lb_policy_factory.cc +6 -9
  46. data/src/core/ext/filters/client_channel/lb_policy_factory.h +4 -15
  47. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +3 -3
  48. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -9
  49. data/src/core/ext/filters/client_channel/parse_address.cc +1 -1
  50. data/src/core/ext/filters/client_channel/parse_address.h +0 -8
  51. data/src/core/ext/filters/client_channel/proxy_mapper.cc +6 -8
  52. data/src/core/ext/filters/client_channel/proxy_mapper.h +6 -16
  53. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +13 -17
  54. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +2 -12
  55. data/src/core/ext/filters/client_channel/resolver.cc +11 -13
  56. data/src/core/ext/filters/client_channel/resolver.h +14 -25
  57. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +57 -70
  58. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +2 -12
  59. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +23 -31
  60. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +27 -45
  61. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -15
  62. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +9 -11
  63. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +53 -66
  64. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +25 -33
  65. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -9
  66. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +26 -35
  67. data/src/core/ext/filters/client_channel/resolver_factory.cc +2 -3
  68. data/src/core/ext/filters/client_channel/resolver_factory.h +2 -12
  69. data/src/core/ext/filters/client_channel/resolver_registry.cc +12 -15
  70. data/src/core/ext/filters/client_channel/resolver_registry.h +3 -12
  71. data/src/core/ext/filters/client_channel/retry_throttle.h +0 -8
  72. data/src/core/ext/filters/client_channel/subchannel.cc +289 -301
  73. data/src/core/ext/filters/client_channel/subchannel.h +57 -84
  74. data/src/core/ext/filters/client_channel/subchannel_index.cc +30 -33
  75. data/src/core/ext/filters/client_channel/subchannel_index.h +4 -16
  76. data/src/core/ext/filters/client_channel/uri_parser.cc +13 -17
  77. data/src/core/ext/filters/client_channel/uri_parser.h +1 -10
  78. data/src/core/ext/filters/deadline/deadline_filter.cc +49 -67
  79. data/src/core/ext/filters/deadline/deadline_filter.h +4 -14
  80. data/src/core/ext/filters/http/client/http_client_filter.cc +60 -77
  81. data/src/core/ext/filters/http/client/http_client_filter.h +0 -8
  82. data/src/core/ext/filters/http/http_filters_plugin.cc +4 -6
  83. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +63 -79
  84. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -8
  85. data/src/core/ext/filters/http/server/http_server_filter.cc +57 -71
  86. data/src/core/ext/filters/http/server/http_server_filter.h +0 -8
  87. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +19 -24
  88. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +0 -8
  89. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +3 -3
  90. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +0 -8
  91. data/src/core/ext/filters/max_age/max_age_filter.cc +49 -62
  92. data/src/core/ext/filters/max_age/max_age_filter.h +0 -8
  93. data/src/core/ext/filters/message_size/message_size_filter.cc +23 -29
  94. data/src/core/ext/filters/message_size/message_size_filter.h +0 -8
  95. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +15 -18
  96. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +0 -8
  97. data/src/core/ext/filters/workarounds/workaround_utils.h +0 -8
  98. data/src/core/ext/transport/chttp2/alpn/alpn.h +0 -8
  99. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +33 -40
  100. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -8
  101. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +15 -17
  102. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +8 -8
  103. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +23 -28
  104. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +50 -57
  105. data/src/core/ext/transport/chttp2/server/chttp2_server.h +1 -10
  106. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -3
  107. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +7 -10
  108. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +5 -6
  109. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -9
  110. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -11
  111. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -9
  112. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +10 -2
  113. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +516 -636
  114. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +4 -11
  115. data/src/core/ext/transport/chttp2/transport/flow_control.cc +29 -13
  116. data/src/core/ext/transport/chttp2/transport/flow_control.h +196 -53
  117. data/src/core/ext/transport/chttp2/transport/frame.h +0 -8
  118. data/src/core/ext/transport/chttp2/transport/frame_data.cc +31 -33
  119. data/src/core/ext/transport/chttp2/transport/frame_data.h +3 -12
  120. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -3
  121. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -10
  122. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
  123. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -9
  124. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -3
  125. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -10
  126. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +8 -3
  127. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -10
  128. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +8 -8
  129. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -11
  130. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +63 -81
  131. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -12
  132. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +230 -318
  133. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +6 -19
  134. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +14 -20
  135. data/src/core/ext/transport/chttp2/transport/hpack_table.h +5 -16
  136. data/src/core/ext/transport/chttp2/transport/http2_settings.h +0 -7
  137. data/src/core/ext/transport/chttp2/transport/huffsyms.h +0 -8
  138. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +8 -11
  139. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +4 -13
  140. data/src/core/ext/transport/chttp2/transport/internal.h +51 -75
  141. data/src/core/ext/transport/chttp2/transport/parsing.cc +83 -109
  142. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -0
  143. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -8
  144. data/src/core/ext/transport/chttp2/transport/varint.h +0 -8
  145. data/src/core/ext/transport/chttp2/transport/writing.cc +61 -65
  146. data/src/core/ext/transport/inproc/inproc_plugin.cc +2 -4
  147. data/src/core/ext/transport/inproc/inproc_transport.cc +177 -188
  148. data/src/core/ext/transport/inproc/inproc_transport.h +0 -8
  149. data/src/core/lib/backoff/backoff.cc +39 -44
  150. data/src/core/lib/backoff/backoff.h +61 -57
  151. data/src/core/lib/channel/channel_args.cc +8 -10
  152. data/src/core/lib/channel/channel_args.h +4 -13
  153. data/src/core/lib/channel/channel_stack.cc +19 -27
  154. data/src/core/lib/channel/channel_stack.h +27 -47
  155. data/src/core/lib/channel/channel_stack_builder.cc +11 -14
  156. data/src/core/lib/channel/channel_stack_builder.h +4 -15
  157. data/src/core/lib/channel/connected_channel.cc +23 -36
  158. data/src/core/lib/channel/connected_channel.h +1 -10
  159. data/src/core/lib/channel/handshaker.cc +31 -40
  160. data/src/core/lib/channel/handshaker.h +14 -25
  161. data/src/core/lib/channel/handshaker_factory.cc +6 -6
  162. data/src/core/lib/channel/handshaker_factory.h +5 -15
  163. data/src/core/lib/channel/handshaker_registry.cc +9 -13
  164. data/src/core/lib/channel/handshaker_registry.h +2 -11
  165. data/src/core/lib/compression/algorithm_metadata.h +0 -8
  166. data/src/core/lib/compression/message_compress.cc +19 -23
  167. data/src/core/lib/compression/message_compress.h +2 -12
  168. data/src/core/lib/compression/stream_compression.cc +1 -1
  169. data/src/core/lib/compression/stream_compression.h +0 -8
  170. data/src/core/lib/compression/stream_compression_gzip.cc +12 -11
  171. data/src/core/lib/compression/stream_compression_gzip.h +0 -8
  172. data/src/core/lib/compression/stream_compression_identity.h +0 -8
  173. data/src/core/lib/debug/stats.cc +4 -4
  174. data/src/core/lib/debug/stats.h +9 -19
  175. data/src/core/lib/debug/stats_data.cc +85 -116
  176. data/src/core/lib/debug/stats_data.h +236 -312
  177. data/src/core/lib/debug/trace.cc +1 -1
  178. data/src/core/lib/debug/trace.h +0 -12
  179. data/src/core/lib/{support → gpr++}/abstract.h +8 -3
  180. data/src/core/lib/{support → gpr++}/atomic.h +5 -5
  181. data/src/core/lib/{support → gpr++}/atomic_with_atm.h +3 -3
  182. data/src/core/lib/{support → gpr++}/atomic_with_std.h +3 -3
  183. data/src/core/lib/gpr++/debug_location.h +52 -0
  184. data/src/core/lib/gpr++/inlined_vector.h +112 -0
  185. data/src/core/lib/{support → gpr++}/manual_constructor.h +2 -2
  186. data/src/core/lib/{support → gpr++}/memory.h +3 -3
  187. data/src/core/lib/gpr++/orphanable.h +171 -0
  188. data/src/core/lib/gpr++/ref_counted.h +133 -0
  189. data/src/core/lib/gpr++/ref_counted_ptr.h +99 -0
  190. data/src/core/lib/{support → gpr}/alloc.cc +0 -0
  191. data/src/core/lib/{support → gpr}/arena.cc +1 -1
  192. data/src/core/lib/{support → gpr}/arena.h +3 -11
  193. data/src/core/lib/{support → gpr}/atm.cc +0 -0
  194. data/src/core/lib/{support → gpr}/avl.cc +0 -0
  195. data/src/core/lib/{support → gpr}/cmdline.cc +1 -1
  196. data/src/core/lib/{support → gpr}/cpu_iphone.cc +0 -0
  197. data/src/core/lib/{support → gpr}/cpu_linux.cc +0 -0
  198. data/src/core/lib/{support → gpr}/cpu_posix.cc +0 -0
  199. data/src/core/lib/{support → gpr}/cpu_windows.cc +0 -0
  200. data/src/core/lib/{support → gpr}/env.h +3 -11
  201. data/src/core/lib/{support → gpr}/env_linux.cc +2 -2
  202. data/src/core/lib/{support → gpr}/env_posix.cc +4 -4
  203. data/src/core/lib/{support → gpr}/env_windows.cc +3 -3
  204. data/src/core/lib/{support → gpr}/fork.cc +3 -3
  205. data/src/core/lib/{support → gpr}/fork.h +3 -3
  206. data/src/core/lib/{support → gpr}/host_port.cc +1 -1
  207. data/src/core/lib/{support → gpr}/log.cc +3 -3
  208. data/src/core/lib/{support → gpr}/log_android.cc +3 -3
  209. data/src/core/lib/{support → gpr}/log_linux.cc +1 -1
  210. data/src/core/lib/{support → gpr}/log_posix.cc +5 -5
  211. data/src/core/lib/{support → gpr}/log_windows.cc +3 -3
  212. data/src/core/lib/{support → gpr}/mpscq.cc +1 -1
  213. data/src/core/lib/{support → gpr}/mpscq.h +3 -10
  214. data/src/core/lib/{support → gpr}/murmur_hash.cc +1 -1
  215. data/src/core/lib/{support → gpr}/murmur_hash.h +3 -11
  216. data/src/core/lib/{support → gpr}/spinlock.h +3 -3
  217. data/src/core/lib/{support → gpr}/string.cc +1 -1
  218. data/src/core/lib/{support → gpr}/string.h +3 -10
  219. data/src/core/lib/{support → gpr}/string_posix.cc +0 -0
  220. data/src/core/lib/{support → gpr}/string_util_windows.cc +2 -2
  221. data/src/core/lib/{support → gpr}/string_windows.cc +1 -1
  222. data/src/core/lib/{support → gpr}/string_windows.h +3 -11
  223. data/src/core/lib/{support → gpr}/subprocess_posix.cc +0 -0
  224. data/src/core/lib/{support → gpr}/subprocess_windows.cc +2 -2
  225. data/src/core/lib/{support → gpr}/sync.cc +0 -0
  226. data/src/core/lib/{support → gpr}/sync_posix.cc +10 -1
  227. data/src/core/lib/{support → gpr}/sync_windows.cc +0 -0
  228. data/src/core/lib/{support → gpr}/thd.cc +0 -0
  229. data/src/core/lib/{support → gpr}/thd_internal.h +3 -3
  230. data/src/core/lib/{support → gpr}/thd_posix.cc +18 -2
  231. data/src/core/lib/{support → gpr}/thd_windows.cc +2 -1
  232. data/src/core/lib/{support → gpr}/time.cc +0 -0
  233. data/src/core/lib/{support → gpr}/time_posix.cc +2 -4
  234. data/src/core/lib/{support → gpr}/time_precise.cc +1 -1
  235. data/src/core/lib/{support → gpr}/time_precise.h +3 -11
  236. data/src/core/lib/{support → gpr}/time_windows.cc +1 -3
  237. data/src/core/lib/{support → gpr}/tls_pthread.cc +0 -0
  238. data/src/core/lib/{support → gpr}/tmpfile.h +3 -11
  239. data/src/core/lib/{support → gpr}/tmpfile_msys.cc +2 -2
  240. data/src/core/lib/{support → gpr}/tmpfile_posix.cc +2 -2
  241. data/src/core/lib/{support → gpr}/tmpfile_windows.cc +2 -2
  242. data/src/core/lib/{support → gpr}/wrap_memcpy.cc +0 -0
  243. data/src/core/lib/http/format_request.cc +1 -1
  244. data/src/core/lib/http/format_request.h +0 -8
  245. data/src/core/lib/http/httpcli.cc +55 -74
  246. data/src/core/lib/http/httpcli.h +13 -22
  247. data/src/core/lib/http/httpcli_security_connector.cc +27 -33
  248. data/src/core/lib/http/parser.h +0 -8
  249. data/src/core/lib/iomgr/block_annotate.h +10 -17
  250. data/src/core/lib/iomgr/call_combiner.cc +14 -17
  251. data/src/core/lib/iomgr/call_combiner.h +16 -34
  252. data/src/core/lib/iomgr/closure.h +24 -37
  253. data/src/core/lib/iomgr/combiner.cc +62 -66
  254. data/src/core/lib/iomgr/combiner.h +6 -16
  255. data/src/core/lib/iomgr/endpoint.cc +15 -21
  256. data/src/core/lib/iomgr/endpoint.h +16 -33
  257. data/src/core/lib/iomgr/endpoint_pair.h +0 -8
  258. data/src/core/lib/iomgr/endpoint_pair_posix.cc +4 -5
  259. data/src/core/lib/iomgr/endpoint_pair_windows.cc +4 -6
  260. data/src/core/lib/iomgr/error.cc +2 -6
  261. data/src/core/lib/iomgr/error.h +4 -9
  262. data/src/core/lib/iomgr/error_internal.h +0 -8
  263. data/src/core/lib/iomgr/ev_epoll1_linux.cc +110 -117
  264. data/src/core/lib/iomgr/ev_epoll1_linux.h +0 -8
  265. data/src/core/lib/iomgr/ev_epollex_linux.cc +111 -141
  266. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -8
  267. data/src/core/lib/iomgr/ev_epollsig_linux.cc +83 -109
  268. data/src/core/lib/iomgr/ev_epollsig_linux.h +2 -10
  269. data/src/core/lib/iomgr/ev_poll_posix.cc +103 -125
  270. data/src/core/lib/iomgr/ev_poll_posix.h +0 -8
  271. data/src/core/lib/iomgr/ev_posix.cc +35 -50
  272. data/src/core/lib/iomgr/ev_posix.h +27 -53
  273. data/src/core/lib/iomgr/exec_ctx.cc +46 -78
  274. data/src/core/lib/iomgr/exec_ctx.h +127 -60
  275. data/src/core/lib/iomgr/executor.cc +34 -38
  276. data/src/core/lib/iomgr/executor.h +3 -11
  277. data/src/core/lib/iomgr/fork_posix.cc +13 -12
  278. data/src/core/lib/iomgr/gethostname.h +0 -8
  279. data/src/core/lib/iomgr/gethostname_sysconf.cc +1 -1
  280. data/src/core/lib/iomgr/iocp_windows.cc +14 -16
  281. data/src/core/lib/iomgr/iocp_windows.h +1 -10
  282. data/src/core/lib/iomgr/iomgr.cc +60 -59
  283. data/src/core/lib/iomgr/iomgr.h +3 -12
  284. data/src/core/lib/iomgr/iomgr_internal.h +0 -8
  285. data/src/core/lib/iomgr/iomgr_uv.cc +2 -3
  286. data/src/core/lib/iomgr/iomgr_uv.h +0 -8
  287. data/src/core/lib/iomgr/is_epollexclusive_available.cc +1 -1
  288. data/src/core/lib/iomgr/load_file.cc +1 -1
  289. data/src/core/lib/iomgr/load_file.h +0 -8
  290. data/src/core/lib/iomgr/lockfree_event.cc +7 -8
  291. data/src/core/lib/iomgr/lockfree_event.h +3 -3
  292. data/src/core/lib/iomgr/polling_entity.cc +6 -10
  293. data/src/core/lib/iomgr/polling_entity.h +2 -11
  294. data/src/core/lib/iomgr/pollset.h +4 -13
  295. data/src/core/lib/iomgr/pollset_set.h +5 -18
  296. data/src/core/lib/iomgr/pollset_set_uv.cc +5 -10
  297. data/src/core/lib/iomgr/pollset_set_windows.cc +5 -10
  298. data/src/core/lib/iomgr/pollset_uv.cc +8 -9
  299. data/src/core/lib/iomgr/pollset_uv.h +0 -8
  300. data/src/core/lib/iomgr/pollset_windows.cc +14 -15
  301. data/src/core/lib/iomgr/pollset_windows.h +0 -8
  302. data/src/core/lib/iomgr/port.h +6 -1
  303. data/src/core/lib/iomgr/resolve_address.h +1 -10
  304. data/src/core/lib/iomgr/resolve_address_posix.cc +10 -12
  305. data/src/core/lib/iomgr/resolve_address_uv.cc +7 -8
  306. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -9
  307. data/src/core/lib/iomgr/resource_quota.cc +77 -107
  308. data/src/core/lib/iomgr/resource_quota.h +8 -25
  309. data/src/core/lib/iomgr/sockaddr_utils.cc +1 -1
  310. data/src/core/lib/iomgr/sockaddr_utils.h +0 -8
  311. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  312. data/src/core/lib/iomgr/socket_factory_posix.h +0 -8
  313. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  314. data/src/core/lib/iomgr/socket_mutator.h +1 -9
  315. data/src/core/lib/iomgr/socket_utils.h +0 -8
  316. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -1
  317. data/src/core/lib/iomgr/socket_utils_posix.h +0 -8
  318. data/src/core/lib/iomgr/socket_windows.cc +8 -11
  319. data/src/core/lib/iomgr/socket_windows.h +3 -14
  320. data/src/core/lib/iomgr/tcp_client.h +1 -10
  321. data/src/core/lib/iomgr/tcp_client_posix.cc +94 -78
  322. data/src/core/lib/iomgr/tcp_client_posix.h +36 -8
  323. data/src/core/lib/iomgr/tcp_client_uv.cc +16 -23
  324. data/src/core/lib/iomgr/tcp_client_windows.cc +22 -25
  325. data/src/core/lib/iomgr/tcp_posix.cc +131 -153
  326. data/src/core/lib/iomgr/tcp_posix.h +3 -12
  327. data/src/core/lib/iomgr/tcp_server.h +6 -17
  328. data/src/core/lib/iomgr/tcp_server_posix.cc +31 -35
  329. data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -8
  330. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
  331. data/src/core/lib/iomgr/tcp_server_uv.cc +23 -34
  332. data/src/core/lib/iomgr/tcp_server_windows.cc +24 -34
  333. data/src/core/lib/iomgr/tcp_uv.cc +42 -56
  334. data/src/core/lib/iomgr/tcp_uv.h +0 -8
  335. data/src/core/lib/iomgr/tcp_windows.cc +43 -50
  336. data/src/core/lib/iomgr/tcp_windows.h +1 -9
  337. data/src/core/lib/iomgr/time_averaged_stats.h +0 -8
  338. data/src/core/lib/iomgr/timer.h +6 -15
  339. data/src/core/lib/iomgr/timer_generic.cc +22 -27
  340. data/src/core/lib/iomgr/timer_heap.h +0 -8
  341. data/src/core/lib/iomgr/timer_manager.cc +17 -19
  342. data/src/core/lib/iomgr/timer_manager.h +0 -8
  343. data/src/core/lib/iomgr/timer_uv.cc +12 -14
  344. data/src/core/lib/iomgr/udp_server.cc +148 -54
  345. data/src/core/lib/iomgr/udp_server.h +16 -21
  346. data/src/core/lib/iomgr/unix_sockets_posix.h +0 -8
  347. data/src/core/lib/iomgr/wakeup_fd_cv.cc +4 -4
  348. data/src/core/lib/iomgr/wakeup_fd_cv.h +12 -20
  349. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
  350. data/src/core/lib/iomgr/wakeup_fd_pipe.h +0 -8
  351. data/src/core/lib/iomgr/wakeup_fd_posix.h +0 -8
  352. data/src/core/lib/json/json.h +0 -8
  353. data/src/core/lib/json/json_reader.h +0 -8
  354. data/src/core/lib/json/json_writer.h +0 -8
  355. data/src/core/lib/profiling/basic_timers.cc +3 -2
  356. data/src/core/lib/profiling/timers.h +0 -8
  357. data/src/core/lib/security/context/security_context.cc +9 -10
  358. data/src/core/lib/security/context/security_context.h +0 -8
  359. data/src/core/lib/security/credentials/composite/composite_credentials.cc +23 -28
  360. data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -8
  361. data/src/core/lib/security/credentials/credentials.cc +33 -42
  362. data/src/core/lib/security/credentials/credentials.h +24 -43
  363. data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
  364. data/src/core/lib/security/credentials/fake/fake_credentials.cc +16 -22
  365. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -8
  366. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
  367. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +28 -34
  368. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -8
  369. data/src/core/lib/security/credentials/iam/iam_credentials.cc +9 -13
  370. data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
  371. data/src/core/lib/security/credentials/jwt/json_token.h +0 -8
  372. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +14 -20
  373. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -10
  374. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +56 -72
  375. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +5 -17
  376. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +47 -55
  377. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +3 -12
  378. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +23 -28
  379. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +8 -13
  380. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -8
  381. data/src/core/lib/security/transport/auth_filters.h +0 -8
  382. data/src/core/lib/security/transport/client_auth_filter.cc +45 -54
  383. data/src/core/lib/security/transport/lb_targets_info.cc +2 -2
  384. data/src/core/lib/security/transport/lb_targets_info.h +0 -8
  385. data/src/core/lib/security/transport/secure_endpoint.cc +54 -68
  386. data/src/core/lib/security/transport/secure_endpoint.h +0 -8
  387. data/src/core/lib/security/transport/security_connector.cc +62 -86
  388. data/src/core/lib/security/transport/security_connector.h +22 -39
  389. data/src/core/lib/security/transport/security_handshaker.cc +83 -106
  390. data/src/core/lib/security/transport/security_handshaker.h +1 -10
  391. data/src/core/lib/security/transport/server_auth_filter.cc +31 -38
  392. data/src/core/lib/security/transport/tsi_error.h +0 -8
  393. data/src/core/lib/security/util/json_util.h +0 -8
  394. data/src/core/lib/slice/b64.cc +5 -6
  395. data/src/core/lib/slice/b64.h +3 -12
  396. data/src/core/lib/slice/percent_encoding.h +0 -8
  397. data/src/core/lib/slice/slice.cc +8 -9
  398. data/src/core/lib/slice/slice_buffer.cc +11 -16
  399. data/src/core/lib/slice/slice_hash_table.cc +5 -7
  400. data/src/core/lib/slice/slice_hash_table.h +2 -12
  401. data/src/core/lib/slice/slice_intern.cc +4 -5
  402. data/src/core/lib/slice/slice_internal.h +4 -15
  403. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  404. data/src/core/lib/slice/slice_string_helpers.h +1 -9
  405. data/src/core/lib/surface/alarm.cc +11 -14
  406. data/src/core/lib/surface/alarm_internal.h +0 -8
  407. data/src/core/lib/surface/byte_buffer.cc +2 -3
  408. data/src/core/lib/surface/byte_buffer_reader.cc +7 -9
  409. data/src/core/lib/surface/call.cc +198 -241
  410. data/src/core/lib/surface/call.h +9 -23
  411. data/src/core/lib/surface/call_details.cc +3 -4
  412. data/src/core/lib/surface/call_log_batch.cc +1 -1
  413. data/src/core/lib/surface/call_test_only.h +0 -8
  414. data/src/core/lib/surface/channel.cc +53 -64
  415. data/src/core/lib/surface/channel.h +12 -23
  416. data/src/core/lib/surface/channel_init.cc +2 -3
  417. data/src/core/lib/surface/channel_init.h +2 -12
  418. data/src/core/lib/surface/channel_ping.cc +7 -9
  419. data/src/core/lib/surface/channel_stack_type.h +0 -8
  420. data/src/core/lib/surface/completion_queue.cc +158 -176
  421. data/src/core/lib/surface/completion_queue.h +9 -20
  422. data/src/core/lib/surface/completion_queue_factory.h +0 -8
  423. data/src/core/lib/surface/event_string.cc +1 -1
  424. data/src/core/lib/surface/event_string.h +0 -8
  425. data/src/core/lib/surface/init.cc +27 -25
  426. data/src/core/lib/surface/init.h +0 -8
  427. data/src/core/lib/surface/init_secure.cc +2 -2
  428. data/src/core/lib/surface/lame_client.cc +30 -33
  429. data/src/core/lib/surface/lame_client.h +0 -8
  430. data/src/core/lib/surface/server.cc +151 -203
  431. data/src/core/lib/surface/server.h +7 -16
  432. data/src/core/lib/surface/validate_metadata.h +0 -8
  433. data/src/core/lib/surface/version.cc +2 -2
  434. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  435. data/src/core/lib/transport/bdp_estimator.h +1 -1
  436. data/src/core/lib/transport/byte_stream.cc +24 -38
  437. data/src/core/lib/transport/byte_stream.h +10 -25
  438. data/src/core/lib/transport/connectivity_state.cc +9 -13
  439. data/src/core/lib/transport/connectivity_state.h +4 -14
  440. data/src/core/lib/transport/error_utils.cc +6 -6
  441. data/src/core/lib/transport/error_utils.h +2 -11
  442. data/src/core/lib/transport/metadata.cc +21 -23
  443. data/src/core/lib/transport/metadata.h +8 -20
  444. data/src/core/lib/transport/metadata_batch.cc +34 -45
  445. data/src/core/lib/transport/metadata_batch.h +18 -32
  446. data/src/core/lib/transport/service_config.cc +11 -15
  447. data/src/core/lib/transport/service_config.h +3 -13
  448. data/src/core/lib/transport/static_metadata.cc +1 -1
  449. data/src/core/lib/transport/static_metadata.h +1 -7
  450. data/src/core/lib/transport/status_conversion.cc +2 -3
  451. data/src/core/lib/transport/status_conversion.h +1 -10
  452. data/src/core/lib/transport/timeout_encoding.cc +1 -1
  453. data/src/core/lib/transport/timeout_encoding.h +1 -9
  454. data/src/core/lib/transport/transport.cc +36 -50
  455. data/src/core/lib/transport/transport.h +28 -30
  456. data/src/core/lib/transport/transport_impl.h +12 -23
  457. data/src/core/lib/transport/transport_op_string.cc +2 -2
  458. data/src/core/plugin_registry/grpc_plugin_registry.cc +34 -34
  459. data/src/core/tsi/fake_transport_security.cc +7 -10
  460. data/src/core/tsi/fake_transport_security.h +0 -8
  461. data/src/core/tsi/gts_transport_security.cc +2 -2
  462. data/src/core/tsi/gts_transport_security.h +0 -8
  463. data/src/core/tsi/ssl_transport_security.cc +3 -0
  464. data/src/core/tsi/ssl_transport_security.h +0 -8
  465. data/src/core/tsi/ssl_types.h +0 -8
  466. data/src/core/tsi/transport_security.h +1 -9
  467. data/src/core/tsi/transport_security_adapter.h +0 -8
  468. data/src/core/tsi/transport_security_grpc.cc +11 -18
  469. data/src/core/tsi/transport_security_grpc.h +9 -21
  470. data/src/core/tsi/transport_security_interface.h +0 -8
  471. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +0 -30
  472. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -48
  473. data/src/ruby/lib/grpc/version.rb +1 -1
  474. data/src/ruby/spec/channel_connection_spec.rb +2 -1
  475. data/src/ruby/spec/client_auth_spec.rb +1 -1
  476. data/src/ruby/spec/client_server_spec.rb +2 -2
  477. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  478. data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
  479. data/src/ruby/spec/generic/interceptor_registry_spec.rb +1 -1
  480. data/src/ruby/spec/generic/rpc_server_spec.rb +12 -12
  481. data/src/ruby/spec/google_rpc_status_utils_spec.rb +3 -2
  482. data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
  483. data/src/ruby/spec/server_spec.rb +9 -9
  484. data/src/ruby/spec/support/helpers.rb +35 -1
  485. metadata +68 -66
  486. data/include/grpc/impl/codegen/exec_ctx_fwd.h +0 -26
  487. data/include/grpc/support/histogram.h +0 -64
  488. data/src/core/lib/support/histogram.cc +0 -227
@@ -39,8 +39,8 @@ static android_LogPriority severity_to_log_priority(gpr_log_severity severity) {
39
39
  return ANDROID_LOG_DEFAULT;
40
40
  }
41
41
 
42
- extern "C" void gpr_log(const char* file, int line, gpr_log_severity severity,
43
- const char* format, ...) {
42
+ void gpr_log(const char* file, int line, gpr_log_severity severity,
43
+ const char* format, ...) {
44
44
  char* message = NULL;
45
45
  va_list args;
46
46
  va_start(args, format);
@@ -50,7 +50,7 @@ extern "C" void gpr_log(const char* file, int line, gpr_log_severity severity,
50
50
  free(message);
51
51
  }
52
52
 
53
- extern "C" void gpr_default_log(gpr_log_func_args* args) {
53
+ void gpr_default_log(gpr_log_func_args* args) {
54
54
  const char* final_slash;
55
55
  const char* display_file;
56
56
  char* output = NULL;
@@ -56,7 +56,7 @@ void gpr_log(const char* file, int line, gpr_log_severity severity,
56
56
  free(message);
57
57
  }
58
58
 
59
- extern "C" void gpr_default_log(gpr_log_func_args* args) {
59
+ void gpr_default_log(gpr_log_func_args* args) {
60
60
  const char* final_slash;
61
61
  char* prefix;
62
62
  const char* display_file;
@@ -35,15 +35,15 @@ static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
35
35
  void gpr_log(const char* file, int line, gpr_log_severity severity,
36
36
  const char* format, ...) {
37
37
  char buf[64];
38
- char* allocated = NULL;
39
- char* message = NULL;
38
+ char* allocated = nullptr;
39
+ char* message = nullptr;
40
40
  int ret;
41
41
  va_list args;
42
42
  va_start(args, format);
43
43
  ret = vsnprintf(buf, sizeof(buf), format, args);
44
44
  va_end(args);
45
45
  if (ret < 0) {
46
- message = NULL;
46
+ message = nullptr;
47
47
  } else if ((size_t)ret <= sizeof(buf) - 1) {
48
48
  message = buf;
49
49
  } else {
@@ -56,7 +56,7 @@ void gpr_log(const char* file, int line, gpr_log_severity severity,
56
56
  gpr_free(allocated);
57
57
  }
58
58
 
59
- extern "C" void gpr_default_log(gpr_log_func_args* args) {
59
+ void gpr_default_log(gpr_log_func_args* args) {
60
60
  const char* final_slash;
61
61
  const char* display_file;
62
62
  char time_buffer[64];
@@ -66,7 +66,7 @@ extern "C" void gpr_default_log(gpr_log_func_args* args) {
66
66
 
67
67
  timer = (time_t)now.tv_sec;
68
68
  final_slash = strrchr(args->file, '/');
69
- if (final_slash == NULL)
69
+ if (final_slash == nullptr)
70
70
  display_file = args->file;
71
71
  else
72
72
  display_file = final_slash + 1;
@@ -29,8 +29,8 @@
29
29
  #include <grpc/support/string_util.h>
30
30
  #include <grpc/support/time.h>
31
31
 
32
- #include "src/core/lib/support/string.h"
33
- #include "src/core/lib/support/string_windows.h"
32
+ #include "src/core/lib/gpr/string.h"
33
+ #include "src/core/lib/gpr/string_windows.h"
34
34
 
35
35
  void gpr_log(const char* file, int line, gpr_log_severity severity,
36
36
  const char* format, ...) {
@@ -65,7 +65,7 @@ void gpr_log(const char* file, int line, gpr_log_severity severity,
65
65
  }
66
66
 
67
67
  /* Simple starter implementation */
68
- extern "C" void gpr_default_log(gpr_log_func_args* args) {
68
+ void gpr_default_log(gpr_log_func_args* args) {
69
69
  const char* final_slash;
70
70
  const char* display_file;
71
71
  char time_buffer[64];
@@ -16,7 +16,7 @@
16
16
  *
17
17
  */
18
18
 
19
- #include "src/core/lib/support/mpscq.h"
19
+ #include "src/core/lib/gpr/mpscq.h"
20
20
 
21
21
  #include <grpc/support/log.h>
22
22
 
@@ -16,18 +16,14 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_SUPPORT_MPSCQ_H
20
- #define GRPC_CORE_LIB_SUPPORT_MPSCQ_H
19
+ #ifndef GRPC_CORE_LIB_GPR_MPSCQ_H
20
+ #define GRPC_CORE_LIB_GPR_MPSCQ_H
21
21
 
22
22
  #include <grpc/support/atm.h>
23
23
  #include <grpc/support/sync.h>
24
24
  #include <stdbool.h>
25
25
  #include <stddef.h>
26
26
 
27
- #ifdef __cplusplus
28
- extern "C" {
29
- #endif
30
-
31
27
  // Multiple-producer single-consumer lock free queue, based upon the
32
28
  // implementation from Dmitry Vyukov here:
33
29
  // http://www.1024cores.net/home/lock-free-algorithms/queues/intrusive-mpsc-node-based-queue
@@ -84,8 +80,5 @@ gpr_mpscq_node* gpr_locked_mpscq_try_pop(gpr_locked_mpscq* q);
84
80
  // Pop a node. Returns NULL only if the queue was empty at some point after
85
81
  // calling this function
86
82
  gpr_mpscq_node* gpr_locked_mpscq_pop(gpr_locked_mpscq* q);
87
- #ifdef __cplusplus
88
- }
89
- #endif
90
83
 
91
- #endif /* GRPC_CORE_LIB_SUPPORT_MPSCQ_H */
84
+ #endif /* GRPC_CORE_LIB_GPR_MPSCQ_H */
@@ -16,7 +16,7 @@
16
16
  *
17
17
  */
18
18
 
19
- #include "src/core/lib/support/murmur_hash.h"
19
+ #include "src/core/lib/gpr/murmur_hash.h"
20
20
 
21
21
  #include <string.h>
22
22
 
@@ -16,22 +16,14 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H
20
- #define GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H
19
+ #ifndef GRPC_CORE_LIB_GPR_MURMUR_HASH_H
20
+ #define GRPC_CORE_LIB_GPR_MURMUR_HASH_H
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
23
 
24
24
  #include <stddef.h>
25
25
 
26
- #ifdef __cplusplus
27
- extern "C" {
28
- #endif
29
-
30
26
  /* compute the hash of key (length len) */
31
27
  uint32_t gpr_murmur_hash3(const void* key, size_t len, uint32_t seed);
32
28
 
33
- #ifdef __cplusplus
34
- }
35
- #endif
36
-
37
- #endif /* GRPC_CORE_LIB_SUPPORT_MURMUR_HASH_H */
29
+ #endif /* GRPC_CORE_LIB_GPR_MURMUR_HASH_H */
@@ -16,8 +16,8 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_SUPPORT_SPINLOCK_H
20
- #define GRPC_CORE_LIB_SUPPORT_SPINLOCK_H
19
+ #ifndef GRPC_CORE_LIB_GPR_SPINLOCK_H
20
+ #define GRPC_CORE_LIB_GPR_SPINLOCK_H
21
21
 
22
22
  #include <grpc/support/atm.h>
23
23
 
@@ -41,4 +41,4 @@ typedef struct {
41
41
  do { \
42
42
  } while (!gpr_spinlock_trylock((lock)))
43
43
 
44
- #endif /* GRPC_CORE_LIB_SUPPORT_SPINLOCK_H */
44
+ #endif /* GRPC_CORE_LIB_GPR_SPINLOCK_H */
@@ -16,7 +16,7 @@
16
16
  *
17
17
  */
18
18
 
19
- #include "src/core/lib/support/string.h"
19
+ #include "src/core/lib/gpr/string.h"
20
20
 
21
21
  #include <ctype.h>
22
22
  #include <limits.h>
@@ -16,18 +16,14 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_SUPPORT_STRING_H
20
- #define GRPC_CORE_LIB_SUPPORT_STRING_H
19
+ #ifndef GRPC_CORE_LIB_GPR_STRING_H
20
+ #define GRPC_CORE_LIB_GPR_STRING_H
21
21
 
22
22
  #include <stdbool.h>
23
23
  #include <stddef.h>
24
24
 
25
25
  #include <grpc/support/port_platform.h>
26
26
 
27
- #ifdef __cplusplus
28
- extern "C" {
29
- #endif
30
-
31
27
  /* String utility functions */
32
28
 
33
29
  /* Flags for gpr_dump function. */
@@ -109,8 +105,5 @@ void* gpr_memrchr(const void* s, int c, size_t n);
109
105
 
110
106
  /** Return true if lower(s) equals "true", "yes" or "1", otherwise false. */
111
107
  bool gpr_is_true(const char* s);
112
- #ifdef __cplusplus
113
- }
114
- #endif
115
108
 
116
- #endif /* GRPC_CORE_LIB_SUPPORT_STRING_H */
109
+ #endif /* GRPC_CORE_LIB_GPR_STRING_H */
@@ -36,8 +36,8 @@
36
36
  #include <grpc/support/log_windows.h>
37
37
  #include <grpc/support/string_util.h>
38
38
 
39
- #include "src/core/lib/support/string.h"
40
- #include "src/core/lib/support/string_windows.h"
39
+ #include "src/core/lib/gpr/string.h"
40
+ #include "src/core/lib/gpr/string_windows.h"
41
41
 
42
42
  #if defined UNICODE || defined _UNICODE
43
43
  LPTSTR
@@ -29,7 +29,7 @@
29
29
  #include <grpc/support/alloc.h>
30
30
  #include <grpc/support/string_util.h>
31
31
 
32
- #include "src/core/lib/support/string.h"
32
+ #include "src/core/lib/gpr/string.h"
33
33
 
34
34
  int gpr_asprintf(char** strp, const char* format, ...) {
35
35
  va_list args;
@@ -16,15 +16,11 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_SUPPORT_STRING_WINDOWS_H
20
- #define GRPC_CORE_LIB_SUPPORT_STRING_WINDOWS_H
19
+ #ifndef GRPC_CORE_LIB_GPR_STRING_WINDOWS_H
20
+ #define GRPC_CORE_LIB_GPR_STRING_WINDOWS_H
21
21
 
22
22
  #include <grpc/support/port_platform.h>
23
23
 
24
- #ifdef __cplusplus
25
- extern "C" {
26
- #endif
27
-
28
24
  #ifdef GPR_WINDOWS
29
25
 
30
26
  /* These allocate new strings using gpr_malloc to convert from and to utf-8. */
@@ -33,8 +29,4 @@ LPSTR gpr_tchar_to_char(LPCTSTR input);
33
29
 
34
30
  #endif /* GPR_WINDOWS */
35
31
 
36
- #ifdef __cplusplus
37
- }
38
- #endif
39
-
40
- #endif /* GRPC_CORE_LIB_SUPPORT_STRING_WINDOWS_H */
32
+ #endif /* GRPC_CORE_LIB_GPR_STRING_WINDOWS_H */
@@ -27,8 +27,8 @@
27
27
  #include <grpc/support/alloc.h>
28
28
  #include <grpc/support/log.h>
29
29
  #include <grpc/support/subprocess.h>
30
- #include "src/core/lib/support/string.h"
31
- #include "src/core/lib/support/string_windows.h"
30
+ #include "src/core/lib/gpr/string.h"
31
+ #include "src/core/lib/gpr/string_windows.h"
32
32
 
33
33
  struct gpr_subprocess {
34
34
  PROCESS_INFORMATION pi;
File without changes
@@ -66,7 +66,12 @@ int gpr_mu_trylock(gpr_mu* mu) {
66
66
  /*----------------------------------------*/
67
67
 
68
68
  void gpr_cv_init(gpr_cv* cv) {
69
- GPR_ASSERT(pthread_cond_init(cv, nullptr) == 0);
69
+ pthread_condattr_t attr;
70
+ GPR_ASSERT(pthread_condattr_init(&attr) == 0);
71
+ #if GPR_LINUX
72
+ GPR_ASSERT(pthread_condattr_setclock(&attr, CLOCK_MONOTONIC) == 0);
73
+ #endif // GPR_LINUX
74
+ GPR_ASSERT(pthread_cond_init(cv, &attr) == 0);
70
75
  }
71
76
 
72
77
  void gpr_cv_destroy(gpr_cv* cv) { GPR_ASSERT(pthread_cond_destroy(cv) == 0); }
@@ -78,7 +83,11 @@ int gpr_cv_wait(gpr_cv* cv, gpr_mu* mu, gpr_timespec abs_deadline) {
78
83
  err = pthread_cond_wait(cv, mu);
79
84
  } else {
80
85
  struct timespec abs_deadline_ts;
86
+ #if GPR_LINUX
87
+ abs_deadline = gpr_convert_clock_type(abs_deadline, GPR_CLOCK_MONOTONIC);
88
+ #else
81
89
  abs_deadline = gpr_convert_clock_type(abs_deadline, GPR_CLOCK_REALTIME);
90
+ #endif // GPR_LINUX
82
91
  abs_deadline_ts.tv_sec = (time_t)abs_deadline.tv_sec;
83
92
  abs_deadline_ts.tv_nsec = abs_deadline.tv_nsec;
84
93
  err = pthread_cond_timedwait(cv, mu, &abs_deadline_ts);
File without changes
@@ -16,8 +16,8 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_SUPPORT_THD_INTERNAL_H
20
- #define GRPC_CORE_LIB_SUPPORT_THD_INTERNAL_H
19
+ #ifndef GRPC_CORE_LIB_GPR_THD_INTERNAL_H
20
+ #define GRPC_CORE_LIB_GPR_THD_INTERNAL_H
21
21
 
22
22
  #include <grpc/support/time.h>
23
23
 
@@ -27,4 +27,4 @@ void gpr_thd_init();
27
27
  /* Wait for all outstanding threads to finish, up to deadline */
28
28
  int gpr_await_threads(gpr_timespec deadline);
29
29
 
30
- #endif /* GRPC_CORE_LIB_SUPPORT_THD_INTERNAL_H */
30
+ #endif /* GRPC_CORE_LIB_GPR_THD_INTERNAL_H */
@@ -31,7 +31,7 @@
31
31
  #include <stdlib.h>
32
32
  #include <string.h>
33
33
 
34
- #include "src/core/lib/support/fork.h"
34
+ #include "src/core/lib/gpr/fork.h"
35
35
 
36
36
  static gpr_mu g_mu;
37
37
  static gpr_cv g_cv;
@@ -41,6 +41,7 @@ static int g_awaiting_threads;
41
41
  struct thd_arg {
42
42
  void (*body)(void* arg); /* body of a thread */
43
43
  void* arg; /* argument to a thread */
44
+ const char* name; /* name of thread. Can be nullptr. */
44
45
  };
45
46
 
46
47
  static void inc_thd_count();
@@ -50,12 +51,26 @@ static void dec_thd_count();
50
51
  static void* thread_body(void* v) {
51
52
  struct thd_arg a = *(struct thd_arg*)v;
52
53
  free(v);
54
+ if (a.name != nullptr) {
55
+ #if GPR_APPLE_PTHREAD_NAME
56
+ /* Apple supports 64 characters, and will truncate if it's longer. */
57
+ pthread_setname_np(a.name);
58
+ #elif GPR_LINUX_PTHREAD_NAME
59
+ /* Linux supports 16 characters max, and will error if it's longer. */
60
+ char buf[16];
61
+ size_t buf_len = GPR_ARRAY_SIZE(buf) - 1;
62
+ strncpy(buf, a.name, buf_len);
63
+ buf[buf_len] = '\0';
64
+ pthread_setname_np(pthread_self(), buf);
65
+ #endif // GPR_APPLE_PTHREAD_NAME
66
+ }
53
67
  (*a.body)(a.arg);
54
68
  dec_thd_count();
55
69
  return nullptr;
56
70
  }
57
71
 
58
- int gpr_thd_new(gpr_thd_id* t, void (*thd_body)(void* arg), void* arg,
72
+ int gpr_thd_new(gpr_thd_id* t, const char* thd_name,
73
+ void (*thd_body)(void* arg), void* arg,
59
74
  const gpr_thd_options* options) {
60
75
  int thread_started;
61
76
  pthread_attr_t attr;
@@ -66,6 +81,7 @@ int gpr_thd_new(gpr_thd_id* t, void (*thd_body)(void* arg), void* arg,
66
81
  GPR_ASSERT(a != nullptr);
67
82
  a->body = thd_body;
68
83
  a->arg = arg;
84
+ a->name = thd_name;
69
85
  inc_thd_count();
70
86
 
71
87
  GPR_ASSERT(pthread_attr_init(&attr) == 0);
@@ -65,7 +65,8 @@ static DWORD WINAPI thread_body(void* v) {
65
65
  return 0;
66
66
  }
67
67
 
68
- int gpr_thd_new(gpr_thd_id* t, void (*thd_body)(void* arg), void* arg,
68
+ int gpr_thd_new(gpr_thd_id* t, const char* thd_name,
69
+ void (*thd_body)(void* arg), void* arg,
69
70
  const gpr_thd_options* options) {
70
71
  HANDLE handle;
71
72
  struct thd_info* info = (struct thd_info*)gpr_malloc(sizeof(*info));
File without changes
@@ -17,7 +17,7 @@
17
17
  */
18
18
 
19
19
  #include <grpc/support/port_platform.h>
20
- #include "src/core/lib/support/time_precise.h"
20
+ #include "src/core/lib/gpr/time_precise.h"
21
21
 
22
22
  #ifdef GPR_POSIX_TIME
23
23
 
@@ -107,7 +107,7 @@ static gpr_timespec now_impl(gpr_clock_type clock) {
107
107
  now.clock_type = clock;
108
108
  switch (clock) {
109
109
  case GPR_CLOCK_REALTIME:
110
- gettimeofday(&now_tv, NULL);
110
+ gettimeofday(&now_tv, nullptr);
111
111
  now.tv_sec = now_tv.tv_sec;
112
112
  now.tv_nsec = now_tv.tv_usec * 1000;
113
113
  break;
@@ -127,9 +127,7 @@ static gpr_timespec now_impl(gpr_clock_type clock) {
127
127
  }
128
128
  #endif
129
129
 
130
- extern "C" {
131
130
  gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type) = now_impl;
132
- }
133
131
 
134
132
  #ifdef GPR_LOW_LEVEL_COUNTERS
135
133
  gpr_atm gpr_now_call_count;
@@ -20,7 +20,7 @@
20
20
  #include <grpc/support/time.h>
21
21
  #include <stdio.h>
22
22
 
23
- #include "src/core/lib/support/time_precise.h"
23
+ #include "src/core/lib/gpr/time_precise.h"
24
24
 
25
25
  #ifdef GRPC_TIMERS_RDTSC
26
26
  #if defined(__i386__)
@@ -16,20 +16,12 @@
16
16
  *
17
17
  */
18
18
 
19
- #ifndef GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H
20
- #define GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H
19
+ #ifndef GRPC_CORE_LIB_GPR_TIME_PRECISE_H
20
+ #define GRPC_CORE_LIB_GPR_TIME_PRECISE_H
21
21
 
22
22
  #include <grpc/support/time.h>
23
23
 
24
- #ifdef __cplusplus
25
- extern "C" {
26
- #endif
27
-
28
24
  void gpr_precise_clock_init(void);
29
25
  void gpr_precise_clock_now(gpr_timespec* clk);
30
26
 
31
- #ifdef __cplusplus
32
- }
33
- #endif
34
-
35
- #endif /* GRPC_CORE_LIB_SUPPORT_TIME_PRECISE_H */
27
+ #endif /* GRPC_CORE_LIB_GPR_TIME_PRECISE_H */