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
@@ -42,18 +42,10 @@ extern grpc_core::TraceFlag grpc_tcp_trace;
42
42
 
43
43
  #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192
44
44
 
45
- #ifdef __cplusplus
46
- extern "C" {
47
- #endif
48
-
49
45
  grpc_endpoint* grpc_tcp_create(uv_tcp_t* handle,
50
46
  grpc_resource_quota* resource_quota,
51
47
  char* peer_string);
52
48
 
53
- #ifdef __cplusplus
54
- }
55
- #endif
56
-
57
49
  #endif /* GRPC_UV */
58
50
 
59
51
  #endif /* GRPC_CORE_LIB_IOMGR_TCP_UV_H */
@@ -109,21 +109,20 @@ typedef struct grpc_tcp {
109
109
  char* peer_string;
110
110
  } grpc_tcp;
111
111
 
112
- static void tcp_free(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp) {
112
+ static void tcp_free(grpc_tcp* tcp) {
113
113
  grpc_winsocket_destroy(tcp->socket);
114
114
  gpr_mu_destroy(&tcp->mu);
115
115
  gpr_free(tcp->peer_string);
116
- grpc_resource_user_unref(exec_ctx, tcp->resource_user);
116
+ grpc_resource_user_unref(tcp->resource_user);
117
117
  if (tcp->shutting_down) GRPC_ERROR_UNREF(tcp->shutdown_error);
118
118
  gpr_free(tcp);
119
119
  }
120
120
 
121
121
  #ifndef NDEBUG
122
- #define TCP_UNREF(exec_ctx, tcp, reason) \
123
- tcp_unref((exec_ctx), (tcp), (reason), __FILE__, __LINE__)
122
+ #define TCP_UNREF(tcp, reason) tcp_unref((tcp), (reason), __FILE__, __LINE__)
124
123
  #define TCP_REF(tcp, reason) tcp_ref((tcp), (reason), __FILE__, __LINE__)
125
- static void tcp_unref(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp,
126
- const char* reason, const char* file, int line) {
124
+ static void tcp_unref(grpc_tcp* tcp, const char* reason, const char* file,
125
+ int line) {
127
126
  if (grpc_tcp_trace.enabled()) {
128
127
  gpr_atm val = gpr_atm_no_barrier_load(&tcp->refcount.count);
129
128
  gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
@@ -131,7 +130,7 @@ static void tcp_unref(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp,
131
130
  val - 1);
132
131
  }
133
132
  if (gpr_unref(&tcp->refcount)) {
134
- tcp_free(exec_ctx, tcp);
133
+ tcp_free(tcp);
135
134
  }
136
135
  }
137
136
 
@@ -146,11 +145,11 @@ static void tcp_ref(grpc_tcp* tcp, const char* reason, const char* file,
146
145
  gpr_ref(&tcp->refcount);
147
146
  }
148
147
  #else
149
- #define TCP_UNREF(exec_ctx, tcp, reason) tcp_unref((exec_ctx), (tcp))
148
+ #define TCP_UNREF(tcp, reason) tcp_unref((tcp))
150
149
  #define TCP_REF(tcp, reason) tcp_ref((tcp))
151
- static void tcp_unref(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp) {
150
+ static void tcp_unref(grpc_tcp* tcp) {
152
151
  if (gpr_unref(&tcp->refcount)) {
153
- tcp_free(exec_ctx, tcp);
152
+ tcp_free(tcp);
154
153
  }
155
154
  }
156
155
 
@@ -158,7 +157,7 @@ static void tcp_ref(grpc_tcp* tcp) { gpr_ref(&tcp->refcount); }
158
157
  #endif
159
158
 
160
159
  /* Asynchronous callback from the IOCP, or the background thread. */
161
- static void on_read(grpc_exec_ctx* exec_ctx, void* tcpp, grpc_error* error) {
160
+ static void on_read(void* tcpp, grpc_error* error) {
162
161
  grpc_tcp* tcp = (grpc_tcp*)tcpp;
163
162
  grpc_closure* cb = tcp->read_cb;
164
163
  grpc_winsocket* socket = tcp->socket;
@@ -172,13 +171,13 @@ static void on_read(grpc_exec_ctx* exec_ctx, void* tcpp, grpc_error* error) {
172
171
  char* utf8_message = gpr_format_message(info->wsa_error);
173
172
  error = GRPC_ERROR_CREATE_FROM_COPIED_STRING(utf8_message);
174
173
  gpr_free(utf8_message);
175
- grpc_slice_unref_internal(exec_ctx, tcp->read_slice);
174
+ grpc_slice_unref_internal(tcp->read_slice);
176
175
  } else {
177
176
  if (info->bytes_transfered != 0 && !tcp->shutting_down) {
178
177
  sub = grpc_slice_sub_no_ref(tcp->read_slice, 0, info->bytes_transfered);
179
178
  grpc_slice_buffer_add(tcp->read_slices, sub);
180
179
  } else {
181
- grpc_slice_unref_internal(exec_ctx, tcp->read_slice);
180
+ grpc_slice_unref_internal(tcp->read_slice);
182
181
  error = tcp->shutting_down
183
182
  ? GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
184
183
  "TCP stream shutting down", &tcp->shutdown_error, 1)
@@ -188,12 +187,12 @@ static void on_read(grpc_exec_ctx* exec_ctx, void* tcpp, grpc_error* error) {
188
187
  }
189
188
 
190
189
  tcp->read_cb = NULL;
191
- TCP_UNREF(exec_ctx, tcp, "read");
192
- GRPC_CLOSURE_SCHED(exec_ctx, cb, error);
190
+ TCP_UNREF(tcp, "read");
191
+ GRPC_CLOSURE_SCHED(cb, error);
193
192
  }
194
193
 
195
- static void win_read(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
196
- grpc_slice_buffer* read_slices, grpc_closure* cb) {
194
+ static void win_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
195
+ grpc_closure* cb) {
197
196
  grpc_tcp* tcp = (grpc_tcp*)ep;
198
197
  grpc_winsocket* handle = tcp->socket;
199
198
  grpc_winsocket_callback_info* info = &handle->read_info;
@@ -204,15 +203,14 @@ static void win_read(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
204
203
 
205
204
  if (tcp->shutting_down) {
206
205
  GRPC_CLOSURE_SCHED(
207
- exec_ctx, cb,
208
- GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
209
- "TCP socket is shutting down", &tcp->shutdown_error, 1));
206
+ cb, GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
207
+ "TCP socket is shutting down", &tcp->shutdown_error, 1));
210
208
  return;
211
209
  }
212
210
 
213
211
  tcp->read_cb = cb;
214
212
  tcp->read_slices = read_slices;
215
- grpc_slice_buffer_reset_and_unref_internal(exec_ctx, read_slices);
213
+ grpc_slice_buffer_reset_and_unref_internal(read_slices);
216
214
 
217
215
  tcp->read_slice = GRPC_SLICE_MALLOC(8192);
218
216
 
@@ -230,7 +228,7 @@ static void win_read(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
230
228
  /* Did we get data immediately ? Yay. */
231
229
  if (info->wsa_error != WSAEWOULDBLOCK) {
232
230
  info->bytes_transfered = bytes_read;
233
- GRPC_CLOSURE_SCHED(exec_ctx, &tcp->on_read, GRPC_ERROR_NONE);
231
+ GRPC_CLOSURE_SCHED(&tcp->on_read, GRPC_ERROR_NONE);
234
232
  return;
235
233
  }
236
234
 
@@ -243,17 +241,17 @@ static void win_read(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
243
241
  int wsa_error = WSAGetLastError();
244
242
  if (wsa_error != WSA_IO_PENDING) {
245
243
  info->wsa_error = wsa_error;
246
- GRPC_CLOSURE_SCHED(exec_ctx, &tcp->on_read,
244
+ GRPC_CLOSURE_SCHED(&tcp->on_read,
247
245
  GRPC_WSA_ERROR(info->wsa_error, "WSARecv"));
248
246
  return;
249
247
  }
250
248
  }
251
249
 
252
- grpc_socket_notify_on_read(exec_ctx, tcp->socket, &tcp->on_read);
250
+ grpc_socket_notify_on_read(tcp->socket, &tcp->on_read);
253
251
  }
254
252
 
255
253
  /* Asynchronous callback from the IOCP, or the background thread. */
256
- static void on_write(grpc_exec_ctx* exec_ctx, void* tcpp, grpc_error* error) {
254
+ static void on_write(void* tcpp, grpc_error* error) {
257
255
  grpc_tcp* tcp = (grpc_tcp*)tcpp;
258
256
  grpc_winsocket* handle = tcp->socket;
259
257
  grpc_winsocket_callback_info* info = &handle->write_info;
@@ -274,13 +272,13 @@ static void on_write(grpc_exec_ctx* exec_ctx, void* tcpp, grpc_error* error) {
274
272
  }
275
273
  }
276
274
 
277
- TCP_UNREF(exec_ctx, tcp, "write");
278
- GRPC_CLOSURE_SCHED(exec_ctx, cb, error);
275
+ TCP_UNREF(tcp, "write");
276
+ GRPC_CLOSURE_SCHED(cb, error);
279
277
  }
280
278
 
281
279
  /* Initiates a write. */
282
- static void win_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
283
- grpc_slice_buffer* slices, grpc_closure* cb) {
280
+ static void win_write(grpc_endpoint* ep, grpc_slice_buffer* slices,
281
+ grpc_closure* cb) {
284
282
  grpc_tcp* tcp = (grpc_tcp*)ep;
285
283
  grpc_winsocket* socket = tcp->socket;
286
284
  grpc_winsocket_callback_info* info = &socket->write_info;
@@ -294,9 +292,8 @@ static void win_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
294
292
 
295
293
  if (tcp->shutting_down) {
296
294
  GRPC_CLOSURE_SCHED(
297
- exec_ctx, cb,
298
- GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
299
- "TCP socket is shutting down", &tcp->shutdown_error, 1));
295
+ cb, GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
296
+ "TCP socket is shutting down", &tcp->shutdown_error, 1));
300
297
  return;
301
298
  }
302
299
 
@@ -327,7 +324,7 @@ static void win_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
327
324
  grpc_error* error = status == 0
328
325
  ? GRPC_ERROR_NONE
329
326
  : GRPC_WSA_ERROR(info->wsa_error, "WSASend");
330
- GRPC_CLOSURE_SCHED(exec_ctx, cb, error);
327
+ GRPC_CLOSURE_SCHED(cb, error);
331
328
  if (allocated) gpr_free(allocated);
332
329
  return;
333
330
  }
@@ -344,35 +341,32 @@ static void win_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
344
341
  if (status != 0) {
345
342
  int wsa_error = WSAGetLastError();
346
343
  if (wsa_error != WSA_IO_PENDING) {
347
- TCP_UNREF(exec_ctx, tcp, "write");
348
- GRPC_CLOSURE_SCHED(exec_ctx, cb, GRPC_WSA_ERROR(wsa_error, "WSASend"));
344
+ TCP_UNREF(tcp, "write");
345
+ GRPC_CLOSURE_SCHED(cb, GRPC_WSA_ERROR(wsa_error, "WSASend"));
349
346
  return;
350
347
  }
351
348
  }
352
349
 
353
350
  /* As all is now setup, we can now ask for the IOCP notification. It may
354
351
  trigger the callback immediately however, but no matter. */
355
- grpc_socket_notify_on_write(exec_ctx, socket, &tcp->on_write);
352
+ grpc_socket_notify_on_write(socket, &tcp->on_write);
356
353
  }
357
354
 
358
- static void win_add_to_pollset(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
359
- grpc_pollset* ps) {
355
+ static void win_add_to_pollset(grpc_endpoint* ep, grpc_pollset* ps) {
360
356
  grpc_tcp* tcp;
361
357
  (void)ps;
362
358
  tcp = (grpc_tcp*)ep;
363
359
  grpc_iocp_add_socket(tcp->socket);
364
360
  }
365
361
 
366
- static void win_add_to_pollset_set(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
367
- grpc_pollset_set* pss) {
362
+ static void win_add_to_pollset_set(grpc_endpoint* ep, grpc_pollset_set* pss) {
368
363
  grpc_tcp* tcp;
369
364
  (void)pss;
370
365
  tcp = (grpc_tcp*)ep;
371
366
  grpc_iocp_add_socket(tcp->socket);
372
367
  }
373
368
 
374
- static void win_delete_from_pollset_set(grpc_exec_ctx* exec_ctx,
375
- grpc_endpoint* ep,
369
+ static void win_delete_from_pollset_set(grpc_endpoint* ep,
376
370
  grpc_pollset_set* pss) {}
377
371
 
378
372
  /* Initiates a shutdown of the TCP endpoint. This will queue abort callbacks
@@ -381,8 +375,7 @@ static void win_delete_from_pollset_set(grpc_exec_ctx* exec_ctx,
381
375
  we're not going to protect against these. However the IO Completion Port
382
376
  callback will happen from another thread, so we need to protect against
383
377
  concurrent access of the data structure in that regard. */
384
- static void win_shutdown(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
385
- grpc_error* why) {
378
+ static void win_shutdown(grpc_endpoint* ep, grpc_error* why) {
386
379
  grpc_tcp* tcp = (grpc_tcp*)ep;
387
380
  gpr_mu_lock(&tcp->mu);
388
381
  /* At that point, what may happen is that we're already inside the IOCP
@@ -395,13 +388,13 @@ static void win_shutdown(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
395
388
  }
396
389
  grpc_winsocket_shutdown(tcp->socket);
397
390
  gpr_mu_unlock(&tcp->mu);
398
- grpc_resource_user_shutdown(exec_ctx, tcp->resource_user);
391
+ grpc_resource_user_shutdown(tcp->resource_user);
399
392
  }
400
393
 
401
- static void win_destroy(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep) {
394
+ static void win_destroy(grpc_endpoint* ep) {
402
395
  grpc_network_status_unregister_endpoint(ep);
403
396
  grpc_tcp* tcp = (grpc_tcp*)ep;
404
- TCP_UNREF(exec_ctx, tcp, "destroy");
397
+ TCP_UNREF(tcp, "destroy");
405
398
  }
406
399
 
407
400
  static char* win_get_peer(grpc_endpoint* ep) {
@@ -427,14 +420,14 @@ static grpc_endpoint_vtable vtable = {win_read,
427
420
  win_get_peer,
428
421
  win_get_fd};
429
422
 
430
- grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket,
423
+ grpc_endpoint* grpc_tcp_create(grpc_winsocket* socket,
431
424
  grpc_channel_args* channel_args,
432
425
  const char* peer_string) {
433
426
  grpc_resource_quota* resource_quota = grpc_resource_quota_create(NULL);
434
427
  if (channel_args != NULL) {
435
428
  for (size_t i = 0; i < channel_args->num_args; i++) {
436
429
  if (0 == strcmp(channel_args->args[i].key, GRPC_ARG_RESOURCE_QUOTA)) {
437
- grpc_resource_quota_unref_internal(exec_ctx, resource_quota);
430
+ grpc_resource_quota_unref_internal(resource_quota);
438
431
  resource_quota = grpc_resource_quota_ref_internal(
439
432
  (grpc_resource_quota*)channel_args->args[i].value.pointer.p);
440
433
  }
@@ -452,7 +445,7 @@ grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket,
452
445
  tcp->resource_user = grpc_resource_user_create(resource_quota, peer_string);
453
446
  /* Tell network status tracking code about the new endpoint */
454
447
  grpc_network_status_register_endpoint(&tcp->base);
455
- grpc_resource_quota_unref_internal(exec_ctx, resource_quota);
448
+ grpc_resource_quota_unref_internal(resource_quota);
456
449
 
457
450
  return &tcp->base;
458
451
  }
@@ -35,23 +35,15 @@
35
35
  #include "src/core/lib/iomgr/endpoint.h"
36
36
  #include "src/core/lib/iomgr/socket_windows.h"
37
37
 
38
- #ifdef __cplusplus
39
- extern "C" {
40
- #endif
41
-
42
38
  /* Create a tcp endpoint given a winsock handle.
43
39
  * Takes ownership of the handle.
44
40
  */
45
- grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_winsocket* socket,
41
+ grpc_endpoint* grpc_tcp_create(grpc_winsocket* socket,
46
42
  grpc_channel_args* channel_args,
47
43
  const char* peer_string);
48
44
 
49
45
  grpc_error* grpc_tcp_prepare_socket(SOCKET sock);
50
46
 
51
- #ifdef __cplusplus
52
- }
53
- #endif
54
-
55
47
  #endif
56
48
 
57
49
  #endif /* GRPC_CORE_LIB_IOMGR_TCP_WINDOWS_H */
@@ -19,10 +19,6 @@
19
19
  #ifndef GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H
20
20
  #define GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H
21
21
 
22
- #ifdef __cplusplus
23
- extern "C" {
24
- #endif
25
-
26
22
  /* This tracks a time-decaying weighted average. It works by collecting
27
23
  batches of samples and then mixing their average into a time-decaying
28
24
  weighted mean. It is designed for batch operations where we do many adds
@@ -74,8 +70,4 @@ void grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats* stats,
74
70
  value. */
75
71
  double grpc_time_averaged_stats_update_average(grpc_time_averaged_stats* stats);
76
72
 
77
- #ifdef __cplusplus
78
- }
79
- #endif
80
-
81
73
  #endif /* GRPC_CORE_LIB_IOMGR_TIME_AVERAGED_STATS_H */
@@ -32,10 +32,6 @@
32
32
  #include "src/core/lib/iomgr/exec_ctx.h"
33
33
  #include "src/core/lib/iomgr/iomgr.h"
34
34
 
35
- #ifdef __cplusplus
36
- extern "C" {
37
- #endif
38
-
39
35
  typedef struct grpc_timer grpc_timer;
40
36
 
41
37
  /* Initialize *timer. When expired or canceled, closure will be called with
@@ -44,8 +40,8 @@ typedef struct grpc_timer grpc_timer;
44
40
  application code should check the error to determine how it was invoked. The
45
41
  application callback is also responsible for maintaining information about
46
42
  when to free up any user-level state. */
47
- void grpc_timer_init(grpc_exec_ctx* exec_ctx, grpc_timer* timer,
48
- grpc_millis deadline, grpc_closure* closure);
43
+ void grpc_timer_init(grpc_timer* timer, grpc_millis deadline,
44
+ grpc_closure* closure);
49
45
 
50
46
  /* Initialize *timer without setting it. This can later be passed through
51
47
  the regular init or cancel */
@@ -77,7 +73,7 @@ void grpc_timer_init_unset(grpc_timer* timer);
77
73
  matches this aim.
78
74
 
79
75
  Requires: cancel() must happen after init() on a given timer */
80
- void grpc_timer_cancel(grpc_exec_ctx* exec_ctx, grpc_timer* timer);
76
+ void grpc_timer_cancel(grpc_timer* timer);
81
77
 
82
78
  /* iomgr internal api for dealing with timers */
83
79
 
@@ -94,10 +90,9 @@ typedef enum {
94
90
  *next is never guaranteed to be updated on any given execution; however,
95
91
  with high probability at least one thread in the system will see an update
96
92
  at any time slice. */
97
- grpc_timer_check_result grpc_timer_check(grpc_exec_ctx* exec_ctx,
98
- grpc_millis* next);
99
- void grpc_timer_list_init(grpc_exec_ctx* exec_ctx);
100
- void grpc_timer_list_shutdown(grpc_exec_ctx* exec_ctx);
93
+ grpc_timer_check_result grpc_timer_check(grpc_millis* next);
94
+ void grpc_timer_list_init();
95
+ void grpc_timer_list_shutdown();
101
96
 
102
97
  /* Consume a kick issued by grpc_kick_poller */
103
98
  void grpc_timer_consume_kick(void);
@@ -106,8 +101,4 @@ void grpc_timer_consume_kick(void);
106
101
 
107
102
  void grpc_kick_poller(void);
108
103
 
109
- #ifdef __cplusplus
110
- }
111
- #endif
112
-
113
104
  #endif /* GRPC_CORE_LIB_IOMGR_TIMER_H */
@@ -32,9 +32,9 @@
32
32
  #include <grpc/support/tls.h>
33
33
  #include <grpc/support/useful.h>
34
34
  #include "src/core/lib/debug/trace.h"
35
+ #include "src/core/lib/gpr/spinlock.h"
35
36
  #include "src/core/lib/iomgr/time_averaged_stats.h"
36
37
  #include "src/core/lib/iomgr/timer_heap.h"
37
- #include "src/core/lib/support/spinlock.h"
38
38
 
39
39
  #define INVALID_HEAP_INDEX 0xffffffffu
40
40
 
@@ -225,8 +225,7 @@ static gpr_atm saturating_add(gpr_atm a, gpr_atm b) {
225
225
  return a + b;
226
226
  }
227
227
 
228
- static grpc_timer_check_result run_some_expired_timers(grpc_exec_ctx* exec_ctx,
229
- gpr_atm now,
228
+ static grpc_timer_check_result run_some_expired_timers(gpr_atm now,
230
229
  gpr_atm* next,
231
230
  grpc_error* error);
232
231
 
@@ -236,7 +235,7 @@ static gpr_atm compute_min_deadline(timer_shard* shard) {
236
235
  : grpc_timer_heap_top(&shard->heap)->deadline;
237
236
  }
238
237
 
239
- void grpc_timer_list_init(grpc_exec_ctx* exec_ctx) {
238
+ void grpc_timer_list_init() {
240
239
  uint32_t i;
241
240
 
242
241
  g_num_shards = GPR_MIN(1, 2 * gpr_cpu_num_cores());
@@ -247,7 +246,7 @@ void grpc_timer_list_init(grpc_exec_ctx* exec_ctx) {
247
246
  g_shared_mutables.initialized = true;
248
247
  g_shared_mutables.checker_mu = GPR_SPINLOCK_INITIALIZER;
249
248
  gpr_mu_init(&g_shared_mutables.mu);
250
- g_shared_mutables.min_timer = grpc_exec_ctx_now(exec_ctx);
249
+ g_shared_mutables.min_timer = grpc_core::ExecCtx::Get()->Now();
251
250
  gpr_tls_init(&g_last_seen_min_timer);
252
251
  gpr_tls_set(&g_last_seen_min_timer, 0);
253
252
 
@@ -267,10 +266,10 @@ void grpc_timer_list_init(grpc_exec_ctx* exec_ctx) {
267
266
  INIT_TIMER_HASH_TABLE();
268
267
  }
269
268
 
270
- void grpc_timer_list_shutdown(grpc_exec_ctx* exec_ctx) {
269
+ void grpc_timer_list_shutdown() {
271
270
  size_t i;
272
271
  run_some_expired_timers(
273
- exec_ctx, GPR_ATM_MAX, nullptr,
272
+ GPR_ATM_MAX, nullptr,
274
273
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Timer list shutdown"));
275
274
  for (i = 0; i < g_num_shards; i++) {
276
275
  timer_shard* shard = &g_shards[i];
@@ -323,8 +322,8 @@ static void note_deadline_change(timer_shard* shard) {
323
322
 
324
323
  void grpc_timer_init_unset(grpc_timer* timer) { timer->pending = false; }
325
324
 
326
- void grpc_timer_init(grpc_exec_ctx* exec_ctx, grpc_timer* timer,
327
- grpc_millis deadline, grpc_closure* closure) {
325
+ void grpc_timer_init(grpc_timer* timer, grpc_millis deadline,
326
+ grpc_closure* closure) {
328
327
  int is_first_timer = 0;
329
328
  timer_shard* shard = &g_shards[GPR_HASH_POINTER(timer, g_num_shards)];
330
329
  timer->closure = closure;
@@ -337,12 +336,12 @@ void grpc_timer_init(grpc_exec_ctx* exec_ctx, grpc_timer* timer,
337
336
  if (grpc_timer_trace.enabled()) {
338
337
  gpr_log(GPR_DEBUG,
339
338
  "TIMER %p: SET %" PRIdPTR " now %" PRIdPTR " call %p[%p]", timer,
340
- deadline, grpc_exec_ctx_now(exec_ctx), closure, closure->cb);
339
+ deadline, grpc_core::ExecCtx::Get()->Now(), closure, closure->cb);
341
340
  }
342
341
 
343
342
  if (!g_shared_mutables.initialized) {
344
343
  timer->pending = false;
345
- GRPC_CLOSURE_SCHED(exec_ctx, timer->closure,
344
+ GRPC_CLOSURE_SCHED(timer->closure,
346
345
  GRPC_ERROR_CREATE_FROM_STATIC_STRING(
347
346
  "Attempt to create timer before initialization"));
348
347
  return;
@@ -350,10 +349,10 @@ void grpc_timer_init(grpc_exec_ctx* exec_ctx, grpc_timer* timer,
350
349
 
351
350
  gpr_mu_lock(&shard->mu);
352
351
  timer->pending = true;
353
- grpc_millis now = grpc_exec_ctx_now(exec_ctx);
352
+ grpc_millis now = grpc_core::ExecCtx::Get()->Now();
354
353
  if (deadline <= now) {
355
354
  timer->pending = false;
356
- GRPC_CLOSURE_SCHED(exec_ctx, timer->closure, GRPC_ERROR_NONE);
355
+ GRPC_CLOSURE_SCHED(timer->closure, GRPC_ERROR_NONE);
357
356
  gpr_mu_unlock(&shard->mu);
358
357
  /* early out */
359
358
  return;
@@ -414,7 +413,7 @@ void grpc_timer_consume_kick(void) {
414
413
  gpr_tls_set(&g_last_seen_min_timer, 0);
415
414
  }
416
415
 
417
- void grpc_timer_cancel(grpc_exec_ctx* exec_ctx, grpc_timer* timer) {
416
+ void grpc_timer_cancel(grpc_timer* timer) {
418
417
  if (!g_shared_mutables.initialized) {
419
418
  /* must have already been cancelled, also the shard mutex is invalid */
420
419
  return;
@@ -430,7 +429,7 @@ void grpc_timer_cancel(grpc_exec_ctx* exec_ctx, grpc_timer* timer) {
430
429
  if (timer->pending) {
431
430
  REMOVE_FROM_HASH_TABLE(timer);
432
431
 
433
- GRPC_CLOSURE_SCHED(exec_ctx, timer->closure, GRPC_ERROR_CANCELLED);
432
+ GRPC_CLOSURE_SCHED(timer->closure, GRPC_ERROR_CANCELLED);
434
433
  timer->pending = false;
435
434
  if (timer->heap_index == INVALID_HEAP_INDEX) {
436
435
  list_remove(timer);
@@ -516,15 +515,14 @@ static grpc_timer* pop_one(timer_shard* shard, gpr_atm now) {
516
515
  }
517
516
 
518
517
  /* REQUIRES: shard->mu unlocked */
519
- static size_t pop_timers(grpc_exec_ctx* exec_ctx, timer_shard* shard,
520
- gpr_atm now, gpr_atm* new_min_deadline,
521
- grpc_error* error) {
518
+ static size_t pop_timers(timer_shard* shard, gpr_atm now,
519
+ gpr_atm* new_min_deadline, grpc_error* error) {
522
520
  size_t n = 0;
523
521
  grpc_timer* timer;
524
522
  gpr_mu_lock(&shard->mu);
525
523
  while ((timer = pop_one(shard, now))) {
526
524
  REMOVE_FROM_HASH_TABLE(timer);
527
- GRPC_CLOSURE_SCHED(exec_ctx, timer->closure, GRPC_ERROR_REF(error));
525
+ GRPC_CLOSURE_SCHED(timer->closure, GRPC_ERROR_REF(error));
528
526
  n++;
529
527
  }
530
528
  *new_min_deadline = compute_min_deadline(shard);
@@ -536,8 +534,7 @@ static size_t pop_timers(grpc_exec_ctx* exec_ctx, timer_shard* shard,
536
534
  return n;
537
535
  }
538
536
 
539
- static grpc_timer_check_result run_some_expired_timers(grpc_exec_ctx* exec_ctx,
540
- gpr_atm now,
537
+ static grpc_timer_check_result run_some_expired_timers(gpr_atm now,
541
538
  gpr_atm* next,
542
539
  grpc_error* error) {
543
540
  grpc_timer_check_result result = GRPC_TIMERS_NOT_CHECKED;
@@ -566,8 +563,7 @@ static grpc_timer_check_result run_some_expired_timers(grpc_exec_ctx* exec_ctx,
566
563
  /* For efficiency, we pop as many available timers as we can from the
567
564
  shard. This may violate perfect timer deadline ordering, but that
568
565
  shouldn't be a big deal because we don't make ordering guarantees. */
569
- if (pop_timers(exec_ctx, g_shard_queue[0], now, &new_min_deadline,
570
- error) > 0) {
566
+ if (pop_timers(g_shard_queue[0], now, &new_min_deadline, error) > 0) {
571
567
  result = GRPC_TIMERS_FIRED;
572
568
  }
573
569
 
@@ -604,10 +600,9 @@ static grpc_timer_check_result run_some_expired_timers(grpc_exec_ctx* exec_ctx,
604
600
  return result;
605
601
  }
606
602
 
607
- grpc_timer_check_result grpc_timer_check(grpc_exec_ctx* exec_ctx,
608
- grpc_millis* next) {
603
+ grpc_timer_check_result grpc_timer_check(grpc_millis* next) {
609
604
  // prelude
610
- grpc_millis now = grpc_exec_ctx_now(exec_ctx);
605
+ grpc_millis now = grpc_core::ExecCtx::Get()->Now();
611
606
 
612
607
  /* fetch from a thread-local first: this avoids contention on a globally
613
608
  mutable cacheline in the common case */
@@ -646,7 +641,7 @@ grpc_timer_check_result grpc_timer_check(grpc_exec_ctx* exec_ctx,
646
641
  }
647
642
  // actual code
648
643
  grpc_timer_check_result r =
649
- run_some_expired_timers(exec_ctx, now, next, shutdown_error);
644
+ run_some_expired_timers(now, next, shutdown_error);
650
645
  // tracing
651
646
  if (grpc_timer_check_trace.enabled()) {
652
647
  char* next_str;