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
@@ -21,10 +21,6 @@
21
21
 
22
22
  #include "src/core/lib/security/credentials/credentials.h"
23
23
 
24
- #ifdef __cplusplus
25
- extern "C" {
26
- #endif
27
-
28
24
  /* -- Fake transport security credentials. -- */
29
25
 
30
26
  /* Creates a fake transport security credentials object for testing. */
@@ -60,8 +56,4 @@ typedef struct {
60
56
  bool is_async;
61
57
  } grpc_md_only_test_credentials;
62
58
 
63
- #ifdef __cplusplus
64
- }
65
- #endif
66
-
67
59
  #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H */
@@ -22,14 +22,14 @@
22
22
  #include <grpc/support/log.h>
23
23
  #include <grpc/support/string_util.h>
24
24
 
25
- #include "src/core/lib/support/env.h"
26
- #include "src/core/lib/support/string.h"
25
+ #include "src/core/lib/gpr/env.h"
26
+ #include "src/core/lib/gpr/string.h"
27
27
 
28
28
  char* grpc_get_well_known_google_credentials_file_path_impl(void) {
29
29
  char* result = nullptr;
30
30
  char* base = gpr_getenv(GRPC_GOOGLE_CREDENTIALS_PATH_ENV_VAR);
31
31
  if (base == nullptr) {
32
- gpr_log(GPR_ERROR, "Could not get " GRPC_GOOGLE_CREDENTIALS_ENV_VAR
32
+ gpr_log(GPR_ERROR, "Could not get " GRPC_GOOGLE_CREDENTIALS_PATH_ENV_VAR
33
33
  " environment variable.");
34
34
  return nullptr;
35
35
  }
@@ -24,6 +24,8 @@
24
24
  #include <grpc/support/log.h>
25
25
  #include <grpc/support/sync.h>
26
26
 
27
+ #include "src/core/lib/gpr/env.h"
28
+ #include "src/core/lib/gpr/string.h"
27
29
  #include "src/core/lib/http/httpcli.h"
28
30
  #include "src/core/lib/http/parser.h"
29
31
  #include "src/core/lib/iomgr/load_file.h"
@@ -33,8 +35,6 @@
33
35
  #include "src/core/lib/security/credentials/oauth2/oauth2_credentials.h"
34
36
  #include "src/core/lib/slice/slice_internal.h"
35
37
  #include "src/core/lib/slice/slice_string_helpers.h"
36
- #include "src/core/lib/support/env.h"
37
- #include "src/core/lib/support/string.h"
38
38
  #include "src/core/lib/surface/api_trace.h"
39
39
 
40
40
  /* -- Constants. -- */
@@ -58,8 +58,7 @@ typedef struct {
58
58
  grpc_http_response response;
59
59
  } compute_engine_detector;
60
60
 
61
- static void on_compute_engine_detection_http_response(grpc_exec_ctx* exec_ctx,
62
- void* user_data,
61
+ static void on_compute_engine_detection_http_response(void* user_data,
63
62
  grpc_error* error) {
64
63
  compute_engine_detector* detector = (compute_engine_detector*)user_data;
65
64
  if (error == GRPC_ERROR_NONE && detector->response.status == 200 &&
@@ -80,16 +79,16 @@ static void on_compute_engine_detection_http_response(grpc_exec_ctx* exec_ctx,
80
79
  detector->is_done = 1;
81
80
  GRPC_LOG_IF_ERROR(
82
81
  "Pollset kick",
83
- grpc_pollset_kick(
84
- exec_ctx, grpc_polling_entity_pollset(&detector->pollent), nullptr));
82
+ grpc_pollset_kick(grpc_polling_entity_pollset(&detector->pollent),
83
+ nullptr));
85
84
  gpr_mu_unlock(g_polling_mu);
86
85
  }
87
86
 
88
- static void destroy_pollset(grpc_exec_ctx* exec_ctx, void* p, grpc_error* e) {
89
- grpc_pollset_destroy(exec_ctx, (grpc_pollset*)p);
87
+ static void destroy_pollset(void* p, grpc_error* e) {
88
+ grpc_pollset_destroy((grpc_pollset*)p);
90
89
  }
91
90
 
92
- static int is_stack_running_on_compute_engine(grpc_exec_ctx* exec_ctx) {
91
+ static int is_stack_running_on_compute_engine() {
93
92
  compute_engine_detector detector;
94
93
  grpc_httpcli_request request;
95
94
  grpc_httpcli_context context;
@@ -115,14 +114,14 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx* exec_ctx) {
115
114
  grpc_resource_quota* resource_quota =
116
115
  grpc_resource_quota_create("google_default_credentials");
117
116
  grpc_httpcli_get(
118
- exec_ctx, &context, &detector.pollent, resource_quota, &request,
119
- grpc_exec_ctx_now(exec_ctx) + max_detection_delay,
117
+ &context, &detector.pollent, resource_quota, &request,
118
+ grpc_core::ExecCtx::Get()->Now() + max_detection_delay,
120
119
  GRPC_CLOSURE_CREATE(on_compute_engine_detection_http_response, &detector,
121
120
  grpc_schedule_on_exec_ctx),
122
121
  &detector.response);
123
- grpc_resource_quota_unref_internal(exec_ctx, resource_quota);
122
+ grpc_resource_quota_unref_internal(resource_quota);
124
123
 
125
- grpc_exec_ctx_flush(exec_ctx);
124
+ grpc_core::ExecCtx::Get()->Flush();
126
125
 
127
126
  /* Block until we get the response. This is not ideal but this should only be
128
127
  called once for the lifetime of the process by the default credentials. */
@@ -131,8 +130,7 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx* exec_ctx) {
131
130
  grpc_pollset_worker* worker = nullptr;
132
131
  if (!GRPC_LOG_IF_ERROR(
133
132
  "pollset_work",
134
- grpc_pollset_work(exec_ctx,
135
- grpc_polling_entity_pollset(&detector.pollent),
133
+ grpc_pollset_work(grpc_polling_entity_pollset(&detector.pollent),
136
134
  &worker, GRPC_MILLIS_INF_FUTURE))) {
137
135
  detector.is_done = 1;
138
136
  detector.success = 0;
@@ -140,15 +138,14 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx* exec_ctx) {
140
138
  }
141
139
  gpr_mu_unlock(g_polling_mu);
142
140
 
143
- grpc_httpcli_context_destroy(exec_ctx, &context);
141
+ grpc_httpcli_context_destroy(&context);
144
142
  GRPC_CLOSURE_INIT(&destroy_closure, destroy_pollset,
145
143
  grpc_polling_entity_pollset(&detector.pollent),
146
144
  grpc_schedule_on_exec_ctx);
147
- grpc_pollset_shutdown(exec_ctx,
148
- grpc_polling_entity_pollset(&detector.pollent),
145
+ grpc_pollset_shutdown(grpc_polling_entity_pollset(&detector.pollent),
149
146
  &destroy_closure);
150
147
  g_polling_mu = nullptr;
151
- grpc_exec_ctx_flush(exec_ctx);
148
+ grpc_core::ExecCtx::Get()->Flush();
152
149
 
153
150
  gpr_free(grpc_polling_entity_pollset(&detector.pollent));
154
151
  grpc_http_response_destroy(&detector.response);
@@ -158,7 +155,7 @@ static int is_stack_running_on_compute_engine(grpc_exec_ctx* exec_ctx) {
158
155
 
159
156
  /* Takes ownership of creds_path if not NULL. */
160
157
  static grpc_error* create_default_creds_from_path(
161
- grpc_exec_ctx* exec_ctx, char* creds_path, grpc_call_credentials** creds) {
158
+ char* creds_path, grpc_call_credentials** creds) {
162
159
  grpc_json* json = nullptr;
163
160
  grpc_auth_json_key key;
164
161
  grpc_auth_refresh_token token;
@@ -187,7 +184,7 @@ static grpc_error* create_default_creds_from_path(
187
184
  if (grpc_auth_json_key_is_valid(&key)) {
188
185
  result =
189
186
  grpc_service_account_jwt_access_credentials_create_from_auth_json_key(
190
- exec_ctx, key, grpc_max_auth_token_lifetime());
187
+ key, grpc_max_auth_token_lifetime());
191
188
  if (result == nullptr) {
192
189
  error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
193
190
  "grpc_service_account_jwt_access_credentials_create_from_auth_json_"
@@ -212,7 +209,7 @@ static grpc_error* create_default_creds_from_path(
212
209
  end:
213
210
  GPR_ASSERT((result == nullptr) + (error == GRPC_ERROR_NONE) == 1);
214
211
  if (creds_path != nullptr) gpr_free(creds_path);
215
- grpc_slice_unref_internal(exec_ctx, creds_data);
212
+ grpc_slice_unref_internal(creds_data);
216
213
  if (json != nullptr) grpc_json_destroy(json);
217
214
  *creds = result;
218
215
  return error;
@@ -224,7 +221,7 @@ grpc_channel_credentials* grpc_google_default_credentials_create(void) {
224
221
  grpc_error* error = GRPC_ERROR_CREATE_FROM_STATIC_STRING(
225
222
  "Failed to create Google credentials");
226
223
  grpc_error* err;
227
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
224
+ grpc_core::ExecCtx exec_ctx;
228
225
 
229
226
  GRPC_API_TRACE("grpc_google_default_credentials_create(void)", 0, ());
230
227
 
@@ -239,22 +236,20 @@ grpc_channel_credentials* grpc_google_default_credentials_create(void) {
239
236
 
240
237
  /* First, try the environment variable. */
241
238
  err = create_default_creds_from_path(
242
- &exec_ctx, gpr_getenv(GRPC_GOOGLE_CREDENTIALS_ENV_VAR), &call_creds);
239
+ gpr_getenv(GRPC_GOOGLE_CREDENTIALS_ENV_VAR), &call_creds);
243
240
  if (err == GRPC_ERROR_NONE) goto end;
244
241
  error = grpc_error_add_child(error, err);
245
242
 
246
243
  /* Then the well-known file. */
247
244
  err = create_default_creds_from_path(
248
- &exec_ctx, grpc_get_well_known_google_credentials_file_path(),
249
- &call_creds);
245
+ grpc_get_well_known_google_credentials_file_path(), &call_creds);
250
246
  if (err == GRPC_ERROR_NONE) goto end;
251
247
  error = grpc_error_add_child(error, err);
252
248
 
253
249
  /* At last try to see if we're on compute engine (do the detection only once
254
250
  since it requires a network test). */
255
251
  if (!compute_engine_detection_done) {
256
- int need_compute_engine_creds =
257
- is_stack_running_on_compute_engine(&exec_ctx);
252
+ int need_compute_engine_creds = is_stack_running_on_compute_engine();
258
253
  compute_engine_detection_done = 1;
259
254
  if (need_compute_engine_creds) {
260
255
  call_creds = grpc_google_compute_engine_credentials_create(nullptr);
@@ -278,8 +273,8 @@ end:
278
273
  grpc_composite_channel_credentials_create(ssl_creds, call_creds,
279
274
  nullptr));
280
275
  GPR_ASSERT(default_credentials != nullptr);
281
- grpc_channel_credentials_unref(&exec_ctx, ssl_creds);
282
- grpc_call_credentials_unref(&exec_ctx, call_creds);
276
+ grpc_channel_credentials_unref(ssl_creds);
277
+ grpc_call_credentials_unref(call_creds);
283
278
  result = default_credentials;
284
279
  } else {
285
280
  gpr_log(GPR_ERROR, "Could not create google default credentials.");
@@ -291,21 +286,20 @@ end:
291
286
  } else {
292
287
  GRPC_ERROR_UNREF(error);
293
288
  }
294
- grpc_exec_ctx_finish(&exec_ctx);
289
+
295
290
  return result;
296
291
  }
297
292
 
298
293
  void grpc_flush_cached_google_default_credentials(void) {
299
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
294
+ grpc_core::ExecCtx exec_ctx;
300
295
  gpr_once_init(&g_once, init_default_credentials);
301
296
  gpr_mu_lock(&g_state_mu);
302
297
  if (default_credentials != nullptr) {
303
- grpc_channel_credentials_unref(&exec_ctx, default_credentials);
298
+ grpc_channel_credentials_unref(default_credentials);
304
299
  default_credentials = nullptr;
305
300
  }
306
301
  compute_engine_detection_done = 0;
307
302
  gpr_mu_unlock(&g_state_mu);
308
- grpc_exec_ctx_finish(&exec_ctx);
309
303
  }
310
304
 
311
305
  /* -- Well known credentials path. -- */
@@ -23,10 +23,6 @@
23
23
 
24
24
  #include "src/core/lib/security/credentials/credentials.h"
25
25
 
26
- #ifdef __cplusplus
27
- extern "C" {
28
- #endif
29
-
30
26
  #define GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY "gcloud"
31
27
  #define GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE \
32
28
  "application_default_credentials.json"
@@ -45,9 +41,5 @@ extern "C" {
45
41
 
46
42
  void grpc_flush_cached_google_default_credentials(void);
47
43
 
48
- #ifdef __cplusplus
49
- }
50
- #endif
51
-
52
44
  #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_GOOGLE_DEFAULT_GOOGLE_DEFAULT_CREDENTIALS_H \
53
45
  */
@@ -27,14 +27,12 @@
27
27
  #include <grpc/support/string_util.h>
28
28
  #include <grpc/support/sync.h>
29
29
 
30
- static void iam_destruct(grpc_exec_ctx* exec_ctx,
31
- grpc_call_credentials* creds) {
30
+ static void iam_destruct(grpc_call_credentials* creds) {
32
31
  grpc_google_iam_credentials* c = (grpc_google_iam_credentials*)creds;
33
- grpc_credentials_mdelem_array_destroy(exec_ctx, &c->md_array);
32
+ grpc_credentials_mdelem_array_destroy(&c->md_array);
34
33
  }
35
34
 
36
- static bool iam_get_request_metadata(grpc_exec_ctx* exec_ctx,
37
- grpc_call_credentials* creds,
35
+ static bool iam_get_request_metadata(grpc_call_credentials* creds,
38
36
  grpc_polling_entity* pollent,
39
37
  grpc_auth_metadata_context context,
40
38
  grpc_credentials_mdelem_array* md_array,
@@ -46,8 +44,8 @@ static bool iam_get_request_metadata(grpc_exec_ctx* exec_ctx,
46
44
  }
47
45
 
48
46
  static void iam_cancel_get_request_metadata(
49
- grpc_exec_ctx* exec_ctx, grpc_call_credentials* c,
50
- grpc_credentials_mdelem_array* md_array, grpc_error* error) {
47
+ grpc_call_credentials* c, grpc_credentials_mdelem_array* md_array,
48
+ grpc_error* error) {
51
49
  GRPC_ERROR_UNREF(error);
52
50
  }
53
51
 
@@ -56,7 +54,7 @@ static grpc_call_credentials_vtable iam_vtable = {
56
54
 
57
55
  grpc_call_credentials* grpc_google_iam_credentials_create(
58
56
  const char* token, const char* authority_selector, void* reserved) {
59
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
57
+ grpc_core::ExecCtx exec_ctx;
60
58
  GRPC_API_TRACE(
61
59
  "grpc_iam_credentials_create(token=%s, authority_selector=%s, "
62
60
  "reserved=%p)",
@@ -70,17 +68,15 @@ grpc_call_credentials* grpc_google_iam_credentials_create(
70
68
  c->base.vtable = &iam_vtable;
71
69
  gpr_ref_init(&c->base.refcount, 1);
72
70
  grpc_mdelem md = grpc_mdelem_from_slices(
73
- &exec_ctx,
74
71
  grpc_slice_from_static_string(GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY),
75
72
  grpc_slice_from_copied_string(token));
76
73
  grpc_credentials_mdelem_array_add(&c->md_array, md);
77
- GRPC_MDELEM_UNREF(&exec_ctx, md);
74
+ GRPC_MDELEM_UNREF(md);
78
75
  md = grpc_mdelem_from_slices(
79
- &exec_ctx,
80
76
  grpc_slice_from_static_string(GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY),
81
77
  grpc_slice_from_copied_string(authority_selector));
82
78
  grpc_credentials_mdelem_array_add(&c->md_array, md);
83
- GRPC_MDELEM_UNREF(&exec_ctx, md);
84
- grpc_exec_ctx_finish(&exec_ctx);
79
+ GRPC_MDELEM_UNREF(md);
80
+
85
81
  return &c->base;
86
82
  }
@@ -26,9 +26,9 @@
26
26
  #include <grpc/support/string_util.h>
27
27
  #include <grpc/support/time.h>
28
28
 
29
+ #include "src/core/lib/gpr/string.h"
29
30
  #include "src/core/lib/security/util/json_util.h"
30
31
  #include "src/core/lib/slice/b64.h"
31
- #include "src/core/lib/support/string.h"
32
32
 
33
33
  extern "C" {
34
34
  #include <openssl/bio.h>
@@ -19,10 +19,6 @@
19
19
  #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H
20
20
  #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H
21
21
 
22
- #ifdef __cplusplus
23
- extern "C" {
24
- #endif
25
-
26
22
  #include <grpc/slice.h>
27
23
  #include <openssl/rsa.h>
28
24
 
@@ -74,8 +70,4 @@ typedef char* (*grpc_jwt_encode_and_sign_override)(
74
70
  void grpc_jwt_encode_and_sign_set_override(
75
71
  grpc_jwt_encode_and_sign_override func);
76
72
 
77
- #ifdef __cplusplus
78
- }
79
- #endif
80
-
81
73
  #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JSON_TOKEN_H */
@@ -30,9 +30,8 @@
30
30
  #include <grpc/support/string_util.h>
31
31
  #include <grpc/support/sync.h>
32
32
 
33
- static void jwt_reset_cache(grpc_exec_ctx* exec_ctx,
34
- grpc_service_account_jwt_access_credentials* c) {
35
- GRPC_MDELEM_UNREF(exec_ctx, c->cached.jwt_md);
33
+ static void jwt_reset_cache(grpc_service_account_jwt_access_credentials* c) {
34
+ GRPC_MDELEM_UNREF(c->cached.jwt_md);
36
35
  c->cached.jwt_md = GRPC_MDNULL;
37
36
  if (c->cached.service_url != nullptr) {
38
37
  gpr_free(c->cached.service_url);
@@ -41,17 +40,15 @@ static void jwt_reset_cache(grpc_exec_ctx* exec_ctx,
41
40
  c->cached.jwt_expiration = gpr_inf_past(GPR_CLOCK_REALTIME);
42
41
  }
43
42
 
44
- static void jwt_destruct(grpc_exec_ctx* exec_ctx,
45
- grpc_call_credentials* creds) {
43
+ static void jwt_destruct(grpc_call_credentials* creds) {
46
44
  grpc_service_account_jwt_access_credentials* c =
47
45
  (grpc_service_account_jwt_access_credentials*)creds;
48
46
  grpc_auth_json_key_destruct(&c->key);
49
- jwt_reset_cache(exec_ctx, c);
47
+ jwt_reset_cache(c);
50
48
  gpr_mu_destroy(&c->cache_mu);
51
49
  }
52
50
 
53
- static bool jwt_get_request_metadata(grpc_exec_ctx* exec_ctx,
54
- grpc_call_credentials* creds,
51
+ static bool jwt_get_request_metadata(grpc_call_credentials* creds,
55
52
  grpc_polling_entity* pollent,
56
53
  grpc_auth_metadata_context context,
57
54
  grpc_credentials_mdelem_array* md_array,
@@ -81,7 +78,7 @@ static bool jwt_get_request_metadata(grpc_exec_ctx* exec_ctx,
81
78
  char* jwt = nullptr;
82
79
  /* Generate a new jwt. */
83
80
  gpr_mu_lock(&c->cache_mu);
84
- jwt_reset_cache(exec_ctx, c);
81
+ jwt_reset_cache(c);
85
82
  jwt = grpc_jwt_encode_and_sign(&c->key, context.service_url,
86
83
  c->jwt_lifetime, nullptr);
87
84
  if (jwt != nullptr) {
@@ -92,7 +89,6 @@ static bool jwt_get_request_metadata(grpc_exec_ctx* exec_ctx,
92
89
  gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), c->jwt_lifetime);
93
90
  c->cached.service_url = gpr_strdup(context.service_url);
94
91
  c->cached.jwt_md = grpc_mdelem_from_slices(
95
- exec_ctx,
96
92
  grpc_slice_from_static_string(GRPC_AUTHORIZATION_METADATA_KEY),
97
93
  grpc_slice_from_copied_string(md_value));
98
94
  gpr_free(md_value);
@@ -103,7 +99,7 @@ static bool jwt_get_request_metadata(grpc_exec_ctx* exec_ctx,
103
99
 
104
100
  if (!GRPC_MDISNULL(jwt_md)) {
105
101
  grpc_credentials_mdelem_array_add(md_array, jwt_md);
106
- GRPC_MDELEM_UNREF(exec_ctx, jwt_md);
102
+ GRPC_MDELEM_UNREF(jwt_md);
107
103
  } else {
108
104
  *error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("Could not generate JWT.");
109
105
  }
@@ -111,8 +107,8 @@ static bool jwt_get_request_metadata(grpc_exec_ctx* exec_ctx,
111
107
  }
112
108
 
113
109
  static void jwt_cancel_get_request_metadata(
114
- grpc_exec_ctx* exec_ctx, grpc_call_credentials* c,
115
- grpc_credentials_mdelem_array* md_array, grpc_error* error) {
110
+ grpc_call_credentials* c, grpc_credentials_mdelem_array* md_array,
111
+ grpc_error* error) {
116
112
  GRPC_ERROR_UNREF(error);
117
113
  }
118
114
 
@@ -121,8 +117,7 @@ static grpc_call_credentials_vtable jwt_vtable = {
121
117
 
122
118
  grpc_call_credentials*
123
119
  grpc_service_account_jwt_access_credentials_create_from_auth_json_key(
124
- grpc_exec_ctx* exec_ctx, grpc_auth_json_key key,
125
- gpr_timespec token_lifetime) {
120
+ grpc_auth_json_key key, gpr_timespec token_lifetime) {
126
121
  grpc_service_account_jwt_access_credentials* c;
127
122
  if (!grpc_auth_json_key_is_valid(&key)) {
128
123
  gpr_log(GPR_ERROR, "Invalid input for jwt credentials creation");
@@ -143,7 +138,7 @@ grpc_service_account_jwt_access_credentials_create_from_auth_json_key(
143
138
  }
144
139
  c->jwt_lifetime = token_lifetime;
145
140
  gpr_mu_init(&c->cache_mu);
146
- jwt_reset_cache(exec_ctx, c);
141
+ jwt_reset_cache(c);
147
142
  return &c->base;
148
143
  }
149
144
 
@@ -186,11 +181,10 @@ grpc_call_credentials* grpc_service_account_jwt_access_credentials_create(
186
181
  gpr_free(clean_json);
187
182
  }
188
183
  GPR_ASSERT(reserved == nullptr);
189
- grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
184
+ grpc_core::ExecCtx exec_ctx;
190
185
  grpc_call_credentials* creds =
191
186
  grpc_service_account_jwt_access_credentials_create_from_auth_json_key(
192
- &exec_ctx, grpc_auth_json_key_create_from_string(json_key),
193
- token_lifetime);
194
- grpc_exec_ctx_finish(&exec_ctx);
187
+ grpc_auth_json_key_create_from_string(json_key), token_lifetime);
188
+
195
189
  return creds;
196
190
  }
@@ -22,10 +22,6 @@
22
22
  #include "src/core/lib/security/credentials/credentials.h"
23
23
  #include "src/core/lib/security/credentials/jwt/json_token.h"
24
24
 
25
- #ifdef __cplusplus
26
- extern "C" {
27
- #endif
28
-
29
25
  typedef struct {
30
26
  grpc_call_credentials base;
31
27
 
@@ -46,11 +42,6 @@ typedef struct {
46
42
  // Takes ownership of the key.
47
43
  grpc_call_credentials*
48
44
  grpc_service_account_jwt_access_credentials_create_from_auth_json_key(
49
- grpc_exec_ctx* exec_ctx, grpc_auth_json_key key,
50
- gpr_timespec token_lifetime);
51
-
52
- #ifdef __cplusplus
53
- }
54
- #endif
45
+ grpc_auth_json_key key, gpr_timespec token_lifetime);
55
46
 
56
47
  #endif /* GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_CREDENTIALS_H */