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
@@ -22,16 +22,8 @@
22
22
  #include "src/core/lib/iomgr/ev_posix.h"
23
23
  #include "src/core/lib/iomgr/port.h"
24
24
 
25
- #ifdef __cplusplus
26
- extern "C" {
27
- #endif
28
-
29
25
  // a polling engine that utilizes a singleton epoll set and turnstile polling
30
26
 
31
27
  const grpc_event_engine_vtable* grpc_init_epoll1_linux(bool explicit_request);
32
28
 
33
- #ifdef __cplusplus
34
- }
35
- #endif
36
-
37
29
  #endif /* GRPC_CORE_LIB_IOMGR_EV_EPOLL1_LINUX_H */
@@ -21,7 +21,7 @@
21
21
  #include <grpc/support/log.h>
22
22
 
23
23
  /* This polling engine is only relevant on linux kernels supporting epoll() */
24
- #ifdef GRPC_LINUX_EPOLL
24
+ #ifdef GRPC_LINUX_EPOLL_CREATE1
25
25
 
26
26
  #include "src/core/lib/iomgr/ev_epollex_linux.h"
27
27
 
@@ -41,6 +41,8 @@
41
41
  #include <grpc/support/useful.h>
42
42
 
43
43
  #include "src/core/lib/debug/stats.h"
44
+ #include "src/core/lib/gpr++/manual_constructor.h"
45
+ #include "src/core/lib/gpr/spinlock.h"
44
46
  #include "src/core/lib/iomgr/block_annotate.h"
45
47
  #include "src/core/lib/iomgr/iomgr_internal.h"
46
48
  #include "src/core/lib/iomgr/is_epollexclusive_available.h"
@@ -49,8 +51,6 @@
49
51
  #include "src/core/lib/iomgr/timer.h"
50
52
  #include "src/core/lib/iomgr/wakeup_fd_posix.h"
51
53
  #include "src/core/lib/profiling/timers.h"
52
- #include "src/core/lib/support/manual_constructor.h"
53
- #include "src/core/lib/support/spinlock.h"
54
54
 
55
55
  // debug aid: create workers on the heap (allows asan to spot
56
56
  // use-after-destruction)
@@ -257,8 +257,7 @@ static gpr_mu fd_freelist_mu;
257
257
 
258
258
  #ifndef NDEBUG
259
259
  #define REF_BY(fd, n, reason) ref_by(fd, n, reason, __FILE__, __LINE__)
