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
@@ -31,7 +31,7 @@ module GRPC
31
31
  #
32
32
  def build_rpc_server(server_opts: {},
33
33
  client_opts: {})
34
- @server = RpcServer.new({ poll_period: 1 }.merge(server_opts))
34
+ @server = new_rpc_server_for_testing({ poll_period: 1 }.merge(server_opts))
35
35
  @port = @server.add_http2_port('0.0.0.0:0', :this_port_is_insecure)
36
36
  @host = "0.0.0.0:#{@port}"
37
37
  @client_opts = client_opts
@@ -68,6 +68,40 @@ module GRPC
68
68
  opts ||= @client_opts
69
69
  klass.new(host, :this_channel_is_insecure, **opts)
70
70
  end
71
+
72
+ ##
73
+ # Build an RPCServer for use in tests. Adds args
74
+ # that are useful for all tests.
75
+ #
76
+ # @param [Hash] server_opts
77
+ #
78
+ def new_rpc_server_for_testing(server_opts = {})
79
+ server_opts[:server_args] ||= {}
80
+ update_server_args_hash(server_opts[:server_args])
81
+ RpcServer.new(**server_opts)
82
+ end
83
+
84
+ ##
85
+ # Build an GRPC::Core::Server for use in tests. Adds args
86
+ # that are useful for all tests.
87
+ #
88
+ # @param [Hash] server_args
89
+ #
90
+ def new_core_server_for_testing(server_args)
91
+ server_args.nil? && server_args = {}
92
+ update_server_args_hash(server_args)
93
+ GRPC::Core::Server.new(server_args)
94
+ end
95
+
96
+ def update_server_args_hash(server_args)
97
+ so_reuseport_arg = 'grpc.so_reuseport'
98
+ unless server_args[so_reuseport_arg].nil?
99
+ fail 'Unexpected. grpc.so_reuseport already set.'
100
+ end
101
+ # Run tests without so_reuseport to eliminate the chance of
102
+ # cross-talk.
103
+ server_args[so_reuseport_arg] = 0
104
+ end
71
105
  end
72
106
  end
73
107
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.7
4
+ version: 1.9.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2018-02-02 00:00:00.000000000 Z
11
+ date: 2018-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -226,7 +226,6 @@ files:
226
226
  - include/grpc/impl/codegen/byte_buffer_reader.h
227
227
  - include/grpc/impl/codegen/compression_types.h
228
228
  - include/grpc/impl/codegen/connectivity_state.h
229
- - include/grpc/impl/codegen/exec_ctx_fwd.h
230
229
  - include/grpc/impl/codegen/fork.h
231
230
  - include/grpc/impl/codegen/gpr_slice.h
232
231
  - include/grpc/impl/codegen/gpr_types.h
@@ -253,7 +252,6 @@ files:
253
252
  - include/grpc/support/avl.h
254
253
  - include/grpc/support/cmdline.h
255
254
  - include/grpc/support/cpu.h
256
- - include/grpc/support/histogram.h
257
255
  - include/grpc/support/host_port.h
258
256
  - include/grpc/support/log.h
259
257
  - include/grpc/support/log_windows.h
@@ -452,6 +450,70 @@ files:
452
450
  - src/core/lib/debug/stats_data.h
453
451
  - src/core/lib/debug/trace.cc
454
452
  - src/core/lib/debug/trace.h
