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
@@ -40,15 +40,11 @@
40
40
  #include <grpc/support/time.h>
41
41
 
42
42
  #include "src/core/lib/debug/trace.h"
43
+ #include "src/core/lib/gpr/arena.h"
43
44
  #include "src/core/lib/iomgr/call_combiner.h"
44
45
  #include "src/core/lib/iomgr/polling_entity.h"
45
- #include "src/core/lib/support/arena.h"
46
46
  #include "src/core/lib/transport/transport.h"
47
47
 
48
- #ifdef __cplusplus
49
- extern "C" {
50
- #endif
51
-
52
48
  typedef struct grpc_channel_element grpc_channel_element;
53
49
  typedef struct grpc_call_element grpc_call_element;
54
50
 
@@ -100,14 +96,12 @@ typedef struct {
100
96
  typedef struct {
101
97
  /* Called to eg. send/receive data on a call.
102
98
  See grpc_call_next_op on how to call the next element in the stack */
103
- void (*start_transport_stream_op_batch)(grpc_exec_ctx* exec_ctx,
104
- grpc_call_element* elem,
99
+ void (*start_transport_stream_op_batch)(grpc_call_element* elem,
105
100
  grpc_transport_stream_op_batch* op);
106
101
  /* Called to handle channel level operations - e.g. new calls, or transport
107
102
  closure.
108
103
  See grpc_channel_next_op on how to call the next element in the stack */
109
- void (*start_transport_op)(grpc_exec_ctx* exec_ctx,
110
- grpc_channel_element* elem, grpc_transport_op* op);
104
+ void (*start_transport_op)(grpc_channel_element* elem, grpc_transport_op* op);
111
105
 
112
106
  /* sizeof(per call data) */
113
107
  size_t sizeof_call_data;
@@ -120,11 +114,9 @@ typedef struct {
120
114
  transport and is on the server. Most filters want to ignore this
121
115
  argument.
122
116
  Implementations may assume that elem->call_data is all zeros. */
123
- grpc_error* (*init_call_elem)(grpc_exec_ctx* exec_ctx,
124
- grpc_call_element* elem,
117
+ grpc_error* (*init_call_elem)(grpc_call_element* elem,
125
118
  const grpc_call_element_args* args);
126
- void (*set_pollset_or_pollset_set)(grpc_exec_ctx* exec_ctx,
127
- grpc_call_element* elem,
119
+ void (*set_pollset_or_pollset_set)(grpc_call_element* elem,
128
120
  grpc_polling_entity* pollent);
129
121
  /* Destroy per call data.
130
122
  The filter does not need to do any chaining.
@@ -132,7 +124,7 @@ typedef struct {
132
124
  \a then_schedule_closure that should be passed to GRPC_CLOSURE_SCHED when
133
125
  destruction is complete. \a final_info contains data about the completed
134
126
  call, mainly for reporting purposes. */
135
- void (*destroy_call_elem)(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
127
+ void (*destroy_call_elem)(grpc_call_element* elem,
136
128
  const grpc_call_final_info* final_info,
137
129
  grpc_closure* then_schedule_closure);
138
130
 
@@ -145,16 +137,14 @@ typedef struct {
145
137
  useful for asserting correct configuration by upper layer code.
146
138
  The filter does not need to do any chaining.
147
139
  Implementations may assume that elem->call_data is all zeros. */
148
- grpc_error* (*init_channel_elem)(grpc_exec_ctx* exec_ctx,
149
- grpc_channel_element* elem,
140
+ grpc_error* (*init_channel_elem)(grpc_channel_element* elem,
150
141
  grpc_channel_element_args* args);
151
142
  /* Destroy per channel data.
152
143
  The filter does not need to do any chaining */
153
- void (*destroy_channel_elem)(grpc_exec_ctx* exec_ctx,
154
- grpc_channel_element* elem);
144
+ void (*destroy_channel_elem)(grpc_channel_element* elem);
155
145
 
156
146
  /* Implement grpc_channel_get_info() */
157
- void (*get_channel_info)(grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
147
+ void (*get_channel_info)(grpc_channel_element* elem,
158
148
  const grpc_channel_info* channel_info);
159
149
 
160
150
  /* The name of this filter */
@@ -212,68 +202,62 @@ size_t grpc_channel_stack_size(const grpc_channel_filter** filters,
212
202
  size_t filter_count);
213
203
  /* Initialize a channel stack given some filters */
214
204
  grpc_error* grpc_channel_stack_init(
215
- grpc_exec_ctx* exec_ctx, int initial_refs, grpc_iomgr_cb_func destroy,
216
- void* destroy_arg, const grpc_channel_filter** filters, size_t filter_count,
205
+ int initial_refs, grpc_iomgr_cb_func destroy, void* destroy_arg,
206
+ const grpc_channel_filter** filters, size_t filter_count,
217
207
  const grpc_channel_args* args, grpc_transport* optional_transport,
218
208
  const char* name, grpc_channel_stack* stack);
219
209
  /* Destroy a channel stack */
220
- void grpc_channel_stack_destroy(grpc_exec_ctx* exec_ctx,
221
- grpc_channel_stack* stack);
210
+ void grpc_channel_stack_destroy(grpc_channel_stack* stack);
222
211
 
223
212
  /* Initialize a call stack given a channel stack. transport_server_data is
224
213
  expected to be NULL on a client, or an opaque transport owned pointer on the
225
214
  server. */
226
- grpc_error* grpc_call_stack_init(grpc_exec_ctx* exec_ctx,
227
- grpc_channel_stack* channel_stack,
215
+ grpc_error* grpc_call_stack_init(grpc_channel_stack* channel_stack,
228
216
  int initial_refs, grpc_iomgr_cb_func destroy,
229
217
  void* destroy_arg,
230
218
  const grpc_call_element_args* elem_args);
231
219
  /* Set a pollset or a pollset_set for a call stack: must occur before the first
232
220
  * op is started */
233
- void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx* exec_ctx,
234
- grpc_call_stack* call_stack,
221
+ void grpc_call_stack_set_pollset_or_pollset_set(grpc_call_stack* call_stack,
235
222
  grpc_polling_entity* pollent);
236
223
 
237
224
  #ifndef NDEBUG
238
225
  #define GRPC_CALL_STACK_REF(call_stack, reason) \
239
226
  grpc_stream_ref(&(call_stack)->refcount, reason)
240
- #define GRPC_CALL_STACK_UNREF(exec_ctx, call_stack, reason) \
241
- grpc_stream_unref(exec_ctx, &(call_stack)->refcount, reason)
227
+ #define GRPC_CALL_STACK_UNREF(call_stack, reason) \
228
+ grpc_stream_unref(&(call_stack)->refcount, reason)
242
229
  #define GRPC_CHANNEL_STACK_REF(channel_stack, reason) \
243
230
  grpc_stream_ref(&(channel_stack)->refcount, reason)
244
- #define GRPC_CHANNEL_STACK_UNREF(exec_ctx, channel_stack, reason) \
245
- grpc_stream_unref(exec_ctx, &(channel_stack)->refcount, reason)
231
+ #define GRPC_CHANNEL_STACK_UNREF(channel_stack, reason) \
232
+ grpc_stream_unref(&(channel_stack)->refcount, reason)
246
233
  #else
247
234
  #define GRPC_CALL_STACK_REF(call_stack, reason) \
248
235
  grpc_stream_ref(&(call_stack)->refcount)
249
- #define GRPC_CALL_STACK_UNREF(exec_ctx, call_stack, reason) \
250
- grpc_stream_unref(exec_ctx, &(call_stack)->refcount)
236
+ #define GRPC_CALL_STACK_UNREF(call_stack, reason) \
237
+ grpc_stream_unref(&(call_stack)->refcount)
251
238
  #define GRPC_CHANNEL_STACK_REF(channel_stack, reason) \
252
239
  grpc_stream_ref(&(channel_stack)->refcount)
253
- #define GRPC_CHANNEL_STACK_UNREF(exec_ctx, channel_stack, reason) \
254
- grpc_stream_unref(exec_ctx, &(channel_stack)->refcount)
240
+ #define GRPC_CHANNEL_STACK_UNREF(channel_stack, reason) \
241
+ grpc_stream_unref(&(channel_stack)->refcount)
255
242
  #endif
256
243
 
257
244
  /* Destroy a call stack */
258
- void grpc_call_stack_destroy(grpc_exec_ctx* exec_ctx, grpc_call_stack* stack,
245
+ void grpc_call_stack_destroy(grpc_call_stack* stack,
259
246
  const grpc_call_final_info* final_info,
260
247
  grpc_closure* then_schedule_closure);
261
248
 
262
249
  /* Ignore set pollset{_set} - used by filters if they don't care about pollsets
263
250
  * at all. Does nothing. */
264
251
  void grpc_call_stack_ignore_set_pollset_or_pollset_set(
265
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
266
- grpc_polling_entity* pollent);
252
+ grpc_call_element* elem, grpc_polling_entity* pollent);
267
253
  /* Call the next operation in a call stack */
268
- void grpc_call_next_op(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
254
+ void grpc_call_next_op(grpc_call_element* elem,
269
255
  grpc_transport_stream_op_batch* op);
270
256
  /* Call the next operation (depending on call directionality) in a channel
271
257
  stack */
272
- void grpc_channel_next_op(grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
273
- grpc_transport_op* op);
258
+ void grpc_channel_next_op(grpc_channel_element* elem, grpc_transport_op* op);
274
259
  /* Pass through a request to get_channel_info() to the next child element */
275
- void grpc_channel_next_get_info(grpc_exec_ctx* exec_ctx,
276
- grpc_channel_element* elem,
260
+ void grpc_channel_next_get_info(grpc_channel_element* elem,
277
261
  const grpc_channel_info* channel_info);
278
262
 
279
263
  /* Given the top element of a channel stack, get the channel stack itself */
@@ -291,8 +275,4 @@ extern grpc_core::TraceFlag grpc_trace_channel;
291
275
  #define GRPC_CALL_LOG_OP(sev, elem, op) \
292
276
  if (grpc_trace_channel.enabled()) grpc_call_log_op(sev, elem, op)
293
277
 
294
- #ifdef __cplusplus
295
- }
296
- #endif
297
-
298
278
  #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H */
@@ -150,10 +150,9 @@ void grpc_channel_stack_builder_set_name(grpc_channel_stack_builder* builder,
150
150
  }
151
151
 
152
152
  void grpc_channel_stack_builder_set_channel_arguments(
153
- grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder,
154
- const grpc_channel_args* args) {
153
+ grpc_channel_stack_builder* builder, const grpc_channel_args* args) {
155
154
  if (builder->args != nullptr) {
156
- grpc_channel_args_destroy(exec_ctx, builder->args);
155
+ grpc_channel_args_destroy(builder->args);
157
156
  }
158
157
  builder->args = grpc_channel_args_copy(args);
159
158
  }
@@ -241,8 +240,7 @@ bool grpc_channel_stack_builder_add_filter_after(
241
240
  return true;
242
241
  }
243
242
 
244
- void grpc_channel_stack_builder_destroy(grpc_exec_ctx* exec_ctx,
245
- grpc_channel_stack_builder* builder) {
243
+ void grpc_channel_stack_builder_destroy(grpc_channel_stack_builder* builder) {
246
244
  filter_node* p = builder->begin.next;
247
245
  while (p != &builder->end) {
248
246
  filter_node* next = p->next;
@@ -250,16 +248,15 @@ void grpc_channel_stack_builder_destroy(grpc_exec_ctx* exec_ctx,
250
248
  p = next;
251
249
  }
252
250
  if (builder->args != nullptr) {
253
- grpc_channel_args_destroy(exec_ctx, builder->args);
251
+ grpc_channel_args_destroy(builder->args);
254
252
  }
255
253
  gpr_free(builder->target);
256
254
  gpr_free(builder);
257
255
  }
258
256
 
259
257
  grpc_error* grpc_channel_stack_builder_finish(
260
- grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder,
261
- size_t prefix_bytes, int initial_refs, grpc_iomgr_cb_func destroy,
262
- void* destroy_arg, void** result) {
258
+ grpc_channel_stack_builder* builder, size_t prefix_bytes, int initial_refs,
259
+ grpc_iomgr_cb_func destroy, void* destroy_arg, void** result) {
263
260
  // count the number of filters
264
261
  size_t num_filters = 0;
265
262
  for (filter_node* p = builder->begin.next; p != &builder->end; p = p->next) {
@@ -284,12 +281,12 @@ grpc_error* grpc_channel_stack_builder_finish(
284
281
  (grpc_channel_stack*)((char*)(*result) + prefix_bytes);
285
282
  // and initialize it
286
283
  grpc_error* error = grpc_channel_stack_init(
287
- exec_ctx, initial_refs, destroy,
288
- destroy_arg == nullptr ? *result : destroy_arg, filters, num_filters,
289
- builder->args, builder->transport, builder->name, channel_stack);
284
+ initial_refs, destroy, destroy_arg == nullptr ? *result : destroy_arg,
285
+ filters, num_filters, builder->args, builder->transport, builder->name,
286
+ channel_stack);
290
287
 
291
288
  if (error != GRPC_ERROR_NONE) {
292
- grpc_channel_stack_destroy(exec_ctx, channel_stack);
289
+ grpc_channel_stack_destroy(channel_stack);
293
290
  gpr_free(*result);
294
291
  *result = nullptr;
295
292
  } else {
@@ -305,7 +302,7 @@ grpc_error* grpc_channel_stack_builder_finish(
305
302
  }
306
303
  }
307
304
 
308
- grpc_channel_stack_builder_destroy(exec_ctx, builder);
305
+ grpc_channel_stack_builder_destroy(builder);
309
306
  gpr_free((grpc_channel_filter**)filters);
310
307
 
311
308
  return error;
@@ -24,10 +24,6 @@
24
24
  #include "src/core/lib/channel/channel_args.h"
25
25
  #include "src/core/lib/channel/channel_stack.h"
26
26
 
27
- #ifdef __cplusplus
28
- extern "C" {
29
- #endif
30
-
31
27
  /// grpc_channel_stack_builder offers a programmatic interface to selected
32
28
  /// and order channel filters
33
29
  typedef struct grpc_channel_stack_builder grpc_channel_stack_builder;
@@ -58,8 +54,7 @@ grpc_transport* grpc_channel_stack_builder_get_transport(
58
54
 
59
55
  /// Set channel arguments: copies args
60
56
  void grpc_channel_stack_builder_set_channel_arguments(
61
- grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder,
62
- const grpc_channel_args* args);
57
+ grpc_channel_stack_builder* builder, const grpc_channel_args* args);
63
58
 
64
59
  /// Return a borrowed pointer to the channel arguments
65
60
  const grpc_channel_args* grpc_channel_stack_builder_get_channel_arguments(
@@ -152,18 +147,12 @@ void grpc_channel_stack_builder_iterator_destroy(
152
147
  /// \a initial_refs, \a destroy, \a destroy_arg are as per
153
148
  /// grpc_channel_stack_init
154
149
  grpc_error* grpc_channel_stack_builder_finish(
155
- grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder,
156
- size_t prefix_bytes, int initial_refs, grpc_iomgr_cb_func destroy,
157
- void* destroy_arg, void** result);
150
+ grpc_channel_stack_builder* builder, size_t prefix_bytes, int initial_refs,
151
+ grpc_iomgr_cb_func destroy, void* destroy_arg, void** result);
158
152
 
159
153
  /// Destroy the builder without creating a channel stack
160
- void grpc_channel_stack_builder_destroy(grpc_exec_ctx* exec_ctx,
161
- grpc_channel_stack_builder* builder);
154
+ void grpc_channel_stack_builder_destroy(grpc_channel_stack_builder* builder);
162
155
 
163
156
  extern grpc_core::TraceFlag grpc_trace_channel_stack_builder;
164
157
 
165
- #ifdef __cplusplus
166
- }
167
- #endif
168
-
169
158
  #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_BUILDER_H */
@@ -26,8 +26,8 @@
26
26
  #include <grpc/slice_buffer.h>
27
27
  #include <grpc/support/alloc.h>
28
28
  #include <grpc/support/log.h>
29
+ #include "src/core/lib/gpr/string.h"
29
30
  #include "src/core/lib/profiling/timers.h"
30
- #include "src/core/lib/support/string.h"
31
31
  #include "src/core/lib/transport/transport.h"
32
32
 
33
33
  #define MAX_BUFFER_LENGTH 8192
@@ -51,17 +51,14 @@ typedef struct connected_channel_call_data {
51
51
  callback_state recv_message_ready;
52
52
  } call_data;
53
53
 
54
- static void run_in_call_combiner(grpc_exec_ctx* exec_ctx, void* arg,
55
- grpc_error* error) {
54
+ static void run_in_call_combiner(void* arg, grpc_error* error) {
56
55
  callback_state* state = (callback_state*)arg;
57
- GRPC_CALL_COMBINER_START(exec_ctx, state->call_combiner,
58
- state->original_closure, GRPC_ERROR_REF(error),
59
- state->reason);
56
+ GRPC_CALL_COMBINER_START(state->call_combiner, state->original_closure,
57
+ GRPC_ERROR_REF(error), state->reason);
60
58
  }
61
59
 
62
- static void run_cancel_in_call_combiner(grpc_exec_ctx* exec_ctx, void* arg,
63
- grpc_error* error) {
64
- run_in_call_combiner(exec_ctx, arg, error);
60
+ static void run_cancel_in_call_combiner(void* arg, grpc_error* error) {
61
+ run_in_call_combiner(arg, error);
65
62
  gpr_free(arg);
66
63
  }
67
64
 
@@ -98,8 +95,7 @@ static callback_state* get_state_for_batch(
98
95
  /* Intercept a call operation and either push it directly up or translate it
99
96
  into transport stream operations */
100
97
  static void con_start_transport_stream_op_batch(
101
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
102
- grpc_transport_stream_op_batch* batch) {
98
+ grpc_call_element* elem, grpc_transport_stream_op_batch* batch) {
103
99
  call_data* calld = (call_data*)elem->call_data;
104
100
  channel_data* chand = (channel_data*)elem->channel_data;
105
101
  if (batch->recv_initial_metadata) {
@@ -126,58 +122,52 @@ static void con_start_transport_stream_op_batch(
126
122
  callback_state* state = get_state_for_batch(calld, batch);
127
123
  intercept_callback(calld, state, false, "on_complete", &batch->on_complete);
128
124
  }
129
- grpc_transport_perform_stream_op(exec_ctx, chand->transport,
130
- TRANSPORT_STREAM_FROM_CALL_DATA(calld),
131
- batch);
132
- GRPC_CALL_COMBINER_STOP(exec_ctx, calld->call_combiner,
133
- "passed batch to transport");
125
+ grpc_transport_perform_stream_op(
126
+ chand->transport, TRANSPORT_STREAM_FROM_CALL_DATA(calld), batch);
127
+ GRPC_CALL_COMBINER_STOP(calld->call_combiner, "passed batch to transport");
134
128
  }
135
129
 
136
- static void con_start_transport_op(grpc_exec_ctx* exec_ctx,
137
- grpc_channel_element* elem,
130
+ static void con_start_transport_op(grpc_channel_element* elem,
138
131
  grpc_transport_op* op) {
139
132
  channel_data* chand = (channel_data*)elem->channel_data;
140
- grpc_transport_perform_op(exec_ctx, chand->transport, op);
133
+ grpc_transport_perform_op(chand->transport, op);
141
134
  }
142
135
 
143
136
  /* Constructor for call_data */
144
- static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
145
- grpc_call_element* elem,
137
+ static grpc_error* init_call_elem(grpc_call_element* elem,
146
138
  const grpc_call_element_args* args) {
147
139
  call_data* calld = (call_data*)elem->call_data;
148
140
  channel_data* chand = (channel_data*)elem->channel_data;
149
141
  calld->call_combiner = args->call_combiner;
150
142
  int r = grpc_transport_init_stream(
151
- exec_ctx, chand->transport, TRANSPORT_STREAM_FROM_CALL_DATA(calld),
143
+ chand->transport, TRANSPORT_STREAM_FROM_CALL_DATA(calld),
152
144
  &args->call_stack->refcount, args->server_transport_data, args->arena);
153
145
  return r == 0 ? GRPC_ERROR_NONE
154
146
  : GRPC_ERROR_CREATE_FROM_STATIC_STRING(
155
147
  "transport stream initialization failed");
156
148
  }
157
149
 
158
- static void set_pollset_or_pollset_set(grpc_exec_ctx* exec_ctx,
159
- grpc_call_element* elem,
150
+ static void set_pollset_or_pollset_set(grpc_call_element* elem,
160
151
  grpc_polling_entity* pollent) {
161
152
  call_data* calld = (call_data*)elem->call_data;
162
153
  channel_data* chand = (channel_data*)elem->channel_data;
163
- grpc_transport_set_pops(exec_ctx, chand->transport,
154
+ grpc_transport_set_pops(chand->transport,
164
155
  TRANSPORT_STREAM_FROM_CALL_DATA(calld), pollent);
165
156
  }
166
157
 
167
158
  /* Destructor for call_data */
168
- static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
159
+ static void destroy_call_elem(grpc_call_element* elem,
169
160
  const grpc_call_final_info* final_info,
170
161
  grpc_closure* then_schedule_closure) {
171
162
  call_data* calld = (call_data*)elem->call_data;
172
163
  channel_data* chand = (channel_data*)elem->channel_data;
173
- grpc_transport_destroy_stream(exec_ctx, chand->transport,
164
+ grpc_transport_destroy_stream(chand->transport,
174
165
  TRANSPORT_STREAM_FROM_CALL_DATA(calld),
175
166
  then_schedule_closure);
176
167
  }
177
168
 
178
169
  /* Constructor for channel_data */
179
- static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
180
- grpc_channel_element* elem,
170
+ static grpc_error* init_channel_elem(grpc_channel_element* elem,
181
171
  grpc_channel_element_args* args) {
182
172
  channel_data* cd = (channel_data*)elem->channel_data;
183
173
  GPR_ASSERT(args->is_last);
@@ -186,17 +176,15 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
186
176
  }
187
177
 
188
178
  /* Destructor for channel_data */
189
- static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
190
- grpc_channel_element* elem) {
179
+ static void destroy_channel_elem(grpc_channel_element* elem) {
191
180
  channel_data* cd = (channel_data*)elem->channel_data;
192
181
  if (cd->transport) {
193
- grpc_transport_destroy(exec_ctx, cd->transport);
182
+ grpc_transport_destroy(cd->transport);
194
183
  }
195
184
  }
196
185
 
197
186
  /* No-op. */
198
- static void con_get_channel_info(grpc_exec_ctx* exec_ctx,
199
- grpc_channel_element* elem,
187
+ static void con_get_channel_info(grpc_channel_element* elem,
200
188
  const grpc_channel_info* channel_info) {}
201
189
 
202
190
  const grpc_channel_filter grpc_connected_filter = {
@@ -230,8 +218,7 @@ static void bind_transport(grpc_channel_stack* channel_stack,
230
218
  grpc_transport_stream_size((grpc_transport*)t);
231
219
  }
232
220
 
233
- bool grpc_add_connected_filter(grpc_exec_ctx* exec_ctx,
234
- grpc_channel_stack_builder* builder,
221
+ bool grpc_add_connected_filter(grpc_channel_stack_builder* builder,
235
222
  void* arg_must_be_null) {
236
223
  GPR_ASSERT(arg_must_be_null == nullptr);
237
224
  grpc_transport* t = grpc_channel_stack_builder_get_transport(builder);
@@ -21,21 +21,12 @@
21
21
 
22
22
  #include "src/core/lib/channel/channel_stack_builder.h"
23
23
 
24
- #ifdef __cplusplus
25
- extern "C" {
26
- #endif
27
-
28
24
  extern const grpc_channel_filter grpc_connected_filter;
29
25
 
30
- bool grpc_add_connected_filter(grpc_exec_ctx* exec_ctx,
31
- grpc_channel_stack_builder* builder,
26
+ bool grpc_add_connected_filter(grpc_channel_stack_builder* builder,
32
27
  void* arg_must_be_null);
33
28
 
34
29
  /* Debug helper to dig the transport stream out of a call element */
35
30
  grpc_stream* grpc_connected_channel_get_stream(grpc_call_element* elem);
36
31
 
37
- #ifdef __cplusplus
38
- }
39
- #endif
40
-
41
32
  #endif /* GRPC_CORE_LIB_CHANNEL_CONNECTED_CHANNEL_H */
@@ -34,23 +34,20 @@ void grpc_handshaker_init(const grpc_handshaker_vtable* vtable,
34
34
  handshaker->vtable = vtable;
35
35
  }
36
36
 
37
- void grpc_handshaker_destroy(grpc_exec_ctx* exec_ctx,
38
- grpc_handshaker* handshaker) {
39
- handshaker->vtable->destroy(exec_ctx, handshaker);
37
+ void grpc_handshaker_destroy(grpc_handshaker* handshaker) {
38
+ handshaker->vtable->destroy(handshaker);
40
39
  }
41
40
 
42
- void grpc_handshaker_shutdown(grpc_exec_ctx* exec_ctx,
43
- grpc_handshaker* handshaker, grpc_error* why) {
44
- handshaker->vtable->shutdown(exec_ctx, handshaker, why);
41
+ void grpc_handshaker_shutdown(grpc_handshaker* handshaker, grpc_error* why) {
42
+ handshaker->vtable->shutdown(handshaker, why);
45
43
  }
46
44
 
47
- void grpc_handshaker_do_handshake(grpc_exec_ctx* exec_ctx,
48
- grpc_handshaker* handshaker,
45
+ void grpc_handshaker_do_handshake(grpc_handshaker* handshaker,
49
46
  grpc_tcp_server_acceptor* acceptor,
50
47
  grpc_closure* on_handshake_done,
51
48
  grpc_handshaker_args* args) {
52
- handshaker->vtable->do_handshake(exec_ctx, handshaker, acceptor,
53
- on_handshake_done, args);
49
+ handshaker->vtable->do_handshake(handshaker, acceptor, on_handshake_done,
50
+ args);
54
51
  }
55
52
 
56
53
  //
@@ -116,9 +113,9 @@ void grpc_handshake_manager_pending_list_remove(grpc_handshake_manager** head,
116
113
  }
117
114
 
118
115
  void grpc_handshake_manager_pending_list_shutdown_all(
119
- grpc_exec_ctx* exec_ctx, grpc_handshake_manager* head, grpc_error* why) {
116
+ grpc_handshake_manager* head, grpc_error* why) {
120
117
  while (head != nullptr) {
121
- grpc_handshake_manager_shutdown(exec_ctx, head, GRPC_ERROR_REF(why));
118
+ grpc_handshake_manager_shutdown(head, GRPC_ERROR_REF(why));
122
119
  head = head->next;
123
120
  }
124
121
  GRPC_ERROR_UNREF(why);
@@ -145,11 +142,10 @@ void grpc_handshake_manager_add(grpc_handshake_manager* mgr,
145
142
  gpr_mu_unlock(&mgr->mu);
146
143
  }
147
144
 
148
- static void grpc_handshake_manager_unref(grpc_exec_ctx* exec_ctx,
149
- grpc_handshake_manager* mgr) {
145
+ static void grpc_handshake_manager_unref(grpc_handshake_manager* mgr) {
150
146
  if (gpr_unref(&mgr->refs)) {
151
147
  for (size_t i = 0; i < mgr->count; ++i) {
152
- grpc_handshaker_destroy(exec_ctx, mgr->handshakers[i]);
148
+ grpc_handshaker_destroy(mgr->handshakers[i]);
153
149
  }
154
150
  gpr_free(mgr->handshakers);
155
151
  gpr_mu_destroy(&mgr->mu);
@@ -157,19 +153,17 @@ static void grpc_handshake_manager_unref(grpc_exec_ctx* exec_ctx,
157
153
  }
158
154
  }
159
155
 
160
- void grpc_handshake_manager_destroy(grpc_exec_ctx* exec_ctx,
161
- grpc_handshake_manager* mgr) {
162
- grpc_handshake_manager_unref(exec_ctx, mgr);
156
+ void grpc_handshake_manager_destroy(grpc_handshake_manager* mgr) {
157
+ grpc_handshake_manager_unref(mgr);
163
158
  }
164
159
 
165
- void grpc_handshake_manager_shutdown(grpc_exec_ctx* exec_ctx,
166
- grpc_handshake_manager* mgr,
160
+ void grpc_handshake_manager_shutdown(grpc_handshake_manager* mgr,
167
161
  grpc_error* why) {
168
162
  gpr_mu_lock(&mgr->mu);
169
163
  // Shutdown the handshaker that's currently in progress, if any.
170
164
  if (!mgr->shutdown && mgr->index > 0) {
171
165
  mgr->shutdown = true;
172
- grpc_handshaker_shutdown(exec_ctx, mgr->handshakers[mgr->index - 1],
166
+ grpc_handshaker_shutdown(mgr->handshakers[mgr->index - 1],
173
167
  GRPC_ERROR_REF(why));
174
168
  }
175
169
  gpr_mu_unlock(&mgr->mu);
@@ -179,8 +173,7 @@ void grpc_handshake_manager_shutdown(grpc_exec_ctx* exec_ctx,
179
173
  // Helper function to call either the next handshaker or the
180
174
  // on_handshake_done callback.
181
175
  // Returns true if we've scheduled the on_handshake_done callback.
182
- static bool call_next_handshaker_locked(grpc_exec_ctx* exec_ctx,
183
- grpc_handshake_manager* mgr,
176
+ static bool call_next_handshaker_locked(grpc_handshake_manager* mgr,
184
177
  grpc_error* error) {
185
178
  GPR_ASSERT(mgr->index <= mgr->count);
186
179
  // If we got an error or we've been shut down or we're exiting early or
@@ -190,13 +183,12 @@ static bool call_next_handshaker_locked(grpc_exec_ctx* exec_ctx,
190
183
  mgr->index == mgr->count) {
191
184
  // Cancel deadline timer, since we're invoking the on_handshake_done
192
185
  // callback now.
193
- grpc_timer_cancel(exec_ctx, &mgr->deadline_timer);
194
- GRPC_CLOSURE_SCHED(exec_ctx, &mgr->on_handshake_done, error);
186
+ grpc_timer_cancel(&mgr->deadline_timer);
187
+ GRPC_CLOSURE_SCHED(&mgr->on_handshake_done, error);
195
188
  mgr->shutdown = true;
196
189
  } else {
197
- grpc_handshaker_do_handshake(exec_ctx, mgr->handshakers[mgr->index],
198
- mgr->acceptor, &mgr->call_next_handshaker,
199
- &mgr->args);
190
+ grpc_handshaker_do_handshake(mgr->handshakers[mgr->index], mgr->acceptor,
191
+ &mgr->call_next_handshaker, &mgr->args);
200
192
  }
201
193
  ++mgr->index;
202
194
  return mgr->shutdown;
@@ -204,33 +196,31 @@ static bool call_next_handshaker_locked(grpc_exec_ctx* exec_ctx,
204
196
 
205
197
  // A function used as the handshaker-done callback when chaining
206
198
  // handshakers together.
207
- static void call_next_handshaker(grpc_exec_ctx* exec_ctx, void* arg,
208
- grpc_error* error) {
199
+ static void call_next_handshaker(void* arg, grpc_error* error) {
209
200
  grpc_handshake_manager* mgr = (grpc_handshake_manager*)arg;
210
201
  gpr_mu_lock(&mgr->mu);
211
- bool done = call_next_handshaker_locked(exec_ctx, mgr, GRPC_ERROR_REF(error));
202
+ bool done = call_next_handshaker_locked(mgr, GRPC_ERROR_REF(error));
212
203
  gpr_mu_unlock(&mgr->mu);
213
204
  // If we're invoked the final callback, we won't be coming back
214
205
  // to this function, so we can release our reference to the
215
206
  // handshake manager.
216
207
  if (done) {
217
- grpc_handshake_manager_unref(exec_ctx, mgr);
208
+ grpc_handshake_manager_unref(mgr);
218
209
  }
219
210
  }
220
211
 
221
212
  // Callback invoked when deadline is exceeded.
222
- static void on_timeout(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
213
+ static void on_timeout(void* arg, grpc_error* error) {
223
214
  grpc_handshake_manager* mgr = (grpc_handshake_manager*)arg;
224
215
  if (error == GRPC_ERROR_NONE) { // Timer fired, rather than being cancelled.
225
216
  grpc_handshake_manager_shutdown(
226
- exec_ctx, mgr,
227
- GRPC_ERROR_CREATE_FROM_STATIC_STRING("Handshake timed out"));
217
+ mgr, GRPC_ERROR_CREATE_FROM_STATIC_STRING("Handshake timed out"));
228
218
  }
229
- grpc_handshake_manager_unref(exec_ctx, mgr);
219
+ grpc_handshake_manager_unref(mgr);
230
220
  }
231
221
 
232
222
  void grpc_handshake_manager_do_handshake(
233
- grpc_exec_ctx* exec_ctx, grpc_handshake_manager* mgr,
223
+ grpc_handshake_manager* mgr, grpc_pollset_set* interested_parties,
234
224
  grpc_endpoint* endpoint, const grpc_channel_args* channel_args,
235
225
  grpc_millis deadline, grpc_tcp_server_acceptor* acceptor,
236
226
  grpc_iomgr_cb_func on_handshake_done, void* user_data) {
@@ -239,6 +229,7 @@ void grpc_handshake_manager_do_handshake(
239
229
  GPR_ASSERT(!mgr->shutdown);
240
230
  // Construct handshaker args. These will be passed through all
241
231
  // handshakers and eventually be freed by the on_handshake_done callback.
232
+ mgr->args.interested_parties = interested_parties;
242
233
  mgr->args.endpoint = endpoint;
243
234
  mgr->args.args = grpc_channel_args_copy(channel_args);
244
235
  mgr->args.user_data = user_data;
@@ -255,12 +246,12 @@ void grpc_handshake_manager_do_handshake(
255
246
  gpr_ref(&mgr->refs);
256
247
  GRPC_CLOSURE_INIT(&mgr->on_timeout, on_timeout, mgr,
257
248
  grpc_schedule_on_exec_ctx);
258
- grpc_timer_init(exec_ctx, &mgr->deadline_timer, deadline, &mgr->on_timeout);
249
+ grpc_timer_init(&mgr->deadline_timer, deadline, &mgr->on_timeout);
259
250
  // Start first handshaker, which also owns a ref.
260
251
  gpr_ref(&mgr->refs);
261
- bool done = call_next_handshaker_locked(exec_ctx, mgr, GRPC_ERROR_NONE);
252
+ bool done = call_next_handshaker_locked(mgr, GRPC_ERROR_NONE);
262
253
  gpr_mu_unlock(&mgr->mu);
263
254
  if (done) {
264
- grpc_handshake_manager_unref(exec_ctx, mgr);
255
+ grpc_handshake_manager_unref(mgr);
265
256
  }
266
257
  }