260
- #define UNREF_BY(ec, fd, n, reason) \
261
- unref_by(ec, fd, n, reason, __FILE__, __LINE__)
260
+ #define UNREF_BY(fd, n, reason) unref_by(fd, n, reason, __FILE__, __LINE__)
262
261
  static void ref_by(grpc_fd* fd, int n, const char* reason, const char* file,
263
262
  int line) {
264
263
  if (grpc_trace_fd_refcount.enabled()) {
@@ -269,13 +268,13 @@ static void ref_by(grpc_fd* fd, int n, const char* reason, const char* file,
269
268
  }
270
269
  #else
271
270
  #define REF_BY(fd, n, reason) ref_by(fd, n)
272
- #define UNREF_BY(ec, fd, n, reason) unref_by(ec, fd, n)
271
+ #define UNREF_BY(fd, n, reason) unref_by(fd, n)
273
272
  static void ref_by(grpc_fd* fd, int n) {
274
273
  #endif
275
274
  GPR_ASSERT(gpr_atm_no_barrier_fetch_add(&fd->refst, n) > 0);
276
275
  }
277
276
 
278
- static void fd_destroy(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
277
+ static void fd_destroy(void* arg, grpc_error* error) {
279
278
  grpc_fd* fd = (grpc_fd*)arg;
280
279
  /* Add the fd to the freelist */
281
280
  grpc_iomgr_unregister_object(&fd->iomgr_object);
@@ -293,8 +292,8 @@ static void fd_destroy(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
293
292
  }
294
293
 
295
294
  #ifndef NDEBUG
296
- static void unref_by(grpc_exec_ctx* exec_ctx, grpc_fd* fd, int n,
297
- const char* reason, const char* file, int line) {
295
+ static void unref_by(grpc_fd* fd, int n, const char* reason, const char* file,
296
+ int line) {
298
297
  if (grpc_trace_fd_refcount.enabled()) {
299
298
  gpr_log(GPR_DEBUG,
300
299
  "FD %d %p unref %d %" PRIdPTR " -> %" PRIdPTR " [%s; %s:%d]",
@@ -302,12 +301,11 @@ static void unref_by(grpc_exec_ctx* exec_ctx, grpc_fd* fd, int n,
302
301
  gpr_atm_no_barrier_load(&fd->refst) - n, reason, file, line);
303
302
  }
304
303
  #else
305
- static void unref_by(grpc_exec_ctx* exec_ctx, grpc_fd* fd, int n) {
304
+ static void unref_by(grpc_fd* fd, int n) {
306
305
  #endif
307
306
  gpr_atm old = gpr_atm_full_fetch_add(&fd->refst, -n);
308
307
  if (old == n) {
309
308
  GRPC_CLOSURE_SCHED(
310
- exec_ctx,
311
309
  GRPC_CLOSURE_CREATE(fd_destroy, fd, grpc_schedule_on_exec_ctx),
312
310
  GRPC_ERROR_NONE);
313
311
  } else {
@@ -373,8 +371,7 @@ static int fd_wrapped_fd(grpc_fd* fd) {
373
371
  return (gpr_atm_acq_load(&fd->refst) & 1) ? ret_fd : -1;
374
372
  }
375
373
 
376
- static void fd_orphan(grpc_exec_ctx* exec_ctx, grpc_fd* fd,
377
- grpc_closure* on_done, int* release_fd,
374
+ static void fd_orphan(grpc_fd* fd, grpc_closure* on_done, int* release_fd,
378
375
  bool already_closed, const char* reason) {
379
376
  bool is_fd_closed = already_closed;
380
377
 
@@ -399,15 +396,14 @@ static void fd_orphan(grpc_exec_ctx* exec_ctx, grpc_fd* fd,
399
396
  to be alive (and not added to freelist) until the end of this function */
400
397
  REF_BY(fd, 1, reason);
401
398
 
402
- GRPC_CLOSURE_SCHED(exec_ctx, fd->on_done_closure, GRPC_ERROR_NONE);
399
+ GRPC_CLOSURE_SCHED(fd->on_done_closure, GRPC_ERROR_NONE);
403
400
 
404
401
  gpr_mu_unlock(&fd->orphan_mu);
405
402
 
406
- UNREF_BY(exec_ctx, fd, 2, reason); /* Drop the reference */
403
+ UNREF_BY(fd, 2, reason); /* Drop the reference */
407
404
  }
408
405
 
409
- static grpc_pollset* fd_get_read_notifier_pollset(grpc_exec_ctx* exec_ctx,
410
- grpc_fd* fd) {
406
+ static grpc_pollset* fd_get_read_notifier_pollset(grpc_fd* fd) {
411
407
  gpr_atm notifier = gpr_atm_acq_load(&fd->read_notifier_pollset);
412
408
  return (grpc_pollset*)notifier;
413
409
  }
@@ -417,22 +413,20 @@ static bool fd_is_shutdown(grpc_fd* fd) {
417
413
  }
418
414
 
419
415
  /* Might be called multiple times */
420
- static void fd_shutdown(grpc_exec_ctx* exec_ctx, grpc_fd* fd, grpc_error* why) {
421
- if (fd->read_closure->SetShutdown(exec_ctx, GRPC_ERROR_REF(why))) {
416
+ static void fd_shutdown(grpc_fd* fd, grpc_error* why) {
417
+ if (fd->read_closure->SetShutdown(GRPC_ERROR_REF(why))) {
422
418
  shutdown(fd->fd, SHUT_RDWR);
423
- fd->write_closure->SetShutdown(exec_ctx, GRPC_ERROR_REF(why));
419
+ fd->write_closure->SetShutdown(GRPC_ERROR_REF(why));
424
420
  }
425
421
  GRPC_ERROR_UNREF(why);
426
422
  }
427
423
 
428
- static void fd_notify_on_read(grpc_exec_ctx* exec_ctx, grpc_fd* fd,
429
- grpc_closure* closure) {
430
- fd->read_closure->NotifyOn(exec_ctx, closure);
424
+ static void fd_notify_on_read(grpc_fd* fd, grpc_closure* closure) {
425
+ fd->read_closure->NotifyOn(closure);
431
426
  }
432
427
 
433
- static void fd_notify_on_write(grpc_exec_ctx* exec_ctx, grpc_fd* fd,
434
- grpc_closure* closure) {
435
- fd->write_closure->NotifyOn(exec_ctx, closure);
428
+ static void fd_notify_on_write(grpc_fd* fd, grpc_closure* closure) {
429
+ fd->write_closure->NotifyOn(closure);
436
430
  }
437
431
 
438
432
  /*******************************************************************************
@@ -556,8 +550,7 @@ static void pollset_global_shutdown(void) {
556
550
  }
557
551
 
558
552
  /* pollset->mu must be held while calling this function */
559
- static void pollset_maybe_finish_shutdown(grpc_exec_ctx* exec_ctx,
560
- grpc_pollset* pollset) {
553
+ static void pollset_maybe_finish_shutdown(grpc_pollset* pollset) {
561
554
  if (grpc_polling_trace.enabled()) {
562
555
  gpr_log(GPR_DEBUG,
563
556
  "PS:%p (pollable:%p) maybe_finish_shutdown sc=%p (target:!NULL) "
@@ -567,7 +560,7 @@ static void pollset_maybe_finish_shutdown(grpc_exec_ctx* exec_ctx,
567
560
  }
568
561
  if (pollset->shutdown_closure != nullptr && pollset->root_worker == nullptr &&
569
562
  pollset->containing_pollset_set_count == 0) {
570
- GRPC_CLOSURE_SCHED(exec_ctx, pollset->shutdown_closure, GRPC_ERROR_NONE);
563
+ GRPC_CLOSURE_SCHED(pollset->shutdown_closure, GRPC_ERROR_NONE);
571
564
  pollset->shutdown_closure = nullptr;
572
565
  }
573
566
  }
@@ -575,8 +568,7 @@ static void pollset_maybe_finish_shutdown(grpc_exec_ctx* exec_ctx,
575
568
  /* pollset->mu must be held before calling this function,
576
569
  * pollset->active_pollable->mu & specific_worker->pollable_obj->mu must not be
577
570
  * held */
578
- static grpc_error* kick_one_worker(grpc_exec_ctx* exec_ctx,
579
- grpc_pollset_worker* specific_worker) {
571
+ static grpc_error* kick_one_worker(grpc_pollset_worker* specific_worker) {
580
572
  pollable* p = specific_worker->pollable_obj;
581
573
  grpc_core::mu_guard lock(&p->mu);
582
574
  GPR_ASSERT(specific_worker != nullptr);
@@ -584,19 +576,19 @@ static grpc_error* kick_one_worker(grpc_exec_ctx* exec_ctx,
584
576
  if (grpc_polling_trace.enabled()) {
585
577
  gpr_log(GPR_DEBUG, "PS:%p kicked_specific_but_already_kicked", p);
586
578
  }
587
- GRPC_STATS_INC_POLLSET_KICKED_AGAIN(exec_ctx);
579
+ GRPC_STATS_INC_POLLSET_KICKED_AGAIN();
588
580
  return GRPC_ERROR_NONE;
589
581
  }
590
582
  if (gpr_tls_get(&g_current_thread_worker) == (intptr_t)specific_worker) {
591
583
  if (grpc_polling_trace.enabled()) {
592
584
  gpr_log(GPR_DEBUG, "PS:%p kicked_specific_but_awake", p);
593
585
  }
594
- GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD(exec_ctx);
586
+ GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD();
595
587
  specific_worker->kicked = true;
596
588
  return GRPC_ERROR_NONE;
597
589
  }
598
590
  if (specific_worker == p->root_worker) {
599
- GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD(exec_ctx);
591
+ GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD();
600
592
  if (grpc_polling_trace.enabled()) {
601
593
  gpr_log(GPR_DEBUG, "PS:%p kicked_specific_via_wakeup_fd", p);
602
594
  }
@@ -605,7 +597,7 @@ static grpc_error* kick_one_worker(grpc_exec_ctx* exec_ctx,
605
597
  return error;
606
598
  }
607
599
  if (specific_worker->initialized_cv) {
608
- GRPC_STATS_INC_POLLSET_KICK_WAKEUP_CV(exec_ctx);
600
+ GRPC_STATS_INC_POLLSET_KICK_WAKEUP_CV();
609
601
  if (grpc_polling_trace.enabled()) {
610
602
  gpr_log(GPR_DEBUG, "PS:%p kicked_specific_via_cv", p);
611
603
  }
@@ -618,9 +610,9 @@ static grpc_error* kick_one_worker(grpc_exec_ctx* exec_ctx,
618
610
  return GRPC_ERROR_NONE;
619
611
  }
620
612
 
621
- static grpc_error* pollset_kick(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
613
+ static grpc_error* pollset_kick(grpc_pollset* pollset,
622
614
  grpc_pollset_worker* specific_worker) {
623
- GRPC_STATS_INC_POLLSET_KICK(exec_ctx);
615
+ GRPC_STATS_INC_POLLSET_KICK();
624
616
  if (grpc_polling_trace.enabled()) {
625
617
  gpr_log(GPR_DEBUG,
626
618
  "PS:%p kick %p tls_pollset=%p tls_worker=%p pollset.root_worker=%p",
@@ -634,7 +626,7 @@ static grpc_error* pollset_kick(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
634
626
  if (grpc_polling_trace.enabled()) {
635
627
  gpr_log(GPR_DEBUG, "PS:%p kicked_any_without_poller", pollset);
636
628
  }
637
- GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER(exec_ctx);
629
+ GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER();
638
630
  pollset->kicked_without_poller = true;
639
631
  return GRPC_ERROR_NONE;
640
632
  } else {
@@ -654,29 +646,28 @@ static grpc_error* pollset_kick(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
654
646
  // so we take our chances and choose the SECOND worker enqueued against
655
647
  // the pollset as a worker that's likely to be in cv_wait
656
648
  return kick_one_worker(
657
- exec_ctx, pollset->root_worker->links[PWLINK_POLLSET].next);
649
+ pollset->root_worker->links[PWLINK_POLLSET].next);
658
650
  }
659
651
  } else {
660
652
  if (grpc_polling_trace.enabled()) {
661
653
  gpr_log(GPR_DEBUG, "PS:%p kicked_any_but_awake", pollset);
662
654
  }
663
- GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD(exec_ctx);
655
+ GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD();
664
656
  return GRPC_ERROR_NONE;
665
657
  }
666
658
  } else {
667
- return kick_one_worker(exec_ctx, specific_worker);
659
+ return kick_one_worker(specific_worker);
668
660
  }
669
661
  }
670
662
 
671
- static grpc_error* pollset_kick_all(grpc_exec_ctx* exec_ctx,
672
- grpc_pollset* pollset) {
663
+ static grpc_error* pollset_kick_all(grpc_pollset* pollset) {
673
664
  grpc_error* error = GRPC_ERROR_NONE;
674
665
  const char* err_desc = "pollset_kick_all";
675
666
  grpc_pollset_worker* w = pollset->root_worker;
676
667
  if (w != nullptr) {
677
668
  do {
678
- GRPC_STATS_INC_POLLSET_KICK(exec_ctx);
679
- append_error(&error, kick_one_worker(exec_ctx, w), err_desc);
669
+ GRPC_STATS_INC_POLLSET_KICK();
670
+ append_error(&error, kick_one_worker(w), err_desc);
680
671
  w = w->links[PWLINK_POLLSET].next;
681
672
  } while (w != pollset->root_worker);
682
673
  }
@@ -689,10 +680,9 @@ static void pollset_init(grpc_pollset* pollset, gpr_mu** mu) {
689
680
  *mu = &pollset->mu;
690
681
  }
691
682
 
692
- static int poll_deadline_to_millis_timeout(grpc_exec_ctx* exec_ctx,
693
- grpc_millis millis) {
683
+ static int poll_deadline_to_millis_timeout(grpc_millis millis) {
694
684
  if (millis == GRPC_MILLIS_INF_FUTURE) return -1;
695
- grpc_millis delta = millis - grpc_exec_ctx_now(exec_ctx);
685
+ grpc_millis delta = millis - grpc_core::ExecCtx::Get()->Now();
696
686
  if (delta > INT_MAX)
697
687
  return INT_MAX;
698
688
  else if (delta < 0)
@@ -701,9 +691,8 @@ static int poll_deadline_to_millis_timeout(grpc_exec_ctx* exec_ctx,
701
691
  return (int)delta;
702
692
  }
703
693
 
704
- static void fd_become_readable(grpc_exec_ctx* exec_ctx, grpc_fd* fd,
705
- grpc_pollset* notifier) {
706
- fd->read_closure->SetReady(exec_ctx);
694
+ static void fd_become_readable(grpc_fd* fd, grpc_pollset* notifier) {
695
+ fd->read_closure->SetReady();
707
696
 
708
697
  /* Note, it is possible that fd_become_readable might be called twice with
709
698
  different 'notifier's when an fd becomes readable and it is in two epoll
@@ -714,9 +703,7 @@ static void fd_become_readable(grpc_exec_ctx* exec_ctx, grpc_fd* fd,
714
703
  gpr_atm_rel_store(&fd->read_notifier_pollset, (gpr_atm)notifier);
715
704
  }
716
705
 
717
- static void fd_become_writable(grpc_exec_ctx* exec_ctx, grpc_fd* fd) {
718
- fd->write_closure->SetReady(exec_ctx);
719
- }
706
+ static void fd_become_writable(grpc_fd* fd) { fd->write_closure->SetReady(); }
720
707
 
721
708
  static grpc_error* fd_get_or_become_pollable(grpc_fd* fd, pollable** p) {
722
709
  gpr_mu_lock(&fd->pollable_mu);
@@ -745,16 +732,14 @@ static grpc_error* fd_get_or_become_pollable(grpc_fd* fd, pollable** p) {
745
732
  }
746
733
 
747
734
  /* pollset->po.mu lock must be held by the caller before calling this */
748
- static void pollset_shutdown(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
749
- grpc_closure* closure) {
735
+ static void pollset_shutdown(grpc_pollset* pollset, grpc_closure* closure) {
750
736
  GPR_ASSERT(pollset->shutdown_closure == nullptr);
751
737
  pollset->shutdown_closure = closure;
752
- GRPC_LOG_IF_ERROR("pollset_shutdown", pollset_kick_all(exec_ctx, pollset));
753
- pollset_maybe_finish_shutdown(exec_ctx, pollset);
738
+ GRPC_LOG_IF_ERROR("pollset_shutdown", pollset_kick_all(pollset));
739
+ pollset_maybe_finish_shutdown(pollset);
754
740
  }
755
741
 
756
- static grpc_error* pollable_process_events(grpc_exec_ctx* exec_ctx,
757
- grpc_pollset* pollset,
742
+ static grpc_error* pollable_process_events(grpc_pollset* pollset,
758
743
  pollable* pollable_obj, bool drain) {
759
744
  static const char* err_desc = "pollset_process_events";
760
745
  grpc_error* error = GRPC_ERROR_NONE;
@@ -784,10 +769,10 @@ static grpc_error* pollable_process_events(grpc_exec_ctx* exec_ctx,
784
769
  pollset, fd, cancel, read_ev, write_ev);
785
770
  }
786
771
  if (read_ev || cancel) {
787
- fd_become_readable(exec_ctx, fd, pollset);
772
+ fd_become_readable(fd, pollset);
788
773
  }
789
774
  if (write_ev || cancel) {
790
- fd_become_writable(exec_ctx, fd);
775
+ fd_become_writable(fd);
791
776
  }
792
777
  }
793
778
  }
@@ -796,14 +781,13 @@ static grpc_error* pollable_process_events(grpc_exec_ctx* exec_ctx,
796
781
  }
797
782
 
798
783
  /* pollset_shutdown is guaranteed to be called before pollset_destroy. */
799
- static void pollset_destroy(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset) {
784
+ static void pollset_destroy(grpc_pollset* pollset) {
800
785
  POLLABLE_UNREF(pollset->active_pollable, "pollset");
801
786
  pollset->active_pollable = nullptr;
802
787
  }
803
788
 
804
- static grpc_error* pollable_epoll(grpc_exec_ctx* exec_ctx, pollable* p,
805
- grpc_millis deadline) {
806
- int timeout = poll_deadline_to_millis_timeout(exec_ctx, deadline);
789
+ static grpc_error* pollable_epoll(pollable* p, grpc_millis deadline) {
790
+ int timeout = poll_deadline_to_millis_timeout(deadline);
807
791
 
808
792
  if (grpc_polling_trace.enabled()) {
809
793
  char* desc = pollable_desc(p);
@@ -816,11 +800,11 @@ static grpc_error* pollable_epoll(grpc_exec_ctx* exec_ctx, pollable* p,
816
800
  }
817
801
  int r;
818
802
  do {
819
- GRPC_STATS_INC_SYSCALL_POLL(exec_ctx);
803
+ GRPC_STATS_INC_SYSCALL_POLL();
820
804
  r = epoll_wait(p->epfd, p->events, MAX_EPOLL_EVENTS, timeout);
821
805
  } while (r < 0 && errno == EINTR);
822
806
  if (timeout != 0) {
823
- GRPC_SCHEDULING_END_BLOCKING_REGION_WITH_EXEC_CTX(exec_ctx);
807
+ GRPC_SCHEDULING_END_BLOCKING_REGION;
824
808
  }
825
809
 
826
810
  if (r < 0) return GRPC_OS_ERROR(errno, "epoll_wait");
@@ -875,8 +859,7 @@ static worker_remove_result worker_remove(grpc_pollset_worker** root_worker,
875
859
  }
876
860
 
877
861
  /* Return true if this thread should poll */
878
- static bool begin_worker(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
879
- grpc_pollset_worker* worker,
862
+ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
880
863
  grpc_pollset_worker** worker_hdl,
881
864
  grpc_millis deadline) {
882
865
  bool do_poll = (pollset->shutdown_closure == nullptr);
@@ -897,7 +880,7 @@ static bool begin_worker(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
897
880
  worker->pollable_obj->root_worker != worker) {
898
881
  gpr_log(GPR_DEBUG, "PS:%p wait %p w=%p for %dms", pollset,
899
882
  worker->pollable_obj, worker,
900
- poll_deadline_to_millis_timeout(exec_ctx, deadline));
883
+ poll_deadline_to_millis_timeout(deadline));
901
884
  }
902
885
  while (do_poll && worker->pollable_obj->root_worker != worker) {
903
886
  if (gpr_cv_wait(&worker->cv, &worker->pollable_obj->mu,
@@ -919,7 +902,7 @@ static bool begin_worker(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
919
902
  worker->pollable_obj, worker);
920
903
  }
921
904
  }
922
- grpc_exec_ctx_invalidate_now(exec_ctx);
905
+ grpc_core::ExecCtx::Get()->InvalidateNow();
923
906
  } else {
924
907
  gpr_mu_unlock(&pollset->mu);
925
908
  }
@@ -928,8 +911,7 @@ static bool begin_worker(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
928
911
  return do_poll;
929
912
  }
930
913
 
931
- static void end_worker(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
932
- grpc_pollset_worker* worker,
914
+ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
933
915
  grpc_pollset_worker** worker_hdl) {
934
916
  gpr_mu_lock(&pollset->mu);
935
917
  gpr_mu_lock(&worker->pollable_obj->mu);
@@ -945,7 +927,7 @@ static void end_worker(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
945
927
  case WRR_EMPTIED:
946
928
  if (pollset->active_pollable != worker->pollable_obj) {
947
929
  // pollable no longer being polled: flush events
948
- pollable_process_events(exec_ctx, pollset, worker->pollable_obj, true);
930
+ pollable_process_events(pollset, worker->pollable_obj, true);
949
931
  }
950
932
  break;
951
933
  case WRR_REMOVED:
@@ -955,7 +937,7 @@ static void end_worker(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
955
937
  POLLABLE_UNREF(worker->pollable_obj, "pollset_worker");
956
938
  if (worker_remove(&pollset->root_worker, worker, PWLINK_POLLSET) ==
957
939
  WRR_EMPTIED) {
958
- pollset_maybe_finish_shutdown(exec_ctx, pollset);
940
+ pollset_maybe_finish_shutdown(pollset);
959
941
  }
960
942
  if (worker->initialized_cv) {
961
943
  gpr_cv_destroy(&worker->cv);
@@ -970,7 +952,7 @@ static long gettid(void) { return syscall(__NR_gettid); }
970
952
  The function pollset_work() may temporarily release the lock (pollset->po.mu)
971
953
  during the course of its execution but it will always re-acquire the lock and
972
954
  ensure that it is held by the time the function returns */
973
- static grpc_error* pollset_work(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
955
+ static grpc_error* pollset_work(grpc_pollset* pollset,
974
956
  grpc_pollset_worker** worker_hdl,
975
957
  grpc_millis deadline) {
976
958
  #ifdef GRPC_EPOLLEX_CREATE_WORKERS_ON_HEAP
@@ -988,7 +970,7 @@ static grpc_error* pollset_work(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
988
970
  gpr_log(GPR_DEBUG,
989
971
  "PS:%p work hdl=%p worker=%p now=%" PRIdPTR " deadline=%" PRIdPTR
990
972
  " kwp=%d pollable=%p",
991
- pollset, worker_hdl, WORKER_PTR, grpc_exec_ctx_now(exec_ctx),
973
+ pollset, worker_hdl, WORKER_PTR, grpc_core::ExecCtx::Get()->Now(),
992
974
  deadline, pollset->kicked_without_poller, pollset->active_pollable);
993
975
  }
994
976
  static const char* err_desc = "pollset_work";
@@ -996,25 +978,23 @@ static grpc_error* pollset_work(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
996
978
  if (pollset->kicked_without_poller) {
997
979
  pollset->kicked_without_poller = false;
998
980
  } else {
999
- if (begin_worker(exec_ctx, pollset, WORKER_PTR, worker_hdl, deadline)) {
981
+ if (begin_worker(pollset, WORKER_PTR, worker_hdl, deadline)) {
1000
982
  gpr_tls_set(&g_current_thread_pollset, (intptr_t)pollset);
1001
983
  gpr_tls_set(&g_current_thread_worker, (intptr_t)WORKER_PTR);
1002
984
  if (WORKER_PTR->pollable_obj->event_cursor ==
1003
985
  WORKER_PTR->pollable_obj->event_count) {
1004
- append_error(
1005
- &error,
1006
- pollable_epoll(exec_ctx, WORKER_PTR->pollable_obj, deadline),
1007
- err_desc);
986
+ append_error(&error, pollable_epoll(WORKER_PTR->pollable_obj, deadline),
987
+ err_desc);
1008
988
  }
1009
- append_error(&error,
1010
- pollable_process_events(exec_ctx, pollset,
1011
- WORKER_PTR->pollable_obj, false),
1012
- err_desc);
1013
- grpc_exec_ctx_flush(exec_ctx);
989
+ append_error(
990
+ &error,
991
+ pollable_process_events(pollset, WORKER_PTR->pollable_obj, false),
992
+ err_desc);
993
+ grpc_core::ExecCtx::Get()->Flush();
1014
994
  gpr_tls_set(&g_current_thread_pollset, 0);
1015
995
  gpr_tls_set(&g_current_thread_worker, 0);
1016
996
  }
1017
- end_worker(exec_ctx, pollset, WORKER_PTR, worker_hdl);
997
+ end_worker(pollset, WORKER_PTR, worker_hdl);
1018
998
  }
1019
999
  #ifdef GRPC_EPOLLEX_CREATE_WORKERS_ON_HEAP
1020
1000
  gpr_free(worker);
@@ -1024,7 +1004,7 @@ static grpc_error* pollset_work(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
1024
1004
  }
1025
1005
 
1026
1006
  static grpc_error* pollset_transition_pollable_from_empty_to_fd_locked(
1027
- grpc_exec_ctx* exec_ctx, grpc_pollset* pollset, grpc_fd* fd) {
1007
+ grpc_pollset* pollset, grpc_fd* fd) {
1028
1008
  static const char* err_desc = "pollset_transition_pollable_from_empty_to_fd";
1029
1009
  grpc_error* error = GRPC_ERROR_NONE;
1030
1010
  if (grpc_polling_trace.enabled()) {
@@ -1032,7 +1012,7 @@ static grpc_error* pollset_transition_pollable_from_empty_to_fd_locked(
1032
1012
  "PS:%p add fd %p (%d); transition pollable from empty to fd",
1033
1013
  pollset, fd, fd->fd);
1034
1014
  }
1035
- append_error(&error, pollset_kick_all(exec_ctx, pollset), err_desc);
1015
+ append_error(&error, pollset_kick_all(pollset), err_desc);
1036
1016
  POLLABLE_UNREF(pollset->active_pollable, "pollset");
1037
1017
  append_error(&error, fd_get_or_become_pollable(fd, &pollset->active_pollable),
1038
1018
  err_desc);
@@ -1040,7 +1020,7 @@ static grpc_error* pollset_transition_pollable_from_empty_to_fd_locked(
1040
1020
  }
1041
1021
 
1042
1022
  static grpc_error* pollset_transition_pollable_from_fd_to_multi_locked(
1043
- grpc_exec_ctx* exec_ctx, grpc_pollset* pollset, grpc_fd* and_add_fd) {
1023
+ grpc_pollset* pollset, grpc_fd* and_add_fd) {
1044
1024
  static const char* err_desc = "pollset_transition_pollable_from_fd_to_multi";
1045
1025
  grpc_error* error = GRPC_ERROR_NONE;
1046
1026
  if (grpc_polling_trace.enabled()) {
@@ -1050,7 +1030,7 @@ static grpc_error* pollset_transition_pollable_from_fd_to_multi_locked(
1050
1030
  pollset, and_add_fd, and_add_fd ? and_add_fd->fd : -1,
1051
1031
  pollset->active_pollable->owner_fd);
1052
1032
  }
1053
- append_error(&error, pollset_kick_all(exec_ctx, pollset), err_desc);
1033
+ append_error(&error, pollset_kick_all(pollset), err_desc);
1054
1034
  grpc_fd* initial_fd = pollset->active_pollable->owner_fd;
1055
1035
  POLLABLE_UNREF(pollset->active_pollable, "pollset");
1056
1036
  pollset->active_pollable = nullptr;
@@ -1068,27 +1048,25 @@ static grpc_error* pollset_transition_pollable_from_fd_to_multi_locked(
1068
1048
  }
1069
1049
 
1070
1050
  /* expects pollsets locked, flag whether fd is locked or not */
1071
- static grpc_error* pollset_add_fd_locked(grpc_exec_ctx* exec_ctx,
1072
- grpc_pollset* pollset, grpc_fd* fd) {
1051
+ static grpc_error* pollset_add_fd_locked(grpc_pollset* pollset, grpc_fd* fd) {
1073
1052
  grpc_error* error = GRPC_ERROR_NONE;
1074
1053
  pollable* po_at_start =
1075
1054
  POLLABLE_REF(pollset->active_pollable, "pollset_add_fd");
1076
1055
  switch (pollset->active_pollable->type) {
1077
1056
  case PO_EMPTY:
1078
1057
  /* empty pollable --> single fd pollable */
1079
- error = pollset_transition_pollable_from_empty_to_fd_locked(exec_ctx,
1080
- pollset, fd);
1058
+ error = pollset_transition_pollable_from_empty_to_fd_locked(pollset, fd);
1081
1059
  break;
1082
1060
  case PO_FD:
1083
1061
  gpr_mu_lock(&po_at_start->owner_fd->orphan_mu);
1084
1062
  if ((gpr_atm_no_barrier_load(&pollset->active_pollable->owner_fd->refst) &
1085
1063
  1) == 0) {
1086
- error = pollset_transition_pollable_from_empty_to_fd_locked(
1087
- exec_ctx, pollset, fd);
1064
+ error =
1065
+ pollset_transition_pollable_from_empty_to_fd_locked(pollset, fd);
1088
1066
  } else {
1089
1067
  /* fd --> multipoller */
1090
- error = pollset_transition_pollable_from_fd_to_multi_locked(
1091
- exec_ctx, pollset, fd);
1068
+ error =
1069
+ pollset_transition_pollable_from_fd_to_multi_locked(pollset, fd);
1092
1070
  }
1093
1071
  gpr_mu_unlock(&po_at_start->owner_fd->orphan_mu);
1094
1072
  break;
@@ -1105,8 +1083,7 @@ static grpc_error* pollset_add_fd_locked(grpc_exec_ctx* exec_ctx,
1105
1083
  return error;
1106
1084
  }
1107
1085
 
1108
- static grpc_error* pollset_as_multipollable_locked(grpc_exec_ctx* exec_ctx,
1109
- grpc_pollset* pollset,
1086
+ static grpc_error* pollset_as_multipollable_locked(grpc_pollset* pollset,
1110
1087
  pollable** pollable_obj) {
1111
1088
  grpc_error* error = GRPC_ERROR_NONE;
1112
1089
  pollable* po_at_start =
@@ -1123,8 +1100,8 @@ static grpc_error* pollset_as_multipollable_locked(grpc_exec_ctx* exec_ctx,
1123
1100
  POLLABLE_UNREF(pollset->active_pollable, "pollset");
1124
1101
  error = pollable_create(PO_MULTI, &pollset->active_pollable);
1125
1102
  } else {
1126
- error = pollset_transition_pollable_from_fd_to_multi_locked(
1127
- exec_ctx, pollset, nullptr);
1103
+ error = pollset_transition_pollable_from_fd_to_multi_locked(pollset,
1104
+ nullptr);
1128
1105
  }
1129
1106
  gpr_mu_unlock(&po_at_start->owner_fd->orphan_mu);
1130
1107
  break;
@@ -1142,10 +1119,9 @@ static grpc_error* pollset_as_multipollable_locked(grpc_exec_ctx* exec_ctx,
1142
1119
  return error;
1143
1120
  }
1144
1121
 
1145
- static void pollset_add_fd(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
1146
- grpc_fd* fd) {
1122
+ static void pollset_add_fd(grpc_pollset* pollset, grpc_fd* fd) {
1147
1123
  gpr_mu_lock(&pollset->mu);
1148
- grpc_error* error = pollset_add_fd_locked(exec_ctx, pollset, fd);
1124
+ grpc_error* error = pollset_add_fd_locked(pollset, fd);
1149
1125
  gpr_mu_unlock(&pollset->mu);
1150
1126
  GRPC_LOG_IF_ERROR("pollset_add_fd", error);
1151
1127
  }
@@ -1171,28 +1147,27 @@ static grpc_pollset_set* pollset_set_create(void) {
1171
1147
  return pss;
1172
1148
  }
1173
1149
 
1174
- static void pollset_set_unref(grpc_exec_ctx* exec_ctx, grpc_pollset_set* pss) {
1150
+ static void pollset_set_unref(grpc_pollset_set* pss) {
1175
1151
  if (pss == nullptr) return;
1176
1152
  if (!gpr_unref(&pss->refs)) return;
1177
- pollset_set_unref(exec_ctx, pss->parent);
1153
+ pollset_set_unref(pss->parent);
1178
1154
  gpr_mu_destroy(&pss->mu);
1179
1155
  for (size_t i = 0; i < pss->pollset_count; i++) {
1180
1156
  gpr_mu_lock(&pss->pollsets[i]->mu);
1181
1157
  if (0 == --pss->pollsets[i]->containing_pollset_set_count) {
1182
- pollset_maybe_finish_shutdown(exec_ctx, pss->pollsets[i]);
1158
+ pollset_maybe_finish_shutdown(pss->pollsets[i]);
1183
1159
  }
1184
1160
  gpr_mu_unlock(&pss->pollsets[i]->mu);
1185
1161
  }
1186
1162
  for (size_t i = 0; i < pss->fd_count; i++) {
1187
- UNREF_BY(exec_ctx, pss->fds[i], 2, "pollset_set");
1163
+ UNREF_BY(pss->fds[i], 2, "pollset_set");
1188
1164
  }
1189
1165
  gpr_free(pss->pollsets);
1190
1166
  gpr_free(pss->fds);
1191
1167
  gpr_free(pss);
1192
1168
  }
1193
1169
 
1194
- static void pollset_set_add_fd(grpc_exec_ctx* exec_ctx, grpc_pollset_set* pss,
1195
- grpc_fd* fd) {
1170
+ static void pollset_set_add_fd(grpc_pollset_set* pss, grpc_fd* fd) {
1196
1171
  if (grpc_polling_trace.enabled()) {
1197
1172
  gpr_log(GPR_DEBUG, "PSS:%p: add fd %p (%d)", pss, fd, fd->fd);
1198
1173
  }
@@ -1215,8 +1190,7 @@ static void pollset_set_add_fd(grpc_exec_ctx* exec_ctx, grpc_pollset_set* pss,
1215
1190
  GRPC_LOG_IF_ERROR(err_desc, error);
1216
1191
  }
1217
1192
 
1218
- static void pollset_set_del_fd(grpc_exec_ctx* exec_ctx, grpc_pollset_set* pss,
1219
- grpc_fd* fd) {
1193
+ static void pollset_set_del_fd(grpc_pollset_set* pss, grpc_fd* fd) {
1220
1194
  if (grpc_polling_trace.enabled()) {
1221
1195
  gpr_log(GPR_DEBUG, "PSS:%p: del fd %p", pss, fd);
1222
1196
  }
@@ -1224,7 +1198,7 @@ static void pollset_set_del_fd(grpc_exec_ctx* exec_ctx, grpc_pollset_set* pss,
1224
1198
  size_t i;
1225
1199
  for (i = 0; i < pss->fd_count; i++) {
1226
1200
  if (pss->fds[i] == fd) {
1227
- UNREF_BY(exec_ctx, fd, 2, "pollset_set");
1201
+ UNREF_BY(fd, 2, "pollset_set");
1228
1202
  break;
1229
1203
  }
1230
1204
  }
@@ -1236,8 +1210,7 @@ static void pollset_set_del_fd(grpc_exec_ctx* exec_ctx, grpc_pollset_set* pss,
1236
1210
  gpr_mu_unlock(&pss->mu);
1237
1211
  }
1238
1212
 
1239
- static void pollset_set_del_pollset(grpc_exec_ctx* exec_ctx,
1240
- grpc_pollset_set* pss, grpc_pollset* ps) {
1213
+ static void pollset_set_del_pollset(grpc_pollset_set* pss, grpc_pollset* ps) {
1241
1214
  if (grpc_polling_trace.enabled()) {
1242
1215
  gpr_log(GPR_DEBUG, "PSS:%p: del pollset %p", pss, ps);
1243
1216
  }
@@ -1256,15 +1229,15 @@ static void pollset_set_del_pollset(grpc_exec_ctx* exec_ctx,
1256
1229
  gpr_mu_unlock(&pss->mu);
1257
1230
  gpr_mu_lock(&ps->mu);
1258
1231
  if (0 == --ps->containing_pollset_set_count) {
1259
- pollset_maybe_finish_shutdown(exec_ctx, ps);
1232
+ pollset_maybe_finish_shutdown(ps);
1260
1233
  }
1261
1234
  gpr_mu_unlock(&ps->mu);
1262
1235
  }
1263
1236
 
1264
1237
  // add all fds to pollables, and output a new array of unorphaned out_fds
1265
1238
  // assumes pollsets are multipollable
1266
- static grpc_error* add_fds_to_pollsets(grpc_exec_ctx* exec_ctx, grpc_fd** fds,
1267
- size_t fd_count, grpc_pollset** pollsets,
1239
+ static grpc_error* add_fds_to_pollsets(grpc_fd** fds, size_t fd_count,
1240
+ grpc_pollset** pollsets,
1268
1241
  size_t pollset_count,
1269
1242
  const char* err_desc, grpc_fd** out_fds,
1270
1243
  size_t* out_fd_count) {
@@ -1273,7 +1246,7 @@ static grpc_error* add_fds_to_pollsets(grpc_exec_ctx* exec_ctx, grpc_fd** fds,
1273
1246
  gpr_mu_lock(&fds[i]->orphan_mu);
1274
1247
  if ((gpr_atm_no_barrier_load(&fds[i]->refst) & 1) == 0) {
1275
1248
  gpr_mu_unlock(&fds[i]->orphan_mu);
1276
- UNREF_BY(exec_ctx, fds[i], 2, "pollset_set");
1249
+ UNREF_BY(fds[i], 2, "pollset_set");
1277
1250
  } else {
1278
1251
  for (size_t j = 0; j < pollset_count; j++) {
1279
1252
  append_error(&error,
@@ -1287,8 +1260,7 @@ static grpc_error* add_fds_to_pollsets(grpc_exec_ctx* exec_ctx, grpc_fd** fds,
1287
1260
  return error;
1288
1261
  }
1289
1262
 
1290
- static void pollset_set_add_pollset(grpc_exec_ctx* exec_ctx,
1291
- grpc_pollset_set* pss, grpc_pollset* ps) {
1263
+ static void pollset_set_add_pollset(grpc_pollset_set* pss, grpc_pollset* ps) {
1292
1264
  if (grpc_polling_trace.enabled()) {
1293
1265
  gpr_log(GPR_DEBUG, "PSS:%p: add pollset %p", pss, ps);
1294
1266
  }
@@ -1296,8 +1268,8 @@ static void pollset_set_add_pollset(grpc_exec_ctx* exec_ctx,
1296
1268
  static const char* err_desc = "pollset_set_add_pollset";
1297
1269
  pollable* pollable_obj = nullptr;
1298
1270
  gpr_mu_lock(&ps->mu);
1299
- if (!GRPC_LOG_IF_ERROR(err_desc, pollset_as_multipollable_locked(
1300
- exec_ctx, ps, &pollable_obj))) {
1271
+ if (!GRPC_LOG_IF_ERROR(err_desc,
1272
+ pollset_as_multipollable_locked(ps, &pollable_obj))) {
1301
1273
  GPR_ASSERT(pollable_obj == nullptr);
1302
1274
  gpr_mu_unlock(&ps->mu);
1303
1275
  return;
@@ -1308,8 +1280,8 @@ static void pollset_set_add_pollset(grpc_exec_ctx* exec_ctx,
1308
1280
  size_t initial_fd_count = pss->fd_count;
1309
1281
  pss->fd_count = 0;
1310
1282
  append_error(&error,
1311
- add_fds_to_pollsets(exec_ctx, pss->fds, initial_fd_count, &ps, 1,
1312
- err_desc, pss->fds, &pss->fd_count),
1283
+ add_fds_to_pollsets(pss->fds, initial_fd_count, &ps, 1, err_desc,
1284
+ pss->fds, &pss->fd_count),
1313
1285
  err_desc);
1314
1286
  if (pss->pollset_count == pss->pollset_capacity) {
1315
1287
  pss->pollset_capacity = GPR_MAX(pss->pollset_capacity * 2, 8);
@@ -1323,8 +1295,7 @@ static void pollset_set_add_pollset(grpc_exec_ctx* exec_ctx,
1323
1295
  GRPC_LOG_IF_ERROR(err_desc, error);
1324
1296
  }
1325
1297
 
1326
- static void pollset_set_add_pollset_set(grpc_exec_ctx* exec_ctx,
1327
- grpc_pollset_set* a,
1298
+ static void pollset_set_add_pollset_set(grpc_pollset_set* a,
1328
1299
  grpc_pollset_set* b) {
1329
1300
  if (grpc_polling_trace.enabled()) {
1330
1301
  gpr_log(GPR_DEBUG, "PSS: merge (%p, %p)", a, b);
@@ -1373,13 +1344,13 @@ static void pollset_set_add_pollset_set(grpc_exec_ctx* exec_ctx,
1373
1344
  a->fd_count = 0;
1374
1345
  append_error(
1375
1346
  &error,
1376
- add_fds_to_pollsets(exec_ctx, a->fds, initial_a_fd_count, b->pollsets,
1347
+ add_fds_to_pollsets(a->fds, initial_a_fd_count, b->pollsets,
1377
1348
  b->pollset_count, "merge_a2b", a->fds, &a->fd_count),
1378
1349
  err_desc);
1379
1350
  append_error(
1380
1351
  &error,
1381
- add_fds_to_pollsets(exec_ctx, b->fds, b->fd_count, a->pollsets,
1382
- a->pollset_count, "merge_b2a", a->fds, &a->fd_count),
1352
+ add_fds_to_pollsets(b->fds, b->fd_count, a->pollsets, a->pollset_count,
1353
+ "merge_b2a", a->fds, &a->fd_count),
1383
1354
  err_desc);
1384
1355
  if (a->pollset_capacity < a->pollset_count + b->pollset_count) {
1385
1356
  a->pollset_capacity =
@@ -1401,8 +1372,7 @@ static void pollset_set_add_pollset_set(grpc_exec_ctx* exec_ctx,
1401
1372
  gpr_mu_unlock(&b->mu);
1402
1373
  }
1403
1374
 
1404
- static void pollset_set_del_pollset_set(grpc_exec_ctx* exec_ctx,
1405
- grpc_pollset_set* bag,
1375
+ static void pollset_set_del_pollset_set(grpc_pollset_set* bag,
1406
1376
  grpc_pollset_set* item) {}
1407
1377
 
1408
1378
  /*******************************************************************************
@@ -1472,15 +1442,15 @@ const grpc_event_engine_vtable* grpc_init_epollex_linux(
1472
1442
  return &vtable;
1473
1443
  }
1474
1444
 
1475
- #else /* defined(GRPC_LINUX_EPOLL) */
1445
+ #else /* defined(GRPC_LINUX_EPOLL_CREATE1) */
1476
1446
  #if defined(GRPC_POSIX_SOCKET)
1477
1447
  #include "src/core/lib/iomgr/ev_epollex_linux.h"
1478
- /* If GRPC_LINUX_EPOLL is not defined, it means epoll is not available. Return
1479
- * NULL */
1448
+ /* If GRPC_LINUX_EPOLL_CREATE1 is not defined, it means
1449
+ epoll_create1 is not available. Return NULL */
1480
1450
  const grpc_event_engine_vtable* grpc_init_epollex_linux(
1481
1451
  bool explicitly_requested) {
1482
- return NULL;
1452
+ return nullptr;
1483
1453
  }
1484
1454
  #endif /* defined(GRPC_POSIX_SOCKET) */
1485
1455
 
1486
- #endif /* !defined(GRPC_LINUX_EPOLL) */
1456
+ #endif /* !defined(GRPC_LINUX_EPOLL_CREATE1) */