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
@@ -33,16 +33,11 @@
33
33
  #include "src/core/lib/iomgr/endpoint.h"
34
34
  #include "src/core/lib/iomgr/ev_posix.h"
35
35
 
36
- #ifdef __cplusplus
37
- extern "C" {
38
- #endif
39
-
40
36
  extern grpc_core::TraceFlag grpc_tcp_trace;
41
37
 
42
38
  /* Create a tcp endpoint given a file desciptor and a read slice size.
43
39
  Takes ownership of fd. */
44
- grpc_endpoint* grpc_tcp_create(grpc_exec_ctx* exec_ctx, grpc_fd* fd,
45
- const grpc_channel_args* args,
40
+ grpc_endpoint* grpc_tcp_create(grpc_fd* fd, const grpc_channel_args* args,
46
41
  const char* peer_string);
47
42
 
48
43
  /* Return the tcp endpoint's fd, or -1 if this is not available. Does not
@@ -54,11 +49,7 @@ int grpc_tcp_fd(grpc_endpoint* ep);
54
49
  /* Destroy the tcp endpoint without closing its fd. *fd will be set and done
55
50
  * will be called when the endpoint is destroyed.
56
51
  * Requires: ep must be a tcp endpoint and fd must not be NULL. */
57
- void grpc_tcp_destroy_and_release_fd(grpc_exec_ctx* exec_ctx, grpc_endpoint* ep,
58
- int* fd, grpc_closure* done);
59
-
60
- #ifdef __cplusplus
61
- }
62
- #endif
52
+ void grpc_tcp_destroy_and_release_fd(grpc_endpoint* ep, int* fd,
53
+ grpc_closure* done);
63
54
 
64
55
  #endif /* GRPC_CORE_LIB_IOMGR_TCP_POSIX_H */
@@ -25,10 +25,6 @@
25
25
  #include "src/core/lib/iomgr/endpoint.h"
26
26
  #include "src/core/lib/iomgr/resolve_address.h"
27
27
 
28
- #ifdef __cplusplus
29
- extern "C" {
30
- #endif
31
-
32
28
  /* Forward decl of grpc_tcp_server */
33
29
  typedef struct grpc_tcp_server grpc_tcp_server;
34
30
 
@@ -43,22 +39,20 @@ typedef struct grpc_tcp_server_acceptor {
43
39
 
44
40
  /* Called for newly connected TCP connections.
45
41
  Takes ownership of acceptor. */
46
- typedef void (*grpc_tcp_server_cb)(grpc_exec_ctx* exec_ctx, void* arg,
47
- grpc_endpoint* ep,
42
+ typedef void (*grpc_tcp_server_cb)(void* arg, grpc_endpoint* ep,
48
43
  grpc_pollset* accepting_pollset,
49
44
  grpc_tcp_server_acceptor* acceptor);
50
45
 
51
46
  /* Create a server, initially not bound to any ports. The caller owns one ref.
52
47
  If shutdown_complete is not NULL, it will be used by
53
48
  grpc_tcp_server_unref() when the ref count reaches zero. */
54
- grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
55
- grpc_closure* shutdown_complete,
49
+ grpc_error* grpc_tcp_server_create(grpc_closure* shutdown_complete,
56
50
  const grpc_channel_args* args,
57
51
  grpc_tcp_server** server);
58
52
 
59
53
  /* Start listening to bound ports */
60
- void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* server,
61
- grpc_pollset** pollsets, size_t pollset_count,
54
+ void grpc_tcp_server_start(grpc_tcp_server* server, grpc_pollset** pollsets,
55
+ size_t pollset_count,
62
56
  grpc_tcp_server_cb on_accept_cb, void* cb_arg);
63
57
 
64
58
  /* Add a port to the server, returning the newly allocated port on success, or
@@ -96,14 +90,9 @@ void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server* s,
96
90
 
97
91
  /* If the refcount drops to zero, enqueue calls on exec_ctx to
98
92
  shutdown_listeners and delete s. */
99
- void grpc_tcp_server_unref(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s);
93
+ void grpc_tcp_server_unref(grpc_tcp_server* s);
100
94
 
101
95
  /* Shutdown the fds of listeners. */
102
- void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx* exec_ctx,
103
- grpc_tcp_server* s);
104
-
105
- #ifdef __cplusplus
106
- }
107
- #endif
96
+ void grpc_tcp_server_shutdown_listeners(grpc_tcp_server* s);
108
97
 
109
98
  #endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_H */
@@ -45,6 +45,7 @@
45
45
  #include <grpc/support/useful.h>
46
46
 
47
47
  #include "src/core/lib/channel/channel_args.h"
48
+ #include "src/core/lib/gpr/string.h"
48
49
  #include "src/core/lib/iomgr/resolve_address.h"
49
50
  #include "src/core/lib/iomgr/sockaddr.h"
50
51
  #include "src/core/lib/iomgr/sockaddr_utils.h"
@@ -52,7 +53,6 @@
52
53
  #include "src/core/lib/iomgr/tcp_posix.h"
53
54
  #include "src/core/lib/iomgr/tcp_server_utils_posix.h"
54
55
  #include "src/core/lib/iomgr/unix_sockets_posix.h"
55
- #include "src/core/lib/support/string.h"
56
56
 
57
57
  static gpr_once check_init = GPR_ONCE_INIT;
58
58
  static bool has_so_reuseport = false;
@@ -68,8 +68,7 @@ static void init(void) {
68
68
  #endif
69
69
  }
70
70
 
71
- grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
72
- grpc_closure* shutdown_complete,
71
+ grpc_error* grpc_tcp_server_create(grpc_closure* shutdown_complete,
73
72
  const grpc_channel_args* args,
74
73
  grpc_tcp_server** server) {
75
74
  gpr_once_init(&check_init, init);
@@ -116,12 +115,12 @@ grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
116
115
  return GRPC_ERROR_NONE;
117
116
  }
118
117
 
119
- static void finish_shutdown(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
118
+ static void finish_shutdown(grpc_tcp_server* s) {
120
119
  gpr_mu_lock(&s->mu);
121
120
  GPR_ASSERT(s->shutdown);
122
121
  gpr_mu_unlock(&s->mu);
123
122
  if (s->shutdown_complete != nullptr) {
124
- GRPC_CLOSURE_SCHED(exec_ctx, s->shutdown_complete, GRPC_ERROR_NONE);
123
+ GRPC_CLOSURE_SCHED(s->shutdown_complete, GRPC_ERROR_NONE);
125
124
  }
126
125
 
127
126
  gpr_mu_destroy(&s->mu);
@@ -131,19 +130,18 @@ static void finish_shutdown(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
131
130
  s->head = sp->next;
132
131
  gpr_free(sp);
133
132
  }
134
- grpc_channel_args_destroy(exec_ctx, s->channel_args);
133
+ grpc_channel_args_destroy(s->channel_args);
135
134
 
136
135
  gpr_free(s);
137
136
  }
138
137
 
139
- static void destroyed_port(grpc_exec_ctx* exec_ctx, void* server,
140
- grpc_error* error) {
138
+ static void destroyed_port(void* server, grpc_error* error) {
141
139
  grpc_tcp_server* s = (grpc_tcp_server*)server;
142
140
  gpr_mu_lock(&s->mu);
143
141
  s->destroyed_ports++;
144
142
  if (s->destroyed_ports == s->nports) {
145
143
  gpr_mu_unlock(&s->mu);
146
- finish_shutdown(exec_ctx, s);
144
+ finish_shutdown(s);
147
145
  } else {
148
146
  GPR_ASSERT(s->destroyed_ports < s->nports);
149
147
  gpr_mu_unlock(&s->mu);
@@ -153,7 +151,7 @@ static void destroyed_port(grpc_exec_ctx* exec_ctx, void* server,
153
151
  /* called when all listening endpoints have been shutdown, so no further
154
152
  events will be received on them - at this point it's safe to destroy
155
153
  things */
156
- static void deactivated_all_ports(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
154
+ static void deactivated_all_ports(grpc_tcp_server* s) {
157
155
  /* delete ALL the things */
158
156
  gpr_mu_lock(&s->mu);
159
157
 
@@ -165,17 +163,17 @@ static void deactivated_all_ports(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
165
163
  grpc_unlink_if_unix_domain_socket(&sp->addr);
166
164
  GRPC_CLOSURE_INIT(&sp->destroyed_closure, destroyed_port, s,
167
165
  grpc_schedule_on_exec_ctx);
168
- grpc_fd_orphan(exec_ctx, sp->emfd, &sp->destroyed_closure, nullptr,
166
+ grpc_fd_orphan(sp->emfd, &sp->destroyed_closure, nullptr,
169
167
  false /* already_closed */, "tcp_listener_shutdown");
170
168
  }
171
169
  gpr_mu_unlock(&s->mu);
172
170
  } else {
173
171
  gpr_mu_unlock(&s->mu);
174
- finish_shutdown(exec_ctx, s);
172
+ finish_shutdown(s);
175
173
  }
176
174
  }
177
175
 
178
- static void tcp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
176
+ static void tcp_server_destroy(grpc_tcp_server* s) {
179
177
  gpr_mu_lock(&s->mu);
180
178
 
181
179
  GPR_ASSERT(!s->shutdown);
@@ -186,18 +184,17 @@ static void tcp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
186
184
  grpc_tcp_listener* sp;
187
185
  for (sp = s->head; sp; sp = sp->next) {
188
186
  grpc_fd_shutdown(
189
- exec_ctx, sp->emfd,
190
- GRPC_ERROR_CREATE_FROM_STATIC_STRING("Server destroyed"));
187
+ sp->emfd, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Server destroyed"));
191
188
  }
192
189
  gpr_mu_unlock(&s->mu);
193
190
  } else {
194
191
  gpr_mu_unlock(&s->mu);
195
- deactivated_all_ports(exec_ctx, s);
192
+ deactivated_all_ports(s);
196
193
  }
197
194
  }
198
195
 
199
196
  /* event manager callback when reads are ready */
200
- static void on_read(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* err) {
197
+ static void on_read(void* arg, grpc_error* err) {
201
198
  grpc_tcp_listener* sp = (grpc_tcp_listener*)arg;
202
199
  grpc_pollset* read_notifier_pollset;
203
200
  if (err != GRPC_ERROR_NONE) {
@@ -223,7 +220,7 @@ static void on_read(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* err) {
223
220
  case EINTR:
224
221
  continue;
225
222
  case EAGAIN:
226
- grpc_fd_notify_on_read(exec_ctx, sp->emfd, &sp->read_closure);
223
+ grpc_fd_notify_on_read(sp->emfd, &sp->read_closure);
227
224
  return;
228
225
  default:
229
226
  gpr_mu_lock(&sp->server->mu);
@@ -249,7 +246,7 @@ static void on_read(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* err) {
249
246
 
250
247
  grpc_fd* fdobj = grpc_fd_create(fd, name);
251
248
 
252
- grpc_pollset_add_fd(exec_ctx, read_notifier_pollset, fdobj);
249
+ grpc_pollset_add_fd(read_notifier_pollset, fdobj);
253
250
 
254
251
  // Create acceptor.
255
252
  grpc_tcp_server_acceptor* acceptor =
@@ -259,8 +256,8 @@ static void on_read(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* err) {
259
256
  acceptor->fd_index = sp->fd_index;
260
257
 
261
258
  sp->server->on_accept_cb(
262
- exec_ctx, sp->server->on_accept_cb_arg,
263
- grpc_tcp_create(exec_ctx, fdobj, sp->server->channel_args, addr_str),
259
+ sp->server->on_accept_cb_arg,
260
+ grpc_tcp_create(fdobj, sp->server->channel_args, addr_str),
264
261
  read_notifier_pollset, acceptor);
265
262
 
266
263
  gpr_free(name);
@@ -273,7 +270,7 @@ error:
273
270
  gpr_mu_lock(&sp->server->mu);
274
271
  if (0 == --sp->server->active_ports && sp->server->shutdown) {
275
272
  gpr_mu_unlock(&sp->server->mu);
276
- deactivated_all_ports(exec_ctx, sp->server);
273
+ deactivated_all_ports(sp->server);
277
274
  } else {
278
275
  gpr_mu_unlock(&sp->server->mu);
279
276
  }
@@ -483,8 +480,8 @@ int grpc_tcp_server_port_fd(grpc_tcp_server* s, unsigned port_index,
483
480
  return -1;
484
481
  }
485
482
 
486
- void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s,
487
- grpc_pollset** pollsets, size_t pollset_count,
483
+ void grpc_tcp_server_start(grpc_tcp_server* s, grpc_pollset** pollsets,
484
+ size_t pollset_count,
488
485
  grpc_tcp_server_cb on_accept_cb,
489
486
  void* on_accept_cb_arg) {
490
487
  size_t i;
@@ -504,20 +501,20 @@ void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s,
504
501
  GPR_ASSERT(GRPC_LOG_IF_ERROR(
505
502
  "clone_port", clone_port(sp, (unsigned)(pollset_count - 1))));
506
503
  for (i = 0; i < pollset_count; i++) {
507
- grpc_pollset_add_fd(exec_ctx, pollsets[i], sp->emfd);
504
+ grpc_pollset_add_fd(pollsets[i], sp->emfd);
508
505
  GRPC_CLOSURE_INIT(&sp->read_closure, on_read, sp,
509
506
  grpc_schedule_on_exec_ctx);
510
- grpc_fd_notify_on_read(exec_ctx, sp->emfd, &sp->read_closure);
507
+ grpc_fd_notify_on_read(sp->emfd, &sp->read_closure);
511
508
  s->active_ports++;
512
509
  sp = sp->next;
513
510
  }
514
511
  } else {
515
512
  for (i = 0; i < pollset_count; i++) {
516
- grpc_pollset_add_fd(exec_ctx, pollsets[i], sp->emfd);
513
+ grpc_pollset_add_fd(pollsets[i], sp->emfd);
517
514
  }
518
515
  GRPC_CLOSURE_INIT(&sp->read_closure, on_read, sp,
519
516
  grpc_schedule_on_exec_ctx);
520
- grpc_fd_notify_on_read(exec_ctx, sp->emfd, &sp->read_closure);
517
+ grpc_fd_notify_on_read(sp->emfd, &sp->read_closure);
521
518
  s->active_ports++;
522
519
  sp = sp->next;
523
520
  }
@@ -538,25 +535,24 @@ void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server* s,
538
535
  gpr_mu_unlock(&s->mu);
539
536
  }
540
537
 
541
- void grpc_tcp_server_unref(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
538
+ void grpc_tcp_server_unref(grpc_tcp_server* s) {
542
539
  if (gpr_unref(&s->refs)) {
543
- grpc_tcp_server_shutdown_listeners(exec_ctx, s);
540
+ grpc_tcp_server_shutdown_listeners(s);
544
541
  gpr_mu_lock(&s->mu);
545
- GRPC_CLOSURE_LIST_SCHED(exec_ctx, &s->shutdown_starting);
542
+ GRPC_CLOSURE_LIST_SCHED(&s->shutdown_starting);
546
543
  gpr_mu_unlock(&s->mu);
547
- tcp_server_destroy(exec_ctx, s);
544
+ tcp_server_destroy(s);
548
545
  }
549
546
  }
550
547
 
551
- void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx* exec_ctx,
552
- grpc_tcp_server* s) {
548
+ void grpc_tcp_server_shutdown_listeners(grpc_tcp_server* s) {
553
549
  gpr_mu_lock(&s->mu);
554
550
  s->shutdown_listeners = true;
555
551
  /* shutdown all fd's */
556
552
  if (s->active_ports) {
557
553
  grpc_tcp_listener* sp;
558
554
  for (sp = s->head; sp; sp = sp->next) {
559
- grpc_fd_shutdown(exec_ctx, sp->emfd,
555
+ grpc_fd_shutdown(sp->emfd,
560
556
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Server shutdown"));
561
557
  }
562
558
  }
@@ -24,10 +24,6 @@
24
24
  #include "src/core/lib/iomgr/socket_utils_posix.h"
25
25
  #include "src/core/lib/iomgr/tcp_server.h"
26
26
 
27
- #ifdef __cplusplus
28
- extern "C" {
29
- #endif
30
-
31
27
  /* one listening port */
32
28
  typedef struct grpc_tcp_listener {
33
29
  int fd;
@@ -121,8 +117,4 @@ grpc_error* grpc_tcp_server_prepare_socket(int fd,
121
117
  /* Ruturn true if the platform supports ifaddrs */
122
118
  bool grpc_tcp_server_have_ifaddrs(void);
123
119
 
124
- #ifdef __cplusplus
125
- }
126
- #endif
127
-
128
120
  #endif /* GRPC_CORE_LIB_IOMGR_TCP_SERVER_UTILS_POSIX_H */
@@ -55,7 +55,7 @@ static void init_max_accept_queue_size(void) {
55
55
  if (fgets(buf, sizeof buf, fp)) {
56
56
  char* end;
57
57
  long i = strtol(buf, &end, 10);
58
- if (i > 0 && i <= INT_MAX && end && *end == 0) {
58
+ if (i > 0 && i <= INT_MAX && end && *end == '\n') {
59
59
  n = (int)i;
60
60
  }
61
61
  }
@@ -73,8 +73,7 @@ struct grpc_tcp_server {
73
73
  grpc_resource_quota* resource_quota;
74
74
  };
75
75
 
76
- grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
77
- grpc_closure* shutdown_complete,
76
+ grpc_error* grpc_tcp_server_create(grpc_closure* shutdown_complete,
78
77
  const grpc_channel_args* args,
79
78
  grpc_tcp_server** server) {
80
79
  grpc_tcp_server* s = (grpc_tcp_server*)gpr_malloc(sizeof(grpc_tcp_server));
@@ -82,11 +81,11 @@ grpc_error* grpc_tcp_server_create(grpc_exec_ctx* exec_ctx,
82
81
  for (size_t i = 0; i < (args == NULL ? 0 : args->num_args); i++) {
83
82
  if (0 == strcmp(GRPC_ARG_RESOURCE_QUOTA, args->args[i].key)) {
84
83
  if (args->args[i].type == GRPC_ARG_POINTER) {
85
- grpc_resource_quota_unref_internal(exec_ctx, s->resource_quota);
84
+ grpc_resource_quota_unref_internal(s->resource_quota);
86
85
  s->resource_quota = grpc_resource_quota_ref_internal(
87
86
  (grpc_resource_quota*)args->args[i].value.pointer.p);
88
87
  } else {
89
- grpc_resource_quota_unref_internal(exec_ctx, s->resource_quota);
88
+ grpc_resource_quota_unref_internal(s->resource_quota);
90
89
  gpr_free(s);
91
90
  return GRPC_ERROR_CREATE_FROM_STATIC_STRING(
92
91
  GRPC_ARG_RESOURCE_QUOTA " must be a pointer to a buffer pool");
@@ -119,10 +118,10 @@ void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server* s,
119
118
  GRPC_ERROR_NONE);
120
119
  }
121
120
 
122
- static void finish_shutdown(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
121
+ static void finish_shutdown(grpc_tcp_server* s) {
123
122
  GPR_ASSERT(s->shutdown);
124
123
  if (s->shutdown_complete != NULL) {
125
- GRPC_CLOSURE_SCHED(exec_ctx, s->shutdown_complete, GRPC_ERROR_NONE);
124
+ GRPC_CLOSURE_SCHED(s->shutdown_complete, GRPC_ERROR_NONE);
126
125
  }
127
126
 
128
127
  while (s->head) {
@@ -132,18 +131,17 @@ static void finish_shutdown(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
132
131
  gpr_free(sp->handle);
133
132
  gpr_free(sp);
134
133
  }
135
- grpc_resource_quota_unref_internal(exec_ctx, s->resource_quota);
134
+ grpc_resource_quota_unref_internal(s->resource_quota);
136
135
  gpr_free(s);
137
136
  }
138
137
 
139
138
  static void handle_close_callback(uv_handle_t* handle) {
140
139
  grpc_tcp_listener* sp = (grpc_tcp_listener*)handle->data;
141
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
140
+ grpc_core::ExecCtx exec_ctx;
142
141
  sp->server->open_ports--;
143
142
  if (sp->server->open_ports == 0 && sp->server->shutdown) {
144
- finish_shutdown(&exec_ctx, sp->server);
143
+ finish_shutdown(sp->server);
145
144
  }
146
- grpc_exec_ctx_finish(&exec_ctx);
147
145
  }
148
146
 
149
147
  static void close_listener(grpc_tcp_listener* sp) {
@@ -153,7 +151,7 @@ static void close_listener(grpc_tcp_listener* sp) {
153
151
  }
154
152
  }
155
153
 
156
- static void tcp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
154
+ static void tcp_server_destroy(grpc_tcp_server* s) {
157
155
  int immediately_done = 0;
158
156
  grpc_tcp_listener* sp;
159
157
 
@@ -168,28 +166,22 @@ static void tcp_server_destroy(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
168
166
  }
169
167
 
170
168
  if (immediately_done) {
171
- finish_shutdown(exec_ctx, s);
169
+ finish_shutdown(s);
172
170
  }
173
171
  }
174
172
 
175
- void grpc_tcp_server_unref(grpc_exec_ctx* exec_ctx, grpc_tcp_server* s) {
173
+ void grpc_tcp_server_unref(grpc_tcp_server* s) {
176
174
  GRPC_UV_ASSERT_SAME_THREAD();
177
175
  if (gpr_unref(&s->refs)) {
178
176
  /* Complete shutdown_starting work before destroying. */
179
- grpc_exec_ctx local_exec_ctx = GRPC_EXEC_CTX_INIT;
180
- GRPC_CLOSURE_LIST_SCHED(&local_exec_ctx, &s->shutdown_starting);
181
- if (exec_ctx == NULL) {
182
- grpc_exec_ctx_flush(&local_exec_ctx);
183
- tcp_server_destroy(&local_exec_ctx, s);
184
- grpc_exec_ctx_finish(&local_exec_ctx);
185
- } else {
186
- grpc_exec_ctx_finish(&local_exec_ctx);
187
- tcp_server_destroy(exec_ctx, s);
188
- }
177
+ grpc_core::ExecCtx exec_ctx;
178
+ GRPC_CLOSURE_LIST_SCHED(&s->shutdown_starting);
179
+ grpc_core::ExecCtx::Get()->Flush();
180
+ tcp_server_destroy(s);
189
181
  }
190
182
  }
191
183
 
192
- static void finish_accept(grpc_exec_ctx* exec_ctx, grpc_tcp_listener* sp) {
184
+ static void finish_accept(grpc_tcp_listener* sp) {
193
185
  grpc_tcp_server_acceptor* acceptor =
194
186
  (grpc_tcp_server_acceptor*)gpr_malloc(sizeof(*acceptor));
195
187
  uv_tcp_t* client = NULL;
@@ -225,14 +217,13 @@ static void finish_accept(grpc_exec_ctx* exec_ctx, grpc_tcp_listener* sp) {
225
217
  acceptor->from_server = sp->server;
226
218
  acceptor->port_index = sp->port_index;
227
219
  acceptor->fd_index = 0;
228
- sp->server->on_accept_cb(exec_ctx, sp->server->on_accept_cb_arg, ep, NULL,
229
- acceptor);
220
+ sp->server->on_accept_cb(sp->server->on_accept_cb_arg, ep, NULL, acceptor);
230
221
  gpr_free(peer_name_string);
231
222
  }
232
223
 
233
224
  static void on_connect(uv_stream_t* server, int status) {
234
225
  grpc_tcp_listener* sp = (grpc_tcp_listener*)server->data;
235
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
226
+ grpc_core::ExecCtx exec_ctx;
236
227
 
237
228
  if (status < 0) {
238
229
  switch (status) {
@@ -253,11 +244,10 @@ static void on_connect(uv_stream_t* server, int status) {
253
244
 
254
245
  // Create acceptor.
255
246
  if (sp->server->on_accept_cb) {
256
- finish_accept(&exec_ctx, sp);
247
+ finish_accept(sp);
257
248
  } else {
258
249
  sp->has_pending_connection = true;
259
250
  }
260
- grpc_exec_ctx_finish(&exec_ctx);
261
251
  }
262
252
 
263
253
  static grpc_error* add_addr_to_server(grpc_tcp_server* s,
@@ -454,8 +444,8 @@ grpc_error* grpc_tcp_server_add_port(grpc_tcp_server* s,
454
444
  return error;
455
445
  }
456
446
 
457
- void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* server,
458
- grpc_pollset** pollsets, size_t pollset_count,
447
+ void grpc_tcp_server_start(grpc_tcp_server* server, grpc_pollset** pollsets,
448
+ size_t pollset_count,
459
449
  grpc_tcp_server_cb on_accept_cb, void* cb_arg) {
460
450
  grpc_tcp_listener* sp;
461
451
  (void)pollsets;
@@ -470,13 +460,12 @@ void grpc_tcp_server_start(grpc_exec_ctx* exec_ctx, grpc_tcp_server* server,
470
460
  server->on_accept_cb_arg = cb_arg;
471
461
  for (sp = server->head; sp; sp = sp->next) {
472
462
  if (sp->has_pending_connection) {
473
- finish_accept(exec_ctx, sp);
463
+ finish_accept(sp);
474
464
  sp->has_pending_connection = false;
475
465
  }
476
466
  }
477
467
  }
478
468
 
479
- void grpc_tcp_server_shutdown_listeners(grpc_exec_ctx* exec_ctx,
480
- grpc_tcp_server* s) {}
469
+ void grpc_tcp_server_shutdown_listeners(grpc_tcp_server* s) {}
481
470
 
482
471
  #endif /* GRPC_UV */