453
+ - src/core/lib/gpr++/abstract.h
454
+ - src/core/lib/gpr++/atomic.h
455
+ - src/core/lib/gpr++/atomic_with_atm.h
456
+ - src/core/lib/gpr++/atomic_with_std.h
457
+ - src/core/lib/gpr++/debug_location.h
458
+ - src/core/lib/gpr++/inlined_vector.h
459
+ - src/core/lib/gpr++/manual_constructor.h
460
+ - src/core/lib/gpr++/memory.h
461
+ - src/core/lib/gpr++/orphanable.h
462
+ - src/core/lib/gpr++/ref_counted.h
463
+ - src/core/lib/gpr++/ref_counted_ptr.h
464
+ - src/core/lib/gpr/alloc.cc
465
+ - src/core/lib/gpr/arena.cc
466
+ - src/core/lib/gpr/arena.h
467
+ - src/core/lib/gpr/atm.cc
468
+ - src/core/lib/gpr/avl.cc
469
+ - src/core/lib/gpr/cmdline.cc
470
+ - src/core/lib/gpr/cpu_iphone.cc
471
+ - src/core/lib/gpr/cpu_linux.cc
472
+ - src/core/lib/gpr/cpu_posix.cc
473
+ - src/core/lib/gpr/cpu_windows.cc
474
+ - src/core/lib/gpr/env.h
475
+ - src/core/lib/gpr/env_linux.cc
476
+ - src/core/lib/gpr/env_posix.cc
477
+ - src/core/lib/gpr/env_windows.cc
478
+ - src/core/lib/gpr/fork.cc
479
+ - src/core/lib/gpr/fork.h
480
+ - src/core/lib/gpr/host_port.cc
481
+ - src/core/lib/gpr/log.cc
482
+ - src/core/lib/gpr/log_android.cc
483
+ - src/core/lib/gpr/log_linux.cc
484
+ - src/core/lib/gpr/log_posix.cc
485
+ - src/core/lib/gpr/log_windows.cc
486
+ - src/core/lib/gpr/mpscq.cc
487
+ - src/core/lib/gpr/mpscq.h
488
+ - src/core/lib/gpr/murmur_hash.cc
489
+ - src/core/lib/gpr/murmur_hash.h
490
+ - src/core/lib/gpr/spinlock.h
491
+ - src/core/lib/gpr/string.cc
492
+ - src/core/lib/gpr/string.h
493
+ - src/core/lib/gpr/string_posix.cc
494
+ - src/core/lib/gpr/string_util_windows.cc
495
+ - src/core/lib/gpr/string_windows.cc
496
+ - src/core/lib/gpr/string_windows.h
497
+ - src/core/lib/gpr/subprocess_posix.cc
498
+ - src/core/lib/gpr/subprocess_windows.cc
499
+ - src/core/lib/gpr/sync.cc
500
+ - src/core/lib/gpr/sync_posix.cc
501
+ - src/core/lib/gpr/sync_windows.cc
502
+ - src/core/lib/gpr/thd.cc
503
+ - src/core/lib/gpr/thd_internal.h
504
+ - src/core/lib/gpr/thd_posix.cc
505
+ - src/core/lib/gpr/thd_windows.cc
506
+ - src/core/lib/gpr/time.cc
507
+ - src/core/lib/gpr/time_posix.cc
508
+ - src/core/lib/gpr/time_precise.cc
509
+ - src/core/lib/gpr/time_precise.h
510
+ - src/core/lib/gpr/time_windows.cc
511
+ - src/core/lib/gpr/tls_pthread.cc
512
+ - src/core/lib/gpr/tmpfile.h
513
+ - src/core/lib/gpr/tmpfile_msys.cc
514
+ - src/core/lib/gpr/tmpfile_posix.cc
515
+ - src/core/lib/gpr/tmpfile_windows.cc
516
+ - src/core/lib/gpr/wrap_memcpy.cc
455
517
  - src/core/lib/http/format_request.cc
456
518
  - src/core/lib/http/format_request.h
457
519
  - src/core/lib/http/httpcli.cc
@@ -658,66 +720,6 @@ files:
658
720
  - src/core/lib/slice/slice_internal.h
659
721
  - src/core/lib/slice/slice_string_helpers.cc
660
722
  - src/core/lib/slice/slice_string_helpers.h
