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
@@ -94,8 +94,7 @@ struct grpc_tcp_server {
94
94
 
95
95
  /* Public function. Allocates the proper data structures to hold a
96
96
  grpc_tcp_server. */
97
- grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
98
- grpc_closure* shutdown_complete,
97
+ grpc_error* grpc_tcp_server_create(grpc_closure* shutdown_complete,
99
98
  const grpc_channel_args* args,
100
99
  grpc_tcp_server** server) {
101
100
  grpc_tcp_server* s = (grpc_tcp_server*)gpr_malloc(sizeof(grpc_tcp_server));
@@ -114,8 +113,7 @@ grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
114
113
  return GRPC_ERROR_NONE;
115
114
  }
116
115
 
117
- static void destroy_server(grpc_exec_ctx* exec_ctx, void* arg,
118
- grpc_error* error) {
116
+ static void destroy_server(void* arg, grpc_error* error) {
119
117
  grpc_tcp_server* s = (grpc_tcp_server*)arg;
120
118
 
121
119
  /* Now that the accepts have been aborted, we can destroy the sockets.
@@ -128,18 +126,16 @@ static void destroy_server(grpc_exec_ctx* exec_ctx, void* arg,
128
126
  grpc_winsocket_destroy(sp->socket);
129
127
  gpr_free(sp);
130
128
  }
131
- grpc_channel_args_destroy(exec_ctx, s->channel_args);
129
+ grpc_channel_args_destroy(s->channel_args);
132
130
  gpr_free(s);
133
131
  }
134
132
 
135
- static void finish_shutdown_locked(grpc_exec_ctx* exec_ctx,
136
- grpc_tcp_server* s) {
133
+ static void finish_shutdown_locked(grpc_tcp_server* s) {
137
134
  if (s->shutdown_complete != NULL) {
138
- GRPC_CLOSURE_SCHED(exec_ctx, s->shutdown_complete, GRPC_ERROR_NONE);
135
+ GRPC_CLOSURE_SCHED(s->shutdown_complete, GRPC_ERROR_NONE);
139
136
  }
140
137
 
141
138
  GRPC_CLOSURE_SCHED(
142
- exec_ctx,
143
139
  GRPC_CLOSURE_CREATE(destroy_server, s, grpc_schedule_on_exec_ctx),
144
140
  GRPC_ERROR_NONE);
145
141
  }
@@ -157,14 +153,14 @@ void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server* s,
157
153
  gpr_mu_unlock(&s->mu);
158
154
  }
159
155
 
160
- static void tcp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
156
+ static void tcp_server_destroy(grpc_tcp_server* s) {
161
157
  grpc_tcp_listener* sp;
162
158
  gpr_mu_lock(&s->mu);
163
159
 
164
160
  /* First, shutdown all fd's. This will queue abortion calls for all
165
161
  of the pending accepts due to the normal operation mechanism. */
166
162
  if (s->active_ports == 0) {
167
- finish_shutdown_locked(exec_ctx, s);
163
+ finish_shutdown_locked(s);
168
164
  } else {
169
165
  for (sp = s->head; sp; sp = sp->next) {
170
166
  sp->shutting_down = 1;
@@ -174,13 +170,13 @@ static void tcp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
174
170
  gpr_mu_unlock(&s->mu);
175
171
  }
176
172
 
177
- void grpc_tcp_server_unref(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
173
+ void grpc_tcp_server_unref(grpc_tcp_server* s) {
178
174
  if (gpr_unref(&s->refs)) {
179
- grpc_tcp_server_shutdown_listeners(exec_ctx, s);
175
+ grpc_tcp_server_shutdown_listeners(s);
180
176
  gpr_mu_lock(&s->mu);
181
- GRPC_CLOSURE_LIST_SCHED(exec_ctx, &s->shutdown_starting);
177
+ GRPC_CLOSURE_LIST_SCHED(&s->shutdown_starting);
182
178
  gpr_mu_unlock(&s->mu);
183
- tcp_server_destroy(exec_ctx, s);
179
+ tcp_server_destroy(s);
184
180
  }
185
181
  }
186
182
 
@@ -234,19 +230,17 @@ failure:
234
230
  return error;
235
231
  }
236
232
 
237
- static void decrement_active_ports_and_notify_locked(grpc_exec_ctx* exec_ctx,
238
- grpc_tcp_listener* sp) {
233
+ static void decrement_active_ports_and_notify_locked(grpc_tcp_listener* sp) {
239
234
  sp->shutting_down = 0;
240
235
  GPR_ASSERT(sp->server->active_ports > 0);
241
236
  if (0 == --sp->server->active_ports) {
242
- finish_shutdown_locked(exec_ctx, sp->server);
237
+ finish_shutdown_locked(sp->server);
243
238
  }
244
239
  }
245
240
 
246
241
  /* In order to do an async accept, we need to create a socket first which
247
242
  will be the one assigned to the new incoming connection. */
248
- static grpc_error* start_accept_locked(grpc_exec_ctx* exec_ctx,
249
- grpc_tcp_listener* port) {
243
+ static grpc_error* start_accept_locked(grpc_tcp_listener* port) {
250
244
  SOCKET sock = INVALID_SOCKET;
251
245
  BOOL success;
252
246
  DWORD addrlen = sizeof(struct sockaddr_in6) + 16;
@@ -285,7 +279,7 @@ static grpc_error* start_accept_locked(grpc_exec_ctx* exec_ctx,
285
279
  /* We're ready to do the accept. Calling grpc_socket_notify_on_read may
286
280
  immediately process an accept that happened in the meantime. */
287
281
  port->new_socket = sock;
288
- grpc_socket_notify_on_read(exec_ctx, port->socket, &port->on_accept);
282
+ grpc_socket_notify_on_read(port->socket, &port->on_accept);
289
283
  port->outstanding_calls++;
290
284
  return error;
291
285
 
@@ -296,7 +290,7 @@ failure:
296
290
  }
297
291
 
298
292
  /* Event manager callback when reads are ready. */
299
- static void on_accept(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
293
+ static void on_accept(void* arg, grpc_error* error) {
300
294
  grpc_tcp_listener* sp = (grpc_tcp_listener*)arg;
301
295
  SOCKET sock = sp->new_socket;
302
296
  grpc_winsocket_callback_info* info = &sp->socket->read_info;
@@ -357,7 +351,7 @@ static void on_accept(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
357
351
  gpr_free(utf8_message);
358
352
  }
359
353
  gpr_asprintf(&fd_name, "tcp_server:%s", peer_name_string);
360
- ep = grpc_tcp_create(exec_ctx, grpc_winsocket_create(sock, fd_name),
354
+ ep = grpc_tcp_create(grpc_winsocket_create(sock, fd_name),
361
355
  sp->server->channel_args, peer_name_string);
362
356
  gpr_free(fd_name);
363
357
  gpr_free(peer_name_string);
@@ -375,17 +369,15 @@ static void on_accept(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
375
369
  acceptor->from_server = sp->server;
376
370
  acceptor->port_index = sp->port_index;
377
371
  acceptor->fd_index = 0;
378
- sp->server->on_accept_cb(exec_ctx, sp->server->on_accept_cb_arg, ep, NULL,
379
- acceptor);
372
+ sp->server->on_accept_cb(sp->server->on_accept_cb_arg, ep, NULL, acceptor);
380
373
  }
381
374
  /* As we were notified from the IOCP of one and exactly one accept,
382
375
  the former socked we created has now either been destroy or assigned
383
376
  to the new connection. We need to create a new one for the next
384
377
  connection. */
385
- GPR_ASSERT(
386
- GRPC_LOG_IF_ERROR("start_accept", start_accept_locked(exec_ctx, sp)));
378
+ GPR_ASSERT(GRPC_LOG_IF_ERROR("start_accept", start_accept_locked(sp)));
387
379
  if (0 == --sp->outstanding_calls) {
388
- decrement_active_ports_and_notify_locked(exec_ctx, sp);
380
+ decrement_active_ports_and_notify_locked(sp);
389
381
  }
390
382
  gpr_mu_unlock(&sp->server->mu);
391
383
  }
@@ -522,8 +514,8 @@ done:
522
514
  return error;
523
515
  }
524
516
 
525
- void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s,
526
- grpc_pollset** pollset, size_t pollset_count,
517
+ void grpc_tcp_server_start(grpc_tcp_server* s, grpc_pollset** pollset,
518
+ size_t pollset_count,
527
519
  grpc_tcp_server_cb on_accept_cb,
528
520
  void* on_accept_cb_arg) {
529
521
  grpc_tcp_listener* sp;
@@ -534,14 +526,12 @@ void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s,
534
526
  s->on_accept_cb = on_accept_cb;
535
527
  s->on_accept_cb_arg = on_accept_cb_arg;
536
528
  for (sp = s->head; sp; sp = sp->next) {
537
- GPR_ASSERT(
538
- GRPC_LOG_IF_ERROR("start_accept", start_accept_locked(exec_ctx, sp)));
529
+ GPR_ASSERT(GRPC_LOG_IF_ERROR("start_accept", start_accept_locked(sp)));
539
530
  s->active_ports++;
540
531
  }
541
532
  gpr_mu_unlock(&s->mu);
542
533
  }
543
534
 
544
- void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx* exec_ctx,
545
- grpc_tcp_server* s) {}
535
+ void grpc_tcp_server_shutdown_listeners(grpc_tcp_server* s) {}
546
536
 
547
537
  #endif /* GRPC_WINSOCK_SOCKET */
@@ -29,6 +29,7 @@
29
29
  #include <grpc/support/log.h>
30
30
  #include <grpc/support/string_util.h>
31
31
 
32
+ #include "src/core/lib/gpr/string.h"
32
33
  #include "src/core/lib/iomgr/error.h"
33
34
  #include "src/core/lib/iomgr/iomgr_uv.h"
34
35
  #include "src/core/lib/iomgr/network_status_tracker.h"
@@ -36,7 +37,6 @@
36
37
  #include "src/core/lib/iomgr/tcp_uv.h"
37
38
  #include "src/core/lib/slice/slice_internal.h"
38
39
  #include "src/core/lib/slice/slice_string_helpers.h"
39
- #include "src/core/lib/support/string.h"
40
40
 
41
41
  grpc_core::TraceFlag grpc_tcp_trace(false, "tcp");
42
42
 
@@ -76,19 +76,18 @@ static grpc_error* tcp_annotate_error(grpc_error* src_error, grpc_tcp* tcp) {
76
76
  grpc_slice_from_copied_string(tcp->peer_string));
77
77
  }
78
78
 
79
- static void tcp_free(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp) {
80
- grpc_resource_user_unref(exec_ctx, tcp->resource_user);
79
+ static void tcp_free(grpc_tcp* tcp) {
80
+ grpc_resource_user_unref(tcp->resource_user);
81
81
  gpr_free(tcp->handle);
82
82
  gpr_free(tcp->peer_string);
83
83
  gpr_free(tcp);
84
84
  }
85
85
 
86
86
  #ifndef NDEBUG
87
- #define TCP_UNREF(exec_ctx, tcp, reason) \
88
- tcp_unref((exec_ctx), (tcp), (reason), __FILE__, __LINE__)
87
+ #define TCP_UNREF(tcp, reason) tcp_unref((tcp), (reason), __FILE__, __LINE__)
89
88
  #define TCP_REF(tcp, reason) tcp_ref((tcp), (reason), __FILE__, __LINE__)
90
- static void tcp_unref(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp,
91
- const char* reason, const char* file, int line) {
89
+ static void tcp_unref(grpc_tcp* tcp, const char* reason, const char* file,
90
+ int line) {
92
91
  if (grpc_tcp_trace.enabled()) {
93
92
  gpr_atm val = gpr_atm_no_barrier_load(&tcp->refcount.count);
94
93
  gpr_log(file, line, GPR_LOG_SEVERITY_DEBUG,
@@ -96,7 +95,7 @@ static void tcp_unref(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp,
96
95
  val - 1);
97
96
  }
98
97
  if (gpr_unref(&tcp->refcount)) {
99
- tcp_free(exec_ctx, tcp);
98
+ tcp_free(tcp);
100
99
  }
101
100
  }
102
101
 
@@ -111,11 +110,11 @@ static void tcp_ref(grpc_tcp* tcp, const char* reason, const char* file,
111
110
  gpr_ref(&tcp->refcount);
112
111
  }
113
112
  #else
114
- #define TCP_UNREF(exec_ctx, tcp, reason) tcp_unref((exec_ctx), (tcp))
113
+ #define TCP_UNREF(tcp, reason) tcp_unref((tcp))
115
114
  #define TCP_REF(tcp, reason) tcp_ref((tcp))
116
- static void tcp_unref(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp) {
115
+ static void tcp_unref(grpc_tcp* tcp) {
117
116
  if (gpr_unref(&tcp->refcount)) {
118
- tcp_free(exec_ctx, tcp);
117
+ tcp_free(tcp);
119
118
  }
120
119
  }
121
120
 
@@ -123,15 +122,14 @@ static void tcp_ref(grpc_tcp* tcp) { gpr_ref(&tcp->refcount); }
123
122
  #endif
124
123
 
125
124
  static void uv_close_callback(uv_handle_t* handle) {
126
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
125
+ grpc_core::ExecCtx exec_ctx;
127
126
  grpc_tcp* tcp = (grpc_tcp*)handle->data;
128
- TCP_UNREF(&exec_ctx, tcp, "destroy");
129
- grpc_exec_ctx_finish(&exec_ctx);
127
+ TCP_UNREF(tcp, "destroy");
130
128
  }
131
129
 
132
130
  static void alloc_uv_buf(uv_handle_t* handle, size_t suggested_size,
133
131
  uv_buf_t* buf) {
134
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
132
+ grpc_core::ExecCtx exec_ctx;
135
133
  grpc_tcp* tcp = (grpc_tcp*)handle->data;
136
134
  (void)suggested_size;
137
135
  /* Before calling uv_read_start, we allocate a buffer with exactly one slice
@@ -139,11 +137,9 @@ static void alloc_uv_buf(uv_handle_t* handle, size_t suggested_size,
139
137
  * allocation was successful. So slices[0] should always exist here */
140
138
  buf->base = (char*)GRPC_SLICE_START_PTR(tcp->read_slices->slices[0]);
141
139
  buf->len = GRPC_SLICE_LENGTH(tcp->read_slices->slices[0]);
142
- grpc_exec_ctx_finish(&exec_ctx);
143
140
  }
144
141
 
145
- static void call_read_cb(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp,
146
- grpc_error* error) {
142
+ static void call_read_cb(grpc_tcp* tcp, grpc_error* error) {
147
143
  grpc_closure* cb = tcp->read_cb;
148
144
  if (grpc_tcp_trace.enabled()) {
149
145
  gpr_log(GPR_DEBUG, "TCP:%p call_cb %p %p:%p", tcp, cb, cb->cb, cb->cb_arg);
@@ -160,26 +156,26 @@ static void call_read_cb(grpc_exec_ctx* exec_ctx, grpc_tcp* tcp,
160
156
  }
161
157
  tcp->read_slices = NULL;
162
158
  tcp->read_cb = NULL;
163
- GRPC_CLOSURE_RUN(exec_ctx, cb, error);
159
+ GRPC_CLOSURE_RUN(cb, error);
164
160
  }
165
161
 
166
162
  static void read_callback(uv_stream_t* stream, ssize_t nread,
167
163
  const uv_buf_t* buf) {
168
164
  grpc_error* error;
169
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
165
+ grpc_core::ExecCtx exec_ctx;
170
166
  grpc_tcp* tcp = (grpc_tcp*)stream->data;
171
167
  grpc_slice_buffer garbage;
172
168
  if (nread == 0) {
173
169
  // Nothing happened. Wait for the next callback
174
170
  return;
175
171
  }
176
- TCP_UNREF(&exec_ctx, tcp, "read");
172
+ TCP_UNREF(tcp, "read");
177
173
  // TODO(murgatroid99): figure out what the return value here means
178
174
  uv_read_stop(stream);
179
175
  if (nread == UV_EOF) {
180
176
  error =
181
177
  tcp_annotate_error(GRPC_ERROR_CREATE_FROM_STATIC_STRING("EOF"), tcp);
182
- grpc_slice_buffer_reset_and_unref_internal(&exec_ctx, tcp->read_slices);
178
+ grpc_slice_buffer_reset_and_unref_internal(tcp->read_slices);
183
179
  } else if (nread > 0) {
184
180
  // Successful read
185
181
  error = GRPC_ERROR_NONE;
@@ -189,20 +185,18 @@ static void read_callback(uv_stream_t* stream, ssize_t nread,
189
185
  grpc_slice_buffer_init(&garbage);
190
186
  grpc_slice_buffer_trim_end(
191
187
  tcp->read_slices, tcp->read_slices->length - (size_t)nread, &garbage);
192
- grpc_slice_buffer_reset_and_unref_internal(&exec_ctx, &garbage);
188
+ grpc_slice_buffer_reset_and_unref_internal(&garbage);
193
189
  }
194
190
  } else {
195
191
  // nread < 0: Error
196
192
  error = tcp_annotate_error(
197
193
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("TCP Read failed"), tcp);
198
- grpc_slice_buffer_reset_and_unref_internal(&exec_ctx, tcp->read_slices);
194
+ grpc_slice_buffer_reset_and_unref_internal(tcp->read_slices);
199
195
  }
200
- call_read_cb(&exec_ctx, tcp, error);
201
- grpc_exec_ctx_finish(&exec_ctx);
196
+ call_read_cb(tcp, error);
202
197
  }
203
198
 
204
- static void tcp_read_allocation_done(grpc_exec_ctx* exec_ctx, void* tcpp,
205
- grpc_error* error) {
199
+ static void tcp_read_allocation_done(void* tcpp, grpc_error* error) {
206
200
  int status;
207
201
  grpc_tcp* tcp = (grpc_tcp*)tcpp;
208
202
  if (grpc_tcp_trace.enabled()) {
@@ -222,9 +216,9 @@ static void tcp_read_allocation_done(grpc_exec_ctx* exec_ctx, void* tcpp,
222
216
  }
223
217
  }
224
218
  if (error != GRPC_ERROR_NONE) {
225
- grpc_slice_buffer_reset_and_unref_internal(exec_ctx, tcp->read_slices);
226
- call_read_cb(exec_ctx, tcp, GRPC_ERROR_REF(error));
227
- TCP_UNREF(exec_ctx, tcp, "read");
219
+ grpc_slice_buffer_reset_and_unref_internal(tcp->read_slices);
220
+ call_read_cb(tcp, GRPC_ERROR_REF(error));
221
+ TCP_UNREF(tcp, "read");
228
222
  }
229
223
  if (grpc_tcp_trace.enabled()) {
230
224
  const char* str = grpc_error_string(error);
@@ -232,16 +226,16 @@ static void tcp_read_allocation_done(grpc_exec_ctx* exec_ctx, void* tcpp,
232
226
  }
233
227
  }
234
228
 
235
- static void uv_endpoint_read(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
236
- grpc_slice_buffer* read_slices, grpc_closure* cb) {
229
+ static void uv_endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
230
+ grpc_closure* cb) {
237
231
  grpc_tcp* tcp = (grpc_tcp*)ep;
238
232
  GRPC_UV_ASSERT_SAME_THREAD();
239
233
  GPR_ASSERT(tcp->read_cb == NULL);
240
234
  tcp->read_cb = cb;
241
235
  tcp->read_slices = read_slices;
242
- grpc_slice_buffer_reset_and_unref_internal(exec_ctx, read_slices);
236
+ grpc_slice_buffer_reset_and_unref_internal(read_slices);
243
237
  TCP_REF(tcp, "read");
244
- grpc_resource_user_alloc_slices(exec_ctx, &tcp->slice_allocator,
238
+ grpc_resource_user_alloc_slices(&tcp->slice_allocator,
245
239
  GRPC_TCP_DEFAULT_READ_SLICE_SIZE, 1,
246
240
  tcp->read_slices);
247
241
  }
@@ -249,10 +243,10 @@ static void uv_endpoint_read(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
249
243
  static void write_callback(uv_write_t* req, int status) {
250
244
  grpc_tcp* tcp = (grpc_tcp*)req->data;
251
245
  grpc_error* error;
252
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
246
+ grpc_core::ExecCtx exec_ctx;
253
247
  grpc_closure* cb = tcp->write_cb;
254
248
  tcp->write_cb = NULL;
255
- TCP_UNREF(&exec_ctx, tcp, "write");
249
+ TCP_UNREF(tcp, "write");
256
250
  if (status == 0) {
257
251
  error = GRPC_ERROR_NONE;
258
252
  } else {
@@ -264,11 +258,10 @@ static void write_callback(uv_write_t* req, int status) {
264
258
  gpr_log(GPR_DEBUG, "write complete on %p: error=%s", tcp, str);
265
259
  }
266
260
  gpr_free(tcp->write_buffers);
267
- GRPC_CLOSURE_SCHED(&exec_ctx, cb, error);
268
- grpc_exec_ctx_finish(&exec_ctx);
261
+ GRPC_CLOSURE_SCHED(cb, error);
269
262
  }
270
263
 
271
- static void uv_endpoint_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
264
+ static void uv_endpoint_write(grpc_endpoint* ep,
272
265
  grpc_slice_buffer* write_slices,
273
266
  grpc_closure* cb) {
274
267
  grpc_tcp* tcp = (grpc_tcp*)ep;
@@ -291,7 +284,7 @@ static void uv_endpoint_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
291
284
  }
292
285
 
293
286
  if (tcp->shutting_down) {
294
- GRPC_CLOSURE_SCHED(exec_ctx, cb,
287
+ GRPC_CLOSURE_SCHED(cb,
295
288
  tcp_annotate_error(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
296
289
  "TCP socket is shutting down"),
297
290
  tcp));
@@ -304,7 +297,7 @@ static void uv_endpoint_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
304
297
  if (tcp->write_slices->count == 0) {
305
298
  // No slices means we don't have to do anything,
306
299
  // and libuv doesn't like empty writes
307
- GRPC_CLOSURE_SCHED(exec_ctx, cb, GRPC_ERROR_NONE);
300
+ GRPC_CLOSURE_SCHED(cb, GRPC_ERROR_NONE);
308
301
  return;
309
302
  }
310
303
 
@@ -325,37 +318,31 @@ static void uv_endpoint_write(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
325
318
  write_callback);
326
319
  }
327
320
 
328
- static void uv_add_to_pollset(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
329
- grpc_pollset* pollset) {
321
+ static void uv_add_to_pollset(grpc_endpoint* ep, grpc_pollset* pollset) {
330
322
  // No-op. We're ignoring pollsets currently
331
- (void)exec_ctx;
332
323
  (void)ep;
333
324
  (void)pollset;
334
325
  grpc_tcp* tcp = (grpc_tcp*)ep;
335
326
  tcp->pollset = pollset;
336
327
  }
337
328
 
338
- static void uv_add_to_pollset_set(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
329
+ static void uv_add_to_pollset_set(grpc_endpoint* ep,
339
330
  grpc_pollset_set* pollset) {
340
331
  // No-op. We're ignoring pollsets currently
341
- (void)exec_ctx;
342
332
  (void)ep;
343
333
  (void)pollset;
344
334
  }
345
335
 
346
- static void uv_delete_from_pollset_set(grpc_exec_ctx* exec_ctx,
347
- grpc_endpoint* ep,
336
+ static void uv_delete_from_pollset_set(grpc_endpoint* ep,
348
337
  grpc_pollset_set* pollset) {
349
338
  // No-op. We're ignoring pollsets currently
350
- (void)exec_ctx;
351
339
  (void)ep;
352
340
  (void)pollset;
353
341
  }
354
342
 
355
343
  static void shutdown_callback(uv_shutdown_t* req, int status) {}
356
344
 
357
- static void uv_endpoint_shutdown(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
358
- grpc_error* why) {
345
+ static void uv_endpoint_shutdown(grpc_endpoint* ep, grpc_error* why) {
359
346
  grpc_tcp* tcp = (grpc_tcp*)ep;
360
347
  if (!tcp->shutting_down) {
361
348
  if (grpc_tcp_trace.enabled()) {
@@ -365,12 +352,12 @@ static void uv_endpoint_shutdown(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
365
352
  tcp->shutting_down = true;
366
353
  uv_shutdown_t* req = &tcp->shutdown_req;
367
354
  uv_shutdown(req, (uv_stream_t*)tcp->handle, shutdown_callback);
368
- grpc_resource_user_shutdown(exec_ctx, tcp->resource_user);
355
+ grpc_resource_user_shutdown(tcp->resource_user);
369
356
  }
370
357
  GRPC_ERROR_UNREF(why);
371
358
  }
372
359
 
373
- static void uv_destroy(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep) {
360
+ static void uv_destroy(grpc_endpoint* ep) {
374
361
  grpc_network_status_unregister_endpoint(ep);
375
362
  grpc_tcp* tcp = (grpc_tcp*)ep;
376
363
  uv_close((uv_handle_t*)tcp->handle, uv_close_callback);
@@ -403,7 +390,7 @@ grpc_endpoint* grpc_tcp_create(uv_tcp_t* handle,
403
390
  grpc_resource_quota* resource_quota,
404
391
  char* peer_string) {
405
392
  grpc_tcp* tcp = (grpc_tcp*)gpr_malloc(sizeof(grpc_tcp));
406
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
393
+ grpc_core::ExecCtx exec_ctx;
407
394
 
408
395
  if (grpc_tcp_trace.enabled()) {
409
396
  gpr_log(GPR_DEBUG, "Creating TCP endpoint %p", tcp);
@@ -430,7 +417,6 @@ grpc_endpoint* grpc_tcp_create(uv_tcp_t* handle,
430
417
  uv_unref((uv_handle_t*)handle);
431
418
  #endif
432
419
 
433
- grpc_exec_ctx_finish(&exec_ctx);
434
420
  return &tcp->base;
435
421
  }
436
422