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
@@ -19,10 +19,6 @@
19
19
  #ifndef GRPC_CORE_LIB_SURFACE_CALL_H
20
20
  #define GRPC_CORE_LIB_SURFACE_CALL_H
21
21
 
22
- #ifdef __cplusplus
23
- extern "C" {
24
- #endif
25
-
26
22
  #include "src/core/lib/channel/channel_stack.h"
27
23
  #include "src/core/lib/channel/context.h"
28
24
  #include "src/core/lib/surface/api_trace.h"
@@ -30,8 +26,7 @@ extern "C" {
30
26
  #include <grpc/grpc.h>
31
27
  #include <grpc/impl/codegen/compression_types.h>
32
28
 
33
- typedef void (*grpc_ioreq_completion_func)(grpc_exec_ctx* exec_ctx,
34
- grpc_call* call, int success,
29
+ typedef void (*grpc_ioreq_completion_func)(grpc_call* call, int success,
35
30
  void* user_data);
36
31
 
37
32
  typedef struct grpc_call_create_args {
@@ -55,33 +50,28 @@ typedef struct grpc_call_create_args {
55
50
  /* Create a new call based on \a args.
56
51
  Regardless of success or failure, always returns a valid new call into *call
57
52
  */
58
- grpc_error* grpc_call_create(grpc_exec_ctx* exec_ctx,
59
- const grpc_call_create_args* args,
53
+ grpc_error* grpc_call_create(const grpc_call_create_args* args,
60
54
  grpc_call** call);
61
55
 
62
- void grpc_call_set_completion_queue(grpc_exec_ctx* exec_ctx, grpc_call* call,
63
- grpc_completion_queue* cq);
56
+ void grpc_call_set_completion_queue(grpc_call* call, grpc_completion_queue* cq);
64
57
 
65
58
  #ifndef NDEBUG
66
59
  void grpc_call_internal_ref(grpc_call* call, const char* reason);
67
- void grpc_call_internal_unref(grpc_exec_ctx* exec_ctx, grpc_call* call,
68
- const char* reason);
60
+ void grpc_call_internal_unref(grpc_call* call, const char* reason);
69
61
  #define GRPC_CALL_INTERNAL_REF(call, reason) \
70
62
  grpc_call_internal_ref(call, reason)
71
- #define GRPC_CALL_INTERNAL_UNREF(exec_ctx, call, reason) \
72
- grpc_call_internal_unref(exec_ctx, call, reason)
63
+ #define GRPC_CALL_INTERNAL_UNREF(call, reason) \
64
+ grpc_call_internal_unref(call, reason)
73
65
  #else
74
66
  void grpc_call_internal_ref(grpc_call* call);
75
- void grpc_call_internal_unref(grpc_exec_ctx* exec_ctx, grpc_call* call);
67
+ void grpc_call_internal_unref(grpc_call* call);
76
68
  #define GRPC_CALL_INTERNAL_REF(call, reason) grpc_call_internal_ref(call)
77
- #define GRPC_CALL_INTERNAL_UNREF(exec_ctx, call, reason) \
78
- grpc_call_internal_unref(exec_ctx, call)
69
+ #define GRPC_CALL_INTERNAL_UNREF(call, reason) grpc_call_internal_unref(call)
79
70
  #endif
80
71
 
81
72
  grpc_call_stack* grpc_call_get_call_stack(grpc_call* call);
82
73
 
83
- grpc_call_error grpc_call_start_batch_and_execute(grpc_exec_ctx* exec_ctx,
84
- grpc_call* call,
74
+ grpc_call_error grpc_call_start_batch_and_execute(grpc_call* call,
85
75
  const grpc_op* ops,
86
76
  size_t nops,
87
77
  grpc_closure* closure);
@@ -114,8 +104,4 @@ grpc_compression_algorithm grpc_call_compression_for_level(
114
104
  extern grpc_core::TraceFlag grpc_call_error_trace;
115
105
  extern grpc_core::TraceFlag grpc_compression_trace;
116
106
 
117
- #ifdef __cplusplus
118
- }
119
- #endif
120
-
121
107
  #endif /* GRPC_CORE_LIB_SURFACE_CALL_H */
@@ -34,8 +34,7 @@ void grpc_call_details_init(grpc_call_details* cd) {
34
34
 
35
35
  void grpc_call_details_destroy(grpc_call_details* cd) {
36
36
  GRPC_API_TRACE("grpc_call_details_destroy(cd=%p)", 1, (cd));
37
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
38
- grpc_slice_unref_internal(&exec_ctx, cd->method);
39
- grpc_slice_unref_internal(&exec_ctx, cd->host);
40
- grpc_exec_ctx_finish(&exec_ctx);
37
+ grpc_core::ExecCtx exec_ctx;
38
+ grpc_slice_unref_internal(cd->method);
39
+ grpc_slice_unref_internal(cd->host);
41
40
  }
@@ -22,8 +22,8 @@
22
22
 
23
23
  #include <grpc/support/alloc.h>
24
24
  #include <grpc/support/string_util.h>
25
+ #include "src/core/lib/gpr/string.h"
25
26
  #include "src/core/lib/slice/slice_string_helpers.h"
26
- #include "src/core/lib/support/string.h"
27
27
 
28
28
  static void add_metadata(gpr_strvec* b, const grpc_metadata* md, size_t count) {
29
29
  size_t i;
@@ -21,10 +21,6 @@
21
21
 
22
22
  #include <grpc/grpc.h>
23
23
 
24
- #ifdef __cplusplus
25
- extern "C" {
26
- #endif
27
-
28
24
  /** Return the compression algorithm from \a call.
29
25
  *
30
26
  * \warning This function should \b only be used in test code. */
@@ -54,8 +50,4 @@ uint32_t grpc_call_test_only_get_stream_encodings_accepted_by_peer(
54
50
  grpc_stream_compression_algorithm
55
51
  grpc_call_test_only_get_incoming_stream_encodings(grpc_call* call);
56
52
 
57
- #ifdef __cplusplus
58
- }
59
- #endif
60
-
61
53
  #endif /* GRPC_CORE_LIB_SURFACE_CALL_TEST_ONLY_H */
@@ -29,9 +29,9 @@
29
29
 
30
30
  #include "src/core/lib/channel/channel_args.h"
31
31
  #include "src/core/lib/debug/stats.h"
32
+ #include "src/core/lib/gpr/string.h"
32
33
  #include "src/core/lib/iomgr/iomgr.h"
33
34
  #include "src/core/lib/slice/slice_internal.h"
34
- #include "src/core/lib/support/string.h"
35
35
  #include "src/core/lib/surface/api_trace.h"
36
36
  #include "src/core/lib/surface/call.h"
37
37
  #include "src/core/lib/surface/channel_init.h"
@@ -69,23 +69,22 @@ struct grpc_channel {
69
69
  #define CHANNEL_FROM_TOP_ELEM(top_elem) \
70
70
  CHANNEL_FROM_CHANNEL_STACK(grpc_channel_stack_from_top_element(top_elem))
71
71
 
72
- static void destroy_channel(grpc_exec_ctx* exec_ctx, void* arg,
73
- grpc_error* error);
72
+ static void destroy_channel(void* arg, grpc_error* error);
74
73
 
75
74
  grpc_channel* grpc_channel_create_with_builder(
76
- grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder,
75
+ grpc_channel_stack_builder* builder,
77
76
  grpc_channel_stack_type channel_stack_type) {
78
77
  char* target = gpr_strdup(grpc_channel_stack_builder_get_target(builder));
79
78
  grpc_channel_args* args = grpc_channel_args_copy(
80
79
  grpc_channel_stack_builder_get_channel_arguments(builder));
81
80
  grpc_channel* channel;
82
81
  if (channel_stack_type == GRPC_SERVER_CHANNEL) {
83
- GRPC_STATS_INC_SERVER_CHANNELS_CREATED(exec_ctx);
82
+ GRPC_STATS_INC_SERVER_CHANNELS_CREATED();
84
83
  } else {
85
- GRPC_STATS_INC_CLIENT_CHANNELS_CREATED(exec_ctx);
84
+ GRPC_STATS_INC_CLIENT_CHANNELS_CREATED();
86
85
  }
87
86
  grpc_error* error = grpc_channel_stack_builder_finish(
88
- exec_ctx, builder, sizeof(grpc_channel), 1, destroy_channel, nullptr,
87
+ builder, sizeof(grpc_channel), 1, destroy_channel, nullptr,
89
88
  (void**)&channel);
90
89
  if (error != GRPC_ERROR_NONE) {
91
90
  gpr_log(GPR_ERROR, "channel stack builder failed: %s",
@@ -114,10 +113,10 @@ grpc_channel* grpc_channel_create_with_builder(
114
113
  } else {
115
114
  if (!GRPC_MDISNULL(channel->default_authority)) {
116
115
  /* setting this takes precedence over anything else */
117
- GRPC_MDELEM_UNREF(exec_ctx, channel->default_authority);
116
+ GRPC_MDELEM_UNREF(channel->default_authority);
118
117
  }
119
118
  channel->default_authority = grpc_mdelem_from_slices(
120
- exec_ctx, GRPC_MDSTR_AUTHORITY,
119
+ GRPC_MDSTR_AUTHORITY,
121
120
  grpc_slice_intern(
122
121
  grpc_slice_from_static_string(args->args[i].value.string)));
123
122
  }
@@ -134,7 +133,7 @@ grpc_channel* grpc_channel_create_with_builder(
134
133
  GRPC_SSL_TARGET_NAME_OVERRIDE_ARG);
135
134
  } else {
136
135
  channel->default_authority = grpc_mdelem_from_slices(
137
- exec_ctx, GRPC_MDSTR_AUTHORITY,
136
+ GRPC_MDSTR_AUTHORITY,
138
137
  grpc_slice_intern(
139
138
  grpc_slice_from_static_string(args->args[i].value.string)));
140
139
  }
@@ -191,25 +190,23 @@ grpc_channel* grpc_channel_create_with_builder(
191
190
  }
192
191
 
193
192
  done:
194
- grpc_channel_args_destroy(exec_ctx, args);
193
+ grpc_channel_args_destroy(args);
195
194
  return channel;
196
195
  }
197
196
 
198
- grpc_channel* grpc_channel_create(grpc_exec_ctx* exec_ctx, const char* target,
197
+ grpc_channel* grpc_channel_create(const char* target,
199
198
  const grpc_channel_args* input_args,
200
199
  grpc_channel_stack_type channel_stack_type,
201
200
  grpc_transport* optional_transport) {
202
201
  grpc_channel_stack_builder* builder = grpc_channel_stack_builder_create();
203
- grpc_channel_stack_builder_set_channel_arguments(exec_ctx, builder,
204
- input_args);
202
+ grpc_channel_stack_builder_set_channel_arguments(builder, input_args);
205
203
  grpc_channel_stack_builder_set_target(builder, target);
206
204
  grpc_channel_stack_builder_set_transport(builder, optional_transport);
207
- if (!grpc_channel_init_create_stack(exec_ctx, builder, channel_stack_type)) {
208
- grpc_channel_stack_builder_destroy(exec_ctx, builder);
205
+ if (!grpc_channel_init_create_stack(builder, channel_stack_type)) {
206
+ grpc_channel_stack_builder_destroy(builder);
209
207
  return nullptr;
210
208
  }
211
- return grpc_channel_create_with_builder(exec_ctx, builder,
212
- channel_stack_type);
209
+ return grpc_channel_create_with_builder(builder, channel_stack_type);
213
210
  }
214
211
 
215
212
  size_t grpc_channel_get_call_size_estimate(grpc_channel* channel) {
@@ -251,18 +248,17 @@ char* grpc_channel_get_target(grpc_channel* channel) {
251
248
 
252
249
  void grpc_channel_get_info(grpc_channel* channel,
253
250
  const grpc_channel_info* channel_info) {
254
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
251
+ grpc_core::ExecCtx exec_ctx;
255
252
  grpc_channel_element* elem =
256
253
  grpc_channel_stack_element(CHANNEL_STACK_FROM_CHANNEL(channel), 0);
257
- elem->filter->get_channel_info(&exec_ctx, elem, channel_info);
258
- grpc_exec_ctx_finish(&exec_ctx);
254
+ elem->filter->get_channel_info(elem, channel_info);
259
255
  }
260
256
 
261
257
  static grpc_call* grpc_channel_create_call_internal(
262
- grpc_exec_ctx* exec_ctx, grpc_channel* channel, grpc_call* parent_call,
263
- uint32_t propagation_mask, grpc_completion_queue* cq,
264
- grpc_pollset_set* pollset_set_alternative, grpc_mdelem path_mdelem,
265
- grpc_mdelem authority_mdelem, grpc_millis deadline) {
258
+ grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask,
259
+ grpc_completion_queue* cq, grpc_pollset_set* pollset_set_alternative,
260
+ grpc_mdelem path_mdelem, grpc_mdelem authority_mdelem,
261
+ grpc_millis deadline) {
266
262
  grpc_mdelem send_metadata[2];
267
263
  size_t num_metadata = 0;
268
264
 
@@ -289,7 +285,7 @@ static grpc_call* grpc_channel_create_call_internal(
289
285
  args.send_deadline = deadline;
290
286
 
291
287
  grpc_call* call;
292
- GRPC_LOG_IF_ERROR("call_create", grpc_call_create(exec_ctx, &args, &call));
288
+ GRPC_LOG_IF_ERROR("call_create", grpc_call_create(&args, &call));
293
289
  return call;
294
290
  }
295
291
 
@@ -300,29 +296,27 @@ grpc_call* grpc_channel_create_call(grpc_channel* channel,
300
296
  grpc_slice method, const grpc_slice* host,
301
297
  gpr_timespec deadline, void* reserved) {
302
298
  GPR_ASSERT(!reserved);
303
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
299
+ grpc_core::ExecCtx exec_ctx;
304
300
  grpc_call* call = grpc_channel_create_call_internal(
305
- &exec_ctx, channel, parent_call, propagation_mask, cq, nullptr,
306
- grpc_mdelem_from_slices(&exec_ctx, GRPC_MDSTR_PATH,
307
- grpc_slice_ref_internal(method)),
308
- host != nullptr ? grpc_mdelem_from_slices(&exec_ctx, GRPC_MDSTR_AUTHORITY,
301
+ channel, parent_call, propagation_mask, cq, nullptr,
302
+ grpc_mdelem_from_slices(GRPC_MDSTR_PATH, grpc_slice_ref_internal(method)),
303
+ host != nullptr ? grpc_mdelem_from_slices(GRPC_MDSTR_AUTHORITY,
309
304
  grpc_slice_ref_internal(*host))
310
305
  : GRPC_MDNULL,
311
306
  grpc_timespec_to_millis_round_up(deadline));
312
- grpc_exec_ctx_finish(&exec_ctx);
307
+
313
308
  return call;
314
309
  }
315
310
 
316
311
  grpc_call* grpc_channel_create_pollset_set_call(
317
- grpc_exec_ctx* exec_ctx, grpc_channel* channel, grpc_call* parent_call,
318
- uint32_t propagation_mask, grpc_pollset_set* pollset_set, grpc_slice method,
319
- const grpc_slice* host, grpc_millis deadline, void* reserved) {
312
+ grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask,
313
+ grpc_pollset_set* pollset_set, grpc_slice method, const grpc_slice* host,
314
+ grpc_millis deadline, void* reserved) {
320
315
  GPR_ASSERT(!reserved);
321
316
  return grpc_channel_create_call_internal(
322
- exec_ctx, channel, parent_call, propagation_mask, nullptr, pollset_set,
323
- grpc_mdelem_from_slices(exec_ctx, GRPC_MDSTR_PATH,
324
- grpc_slice_ref_internal(method)),
325
- host != nullptr ? grpc_mdelem_from_slices(exec_ctx, GRPC_MDSTR_AUTHORITY,
317
+ channel, parent_call, propagation_mask, nullptr, pollset_set,
318
+ grpc_mdelem_from_slices(GRPC_MDSTR_PATH, grpc_slice_ref_internal(method)),
319
+ host != nullptr ? grpc_mdelem_from_slices(GRPC_MDSTR_AUTHORITY,
326
320
  grpc_slice_ref_internal(*host))
327
321
  : GRPC_MDNULL,
328
322
  deadline);
@@ -335,21 +329,21 @@ void* grpc_channel_register_call(grpc_channel* channel, const char* method,
335
329
  "grpc_channel_register_call(channel=%p, method=%s, host=%s, reserved=%p)",
336
330
  4, (channel, method, host, reserved));
337
331
  GPR_ASSERT(!reserved);
338
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
332
+ grpc_core::ExecCtx exec_ctx;
339
333
 
340
334
  rc->path = grpc_mdelem_from_slices(
341
- &exec_ctx, GRPC_MDSTR_PATH,
335
+ GRPC_MDSTR_PATH,
342
336
  grpc_slice_intern(grpc_slice_from_static_string(method)));
343
337
  rc->authority =
344
338
  host ? grpc_mdelem_from_slices(
345
- &exec_ctx, GRPC_MDSTR_AUTHORITY,
339
+ GRPC_MDSTR_AUTHORITY,
346
340
  grpc_slice_intern(grpc_slice_from_static_string(host)))
347
341
  : GRPC_MDNULL;
348
342
  gpr_mu_lock(&channel->registered_call_mu);
349
343
  rc->next = channel->registered_calls;
350
344
  channel->registered_calls = rc;
351
345
  gpr_mu_unlock(&channel->registered_call_mu);
352
- grpc_exec_ctx_finish(&exec_ctx);
346
+
353
347
  return rc;
354
348
  }
355
349
 
@@ -370,12 +364,12 @@ grpc_call* grpc_channel_create_registered_call(
370
364
  registered_call_handle, deadline.tv_sec, deadline.tv_nsec,
371
365
  (int)deadline.clock_type, reserved));
372
366
  GPR_ASSERT(!reserved);
373
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
367
+ grpc_core::ExecCtx exec_ctx;
374
368
  grpc_call* call = grpc_channel_create_call_internal(
375
- &exec_ctx, channel, parent_call, propagation_mask, completion_queue,
376
- nullptr, GRPC_MDELEM_REF(rc->path), GRPC_MDELEM_REF(rc->authority),
369
+ channel, parent_call, propagation_mask, completion_queue, nullptr,
370
+ GRPC_MDELEM_REF(rc->path), GRPC_MDELEM_REF(rc->authority),
377
371
  grpc_timespec_to_millis_round_up(deadline));
378
- grpc_exec_ctx_finish(&exec_ctx);
372
+
379
373
  return call;
380
374
  }
381
375
 
@@ -390,23 +384,21 @@ void grpc_channel_internal_ref(grpc_channel* c REF_ARG) {
390
384
  GRPC_CHANNEL_STACK_REF(CHANNEL_STACK_FROM_CHANNEL(c), REF_REASON);
391
385
  }
392
386
 
393
- void grpc_channel_internal_unref(grpc_exec_ctx* exec_ctx,
394
- grpc_channel* c REF_ARG) {
395
- GRPC_CHANNEL_STACK_UNREF(exec_ctx, CHANNEL_STACK_FROM_CHANNEL(c), REF_REASON);
387
+ void grpc_channel_internal_unref(grpc_channel* c REF_ARG) {
388
+ GRPC_CHANNEL_STACK_UNREF(CHANNEL_STACK_FROM_CHANNEL(c), REF_REASON);
396
389
  }
397
390
 
398
- static void destroy_channel(grpc_exec_ctx* exec_ctx, void* arg,
399
- grpc_error* error) {
391
+ static void destroy_channel(void* arg, grpc_error* error) {
400
392
  grpc_channel* channel = (grpc_channel*)arg;
401
- grpc_channel_stack_destroy(exec_ctx, CHANNEL_STACK_FROM_CHANNEL(channel));
393
+ grpc_channel_stack_destroy(CHANNEL_STACK_FROM_CHANNEL(channel));
402
394
  while (channel->registered_calls) {
403
395
  registered_call* rc = channel->registered_calls;
404
396
  channel->registered_calls = rc->next;
405
- GRPC_MDELEM_UNREF(exec_ctx, rc->path);
406
- GRPC_MDELEM_UNREF(exec_ctx, rc->authority);
397
+ GRPC_MDELEM_UNREF(rc->path);
398
+ GRPC_MDELEM_UNREF(rc->authority);
407
399
  gpr_free(rc);
408
400
  }
409
- GRPC_MDELEM_UNREF(exec_ctx, channel->default_authority);
401
+ GRPC_MDELEM_UNREF(channel->default_authority);
410
402
  gpr_mu_destroy(&channel->registered_call_mu);
411
403
  gpr_free(channel->target);
412
404
  gpr_free(channel);
@@ -415,16 +407,14 @@ static void destroy_channel(grpc_exec_ctx* exec_ctx, void* arg,
415
407
  void grpc_channel_destroy(grpc_channel* channel) {
416
408
  grpc_transport_op* op = grpc_make_transport_op(nullptr);
417
409
  grpc_channel_element* elem;
418
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
410
+ grpc_core::ExecCtx exec_ctx;
419
411
  GRPC_API_TRACE("grpc_channel_destroy(channel=%p)", 1, (channel));
420
412
  op->disconnect_with_error =
421
413
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Channel Destroyed");
422
414
  elem = grpc_channel_stack_element(CHANNEL_STACK_FROM_CHANNEL(channel), 0);
423
- elem->filter->start_transport_op(&exec_ctx, elem, op);
424
-
425
- GRPC_CHANNEL_INTERNAL_UNREF(&exec_ctx, channel, "channel");
415
+ elem->filter->start_transport_op(elem, op);
426
416
 
427
- grpc_exec_ctx_finish(&exec_ctx);
417
+ GRPC_CHANNEL_INTERNAL_UNREF(channel, "channel");
428
418
  }
429
419
 
430
420
  grpc_channel_stack* grpc_channel_get_channel_stack(grpc_channel* channel) {
@@ -436,8 +426,7 @@ grpc_compression_options grpc_channel_compression_options(
436
426
  return channel->compression_options;
437
427
  }
438
428
 
439
- grpc_mdelem grpc_channel_get_reffed_status_elem(grpc_exec_ctx* exec_ctx,
440
- grpc_channel* channel, int i) {
429
+ grpc_mdelem grpc_channel_get_reffed_status_elem(grpc_channel* channel, int i) {
441
430
  char tmp[GPR_LTOA_MIN_BUFSIZE];
442
431
  switch (i) {
443
432
  case 0:
@@ -448,6 +437,6 @@ grpc_mdelem grpc_channel_get_reffed_status_elem(grpc_exec_ctx* exec_ctx,
448
437
  return GRPC_MDELEM_GRPC_STATUS_2;
449
438
  }
450
439
  gpr_ltoa(i, tmp);
451
- return grpc_mdelem_from_slices(exec_ctx, GRPC_MDSTR_GRPC_STATUS,
440
+ return grpc_mdelem_from_slices(GRPC_MDSTR_GRPC_STATUS,
452
441
  grpc_slice_from_copied_string(tmp));
453
442
  }
@@ -23,17 +23,13 @@
23
23
  #include "src/core/lib/channel/channel_stack_builder.h"
24
24
  #include "src/core/lib/surface/channel_stack_type.h"
25
25
 
26
- #ifdef __cplusplus
27
- extern "C" {
28
- #endif
29
-
30
- grpc_channel* grpc_channel_create(grpc_exec_ctx* exec_ctx, const char* target,
26
+ grpc_channel* grpc_channel_create(const char* target,
31
27
  const grpc_channel_args* args,
32
28
  grpc_channel_stack_type channel_stack_type,
33
29
  grpc_transport* optional_transport);
34
30
 
35
31
  grpc_channel* grpc_channel_create_with_builder(
36
- grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder,
32
+ grpc_channel_stack_builder* builder,
37
33
  grpc_channel_stack_type channel_stack_type);
38
34
 
39
35
  /** Create a call given a grpc_channel, in order to call \a method.
@@ -45,9 +41,9 @@ grpc_channel* grpc_channel_create_with_builder(
45
41
  properties from the server call to this new client call, depending on the
46
42
  value of \a propagation_mask (see propagation_bits.h for possible values) */
47
43
  grpc_call* grpc_channel_create_pollset_set_call(
48
- grpc_exec_ctx* exec_ctx, grpc_channel* channel, grpc_call* parent_call,
49
- uint32_t propagation_mask, grpc_pollset_set* pollset_set, grpc_slice method,
50
- const grpc_slice* host, grpc_millis deadline, void* reserved);
44
+ grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask,
45
+ grpc_pollset_set* pollset_set, grpc_slice method, const grpc_slice* host,
46
+ grpc_millis deadline, void* reserved);
51
47
 
52
48
  /** Get a (borrowed) pointer to this channels underlying channel stack */
53
49
  grpc_channel_stack* grpc_channel_get_channel_stack(grpc_channel* channel);
@@ -56,8 +52,7 @@ grpc_channel_stack* grpc_channel_get_channel_stack(grpc_channel* channel);
56
52
  status_code.
57
53
 
58
54
  The returned elem is owned by the caller. */
59
- grpc_mdelem grpc_channel_get_reffed_status_elem(grpc_exec_ctx* exec_ctx,
60
- grpc_channel* channel,
55
+ grpc_mdelem grpc_channel_get_reffed_status_elem(grpc_channel* channel,
61
56
  int status_code);
62
57
 
63
58
  size_t grpc_channel_get_call_size_estimate(grpc_channel* channel);
@@ -65,28 +60,22 @@ void grpc_channel_update_call_size_estimate(grpc_channel* channel, size_t size);
65
60
 
66
61
  #ifndef NDEBUG
67
62
  void grpc_channel_internal_ref(grpc_channel* channel, const char* reason);
68
- void grpc_channel_internal_unref(grpc_exec_ctx* exec_ctx, grpc_channel* channel,
69
- const char* reason);
63
+ void grpc_channel_internal_unref(grpc_channel* channel, const char* reason);
70
64
  #define GRPC_CHANNEL_INTERNAL_REF(channel, reason) \
71
65
  grpc_channel_internal_ref(channel, reason)
72
- #define GRPC_CHANNEL_INTERNAL_UNREF(exec_ctx, channel, reason) \
73
- grpc_channel_internal_unref(exec_ctx, channel, reason)
66
+ #define GRPC_CHANNEL_INTERNAL_UNREF(channel, reason) \
67
+ grpc_channel_internal_unref(channel, reason)
74
68
  #else
75
69
  void grpc_channel_internal_ref(grpc_channel* channel);
76
- void grpc_channel_internal_unref(grpc_exec_ctx* exec_ctx,
77
- grpc_channel* channel);
70
+ void grpc_channel_internal_unref(grpc_channel* channel);
78
71
  #define GRPC_CHANNEL_INTERNAL_REF(channel, reason) \
79
72
  grpc_channel_internal_ref(channel)
80
- #define GRPC_CHANNEL_INTERNAL_UNREF(exec_ctx, channel, reason) \
81
- grpc_channel_internal_unref(exec_ctx, channel)
73
+ #define GRPC_CHANNEL_INTERNAL_UNREF(channel, reason) \
74
+ grpc_channel_internal_unref(channel)
82
75
  #endif
83
76
 
84
77
  /** Return the channel's compression options. */
85
78
  grpc_compression_options grpc_channel_compression_options(
86
79
  const grpc_channel* channel);
87
80
 
88
- #ifdef __cplusplus
89
- }
90
- #endif
91
-
92
81
  #endif /* GRPC_CORE_LIB_SURFACE_CHANNEL_H */