661
- - src/core/lib/support/abstract.h
662
- - src/core/lib/support/alloc.cc
663
- - src/core/lib/support/arena.cc
664
- - src/core/lib/support/arena.h
665
- - src/core/lib/support/atm.cc
666
- - src/core/lib/support/atomic.h
667
- - src/core/lib/support/atomic_with_atm.h
668
- - src/core/lib/support/atomic_with_std.h
669
- - src/core/lib/support/avl.cc
670
- - src/core/lib/support/cmdline.cc
671
- - src/core/lib/support/cpu_iphone.cc
672
- - src/core/lib/support/cpu_linux.cc
673
- - src/core/lib/support/cpu_posix.cc
674
- - src/core/lib/support/cpu_windows.cc
675
- - src/core/lib/support/env.h
676
- - src/core/lib/support/env_linux.cc
677
- - src/core/lib/support/env_posix.cc
678
- - src/core/lib/support/env_windows.cc
679
- - src/core/lib/support/fork.cc
680
- - src/core/lib/support/fork.h
681
- - src/core/lib/support/histogram.cc
682
- - src/core/lib/support/host_port.cc
683
- - src/core/lib/support/log.cc
684
- - src/core/lib/support/log_android.cc
685
- - src/core/lib/support/log_linux.cc
686
- - src/core/lib/support/log_posix.cc
687
- - src/core/lib/support/log_windows.cc
688
- - src/core/lib/support/manual_constructor.h
689
- - src/core/lib/support/memory.h
690
- - src/core/lib/support/mpscq.cc
691
- - src/core/lib/support/mpscq.h
692
- - src/core/lib/support/murmur_hash.cc
693
- - src/core/lib/support/murmur_hash.h
694
- - src/core/lib/support/spinlock.h
695
- - src/core/lib/support/string.cc
696
- - src/core/lib/support/string.h
697
- - src/core/lib/support/string_posix.cc
698
- - src/core/lib/support/string_util_windows.cc
699
- - src/core/lib/support/string_windows.cc
700
- - src/core/lib/support/string_windows.h
701
- - src/core/lib/support/subprocess_posix.cc
702
- - src/core/lib/support/subprocess_windows.cc
703
- - src/core/lib/support/sync.cc
704
- - src/core/lib/support/sync_posix.cc
705
- - src/core/lib/support/sync_windows.cc
706
- - src/core/lib/support/thd.cc
707
- - src/core/lib/support/thd_internal.h
708
- - src/core/lib/support/thd_posix.cc
709
- - src/core/lib/support/thd_windows.cc
710
- - src/core/lib/support/time.cc
711
- - src/core/lib/support/time_posix.cc
712
- - src/core/lib/support/time_precise.cc
713
- - src/core/lib/support/time_precise.h
714
- - src/core/lib/support/time_windows.cc
715
- - src/core/lib/support/tls_pthread.cc
716
- - src/core/lib/support/tmpfile.h
717
- - src/core/lib/support/tmpfile_msys.cc
718
- - src/core/lib/support/tmpfile_posix.cc
719
- - src/core/lib/support/tmpfile_windows.cc
720
- - src/core/lib/support/wrap_memcpy.cc
721
723
  - src/core/lib/surface/alarm.cc
722
724
  - src/core/lib/surface/alarm_internal.h
723
725
  - src/core/lib/surface/api_trace.cc
@@ -1428,9 +1430,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1428
1430
  version: 2.0.0
1429
1431
  required_rubygems_version: !ruby/object:Gem::Requirement
1430
1432
  requirements:
1431
- - - ">="
1433
+ - - ">"
1432
1434
  - !ruby/object:Gem::Version
1433
- version: '0'
1435
+ version: 1.3.1
1434
1436
  requirements: []
1435
1437
  rubyforge_project:
1436
1438
  rubygems_version: 2.7.4
