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
@@ -29,10 +29,6 @@
29
29
  #include "src/core/tsi/ssl_transport_security.h"
30
30
  #include "src/core/tsi/transport_security_interface.h"
31
31
 
32
- #ifdef __cplusplus
33
- extern "C" {
34
- #endif
35
-
36
32
  extern grpc_core::DebugOnlyTraceFlag grpc_trace_security_connector_refcount;
37
33
 
38
34
  /* --- status enum. --- */
@@ -54,9 +50,9 @@ typedef struct grpc_security_connector grpc_security_connector;
54
50
  #define GRPC_ARG_SECURITY_CONNECTOR "grpc.security_connector"
55
51
 
56
52
  typedef struct {
57
- void (*destroy)(grpc_exec_ctx* exec_ctx, grpc_security_connector* sc);
58
- void (*check_peer)(grpc_exec_ctx* exec_ctx, grpc_security_connector* sc,
59
- tsi_peer peer, grpc_auth_context** auth_context,
53
+ void (*destroy)(grpc_security_connector* sc);
54
+ void (*check_peer)(grpc_security_connector* sc, tsi_peer peer,
55
+ grpc_auth_context** auth_context,
60
56
  grpc_closure* on_peer_checked);
61
57
  int (*cmp)(grpc_security_connector* sc, grpc_security_connector* other);
62
58
  } grpc_security_connector_vtable;
@@ -71,29 +67,25 @@ struct grpc_security_connector {
71
67
  #ifndef NDEBUG
72
68
  #define GRPC_SECURITY_CONNECTOR_REF(p, r) \
73
69
  grpc_security_connector_ref((p), __FILE__, __LINE__, (r))
74
- #define GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, p, r) \
75
- grpc_security_connector_unref((exec_ctx), (p), __FILE__, __LINE__, (r))
70
+ #define GRPC_SECURITY_CONNECTOR_UNREF(p, r) \
71
+ grpc_security_connector_unref((p), __FILE__, __LINE__, (r))
76
72
  grpc_security_connector* grpc_security_connector_ref(
77
73
  grpc_security_connector* policy, const char* file, int line,
78
74
  const char* reason);
79
- void grpc_security_connector_unref(grpc_exec_ctx* exec_ctx,
80
- grpc_security_connector* policy,
75
+ void grpc_security_connector_unref(grpc_security_connector* policy,
81
76
  const char* file, int line,
82
77
  const char* reason);
83
78
  #else
84
79
  #define GRPC_SECURITY_CONNECTOR_REF(p, r) grpc_security_connector_ref((p))
85
- #define GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, p, r) \
86
- grpc_security_connector_unref((exec_ctx), (p))
80
+ #define GRPC_SECURITY_CONNECTOR_UNREF(p, r) grpc_security_connector_unref((p))
87
81
  grpc_security_connector* grpc_security_connector_ref(
88
82
  grpc_security_connector* policy);
89
- void grpc_security_connector_unref(grpc_exec_ctx* exec_ctx,
90
- grpc_security_connector* policy);
83
+ void grpc_security_connector_unref(grpc_security_connector* policy);
91
84
  #endif
92
85
 
93
86
  /* Check the peer. Callee takes ownership of the peer object.
94
87
  When done, sets *auth_context and invokes on_peer_checked. */
95
- void grpc_security_connector_check_peer(grpc_exec_ctx* exec_ctx,
96
- grpc_security_connector* sc,
88
+ void grpc_security_connector_check_peer(grpc_security_connector* sc,
97
89
  tsi_peer peer,
98
90
  grpc_auth_context** auth_context,
99
91
  grpc_closure* on_peer_checked);
@@ -123,17 +115,14 @@ struct grpc_channel_security_connector {
123
115
  grpc_security_connector base;
124
116
  grpc_channel_credentials* channel_creds;
125
117
  grpc_call_credentials* request_metadata_creds;
126
- bool (*check_call_host)(grpc_exec_ctx* exec_ctx,
127
- grpc_channel_security_connector* sc, const char* host,
118
+ bool (*check_call_host)(grpc_channel_security_connector* sc, const char* host,
128
119
  grpc_auth_context* auth_context,
129
120
  grpc_closure* on_call_host_checked,
130
121
  grpc_error** error);
131
- void (*cancel_check_call_host)(grpc_exec_ctx* exec_ctx,
132
- grpc_channel_security_connector* sc,
122
+ void (*cancel_check_call_host)(grpc_channel_security_connector* sc,
133
123
  grpc_closure* on_call_host_checked,
134
124
  grpc_error* error);
135
- void (*add_handshakers)(grpc_exec_ctx* exec_ctx,
136
- grpc_channel_security_connector* sc,
125
+ void (*add_handshakers)(grpc_channel_security_connector* sc,
137
126
  grpc_handshake_manager* handshake_mgr);
138
127
  };
139
128
 
@@ -146,20 +135,20 @@ int grpc_channel_security_connector_cmp(grpc_channel_security_connector* sc1,
146
135
  /// be set to indicate the result. Otherwise, \a on_call_host_checked
147
136
  /// will be invoked when complete.
148
137
  bool grpc_channel_security_connector_check_call_host(
149
- grpc_exec_ctx* exec_ctx, grpc_channel_security_connector* sc,
150
- const char* host, grpc_auth_context* auth_context,
151
- grpc_closure* on_call_host_checked, grpc_error** error);
138
+ grpc_channel_security_connector* sc, const char* host,
139
+ grpc_auth_context* auth_context, grpc_closure* on_call_host_checked,
140
+ grpc_error** error);
152
141
 
153
142
  /// Cancels a pending asychronous call to
154
143
  /// grpc_channel_security_connector_check_call_host() with
155
144
  /// \a on_call_host_checked as its callback.
156
145
  void grpc_channel_security_connector_cancel_check_call_host(
157
- grpc_exec_ctx* exec_ctx, grpc_channel_security_connector* sc,
158
- grpc_closure* on_call_host_checked, grpc_error* error);
146
+ grpc_channel_security_connector* sc, grpc_closure* on_call_host_checked,
147
+ grpc_error* error);
159
148
 
160
149
  /* Registers handshakers with \a handshake_mgr. */
161
150
  void grpc_channel_security_connector_add_handshakers(
162
- grpc_exec_ctx* exec_ctx, grpc_channel_security_connector* connector,
151
+ grpc_channel_security_connector* connector,
163
152
  grpc_handshake_manager* handshake_mgr);
164
153
 
165
154
  /* --- server_security_connector object. ---
@@ -172,8 +161,7 @@ typedef struct grpc_server_security_connector grpc_server_security_connector;
172
161
  struct grpc_server_security_connector {
173
162
  grpc_security_connector base;
174
163
  grpc_server_credentials* server_creds;
175
- void (*add_handshakers)(grpc_exec_ctx* exec_ctx,
176
- grpc_server_security_connector* sc,
164
+ void (*add_handshakers)(grpc_server_security_connector* sc,
177
165
  grpc_handshake_manager* handshake_mgr);
178
166
  };
179
167
 
@@ -182,8 +170,7 @@ int grpc_server_security_connector_cmp(grpc_server_security_connector* sc1,
182
170
  grpc_server_security_connector* sc2);
183
171
 
184
172
  void grpc_server_security_connector_add_handshakers(
185
- grpc_exec_ctx* exec_ctx, grpc_server_security_connector* sc,
186
- grpc_handshake_manager* handshake_mgr);
173
+ grpc_server_security_connector* sc, grpc_handshake_manager* handshake_mgr);
187
174
 
188
175
  /* --- Creation security connectors. --- */
189
176
 
@@ -220,7 +207,7 @@ typedef struct {
220
207
  specific error code otherwise.
221
208
  */
222
209
  grpc_security_status grpc_ssl_channel_security_connector_create(
223
- grpc_exec_ctx* exec_ctx, grpc_channel_credentials* channel_creds,
210
+ grpc_channel_credentials* channel_creds,
224
211
  grpc_call_credentials* request_metadata_creds,
225
212
  const grpc_ssl_config* config, const char* target_name,
226
213
  const char* overridden_target_name, grpc_channel_security_connector** sc);
@@ -246,7 +233,7 @@ typedef struct {
246
233
  specific error code otherwise.
247
234
  */
248
235
  grpc_security_status grpc_ssl_server_security_connector_create(
249
- grpc_exec_ctx* exec_ctx, grpc_server_credentials* server_credentials,
236
+ grpc_server_credentials* server_credentials,
250
237
  grpc_server_security_connector** sc);
251
238
 
252
239
  /* Util. */
@@ -259,8 +246,4 @@ tsi_peer tsi_shallow_peer_from_ssl_auth_context(
259
246
  const grpc_auth_context* auth_context);
260
247
  void tsi_shallow_peer_destruct(tsi_peer* peer);
261
248
 
262
- #ifdef __cplusplus
263
- }
264
- #endif
265
-
266
249
  #endif /* GRPC_CORE_LIB_SECURITY_TRANSPORT_SECURITY_CONNECTOR_H */
@@ -65,8 +65,7 @@ typedef struct {
65
65
  tsi_handshaker_result* handshaker_result;
66
66
  } security_handshaker;
67
67
 
68
- static size_t move_read_buffer_into_handshake_buffer(grpc_exec_ctx* exec_ctx,
69
- security_handshaker* h) {
68
+ static size_t move_read_buffer_into_handshake_buffer(security_handshaker* h) {
70
69
  size_t bytes_in_read_buffer = h->args->read_buffer->length;
71
70
  if (h->handshake_buffer_size < bytes_in_read_buffer) {
72
71
  h->handshake_buffer =
@@ -79,48 +78,45 @@ static size_t move_read_buffer_into_handshake_buffer(grpc_exec_ctx* exec_ctx,
79
78
  memcpy(h->handshake_buffer + offset, GRPC_SLICE_START_PTR(next_slice),
80
79
  GRPC_SLICE_LENGTH(next_slice));
81
80
  offset += GRPC_SLICE_LENGTH(next_slice);
82
- grpc_slice_unref_internal(exec_ctx, next_slice);
81
+ grpc_slice_unref_internal(next_slice);
83
82
  }
84
83
  return bytes_in_read_buffer;
85
84
  }
86
85
 
87
- static void security_handshaker_unref(grpc_exec_ctx* exec_ctx,
88
- security_handshaker* h) {
86
+ static void security_handshaker_unref(security_handshaker* h) {
89
87
  if (gpr_unref(&h->refs)) {
90
88
  gpr_mu_destroy(&h->mu);
91
89
  tsi_handshaker_destroy(h->handshaker);
92
90
  tsi_handshaker_result_destroy(h->handshaker_result);
93
91
  if (h->endpoint_to_destroy != nullptr) {
94
- grpc_endpoint_destroy(exec_ctx, h->endpoint_to_destroy);
92
+ grpc_endpoint_destroy(h->endpoint_to_destroy);
95
93
  }
96
94
  if (h->read_buffer_to_destroy != nullptr) {
97
- grpc_slice_buffer_destroy_internal(exec_ctx, h->read_buffer_to_destroy);
95
+ grpc_slice_buffer_destroy_internal(h->read_buffer_to_destroy);
98
96
  gpr_free(h->read_buffer_to_destroy);
99
97
  }
100
98
  gpr_free(h->handshake_buffer);
101
- grpc_slice_buffer_destroy_internal(exec_ctx, &h->outgoing);
99
+ grpc_slice_buffer_destroy_internal(&h->outgoing);
102
100
  GRPC_AUTH_CONTEXT_UNREF(h->auth_context, "handshake");
103
- GRPC_SECURITY_CONNECTOR_UNREF(exec_ctx, h->connector, "handshake");
101
+ GRPC_SECURITY_CONNECTOR_UNREF(h->connector, "handshake");
104
102
  gpr_free(h);
105
103
  }
106
104
  }
107
105
 
108
106
  // Set args fields to NULL, saving the endpoint and read buffer for
109
107
  // later destruction.
110
- static void cleanup_args_for_failure_locked(grpc_exec_ctx* exec_ctx,
111
- security_handshaker* h) {
108
+ static void cleanup_args_for_failure_locked(security_handshaker* h) {
112
109
  h->endpoint_to_destroy = h->args->endpoint;
113
110
  h->args->endpoint = nullptr;
114
111
  h->read_buffer_to_destroy = h->args->read_buffer;
115
112
  h->args->read_buffer = nullptr;
116
- grpc_channel_args_destroy(exec_ctx, h->args->args);
113
+ grpc_channel_args_destroy(h->args->args);
117
114
  h->args->args = nullptr;
118
115
  }
119
116
 
120
117
  // If the handshake failed or we're shutting down, clean up and invoke the
121
118
  // callback with the error.
122
- static void security_handshake_failed_locked(grpc_exec_ctx* exec_ctx,
123
- security_handshaker* h,
119
+ static void security_handshake_failed_locked(security_handshaker* h,
124
120
  grpc_error* error) {
125
121
  if (error == GRPC_ERROR_NONE) {
126
122
  // If we were shut down after the handshake succeeded but before an
@@ -135,34 +131,33 @@ static void security_handshake_failed_locked(grpc_exec_ctx* exec_ctx,
135
131
  // before destroying them, even if we know that there are no
136
132
  // pending read/write callbacks. This should be fixed, at which
137
133
  // point this can be removed.
138
- grpc_endpoint_shutdown(exec_ctx, h->args->endpoint, GRPC_ERROR_REF(error));
134
+ grpc_endpoint_shutdown(h->args->endpoint, GRPC_ERROR_REF(error));
139
135
  // Not shutting down, so the write failed. Clean up before
140
136
  // invoking the callback.
141
- cleanup_args_for_failure_locked(exec_ctx, h);
137
+ cleanup_args_for_failure_locked(h);
142
138
  // Set shutdown to true so that subsequent calls to
143
139
  // security_handshaker_shutdown() do nothing.
144
140
  h->shutdown = true;
145
141
  }
146
142
  // Invoke callback.
147
- GRPC_CLOSURE_SCHED(exec_ctx, h->on_handshake_done, error);
143
+ GRPC_CLOSURE_SCHED(h->on_handshake_done, error);
148
144
  }
149
145
 
150
- static void on_peer_checked_inner(grpc_exec_ctx* exec_ctx,
151
- security_handshaker* h, grpc_error* error) {
146
+ static void on_peer_checked_inner(security_handshaker* h, grpc_error* error) {
152
147
  if (error != GRPC_ERROR_NONE || h->shutdown) {
153
- security_handshake_failed_locked(exec_ctx, h, GRPC_ERROR_REF(error));
148
+ security_handshake_failed_locked(h, GRPC_ERROR_REF(error));
154
149
  return;
155
150
  }
156
151
  // Create zero-copy frame protector, if implemented.
157
152
  tsi_zero_copy_grpc_protector* zero_copy_protector = nullptr;
158
153
  tsi_result result = tsi_handshaker_result_create_zero_copy_grpc_protector(
159
- exec_ctx, h->handshaker_result, nullptr, &zero_copy_protector);
154
+ h->handshaker_result, nullptr, &zero_copy_protector);
160
155
  if (result != TSI_OK && result != TSI_UNIMPLEMENTED) {
161
156
  error = grpc_set_tsi_error_result(
162
157
  GRPC_ERROR_CREATE_FROM_STATIC_STRING(
163
158
  "Zero-copy frame protector creation failed"),
164
159
  result);
165
- security_handshake_failed_locked(exec_ctx, h, error);
160
+ security_handshake_failed_locked(h, error);
166
161
  return;
167
162
  }
168
163
  // Create frame protector if zero-copy frame protector is NULL.
@@ -174,7 +169,7 @@ static void on_peer_checked_inner(grpc_exec_ctx* exec_ctx,
174
169
  error = grpc_set_tsi_error_result(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
175
170
  "Frame protector creation failed"),
176
171
  result);
177
- security_handshake_failed_locked(exec_ctx, h, error);
172
+ security_handshake_failed_locked(h, error);
178
173
  return;
179
174
  }
180
175
  }
@@ -189,7 +184,7 @@ static void on_peer_checked_inner(grpc_exec_ctx* exec_ctx,
189
184
  grpc_slice_from_copied_buffer((char*)unused_bytes, unused_bytes_size);
190
185
  h->args->endpoint = grpc_secure_endpoint_create(
191
186
  protector, zero_copy_protector, h->args->endpoint, &slice, 1);
192
- grpc_slice_unref_internal(exec_ctx, slice);
187
+ grpc_slice_unref_internal(slice);
193
188
  } else {
194
189
  h->args->endpoint = grpc_secure_endpoint_create(
195
190
  protector, zero_copy_protector, h->args->endpoint, nullptr, 0);
@@ -201,25 +196,23 @@ static void on_peer_checked_inner(grpc_exec_ctx* exec_ctx,
201
196
  grpc_channel_args* tmp_args = h->args->args;
202
197
  h->args->args =
203
198
  grpc_channel_args_copy_and_add(tmp_args, &auth_context_arg, 1);
204
- grpc_channel_args_destroy(exec_ctx, tmp_args);
199
+ grpc_channel_args_destroy(tmp_args);
205
200
  // Invoke callback.
206
- GRPC_CLOSURE_SCHED(exec_ctx, h->on_handshake_done, GRPC_ERROR_NONE);
201
+ GRPC_CLOSURE_SCHED(h->on_handshake_done, GRPC_ERROR_NONE);
207
202
  // Set shutdown to true so that subsequent calls to
208
203
  // security_handshaker_shutdown() do nothing.
209
204
  h->shutdown = true;
210
205
  }
211
206
 
212
- static void on_peer_checked(grpc_exec_ctx* exec_ctx, void* arg,
213
- grpc_error* error) {
207
+ static void on_peer_checked(void* arg, grpc_error* error) {
214
208
  security_handshaker* h = (security_handshaker*)arg;
215
209
  gpr_mu_lock(&h->mu);
216
- on_peer_checked_inner(exec_ctx, h, error);
210
+ on_peer_checked_inner(h, error);
217
211
  gpr_mu_unlock(&h->mu);
218
- security_handshaker_unref(exec_ctx, h);
212
+ security_handshaker_unref(h);
219
213
  }
220
214
 
221
- static grpc_error* check_peer_locked(grpc_exec_ctx* exec_ctx,
222
- security_handshaker* h) {
215
+ static grpc_error* check_peer_locked(security_handshaker* h) {
223
216
  tsi_peer peer;
224
217
  tsi_result result =
225
218
  tsi_handshaker_result_extract_peer(h->handshaker_result, &peer);
@@ -227,20 +220,20 @@ static grpc_error* check_peer_locked(grpc_exec_ctx* exec_ctx,
227
220
  return grpc_set_tsi_error_result(
228
221
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Peer extraction failed"), result);
229
222
  }
230
- grpc_security_connector_check_peer(exec_ctx, h->connector, peer,
231
- &h->auth_context, &h->on_peer_checked);
223
+ grpc_security_connector_check_peer(h->connector, peer, &h->auth_context,
224
+ &h->on_peer_checked);
232
225
  return GRPC_ERROR_NONE;
233
226
  }
234
227
 
235
228
  static grpc_error* on_handshake_next_done_locked(
236
- grpc_exec_ctx* exec_ctx, security_handshaker* h, tsi_result result,
229
+ security_handshaker* h, tsi_result result,
237
230
  const unsigned char* bytes_to_send, size_t bytes_to_send_size,
238
231
  tsi_handshaker_result* handshaker_result) {
239
232
  grpc_error* error = GRPC_ERROR_NONE;
240
233
  // Read more if we need to.
241
234
  if (result == TSI_INCOMPLETE_DATA) {
242
235
  GPR_ASSERT(bytes_to_send_size == 0);
243
- grpc_endpoint_read(exec_ctx, h->args->endpoint, h->args->read_buffer,
236
+ grpc_endpoint_read(h->args->endpoint, h->args->read_buffer,
244
237
  &h->on_handshake_data_received_from_peer);
245
238
  return error;
246
239
  }
@@ -257,17 +250,17 @@ static grpc_error* on_handshake_next_done_locked(
257
250
  // Send data to peer, if needed.
258
251
  grpc_slice to_send = grpc_slice_from_copied_buffer(
259
252
  (const char*)bytes_to_send, bytes_to_send_size);
260
- grpc_slice_buffer_reset_and_unref_internal(exec_ctx, &h->outgoing);
253
+ grpc_slice_buffer_reset_and_unref_internal(&h->outgoing);
261
254
  grpc_slice_buffer_add(&h->outgoing, to_send);
262
- grpc_endpoint_write(exec_ctx, h->args->endpoint, &h->outgoing,
255
+ grpc_endpoint_write(h->args->endpoint, &h->outgoing,
263
256
  &h->on_handshake_data_sent_to_peer);
264
257
  } else if (handshaker_result == nullptr) {
265
258
  // There is nothing to send, but need to read from peer.
266
- grpc_endpoint_read(exec_ctx, h->args->endpoint, h->args->read_buffer,
259
+ grpc_endpoint_read(h->args->endpoint, h->args->read_buffer,
267
260
  &h->on_handshake_data_received_from_peer);
268
261
  } else {
269
262
  // Handshake has finished, check peer and so on.
270
- error = check_peer_locked(exec_ctx, h);
263
+ error = check_peer_locked(h);
271
264
  }
272
265
  return error;
273
266
  }
@@ -278,24 +271,22 @@ static void on_handshake_next_done_grpc_wrapper(
278
271
  security_handshaker* h = (security_handshaker*)user_data;
279
272
  // This callback will be invoked by TSI in a non-grpc thread, so it's
280
273
  // safe to create our own exec_ctx here.
281
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
274
+ grpc_core::ExecCtx exec_ctx;
282
275
  gpr_mu_lock(&h->mu);
283
- grpc_error* error =
284
- on_handshake_next_done_locked(&exec_ctx, h, result, bytes_to_send,
285
- bytes_to_send_size, handshaker_result);
276
+ grpc_error* error = on_handshake_next_done_locked(
277
+ h, result, bytes_to_send, bytes_to_send_size, handshaker_result);
286
278
  if (error != GRPC_ERROR_NONE) {
287
- security_handshake_failed_locked(&exec_ctx, h, error);
279
+ security_handshake_failed_locked(h, error);
288
280
  gpr_mu_unlock(&h->mu);
289
- security_handshaker_unref(&exec_ctx, h);
281
+ security_handshaker_unref(h);
290
282
  } else {
291
283
  gpr_mu_unlock(&h->mu);
292
284
  }
293
- grpc_exec_ctx_finish(&exec_ctx);
294
285
  }
295
286
 
296
287
  static grpc_error* do_handshaker_next_locked(
297
- grpc_exec_ctx* exec_ctx, security_handshaker* h,
298
- const unsigned char* bytes_received, size_t bytes_received_size) {
288
+ security_handshaker* h, const unsigned char* bytes_received,
289
+ size_t bytes_received_size) {
299
290
  // Invoke TSI handshaker.
300
291
  const unsigned char* bytes_to_send = nullptr;
301
292
  size_t bytes_to_send_size = 0;
@@ -311,62 +302,57 @@ static grpc_error* do_handshaker_next_locked(
311
302
  }
312
303
  // Handshaker returned synchronously. Invoke callback directly in
313
304
  // this thread with our existing exec_ctx.
314
- return on_handshake_next_done_locked(exec_ctx, h, result, bytes_to_send,
305
+ return on_handshake_next_done_locked(h, result, bytes_to_send,
315
306
  bytes_to_send_size, handshaker_result);
316
307
  }
317
308
 
318
- static void on_handshake_data_received_from_peer(grpc_exec_ctx* exec_ctx,
319
- void* arg, grpc_error* error) {
309
+ static void on_handshake_data_received_from_peer(void* arg, grpc_error* error) {
320
310
  security_handshaker* h = (security_handshaker*)arg;
321
311
  gpr_mu_lock(&h->mu);
322
312
  if (error != GRPC_ERROR_NONE || h->shutdown) {
323
313
  security_handshake_failed_locked(
324
- exec_ctx, h,
325
- GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
326
- "Handshake read failed", &error, 1));
314
+ h, GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
315
+ "Handshake read failed", &error, 1));
327
316
  gpr_mu_unlock(&h->mu);
328
- security_handshaker_unref(exec_ctx, h);
317
+ security_handshaker_unref(h);
329
318
  return;
330
319
  }
331
320
  // Copy all slices received.
332
- size_t bytes_received_size =
333
- move_read_buffer_into_handshake_buffer(exec_ctx, h);
321
+ size_t bytes_received_size = move_read_buffer_into_handshake_buffer(h);
334
322
  // Call TSI handshaker.
335
- error = do_handshaker_next_locked(exec_ctx, h, h->handshake_buffer,
336
- bytes_received_size);
323
+ error =
324
+ do_handshaker_next_locked(h, h->handshake_buffer, bytes_received_size);
337
325
 
338
326
  if (error != GRPC_ERROR_NONE) {
339
- security_handshake_failed_locked(exec_ctx, h, error);
327
+ security_handshake_failed_locked(h, error);
340
328
  gpr_mu_unlock(&h->mu);
341
- security_handshaker_unref(exec_ctx, h);
329
+ security_handshaker_unref(h);
342
330
  } else {
343
331
  gpr_mu_unlock(&h->mu);
344
332
  }
345
333
  }
346
334
 
347
- static void on_handshake_data_sent_to_peer(grpc_exec_ctx* exec_ctx, void* arg,
348
- grpc_error* error) {
335
+ static void on_handshake_data_sent_to_peer(void* arg, grpc_error* error) {
349
336
  security_handshaker* h = (security_handshaker*)arg;
350
337
  gpr_mu_lock(&h->mu);
351
338
  if (error != GRPC_ERROR_NONE || h->shutdown) {
352
339
  security_handshake_failed_locked(
353
- exec_ctx, h,
354
- GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
355
- "Handshake write failed", &error, 1));
340
+ h, GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
341
+ "Handshake write failed", &error, 1));
356
342
  gpr_mu_unlock(&h->mu);
357
- security_handshaker_unref(exec_ctx, h);
343
+ security_handshaker_unref(h);
358
344
  return;
359
345
  }
360
346
  // We may be done.
361
347
  if (h->handshaker_result == nullptr) {
362
- grpc_endpoint_read(exec_ctx, h->args->endpoint, h->args->read_buffer,
348
+ grpc_endpoint_read(h->args->endpoint, h->args->read_buffer,
363
349
  &h->on_handshake_data_received_from_peer);
364
350
  } else {
365
- error = check_peer_locked(exec_ctx, h);
351
+ error = check_peer_locked(h);
366
352
  if (error != GRPC_ERROR_NONE) {
367
- security_handshake_failed_locked(exec_ctx, h, error);
353
+ security_handshake_failed_locked(h, error);
368
354
  gpr_mu_unlock(&h->mu);
369
- security_handshaker_unref(exec_ctx, h);
355
+ security_handshaker_unref(h);
370
356
  return;
371
357
  }
372
358
  }
@@ -377,28 +363,25 @@ static void on_handshake_data_sent_to_peer(grpc_exec_ctx* exec_ctx, void* arg,
377
363
  // public handshaker API
378
364
  //
379
365
 
380
- static void security_handshaker_destroy(grpc_exec_ctx* exec_ctx,
381
- grpc_handshaker* handshaker) {
366
+ static void security_handshaker_destroy(grpc_handshaker* handshaker) {
382
367
  security_handshaker* h = (security_handshaker*)handshaker;
383
- security_handshaker_unref(exec_ctx, h);
368
+ security_handshaker_unref(h);
384
369
  }
385
370
 
386
- static void security_handshaker_shutdown(grpc_exec_ctx* exec_ctx,
387
- grpc_handshaker* handshaker,
371
+ static void security_handshaker_shutdown(grpc_handshaker* handshaker,
388
372
  grpc_error* why) {
389
373
  security_handshaker* h = (security_handshaker*)handshaker;
390
374
  gpr_mu_lock(&h->mu);
391
375
  if (!h->shutdown) {
392
376
  h->shutdown = true;
393
- grpc_endpoint_shutdown(exec_ctx, h->args->endpoint, GRPC_ERROR_REF(why));
394
- cleanup_args_for_failure_locked(exec_ctx, h);
377
+ grpc_endpoint_shutdown(h->args->endpoint, GRPC_ERROR_REF(why));
378
+ cleanup_args_for_failure_locked(h);
395
379
  }
396
380
  gpr_mu_unlock(&h->mu);
397
381
  GRPC_ERROR_UNREF(why);
398
382
  }
399
383
 
400
- static void security_handshaker_do_handshake(grpc_exec_ctx* exec_ctx,
401
- grpc_handshaker* handshaker,
384
+ static void security_handshaker_do_handshake(grpc_handshaker* handshaker,
402
385
  grpc_tcp_server_acceptor* acceptor,
403
386
  grpc_closure* on_handshake_done,
404
387
  grpc_handshaker_args* args) {
@@ -407,14 +390,13 @@ static void security_handshaker_do_handshake(grpc_exec_ctx* exec_ctx,
407
390
  h->args = args;
408
391
  h->on_handshake_done = on_handshake_done;
409
392
  gpr_ref(&h->refs);
410
- size_t bytes_received_size =
411
- move_read_buffer_into_handshake_buffer(exec_ctx, h);
412
- grpc_error* error = do_handshaker_next_locked(
413
- exec_ctx, h, h->handshake_buffer, bytes_received_size);
393
+ size_t bytes_received_size = move_read_buffer_into_handshake_buffer(h);
394
+ grpc_error* error =
395
+ do_handshaker_next_locked(h, h->handshake_buffer, bytes_received_size);
414
396
  if (error != GRPC_ERROR_NONE) {
415
- security_handshake_failed_locked(exec_ctx, h, error);
397
+ security_handshake_failed_locked(h, error);
416
398
  gpr_mu_unlock(&h->mu);
417
- security_handshaker_unref(exec_ctx, h);
399
+ security_handshaker_unref(h);
418
400
  return;
419
401
  }
420
402
  gpr_mu_unlock(&h->mu);
@@ -425,8 +407,7 @@ static const grpc_handshaker_vtable security_handshaker_vtable = {
425
407
  security_handshaker_do_handshake};
426
408
 
427
409
  static grpc_handshaker* security_handshaker_create(
428
- grpc_exec_ctx* exec_ctx, tsi_handshaker* handshaker,
429
- grpc_security_connector* connector) {
410
+ tsi_handshaker* handshaker, grpc_security_connector* connector) {
430
411
  security_handshaker* h =
431
412
  (security_handshaker*)gpr_zalloc(sizeof(security_handshaker));
432
413
  grpc_handshaker_init(&security_handshaker_vtable, &h->base);
@@ -452,23 +433,20 @@ static grpc_handshaker* security_handshaker_create(
452
433
  // fail_handshaker
453
434
  //
454
435
 
455
- static void fail_handshaker_destroy(grpc_exec_ctx* exec_ctx,
456
- grpc_handshaker* handshaker) {
436
+ static void fail_handshaker_destroy(grpc_handshaker* handshaker) {
457
437
  gpr_free(handshaker);
458
438
  }
459
439
 
460
- static void fail_handshaker_shutdown(grpc_exec_ctx* exec_ctx,
461
- grpc_handshaker* handshaker,
440
+ static void fail_handshaker_shutdown(grpc_handshaker* handshaker,
462
441
  grpc_error* why) {
463
442
  GRPC_ERROR_UNREF(why);
464
443
  }
465
444
 
466
- static void fail_handshaker_do_handshake(grpc_exec_ctx* exec_ctx,
467
- grpc_handshaker* handshaker,
445
+ static void fail_handshaker_do_handshake(grpc_handshaker* handshaker,
468
446
  grpc_tcp_server_acceptor* acceptor,
469
447
  grpc_closure* on_handshake_done,
470
448
  grpc_handshaker_args* args) {
471
- GRPC_CLOSURE_SCHED(exec_ctx, on_handshake_done,
449
+ GRPC_CLOSURE_SCHED(on_handshake_done,
472
450
  GRPC_ERROR_CREATE_FROM_STATIC_STRING(
473
451
  "Failed to create security handshaker"));
474
452
  }
@@ -488,27 +466,27 @@ static grpc_handshaker* fail_handshaker_create() {
488
466
  //
489
467
 
490
468
  static void client_handshaker_factory_add_handshakers(
491
- grpc_exec_ctx* exec_ctx, grpc_handshaker_factory* handshaker_factory,
492
- const grpc_channel_args* args, grpc_handshake_manager* handshake_mgr) {
469
+ grpc_handshaker_factory* handshaker_factory, const grpc_channel_args* args,
470
+ grpc_handshake_manager* handshake_mgr) {
493
471
  grpc_channel_security_connector* security_connector =
494
472
  (grpc_channel_security_connector*)grpc_security_connector_find_in_args(
495
473
  args);
496
- grpc_channel_security_connector_add_handshakers(exec_ctx, security_connector,
474
+ grpc_channel_security_connector_add_handshakers(security_connector,
497
475
  handshake_mgr);
498
476
  }
499
477
 
500
478
  static void server_handshaker_factory_add_handshakers(
501
- grpc_exec_ctx* exec_ctx, grpc_handshaker_factory* hf,
502
- const grpc_channel_args* args, grpc_handshake_manager* handshake_mgr) {
479
+ grpc_handshaker_factory* hf, const grpc_channel_args* args,
480
+ grpc_handshake_manager* handshake_mgr) {
503
481
  grpc_server_security_connector* security_connector =
504
482
  (grpc_server_security_connector*)grpc_security_connector_find_in_args(
505
483
  args);
506
- grpc_server_security_connector_add_handshakers(exec_ctx, security_connector,
484
+ grpc_server_security_connector_add_handshakers(security_connector,
507
485
  handshake_mgr);
508
486
  }
509
487
 
510
488
  static void handshaker_factory_destroy(
511
- grpc_exec_ctx* exec_ctx, grpc_handshaker_factory* handshaker_factory) {}
489
+ grpc_handshaker_factory* handshaker_factory) {}
512
490
 
513
491
  static const grpc_handshaker_factory_vtable client_handshaker_factory_vtable = {
514
492
  client_handshaker_factory_add_handshakers, handshaker_factory_destroy};
@@ -527,14 +505,13 @@ static grpc_handshaker_factory server_handshaker_factory = {
527
505
  //
528
506
 
529
507
  grpc_handshaker* grpc_security_handshaker_create(
530
- grpc_exec_ctx* exec_ctx, tsi_handshaker* handshaker,
531
- grpc_security_connector* connector) {
508
+ tsi_handshaker* handshaker, grpc_security_connector* connector) {
532
509
  // If no TSI handshaker was created, return a handshaker that always fails.
533
510
  // Otherwise, return a real security handshaker.
534
511
  if (handshaker == nullptr) {
535
512
  return fail_handshaker_create();
536
513
  } else {
537
- return security_handshaker_create(exec_ctx, handshaker, connector);
514
+ return security_handshaker_create(handshaker, connector);
538
515
  }
539
516
  }
540
517