@@ -1,26 +0,0 @@
1
- /*
2
- *
3
- * Copyright 2016 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
18
-
19
- #ifndef GRPC_IMPL_CODEGEN_EXEC_CTX_FWD_H
20
- #define GRPC_IMPL_CODEGEN_EXEC_CTX_FWD_H
21
-
22
- /* forward declaration for exec_ctx.h */
23
- struct grpc_exec_ctx;
24
- typedef struct grpc_exec_ctx grpc_exec_ctx;
25
-
26
- #endif /* GRPC_IMPL_CODEGEN_EXEC_CTX_FWD_H */
@@ -1,64 +0,0 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
18
-
19
- #ifndef GRPC_SUPPORT_HISTOGRAM_H
20
- #define GRPC_SUPPORT_HISTOGRAM_H
21
-
22
- #include <grpc/support/port_platform.h>
23
- #include <stddef.h>
24
-
25
- #ifdef __cplusplus
26
- extern "C" {
27
- #endif
28
-
29
- typedef struct gpr_histogram gpr_histogram;
30
-
31
- GPRAPI gpr_histogram* gpr_histogram_create(double resolution,
32
- double max_bucket_start);
33
- GPRAPI void gpr_histogram_destroy(gpr_histogram* h);
34
- GPRAPI void gpr_histogram_add(gpr_histogram* h, double x);
35
-
36
- /** The following merges the second histogram into the first. It only works
37
- if they have the same buckets and resolution. Returns 0 on failure, 1
38
- on success */
39
- GPRAPI int gpr_histogram_merge(gpr_histogram* dst, const gpr_histogram* src);
40
-
41
- GPRAPI double gpr_histogram_percentile(gpr_histogram* histogram,
42
- double percentile);
43
- GPRAPI double gpr_histogram_mean(gpr_histogram* histogram);
44
- GPRAPI double gpr_histogram_stddev(gpr_histogram* histogram);
45
- GPRAPI double gpr_histogram_variance(gpr_histogram* histogram);
46
- GPRAPI double gpr_histogram_maximum(gpr_histogram* histogram);
47
- GPRAPI double gpr_histogram_minimum(gpr_histogram* histogram);
48
- GPRAPI double gpr_histogram_count(gpr_histogram* histogram);
49
- GPRAPI double gpr_histogram_sum(gpr_histogram* histogram);
50
- GPRAPI double gpr_histogram_sum_of_squares(gpr_histogram* histogram);
51
-
52
- GPRAPI const uint32_t* gpr_histogram_get_contents(gpr_histogram* histogram,
53
- size_t* count);
54
- GPRAPI void gpr_histogram_merge_contents(gpr_histogram* histogram,
55
- const uint32_t* data,
56
- size_t data_count, double min_seen,
57
- double max_seen, double sum,
58
- double sum_of_squares, double count);
59
-
60
- #ifdef __cplusplus
61
- }
62
- #endif
63
-
64
- #endif /* GRPC_SUPPORT_HISTOGRAM_H */
@@ -1,227 +0,0 @@
1
- /*
2
- *
3
- * Copyright 2015 gRPC authors.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- *
17
- */
18
-
19
- #include <grpc/support/histogram.h>
20
-
21
- #include <math.h>
22
- #include <stddef.h>
23
- #include <string.h>
24
-
25
- #include <grpc/support/alloc.h>
26
- #include <grpc/support/log.h>
27
- #include <grpc/support/port_platform.h>
28
- #include <grpc/support/useful.h>
29
-
30
- /* Histograms are stored with exponentially increasing bucket sizes.
31
- The first bucket is [0, m) where m = 1 + resolution
32
- Bucket n (n>=1) contains [m**n, m**(n+1))
33
- There are sufficient buckets to reach max_bucket_start */
34
-
35
- struct gpr_histogram {
36
- /* Sum of all values seen so far */
37
- double sum;
38
- /* Sum of squares of all values seen so far */
39
- double sum_of_squares;
40
- /* number of values seen so far */
41
- double count;
42
- /* m in the description */
43
- double multiplier;
44
- double one_on_log_multiplier;
45
- /* minimum value seen */
46
- double min_seen;
47
- /* maximum value seen */
48
- double max_seen;
49
- /* maximum representable value */
50
- double max_possible;
51
- /* number of buckets */
52
- size_t num_buckets;
53
- /* the buckets themselves */
54
- uint32_t* buckets;
55
- };
56
-
57
- /* determine a bucket index given a value - does no bounds checking */
58
- static size_t bucket_for_unchecked(gpr_histogram* h, double x) {
59
- return (size_t)(log(x) * h->one_on_log_multiplier);
60
- }
61
-
62
- /* bounds checked version of the above */
63
- static size_t bucket_for(gpr_histogram* h, double x) {
64
- size_t bucket = bucket_for_unchecked(h, GPR_CLAMP(x, 1.0, h->max_possible));
65
- GPR_ASSERT(bucket < h->num_buckets);
66
- return bucket;
67
- }
68
-
69
- /* at what value does a bucket start? */
70
- static double bucket_start(gpr_histogram* h, double x) {
71
- return pow(h->multiplier, x);
72
- }
73
-
74
- gpr_histogram* gpr_histogram_create(double resolution,
75
- double max_bucket_start) {
76
- gpr_histogram* h = (gpr_histogram*)gpr_malloc(sizeof(gpr_histogram));
77
- GPR_ASSERT(resolution > 0.0);
78
- GPR_ASSERT(max_bucket_start > resolution);
79
- h->sum = 0.0;
80
- h->sum_of_squares = 0.0;
81
- h->multiplier = 1.0 + resolution;
82
- h->one_on_log_multiplier = 1.0 / log(1.0 + resolution);
83
- h->max_possible = max_bucket_start;
84
- h->count = 0.0;
85
- h->min_seen = max_bucket_start;
86
- h->max_seen = 0.0;
87
- h->num_buckets = bucket_for_unchecked(h, max_bucket_start) + 1;
88
- GPR_ASSERT(h->num_buckets > 1);
89
- GPR_ASSERT(h->num_buckets < 100000000);
90
- h->buckets = (uint32_t*)gpr_zalloc(sizeof(uint32_t) * h->num_buckets);
91
- return h;
92
- }
93
-
94
- void gpr_histogram_destroy(gpr_histogram* h) {
95
- gpr_free(h->buckets);
96
- gpr_free(h);
97
- }
98
-
99
- void gpr_histogram_add(gpr_histogram* h, double x) {
100
- h->sum += x;
101
- h->sum_of_squares += x * x;
102
- h->count++;
103
- if (x < h->min_seen) {
104
- h->min_seen = x;
105
- }
106
- if (x > h->max_seen) {
107
- h->max_seen = x;
108
- }
109
- h->buckets[bucket_for(h, x)]++;
110
- }
111
-
112
- int gpr_histogram_merge(gpr_histogram* dst, const gpr_histogram* src) {
113
- if ((dst->num_buckets != src->num_buckets) ||
114
- (dst->multiplier != src->multiplier)) {
115
- /* Fail because these histograms don't match */
116
- return 0;
117
- }
118
- gpr_histogram_merge_contents(dst, src->buckets, src->num_buckets,
119
- src->min_seen, src->max_seen, src->sum,
120
- src->sum_of_squares, src->count);
121
- return 1;
122
- }
123
-
124
- void gpr_histogram_merge_contents(gpr_histogram* dst, const uint32_t* data,
125
- size_t data_count, double min_seen,
126
- double max_seen, double sum,
127
- double sum_of_squares, double count) {
128
- size_t i;
129
- GPR_ASSERT(dst->num_buckets == data_count);
130
- dst->sum += sum;
131
- dst->sum_of_squares += sum_of_squares;
132
- dst->count += count;
133
- if (min_seen < dst->min_seen) {
134
- dst->min_seen = min_seen;
135
- }
136
- if (max_seen > dst->max_seen) {
137
- dst->max_seen = max_seen;
138
- }
139
- for (i = 0; i < dst->num_buckets; i++) {
140
- dst->buckets[i] += data[i];
141
- }
142
- }
143
-
144
- static double threshold_for_count_below(gpr_histogram* h, double count_below) {
145
- double count_so_far;
146
- double lower_bound;
147
- double upper_bound;
148
- size_t lower_idx;
149
- size_t upper_idx;
150
-
151
- if (h->count == 0) {
152
- return 0.0;
153
- }
154
-
155
- if (count_below <= 0) {
156
- return h->min_seen;
157
- }
158
- if (count_below >= h->count) {
159
- return h->max_seen;
160
- }
161
-
162
- /* find the lowest bucket that gets us above count_below */
163
- count_so_far = 0.0;
164
- for (lower_idx = 0; lower_idx < h->num_buckets; lower_idx++) {
165
- count_so_far += h->buckets[lower_idx];
166
- if (count_so_far >= count_below) {
167
- break;
168
- }
169
- }
170
- if (count_so_far == count_below) {
171
- /* this bucket hits the threshold exactly... we should be midway through
172
- any run of zero values following the bucket */
173
- for (upper_idx = lower_idx + 1; upper_idx < h->num_buckets; upper_idx++) {
174
- if (h->buckets[upper_idx]) {
175
- break;
176
- }
177
- }
178
- return (bucket_start(h, (double)lower_idx) +
179
- bucket_start(h, (double)upper_idx)) /
180
- 2.0;
181
- } else {
182
- /* treat values as uniform throughout the bucket, and find where this value
183
- should lie */
184
- lower_bound = bucket_start(h, (double)lower_idx);
185
- upper_bound = bucket_start(h, (double)(lower_idx + 1));
186
- return GPR_CLAMP(upper_bound - (upper_bound - lower_bound) *
187
- (count_so_far - count_below) /
188
- h->buckets[lower_idx],
189
- h->min_seen, h->max_seen);
190
- }
191
- }
192
-
193
- double gpr_histogram_percentile(gpr_histogram* h, double percentile) {
194
- return threshold_for_count_below(h, h->count * percentile / 100.0);
195
- }
196
-
197
- double gpr_histogram_mean(gpr_histogram* h) {
198
- GPR_ASSERT(h->count != 0);
199
- return h->sum / h->count;
200
- }
201
-
202
- double gpr_histogram_stddev(gpr_histogram* h) {
203
- return sqrt(gpr_histogram_variance(h));
204
- }
205
-
206
- double gpr_histogram_variance(gpr_histogram* h) {
207
- if (h->count == 0) return 0.0;
208
- return (h->sum_of_squares * h->count - h->sum * h->sum) /
209
- (h->count * h->count);
210
- }
211
-
212
- double gpr_histogram_maximum(gpr_histogram* h) { return h->max_seen; }
213
-
214
- double gpr_histogram_minimum(gpr_histogram* h) { return h->min_seen; }
215
-
216
- double gpr_histogram_count(gpr_histogram* h) { return h->count; }
217
-
218
- double gpr_histogram_sum(gpr_histogram* h) { return h->sum; }
219
-
220
- double gpr_histogram_sum_of_squares(gpr_histogram* h) {
221
- return h->sum_of_squares;
222
- }
223
-
224
- const uint32_t* gpr_histogram_get_contents(gpr_histogram* h, size_t* size) {
225
- *size = h->num_buckets;
226
- return h->buckets;
227
- }