grpc 1.8.7 → 1.9.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (488) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +549 -325
  3. data/include/grpc/impl/codegen/grpc_types.h +1 -2
  4. data/include/grpc/impl/codegen/port_platform.h +46 -5
  5. data/include/grpc/impl/codegen/slice.h +1 -2
  6. data/include/grpc/module.modulemap +0 -2
  7. data/include/grpc/slice_buffer.h +1 -2
  8. data/include/grpc/support/log.h +4 -2
  9. data/include/grpc/support/thd.h +4 -1
  10. data/include/grpc/support/tls.h +6 -0
  11. data/include/grpc/support/tls_gcc.h +5 -40
  12. data/include/grpc/support/tls_msvc.h +9 -0
  13. data/include/grpc/support/tls_pthread.h +9 -0
  14. data/src/core/ext/filters/client_channel/backup_poller.cc +32 -29
  15. data/src/core/ext/filters/client_channel/backup_poller.h +2 -2
  16. data/src/core/ext/filters/client_channel/channel_connectivity.cc +26 -32
  17. data/src/core/ext/filters/client_channel/client_channel.cc +325 -356
  18. data/src/core/ext/filters/client_channel/client_channel.h +4 -12
  19. data/src/core/ext/filters/client_channel/client_channel_factory.cc +9 -14
  20. data/src/core/ext/filters/client_channel/client_channel_factory.h +7 -20
  21. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +7 -10
  22. data/src/core/ext/filters/client_channel/connector.cc +6 -7
  23. data/src/core/ext/filters/client_channel/connector.h +6 -16
  24. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +38 -50
  25. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -8
  26. data/src/core/ext/filters/client_channel/http_proxy.cc +9 -13
  27. data/src/core/ext/filters/client_channel/http_proxy.h +0 -8
  28. data/src/core/ext/filters/client_channel/lb_policy.cc +72 -94
  29. data/src/core/ext/filters/client_channel/lb_policy.h +83 -92
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +14 -19
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +0 -8
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +474 -591
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -8
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +2 -10
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +6 -6
  36. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +0 -8
  37. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +0 -9
  38. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +0 -9
  39. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +3 -4
  40. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +9 -12
  41. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +160 -182
  42. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +182 -221
  43. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +24 -35
  44. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +9 -20
  45. data/src/core/ext/filters/client_channel/lb_policy_factory.cc +6 -9
  46. data/src/core/ext/filters/client_channel/lb_policy_factory.h +4 -15
  47. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +3 -3
  48. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -9
  49. data/src/core/ext/filters/client_channel/parse_address.cc +1 -1
  50. data/src/core/ext/filters/client_channel/parse_address.h +0 -8
  51. data/src/core/ext/filters/client_channel/proxy_mapper.cc +6 -8
  52. data/src/core/ext/filters/client_channel/proxy_mapper.h +6 -16
  53. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +13 -17
  54. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +2 -12
  55. data/src/core/ext/filters/client_channel/resolver.cc +11 -13
  56. data/src/core/ext/filters/client_channel/resolver.h +14 -25
  57. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +57 -70
  58. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +2 -12
  59. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +23 -31
  60. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +27 -45
  61. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -15
  62. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +9 -11
  63. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +53 -66
  64. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +25 -33
  65. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -9
  66. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +26 -35
  67. data/src/core/ext/filters/client_channel/resolver_factory.cc +2 -3
  68. data/src/core/ext/filters/client_channel/resolver_factory.h +2 -12
  69. data/src/core/ext/filters/client_channel/resolver_registry.cc +12 -15
  70. data/src/core/ext/filters/client_channel/resolver_registry.h +3 -12
  71. data/src/core/ext/filters/client_channel/retry_throttle.h +0 -8
  72. data/src/core/ext/filters/client_channel/subchannel.cc +289 -301
  73. data/src/core/ext/filters/client_channel/subchannel.h +57 -84
  74. data/src/core/ext/filters/client_channel/subchannel_index.cc +30 -33
  75. data/src/core/ext/filters/client_channel/subchannel_index.h +4 -16
  76. data/src/core/ext/filters/client_channel/uri_parser.cc +13 -17
  77. data/src/core/ext/filters/client_channel/uri_parser.h +1 -10
  78. data/src/core/ext/filters/deadline/deadline_filter.cc +49 -67
  79. data/src/core/ext/filters/deadline/deadline_filter.h +4 -14
  80. data/src/core/ext/filters/http/client/http_client_filter.cc +60 -77
  81. data/src/core/ext/filters/http/client/http_client_filter.h +0 -8
  82. data/src/core/ext/filters/http/http_filters_plugin.cc +4 -6
  83. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +63 -79
  84. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -8
  85. data/src/core/ext/filters/http/server/http_server_filter.cc +57 -71
  86. data/src/core/ext/filters/http/server/http_server_filter.h +0 -8
  87. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +19 -24
  88. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +0 -8
  89. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +3 -3
  90. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +0 -8
  91. data/src/core/ext/filters/max_age/max_age_filter.cc +49 -62
  92. data/src/core/ext/filters/max_age/max_age_filter.h +0 -8
  93. data/src/core/ext/filters/message_size/message_size_filter.cc +23 -29
  94. data/src/core/ext/filters/message_size/message_size_filter.h +0 -8
  95. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +15 -18
  96. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +0 -8
  97. data/src/core/ext/filters/workarounds/workaround_utils.h +0 -8
  98. data/src/core/ext/transport/chttp2/alpn/alpn.h +0 -8
  99. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +33 -40
  100. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -8
  101. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +15 -17
  102. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +8 -8
  103. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +23 -28
  104. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +50 -57
  105. data/src/core/ext/transport/chttp2/server/chttp2_server.h +1 -10
  106. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -3
  107. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +7 -10
  108. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +5 -6
  109. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -9
  110. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -11
  111. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -9
  112. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +10 -2
  113. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +516 -636
  114. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +4 -11
  115. data/src/core/ext/transport/chttp2/transport/flow_control.cc +29 -13
  116. data/src/core/ext/transport/chttp2/transport/flow_control.h +196 -53
  117. data/src/core/ext/transport/chttp2/transport/frame.h +0 -8
  118. data/src/core/ext/transport/chttp2/transport/frame_data.cc +31 -33
  119. data/src/core/ext/transport/chttp2/transport/frame_data.h +3 -12
  120. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -3
  121. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -10
  122. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
  123. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -9
  124. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -3
  125. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -10
  126. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +8 -3
  127. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -10
  128. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +8 -8
  129. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -11
  130. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +63 -81
  131. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -12
  132. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +230 -318
  133. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +6 -19
  134. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +14 -20
  135. data/src/core/ext/transport/chttp2/transport/hpack_table.h +5 -16
  136. data/src/core/ext/transport/chttp2/transport/http2_settings.h +0 -7
  137. data/src/core/ext/transport/chttp2/transport/huffsyms.h +0 -8
  138. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +8 -11
  139. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +4 -13
  140. data/src/core/ext/transport/chttp2/transport/internal.h +51 -75
  141. data/src/core/ext/transport/chttp2/transport/parsing.cc +83 -109
  142. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -0
  143. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -8
  144. data/src/core/ext/transport/chttp2/transport/varint.h +0 -8
  145. data/src/core/ext/transport/chttp2/transport/writing.cc +61 -65
  146. data/src/core/ext/transport/inproc/inproc_plugin.cc +2 -4
  147. data/src/core/ext/transport/inproc/inproc_transport.cc +177 -188
  148. data/src/core/ext/transport/inproc/inproc_transport.h +0 -8
  149. data/src/core/lib/backoff/backoff.cc +39 -44
  150. data/src/core/lib/backoff/backoff.h +61 -57
  151. data/src/core/lib/channel/channel_args.cc +8 -10
  152. data/src/core/lib/channel/channel_args.h +4 -13
  153. data/src/core/lib/channel/channel_stack.cc +19 -27
  154. data/src/core/lib/channel/channel_stack.h +27 -47
  155. data/src/core/lib/channel/channel_stack_builder.cc +11 -14
  156. data/src/core/lib/channel/channel_stack_builder.h +4 -15
  157. data/src/core/lib/channel/connected_channel.cc +23 -36
  158. data/src/core/lib/channel/connected_channel.h +1 -10
  159. data/src/core/lib/channel/handshaker.cc +31 -40
  160. data/src/core/lib/channel/handshaker.h +14 -25
  161. data/src/core/lib/channel/handshaker_factory.cc +6 -6
  162. data/src/core/lib/channel/handshaker_factory.h +5 -15
  163. data/src/core/lib/channel/handshaker_registry.cc +9 -13
  164. data/src/core/lib/channel/handshaker_registry.h +2 -11
  165. data/src/core/lib/compression/algorithm_metadata.h +0 -8
  166. data/src/core/lib/compression/message_compress.cc +19 -23
  167. data/src/core/lib/compression/message_compress.h +2 -12
  168. data/src/core/lib/compression/stream_compression.cc +1 -1
  169. data/src/core/lib/compression/stream_compression.h +0 -8
  170. data/src/core/lib/compression/stream_compression_gzip.cc +12 -11
  171. data/src/core/lib/compression/stream_compression_gzip.h +0 -8
  172. data/src/core/lib/compression/stream_compression_identity.h +0 -8
  173. data/src/core/lib/debug/stats.cc +4 -4
  174. data/src/core/lib/debug/stats.h +9 -19
  175. data/src/core/lib/debug/stats_data.cc +85 -116
  176. data/src/core/lib/debug/stats_data.h +236 -312
  177. data/src/core/lib/debug/trace.cc +1 -1
  178. data/src/core/lib/debug/trace.h +0 -12
  179. data/src/core/lib/{support → gpr++}/abstract.h +8 -3
  180. data/src/core/lib/{support → gpr++}/atomic.h +5 -5
  181. data/src/core/lib/{support → gpr++}/atomic_with_atm.h +3 -3
  182. data/src/core/lib/{support → gpr++}/atomic_with_std.h +3 -3
  183. data/src/core/lib/gpr++/debug_location.h +52 -0
  184. data/src/core/lib/gpr++/inlined_vector.h +112 -0
  185. data/src/core/lib/{support → gpr++}/manual_constructor.h +2 -2
  186. data/src/core/lib/{support → gpr++}/memory.h +3 -3
  187. data/src/core/lib/gpr++/orphanable.h +171 -0
  188. data/src/core/lib/gpr++/ref_counted.h +133 -0
  189. data/src/core/lib/gpr++/ref_counted_ptr.h +99 -0
  190. data/src/core/lib/{support → gpr}/alloc.cc +0 -0
  191. data/src/core/lib/{support → gpr}/arena.cc +1 -1
  192. data/src/core/lib/{support → gpr}/arena.h +3 -11
  193. data/src/core/lib/{support → gpr}/atm.cc +0 -0
  194. data/src/core/lib/{support → gpr}/avl.cc +0 -0
  195. data/src/core/lib/{support → gpr}/cmdline.cc +1 -1
  196. data/src/core/lib/{support → gpr}/cpu_iphone.cc +0 -0
  197. data/src/core/lib/{support → gpr}/cpu_linux.cc +0 -0
  198. data/src/core/lib/{support → gpr}/cpu_posix.cc +0 -0
  199. data/src/core/lib/{support → gpr}/cpu_windows.cc +0 -0
  200. data/src/core/lib/{support → gpr}/env.h +3 -11
  201. data/src/core/lib/{support → gpr}/env_linux.cc +2 -2
  202. data/src/core/lib/{support → gpr}/env_posix.cc +4 -4
  203. data/src/core/lib/{support → gpr}/env_windows.cc +3 -3
  204. data/src/core/lib/{support → gpr}/fork.cc +3 -3
  205. data/src/core/lib/{support → gpr}/fork.h +3 -3
  206. data/src/core/lib/{support → gpr}/host_port.cc +1 -1
  207. data/src/core/lib/{support → gpr}/log.cc +3 -3
  208. data/src/core/lib/{support → gpr}/log_android.cc +3 -3
  209. data/src/core/lib/{support → gpr}/log_linux.cc +1 -1
  210. data/src/core/lib/{support → gpr}/log_posix.cc +5 -5
  211. data/src/core/lib/{support → gpr}/log_windows.cc +3 -3
  212. data/src/core/lib/{support → gpr}/mpscq.cc +1 -1
  213. data/src/core/lib/{support → gpr}/mpscq.h +3 -10
  214. data/src/core/lib/{support → gpr}/murmur_hash.cc +1 -1
  215. data/src/core/lib/{support → gpr}/murmur_hash.h +3 -11
  216. data/src/core/lib/{support → gpr}/spinlock.h +3 -3
  217. data/src/core/lib/{support → gpr}/string.cc +1 -1
  218. data/src/core/lib/{support → gpr}/string.h +3 -10
  219. data/src/core/lib/{support → gpr}/string_posix.cc +0 -0
  220. data/src/core/lib/{support → gpr}/string_util_windows.cc +2 -2
  221. data/src/core/lib/{support → gpr}/string_windows.cc +1 -1
  222. data/src/core/lib/{support → gpr}/string_windows.h +3 -11
  223. data/src/core/lib/{support → gpr}/subprocess_posix.cc +0 -0
  224. data/src/core/lib/{support → gpr}/subprocess_windows.cc +2 -2
  225. data/src/core/lib/{support → gpr}/sync.cc +0 -0
  226. data/src/core/lib/{support → gpr}/sync_posix.cc +10 -1
  227. data/src/core/lib/{support → gpr}/sync_windows.cc +0 -0
  228. data/src/core/lib/{support → gpr}/thd.cc +0 -0
  229. data/src/core/lib/{support → gpr}/thd_internal.h +3 -3
  230. data/src/core/lib/{support → gpr}/thd_posix.cc +18 -2
  231. data/src/core/lib/{support → gpr}/thd_windows.cc +2 -1
  232. data/src/core/lib/{support → gpr}/time.cc +0 -0
  233. data/src/core/lib/{support → gpr}/time_posix.cc +2 -4
  234. data/src/core/lib/{support → gpr}/time_precise.cc +1 -1
  235. data/src/core/lib/{support → gpr}/time_precise.h +3 -11
  236. data/src/core/lib/{support → gpr}/time_windows.cc +1 -3
  237. data/src/core/lib/{support → gpr}/tls_pthread.cc +0 -0
  238. data/src/core/lib/{support → gpr}/tmpfile.h +3 -11
  239. data/src/core/lib/{support → gpr}/tmpfile_msys.cc +2 -2
  240. data/src/core/lib/{support → gpr}/tmpfile_posix.cc +2 -2
  241. data/src/core/lib/{support → gpr}/tmpfile_windows.cc +2 -2
  242. data/src/core/lib/{support → gpr}/wrap_memcpy.cc +0 -0
  243. data/src/core/lib/http/format_request.cc +1 -1
  244. data/src/core/lib/http/format_request.h +0 -8
  245. data/src/core/lib/http/httpcli.cc +55 -74
  246. data/src/core/lib/http/httpcli.h +13 -22
  247. data/src/core/lib/http/httpcli_security_connector.cc +27 -33
  248. data/src/core/lib/http/parser.h +0 -8
  249. data/src/core/lib/iomgr/block_annotate.h +10 -17
  250. data/src/core/lib/iomgr/call_combiner.cc +14 -17
  251. data/src/core/lib/iomgr/call_combiner.h +16 -34
  252. data/src/core/lib/iomgr/closure.h +24 -37
  253. data/src/core/lib/iomgr/combiner.cc +62 -66
  254. data/src/core/lib/iomgr/combiner.h +6 -16
  255. data/src/core/lib/iomgr/endpoint.cc +15 -21
  256. data/src/core/lib/iomgr/endpoint.h +16 -33
  257. data/src/core/lib/iomgr/endpoint_pair.h +0 -8
  258. data/src/core/lib/iomgr/endpoint_pair_posix.cc +4 -5
  259. data/src/core/lib/iomgr/endpoint_pair_windows.cc +4 -6
  260. data/src/core/lib/iomgr/error.cc +2 -6
  261. data/src/core/lib/iomgr/error.h +4 -9
  262. data/src/core/lib/iomgr/error_internal.h +0 -8
  263. data/src/core/lib/iomgr/ev_epoll1_linux.cc +110 -117
  264. data/src/core/lib/iomgr/ev_epoll1_linux.h +0 -8
  265. data/src/core/lib/iomgr/ev_epollex_linux.cc +111 -141
  266. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -8
  267. data/src/core/lib/iomgr/ev_epollsig_linux.cc +83 -109
  268. data/src/core/lib/iomgr/ev_epollsig_linux.h +2 -10
  269. data/src/core/lib/iomgr/ev_poll_posix.cc +103 -125
  270. data/src/core/lib/iomgr/ev_poll_posix.h +0 -8
  271. data/src/core/lib/iomgr/ev_posix.cc +35 -50
  272. data/src/core/lib/iomgr/ev_posix.h +27 -53
  273. data/src/core/lib/iomgr/exec_ctx.cc +46 -78
  274. data/src/core/lib/iomgr/exec_ctx.h +127 -60
  275. data/src/core/lib/iomgr/executor.cc +34 -38
  276. data/src/core/lib/iomgr/executor.h +3 -11
  277. data/src/core/lib/iomgr/fork_posix.cc +13 -12
  278. data/src/core/lib/iomgr/gethostname.h +0 -8
  279. data/src/core/lib/iomgr/gethostname_sysconf.cc +1 -1
  280. data/src/core/lib/iomgr/iocp_windows.cc +14 -16
  281. data/src/core/lib/iomgr/iocp_windows.h +1 -10
  282. data/src/core/lib/iomgr/iomgr.cc +60 -59
  283. data/src/core/lib/iomgr/iomgr.h +3 -12
  284. data/src/core/lib/iomgr/iomgr_internal.h +0 -8
  285. data/src/core/lib/iomgr/iomgr_uv.cc +2 -3
  286. data/src/core/lib/iomgr/iomgr_uv.h +0 -8
  287. data/src/core/lib/iomgr/is_epollexclusive_available.cc +1 -1
  288. data/src/core/lib/iomgr/load_file.cc +1 -1
  289. data/src/core/lib/iomgr/load_file.h +0 -8
  290. data/src/core/lib/iomgr/lockfree_event.cc +7 -8
  291. data/src/core/lib/iomgr/lockfree_event.h +3 -3
  292. data/src/core/lib/iomgr/polling_entity.cc +6 -10
  293. data/src/core/lib/iomgr/polling_entity.h +2 -11
  294. data/src/core/lib/iomgr/pollset.h +4 -13
  295. data/src/core/lib/iomgr/pollset_set.h +5 -18
  296. data/src/core/lib/iomgr/pollset_set_uv.cc +5 -10
  297. data/src/core/lib/iomgr/pollset_set_windows.cc +5 -10
  298. data/src/core/lib/iomgr/pollset_uv.cc +8 -9
  299. data/src/core/lib/iomgr/pollset_uv.h +0 -8
  300. data/src/core/lib/iomgr/pollset_windows.cc +14 -15
  301. data/src/core/lib/iomgr/pollset_windows.h +0 -8
  302. data/src/core/lib/iomgr/port.h +6 -1
  303. data/src/core/lib/iomgr/resolve_address.h +1 -10
  304. data/src/core/lib/iomgr/resolve_address_posix.cc +10 -12
  305. data/src/core/lib/iomgr/resolve_address_uv.cc +7 -8
  306. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -9
  307. data/src/core/lib/iomgr/resource_quota.cc +77 -107
  308. data/src/core/lib/iomgr/resource_quota.h +8 -25
  309. data/src/core/lib/iomgr/sockaddr_utils.cc +1 -1
  310. data/src/core/lib/iomgr/sockaddr_utils.h +0 -8
  311. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  312. data/src/core/lib/iomgr/socket_factory_posix.h +0 -8
  313. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  314. data/src/core/lib/iomgr/socket_mutator.h +1 -9
  315. data/src/core/lib/iomgr/socket_utils.h +0 -8
  316. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -1
  317. data/src/core/lib/iomgr/socket_utils_posix.h +0 -8
  318. data/src/core/lib/iomgr/socket_windows.cc +8 -11
  319. data/src/core/lib/iomgr/socket_windows.h +3 -14
  320. data/src/core/lib/iomgr/tcp_client.h +1 -10
  321. data/src/core/lib/iomgr/tcp_client_posix.cc +94 -78
  322. data/src/core/lib/iomgr/tcp_client_posix.h +36 -8
  323. data/src/core/lib/iomgr/tcp_client_uv.cc +16 -23
  324. data/src/core/lib/iomgr/tcp_client_windows.cc +22 -25
  325. data/src/core/lib/iomgr/tcp_posix.cc +131 -153
  326. data/src/core/lib/iomgr/tcp_posix.h +3 -12
  327. data/src/core/lib/iomgr/tcp_server.h +6 -17
  328. data/src/core/lib/iomgr/tcp_server_posix.cc +31 -35
  329. data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -8
  330. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
  331. data/src/core/lib/iomgr/tcp_server_uv.cc +23 -34
  332. data/src/core/lib/iomgr/tcp_server_windows.cc +24 -34
  333. data/src/core/lib/iomgr/tcp_uv.cc +42 -56
  334. data/src/core/lib/iomgr/tcp_uv.h +0 -8
  335. data/src/core/lib/iomgr/tcp_windows.cc +43 -50
  336. data/src/core/lib/iomgr/tcp_windows.h +1 -9
  337. data/src/core/lib/iomgr/time_averaged_stats.h +0 -8
  338. data/src/core/lib/iomgr/timer.h +6 -15
  339. data/src/core/lib/iomgr/timer_generic.cc +22 -27
  340. data/src/core/lib/iomgr/timer_heap.h +0 -8
  341. data/src/core/lib/iomgr/timer_manager.cc +17 -19
  342. data/src/core/lib/iomgr/timer_manager.h +0 -8
  343. data/src/core/lib/iomgr/timer_uv.cc +12 -14
  344. data/src/core/lib/iomgr/udp_server.cc +148 -54
  345. data/src/core/lib/iomgr/udp_server.h +16 -21
  346. data/src/core/lib/iomgr/unix_sockets_posix.h +0 -8
  347. data/src/core/lib/iomgr/wakeup_fd_cv.cc +4 -4
  348. data/src/core/lib/iomgr/wakeup_fd_cv.h +12 -20
  349. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
  350. data/src/core/lib/iomgr/wakeup_fd_pipe.h +0 -8
  351. data/src/core/lib/iomgr/wakeup_fd_posix.h +0 -8
  352. data/src/core/lib/json/json.h +0 -8
  353. data/src/core/lib/json/json_reader.h +0 -8
  354. data/src/core/lib/json/json_writer.h +0 -8
  355. data/src/core/lib/profiling/basic_timers.cc +3 -2
  356. data/src/core/lib/profiling/timers.h +0 -8
  357. data/src/core/lib/security/context/security_context.cc +9 -10
  358. data/src/core/lib/security/context/security_context.h +0 -8
  359. data/src/core/lib/security/credentials/composite/composite_credentials.cc +23 -28
  360. data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -8
  361. data/src/core/lib/security/credentials/credentials.cc +33 -42
  362. data/src/core/lib/security/credentials/credentials.h +24 -43
  363. data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
  364. data/src/core/lib/security/credentials/fake/fake_credentials.cc +16 -22
  365. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -8
  366. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
  367. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +28 -34
  368. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -8
  369. data/src/core/lib/security/credentials/iam/iam_credentials.cc +9 -13
  370. data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
  371. data/src/core/lib/security/credentials/jwt/json_token.h +0 -8
  372. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +14 -20
  373. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -10
  374. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +56 -72
  375. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +5 -17
  376. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +47 -55
  377. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +3 -12
  378. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +23 -28
  379. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +8 -13
  380. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -8
  381. data/src/core/lib/security/transport/auth_filters.h +0 -8
  382. data/src/core/lib/security/transport/client_auth_filter.cc +45 -54
  383. data/src/core/lib/security/transport/lb_targets_info.cc +2 -2
  384. data/src/core/lib/security/transport/lb_targets_info.h +0 -8
  385. data/src/core/lib/security/transport/secure_endpoint.cc +54 -68
  386. data/src/core/lib/security/transport/secure_endpoint.h +0 -8
  387. data/src/core/lib/security/transport/security_connector.cc +62 -86
  388. data/src/core/lib/security/transport/security_connector.h +22 -39
  389. data/src/core/lib/security/transport/security_handshaker.cc +83 -106
  390. data/src/core/lib/security/transport/security_handshaker.h +1 -10
  391. data/src/core/lib/security/transport/server_auth_filter.cc +31 -38
  392. data/src/core/lib/security/transport/tsi_error.h +0 -8
  393. data/src/core/lib/security/util/json_util.h +0 -8
  394. data/src/core/lib/slice/b64.cc +5 -6
  395. data/src/core/lib/slice/b64.h +3 -12
  396. data/src/core/lib/slice/percent_encoding.h +0 -8
  397. data/src/core/lib/slice/slice.cc +8 -9
  398. data/src/core/lib/slice/slice_buffer.cc +11 -16
  399. data/src/core/lib/slice/slice_hash_table.cc +5 -7
  400. data/src/core/lib/slice/slice_hash_table.h +2 -12
  401. data/src/core/lib/slice/slice_intern.cc +4 -5
  402. data/src/core/lib/slice/slice_internal.h +4 -15
  403. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  404. data/src/core/lib/slice/slice_string_helpers.h +1 -9
  405. data/src/core/lib/surface/alarm.cc +11 -14
  406. data/src/core/lib/surface/alarm_internal.h +0 -8
  407. data/src/core/lib/surface/byte_buffer.cc +2 -3
  408. data/src/core/lib/surface/byte_buffer_reader.cc +7 -9
  409. data/src/core/lib/surface/call.cc +198 -241
  410. data/src/core/lib/surface/call.h +9 -23
  411. data/src/core/lib/surface/call_details.cc +3 -4
  412. data/src/core/lib/surface/call_log_batch.cc +1 -1
  413. data/src/core/lib/surface/call_test_only.h +0 -8
  414. data/src/core/lib/surface/channel.cc +53 -64
  415. data/src/core/lib/surface/channel.h +12 -23
  416. data/src/core/lib/surface/channel_init.cc +2 -3
  417. data/src/core/lib/surface/channel_init.h +2 -12
  418. data/src/core/lib/surface/channel_ping.cc +7 -9
  419. data/src/core/lib/surface/channel_stack_type.h +0 -8
  420. data/src/core/lib/surface/completion_queue.cc +158 -176
  421. data/src/core/lib/surface/completion_queue.h +9 -20
  422. data/src/core/lib/surface/completion_queue_factory.h +0 -8
  423. data/src/core/lib/surface/event_string.cc +1 -1
  424. data/src/core/lib/surface/event_string.h +0 -8
  425. data/src/core/lib/surface/init.cc +27 -25
  426. data/src/core/lib/surface/init.h +0 -8
  427. data/src/core/lib/surface/init_secure.cc +2 -2
  428. data/src/core/lib/surface/lame_client.cc +30 -33
  429. data/src/core/lib/surface/lame_client.h +0 -8
  430. data/src/core/lib/surface/server.cc +151 -203
  431. data/src/core/lib/surface/server.h +7 -16
  432. data/src/core/lib/surface/validate_metadata.h +0 -8
  433. data/src/core/lib/surface/version.cc +2 -2
  434. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  435. data/src/core/lib/transport/bdp_estimator.h +1 -1
  436. data/src/core/lib/transport/byte_stream.cc +24 -38
  437. data/src/core/lib/transport/byte_stream.h +10 -25
  438. data/src/core/lib/transport/connectivity_state.cc +9 -13
  439. data/src/core/lib/transport/connectivity_state.h +4 -14
  440. data/src/core/lib/transport/error_utils.cc +6 -6
  441. data/src/core/lib/transport/error_utils.h +2 -11
  442. data/src/core/lib/transport/metadata.cc +21 -23
  443. data/src/core/lib/transport/metadata.h +8 -20
  444. data/src/core/lib/transport/metadata_batch.cc +34 -45
  445. data/src/core/lib/transport/metadata_batch.h +18 -32
  446. data/src/core/lib/transport/service_config.cc +11 -15
  447. data/src/core/lib/transport/service_config.h +3 -13
  448. data/src/core/lib/transport/static_metadata.cc +1 -1
  449. data/src/core/lib/transport/static_metadata.h +1 -7
  450. data/src/core/lib/transport/status_conversion.cc +2 -3
  451. data/src/core/lib/transport/status_conversion.h +1 -10
  452. data/src/core/lib/transport/timeout_encoding.cc +1 -1
  453. data/src/core/lib/transport/timeout_encoding.h +1 -9
  454. data/src/core/lib/transport/transport.cc +36 -50
  455. data/src/core/lib/transport/transport.h +28 -30
  456. data/src/core/lib/transport/transport_impl.h +12 -23
  457. data/src/core/lib/transport/transport_op_string.cc +2 -2
  458. data/src/core/plugin_registry/grpc_plugin_registry.cc +34 -34
  459. data/src/core/tsi/fake_transport_security.cc +7 -10
  460. data/src/core/tsi/fake_transport_security.h +0 -8
  461. data/src/core/tsi/gts_transport_security.cc +2 -2
  462. data/src/core/tsi/gts_transport_security.h +0 -8
  463. data/src/core/tsi/ssl_transport_security.cc +3 -0
  464. data/src/core/tsi/ssl_transport_security.h +0 -8
  465. data/src/core/tsi/ssl_types.h +0 -8
  466. data/src/core/tsi/transport_security.h +1 -9
  467. data/src/core/tsi/transport_security_adapter.h +0 -8
  468. data/src/core/tsi/transport_security_grpc.cc +11 -18
  469. data/src/core/tsi/transport_security_grpc.h +9 -21
  470. data/src/core/tsi/transport_security_interface.h +0 -8
  471. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +0 -30
  472. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -48
  473. data/src/ruby/lib/grpc/version.rb +1 -1
  474. data/src/ruby/spec/channel_connection_spec.rb +2 -1
  475. data/src/ruby/spec/client_auth_spec.rb +1 -1
  476. data/src/ruby/spec/client_server_spec.rb +2 -2
  477. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  478. data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
  479. data/src/ruby/spec/generic/interceptor_registry_spec.rb +1 -1
  480. data/src/ruby/spec/generic/rpc_server_spec.rb +12 -12
  481. data/src/ruby/spec/google_rpc_status_utils_spec.rb +3 -2
  482. data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
  483. data/src/ruby/spec/server_spec.rb +9 -9
  484. data/src/ruby/spec/support/helpers.rb +35 -1
  485. metadata +68 -66
  486. data/include/grpc/impl/codegen/exec_ctx_fwd.h +0 -26
  487. data/include/grpc/support/histogram.h +0 -64
  488. data/src/core/lib/support/histogram.cc +0 -227
@@ -22,10 +22,6 @@
22
22
  #include <stddef.h>
23
23
  #include "src/core/lib/iomgr/exec_ctx.h"
24
24
 
25
- #ifdef __cplusplus
26
- extern "C" {
27
- #endif
28
-
29
25
  typedef struct {
30
26
  char* scheme;
31
27
  char* authority;
@@ -41,8 +37,7 @@ typedef struct {
41
37
  } grpc_uri;
42
38
 
43
39
  /** parse a uri, return NULL on failure */
44
- grpc_uri* grpc_uri_parse(grpc_exec_ctx* exec_ctx, const char* uri_text,
45
- bool suppress_errors);
40
+ grpc_uri* grpc_uri_parse(const char* uri_text, bool suppress_errors);
46
41
 
47
42
  /** return the part of a query string after the '=' in "?key=xxx&...", or NULL
48
43
  * if key is not present */
@@ -51,8 +46,4 @@ const char* grpc_uri_get_query_arg(const grpc_uri* uri, const char* key);
51
46
  /** destroy a uri */
52
47
  void grpc_uri_destroy(grpc_uri* uri);
53
48
 
54
- #ifdef __cplusplus
55
- }
56
- #endif
57
-
58
49
  #endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_URI_PARSER_H */
@@ -36,18 +36,16 @@
36
36
 
37
37
  // The on_complete callback used when sending a cancel_error batch down the
38
38
  // filter stack. Yields the call combiner when the batch returns.
39
- static void yield_call_combiner(grpc_exec_ctx* exec_ctx, void* arg,
40
- grpc_error* ignored) {
39
+ static void yield_call_combiner(void* arg, grpc_error* ignored) {
41
40
  grpc_deadline_state* deadline_state = (grpc_deadline_state*)arg;
42
- GRPC_CALL_COMBINER_STOP(exec_ctx, deadline_state->call_combiner,
41
+ GRPC_CALL_COMBINER_STOP(deadline_state->call_combiner,
43
42
  "got on_complete from cancel_stream batch");
44
- GRPC_CALL_STACK_UNREF(exec_ctx, deadline_state->call_stack, "deadline_timer");
43
+ GRPC_CALL_STACK_UNREF(deadline_state->call_stack, "deadline_timer");
45
44
  }
46
45
 
47
46
  // This is called via the call combiner, so access to deadline_state is
48
47
  // synchronized.
49
- static void send_cancel_op_in_call_combiner(grpc_exec_ctx* exec_ctx, void* arg,
50
- grpc_error* error) {
48
+ static void send_cancel_op_in_call_combiner(void* arg, grpc_error* error) {
51
49
  grpc_call_element* elem = (grpc_call_element*)arg;
52
50
  grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
53
51
  grpc_transport_stream_op_batch* batch = grpc_make_transport_stream_op(
@@ -55,37 +53,34 @@ static void send_cancel_op_in_call_combiner(grpc_exec_ctx* exec_ctx, void* arg,
55
53
  deadline_state, grpc_schedule_on_exec_ctx));
56
54
  batch->cancel_stream = true;
57
55
  batch->payload->cancel_stream.cancel_error = GRPC_ERROR_REF(error);
58
- elem->filter->start_transport_stream_op_batch(exec_ctx, elem, batch);
56
+ elem->filter->start_transport_stream_op_batch(elem, batch);
59
57
  }
60
58
 
61
59
  // Timer callback.
62
- static void timer_callback(grpc_exec_ctx* exec_ctx, void* arg,
63
- grpc_error* error) {
60
+ static void timer_callback(void* arg, grpc_error* error) {
64
61
  grpc_call_element* elem = (grpc_call_element*)arg;
65
62
  grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
66
63
  if (error != GRPC_ERROR_CANCELLED) {
67
64
  error = grpc_error_set_int(
68
65
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Deadline Exceeded"),
69
66
  GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_DEADLINE_EXCEEDED);
70
- grpc_call_combiner_cancel(exec_ctx, deadline_state->call_combiner,
67
+ grpc_call_combiner_cancel(deadline_state->call_combiner,
71
68
  GRPC_ERROR_REF(error));
72
69
  GRPC_CLOSURE_INIT(&deadline_state->timer_callback,
73
70
  send_cancel_op_in_call_combiner, elem,
74
71
  grpc_schedule_on_exec_ctx);
75
- GRPC_CALL_COMBINER_START(exec_ctx, deadline_state->call_combiner,
72
+ GRPC_CALL_COMBINER_START(deadline_state->call_combiner,
76
73
  &deadline_state->timer_callback, error,
77
74
  "deadline exceeded -- sending cancel_stream op");
78
75
  } else {
79
- GRPC_CALL_STACK_UNREF(exec_ctx, deadline_state->call_stack,
80
- "deadline_timer");
76
+ GRPC_CALL_STACK_UNREF(deadline_state->call_stack, "deadline_timer");
81
77
  }
82
78
  }
83
79
 
84
80
  // Starts the deadline timer.
85
81
  // This is called via the call combiner, so access to deadline_state is
86
82
  // synchronized.
87
- static void start_timer_if_needed(grpc_exec_ctx* exec_ctx,
88
- grpc_call_element* elem,
83
+ static void start_timer_if_needed(grpc_call_element* elem,
89
84
  grpc_millis deadline) {
90
85
  if (deadline == GRPC_MILLIS_INF_FUTURE) {
91
86
  return;
@@ -113,17 +108,16 @@ static void start_timer_if_needed(grpc_exec_ctx* exec_ctx,
113
108
  }
114
109
  GPR_ASSERT(closure != nullptr);
115
110
  GRPC_CALL_STACK_REF(deadline_state->call_stack, "deadline_timer");
116
- grpc_timer_init(exec_ctx, &deadline_state->timer, deadline, closure);
111
+ grpc_timer_init(&deadline_state->timer, deadline, closure);
117
112
  }
118
113
 
119
114
  // Cancels the deadline timer.
120
115
  // This is called via the call combiner, so access to deadline_state is
121
116
  // synchronized.
122
- static void cancel_timer_if_needed(grpc_exec_ctx* exec_ctx,
123
- grpc_deadline_state* deadline_state) {
117
+ static void cancel_timer_if_needed(grpc_deadline_state* deadline_state) {
124
118
  if (deadline_state->timer_state == GRPC_DEADLINE_STATE_PENDING) {
125
119
  deadline_state->timer_state = GRPC_DEADLINE_STATE_FINISHED;
126
- grpc_timer_cancel(exec_ctx, &deadline_state->timer);
120
+ grpc_timer_cancel(&deadline_state->timer);
127
121
  } else {
128
122
  // timer was either in STATE_INITAL (nothing to cancel)
129
123
  // OR in STATE_FINISHED (again nothing to cancel)
@@ -131,12 +125,11 @@ static void cancel_timer_if_needed(grpc_exec_ctx* exec_ctx,
131
125
  }
132
126
 
133
127
  // Callback run when the call is complete.
134
- static void on_complete(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
128
+ static void on_complete(void* arg, grpc_error* error) {
135
129
  grpc_deadline_state* deadline_state = (grpc_deadline_state*)arg;
136
- cancel_timer_if_needed(exec_ctx, deadline_state);
130
+ cancel_timer_if_needed(deadline_state);
137
131
  // Invoke the next callback.
138
- GRPC_CLOSURE_RUN(exec_ctx, deadline_state->next_on_complete,
139
- GRPC_ERROR_REF(error));
132
+ GRPC_CLOSURE_RUN(deadline_state->next_on_complete, GRPC_ERROR_REF(error));
140
133
  }
141
134
 
142
135
  // Inject our own on_complete callback into op.
@@ -156,8 +149,7 @@ struct start_timer_after_init_state {
156
149
  grpc_millis deadline;
157
150
  grpc_closure closure;
158
151
  };
159
- static void start_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg,
160
- grpc_error* error) {
152
+ static void start_timer_after_init(void* arg, grpc_error* error) {
161
153
  struct start_timer_after_init_state* state =
162
154
  (struct start_timer_after_init_state*)arg;
163
155
  grpc_deadline_state* deadline_state =
@@ -166,18 +158,18 @@ static void start_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg,
166
158
  // We are initially called without holding the call combiner, so we
167
159
  // need to bounce ourselves into it.
168
160
  state->in_call_combiner = true;
169
- GRPC_CALL_COMBINER_START(exec_ctx, deadline_state->call_combiner,
170
- &state->closure, GRPC_ERROR_REF(error),
161
+ GRPC_CALL_COMBINER_START(deadline_state->call_combiner, &state->closure,
162
+ GRPC_ERROR_REF(error),
171
163
  "scheduling deadline timer");
172
164
  return;
173
165
  }
174
- start_timer_if_needed(exec_ctx, state->elem, state->deadline);
166
+ start_timer_if_needed(state->elem, state->deadline);
175
167
  gpr_free(state);
176
- GRPC_CALL_COMBINER_STOP(exec_ctx, deadline_state->call_combiner,
168
+ GRPC_CALL_COMBINER_STOP(deadline_state->call_combiner,
177
169
  "done scheduling deadline timer");
178
170
  }
179
171
 
180
- void grpc_deadline_state_init(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
172
+ void grpc_deadline_state_init(grpc_call_element* elem,
181
173
  grpc_call_stack* call_stack,
182
174
  grpc_call_combiner* call_combiner,
183
175
  grpc_millis deadline) {
@@ -200,29 +192,27 @@ void grpc_deadline_state_init(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
200
192
  state->deadline = deadline;
201
193
  GRPC_CLOSURE_INIT(&state->closure, start_timer_after_init, state,
202
194
  grpc_schedule_on_exec_ctx);
203
- GRPC_CLOSURE_SCHED(exec_ctx, &state->closure, GRPC_ERROR_NONE);
195
+ GRPC_CLOSURE_SCHED(&state->closure, GRPC_ERROR_NONE);
204
196
  }
205
197
  }
206
198
 
207
- void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx,
208
- grpc_call_element* elem) {
199
+ void grpc_deadline_state_destroy(grpc_call_element* elem) {
209
200
  grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
210
- cancel_timer_if_needed(exec_ctx, deadline_state);
201
+ cancel_timer_if_needed(deadline_state);
211
202
  }
212
203
 
213
- void grpc_deadline_state_reset(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
204
+ void grpc_deadline_state_reset(grpc_call_element* elem,
214
205
  grpc_millis new_deadline) {
215
206
  grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
216
- cancel_timer_if_needed(exec_ctx, deadline_state);
217
- start_timer_if_needed(exec_ctx, elem, new_deadline);
207
+ cancel_timer_if_needed(deadline_state);
208
+ start_timer_if_needed(elem, new_deadline);
218
209
  }
219
210
 
220
211
  void grpc_deadline_state_client_start_transport_stream_op_batch(
221
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
222
- grpc_transport_stream_op_batch* op) {
212
+ grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
223
213
  grpc_deadline_state* deadline_state = (grpc_deadline_state*)elem->call_data;
224
214
  if (op->cancel_stream) {
225
- cancel_timer_if_needed(exec_ctx, deadline_state);
215
+ cancel_timer_if_needed(deadline_state);
226
216
  } else {
227
217
  // Make sure we know when the call is complete, so that we can cancel
228
218
  // the timer.
@@ -237,16 +227,14 @@ void grpc_deadline_state_client_start_transport_stream_op_batch(
237
227
  //
238
228
 
239
229
  // Constructor for channel_data. Used for both client and server filters.
240
- static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
241
- grpc_channel_element* elem,
230
+ static grpc_error* init_channel_elem(grpc_channel_element* elem,
242
231
  grpc_channel_element_args* args) {
243
232
  GPR_ASSERT(!args->is_last);
244
233
  return GRPC_ERROR_NONE;
245
234
  }
246
235
 
247
236
  // Destructor for channel_data. Used for both client and server filters.
248
- static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
249
- grpc_channel_element* elem) {}
237
+ static void destroy_channel_elem(grpc_channel_element* elem) {}
250
238
 
251
239
  // Call data used for both client and server filter.
252
240
  typedef struct base_call_data {
@@ -266,50 +254,45 @@ typedef struct server_call_data {
266
254
  } server_call_data;
267
255
 
268
256
  // Constructor for call_data. Used for both client and server filters.
269
- static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
270
- grpc_call_element* elem,
257
+ static grpc_error* init_call_elem(grpc_call_element* elem,
271
258
  const grpc_call_element_args* args) {
272
- grpc_deadline_state_init(exec_ctx, elem, args->call_stack,
273
- args->call_combiner, args->deadline);
259
+ grpc_deadline_state_init(elem, args->call_stack, args->call_combiner,
260
+ args->deadline);
274
261
  return GRPC_ERROR_NONE;
275
262
  }
276
263
 
277
264
  // Destructor for call_data. Used for both client and server filters.
278
- static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
265
+ static void destroy_call_elem(grpc_call_element* elem,
279
266
  const grpc_call_final_info* final_info,
280
267
  grpc_closure* ignored) {
281
- grpc_deadline_state_destroy(exec_ctx, elem);
268
+ grpc_deadline_state_destroy(elem);
282
269
  }
283
270
 
284
271
  // Method for starting a call op for client filter.
285
272
  static void client_start_transport_stream_op_batch(
286
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
287
- grpc_transport_stream_op_batch* op) {
288
- grpc_deadline_state_client_start_transport_stream_op_batch(exec_ctx, elem,
289
- op);
273
+ grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
274
+ grpc_deadline_state_client_start_transport_stream_op_batch(elem, op);
290
275
  // Chain to next filter.
291
- grpc_call_next_op(exec_ctx, elem, op);
276
+ grpc_call_next_op(elem, op);
292
277
  }
293
278
 
294
279
  // Callback for receiving initial metadata on the server.
295
- static void recv_initial_metadata_ready(grpc_exec_ctx* exec_ctx, void* arg,
296
- grpc_error* error) {
280
+ static void recv_initial_metadata_ready(void* arg, grpc_error* error) {
297
281
  grpc_call_element* elem = (grpc_call_element*)arg;
298
282
  server_call_data* calld = (server_call_data*)elem->call_data;
299
283
  // Get deadline from metadata and start the timer if needed.
300
- start_timer_if_needed(exec_ctx, elem, calld->recv_initial_metadata->deadline);
284
+ start_timer_if_needed(elem, calld->recv_initial_metadata->deadline);
301
285
  // Invoke the next callback.
302
286
  calld->next_recv_initial_metadata_ready->cb(
303
- exec_ctx, calld->next_recv_initial_metadata_ready->cb_arg, error);
287
+ calld->next_recv_initial_metadata_ready->cb_arg, error);
304
288
  }
305
289
 
306
290
  // Method for starting a call op for server filter.
307
291
  static void server_start_transport_stream_op_batch(
308
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
309
- grpc_transport_stream_op_batch* op) {
292
+ grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
310
293
  server_call_data* calld = (server_call_data*)elem->call_data;
311
294
  if (op->cancel_stream) {
312
- cancel_timer_if_needed(exec_ctx, &calld->base.deadline_state);
295
+ cancel_timer_if_needed(&calld->base.deadline_state);
313
296
  } else {
314
297
  // If we're receiving initial metadata, we need to get the deadline
315
298
  // from the recv_initial_metadata_ready callback. So we inject our
@@ -335,7 +318,7 @@ static void server_start_transport_stream_op_batch(
335
318
  }
336
319
  }
337
320
  // Chain to next filter.
338
- grpc_call_next_op(exec_ctx, elem, op);
321
+ grpc_call_next_op(elem, op);
339
322
  }
340
323
 
341
324
  const grpc_channel_filter grpc_client_deadline_filter = {
@@ -372,8 +355,7 @@ bool grpc_deadline_checking_enabled(const grpc_channel_args* channel_args) {
372
355
  !grpc_channel_args_want_minimal_stack(channel_args));
373
356
  }
374
357
 
375
- static bool maybe_add_deadline_filter(grpc_exec_ctx* exec_ctx,
376
- grpc_channel_stack_builder* builder,
358
+ static bool maybe_add_deadline_filter(grpc_channel_stack_builder* builder,
377
359
  void* arg) {
378
360
  return grpc_deadline_checking_enabled(
379
361
  grpc_channel_stack_builder_get_channel_arguments(builder))
@@ -382,7 +364,7 @@ static bool maybe_add_deadline_filter(grpc_exec_ctx* exec_ctx,
382
364
  : true;
383
365
  }
384
366
 
385
- extern "C" void grpc_deadline_filter_init(void) {
367
+ void grpc_deadline_filter_init(void) {
386
368
  grpc_channel_init_register_stage(
387
369
  GRPC_CLIENT_DIRECT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
388
370
  maybe_add_deadline_filter, (void*)&grpc_client_deadline_filter);
@@ -391,4 +373,4 @@ extern "C" void grpc_deadline_filter_init(void) {
391
373
  maybe_add_deadline_filter, (void*)&grpc_server_deadline_filter);
392
374
  }
393
375
 
394
- extern "C" void grpc_deadline_filter_shutdown(void) {}
376
+ void grpc_deadline_filter_shutdown(void) {}
@@ -20,10 +20,6 @@
20
20
  #include "src/core/lib/channel/channel_stack.h"
21
21
  #include "src/core/lib/iomgr/timer.h"
22
22
 
23
- #ifdef __cplusplus
24
- extern "C" {
25
- #endif
26
-
27
23
  typedef enum grpc_deadline_timer_state {
28
24
  GRPC_DEADLINE_STATE_INITIAL,
29
25
  GRPC_DEADLINE_STATE_PENDING,
@@ -53,13 +49,12 @@ typedef struct grpc_deadline_state {
53
49
  //
54
50
 
55
51
  // assumes elem->call_data is zero'd
56
- void grpc_deadline_state_init(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
52
+ void grpc_deadline_state_init(grpc_call_element* elem,
57
53
  grpc_call_stack* call_stack,
58
54
  grpc_call_combiner* call_combiner,
59
55
  grpc_millis deadline);
60
56
 
61
- void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx,
62
- grpc_call_element* elem);
57
+ void grpc_deadline_state_destroy(grpc_call_element* elem);
63
58
 
64
59
  // Cancels the existing timer and starts a new one with new_deadline.
65
60
  //
@@ -70,7 +65,7 @@ void grpc_deadline_state_destroy(grpc_exec_ctx* exec_ctx,
70
65
  // deadline may result in the timer being called twice.
71
66
  //
72
67
  // Note: Must be called while holding the call combiner.
73
- void grpc_deadline_state_reset(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
68
+ void grpc_deadline_state_reset(grpc_call_element* elem,
74
69
  grpc_millis new_deadline);
75
70
 
76
71
  // To be called from the client-side filter's start_transport_stream_op_batch()
@@ -82,8 +77,7 @@ void grpc_deadline_state_reset(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
82
77
  //
83
78
  // Note: Must be called while holding the call combiner.
84
79
  void grpc_deadline_state_client_start_transport_stream_op_batch(
85
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
86
- grpc_transport_stream_op_batch* op);
80
+ grpc_call_element* elem, grpc_transport_stream_op_batch* op);
87
81
 
88
82
  // Should deadline checking be performed (according to channel args)
89
83
  bool grpc_deadline_checking_enabled(const grpc_channel_args* args);
@@ -94,8 +88,4 @@ bool grpc_deadline_checking_enabled(const grpc_channel_args* args);
94
88
  extern const grpc_channel_filter grpc_client_deadline_filter;
95
89
  extern const grpc_channel_filter grpc_server_deadline_filter;
96
90
 
97
- #ifdef __cplusplus
98
- }
99
- #endif
100
-
101
91
  #endif /* GRPC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H */
@@ -20,12 +20,12 @@
20
20
  #include <grpc/support/log.h>
21
21
  #include <grpc/support/string_util.h>
22
22
  #include <string.h>
23
+ #include "src/core/lib/gpr/string.h"
23
24
  #include "src/core/lib/profiling/timers.h"
24
25
  #include "src/core/lib/slice/b64.h"
25
26
  #include "src/core/lib/slice/percent_encoding.h"
26
27
  #include "src/core/lib/slice/slice_internal.h"
27
28
  #include "src/core/lib/slice/slice_string_helpers.h"
28
- #include "src/core/lib/support/string.h"
29
29
  #include "src/core/lib/transport/static_metadata.h"
30
30
  #include "src/core/lib/transport/transport_impl.h"
31
31
 
@@ -35,7 +35,8 @@
35
35
  /* default maximum size of payload eligable for GET request */
36
36
  static const size_t kMaxPayloadSizeForGet = 2048;
37
37
 
38
- typedef struct call_data {
38
+ namespace {
39
+ struct call_data {
39
40
  grpc_call_combiner* call_combiner;
40
41
  // State for handling send_initial_metadata ops.
41
42
  grpc_linked_mdelem method;
@@ -60,20 +61,20 @@ typedef struct call_data {
60
61
  grpc_closure on_send_message_next_done;
61
62
  grpc_closure* original_send_message_on_complete;
62
63
  grpc_closure send_message_on_complete;
63
- } call_data;
64
+ };
64
65
 
65
- typedef struct channel_data {
66
+ struct channel_data {
66
67
  grpc_mdelem static_scheme;
67
68
  grpc_mdelem user_agent;
68
69
  size_t max_payload_size_for_get;
69
- } channel_data;
70
+ };
71
+ } // namespace
70
72
 
71
- static grpc_error* client_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
72
- grpc_call_element* elem,
73
+ static grpc_error* client_filter_incoming_metadata(grpc_call_element* elem,
73
74
  grpc_metadata_batch* b) {
74
75
  if (b->idx.named.status != nullptr) {
75
76
  if (grpc_mdelem_eq(b->idx.named.status->md, GRPC_MDELEM_STATUS_200)) {
76
- grpc_metadata_batch_remove(exec_ctx, b, b->idx.named.status);
77
+ grpc_metadata_batch_remove(b, b->idx.named.status);
77
78
  } else {
78
79
  char* val = grpc_dump_slice(GRPC_MDVALUE(b->idx.named.status->md),
79
80
  GPR_DUMP_ASCII);
@@ -98,10 +99,9 @@ static grpc_error* client_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
98
99
  GRPC_MDVALUE(b->idx.named.grpc_message->md));
99
100
  if (grpc_slice_is_equivalent(pct_decoded_msg,
100
101
  GRPC_MDVALUE(b->idx.named.grpc_message->md))) {
101
- grpc_slice_unref_internal(exec_ctx, pct_decoded_msg);
102
+ grpc_slice_unref_internal(pct_decoded_msg);
102
103
  } else {
103
- grpc_metadata_batch_set_value(exec_ctx, b->idx.named.grpc_message,
104
- pct_decoded_msg);
104
+ grpc_metadata_batch_set_value(b->idx.named.grpc_message, pct_decoded_msg);
105
105
  }
106
106
  }
107
107
 
@@ -131,60 +131,53 @@ static grpc_error* client_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
131
131
  gpr_free(val);
132
132
  }
133
133
  }
134
- grpc_metadata_batch_remove(exec_ctx, b, b->idx.named.content_type);
134
+ grpc_metadata_batch_remove(b, b->idx.named.content_type);
135
135
  }
136
136
 
137
137
  return GRPC_ERROR_NONE;
138
138
  }
139
139
 
140
- static void recv_initial_metadata_ready(grpc_exec_ctx* exec_ctx,
141
- void* user_data, grpc_error* error) {
140
+ static void recv_initial_metadata_ready(void* user_data, grpc_error* error) {
142
141
  grpc_call_element* elem = (grpc_call_element*)user_data;
143
142
  call_data* calld = (call_data*)elem->call_data;
144
143
  if (error == GRPC_ERROR_NONE) {
145
- error = client_filter_incoming_metadata(exec_ctx, elem,
146
- calld->recv_initial_metadata);
144
+ error = client_filter_incoming_metadata(elem, calld->recv_initial_metadata);
147
145
  } else {
148
146
  GRPC_ERROR_REF(error);
149
147
  }
150
- GRPC_CLOSURE_RUN(exec_ctx, calld->original_recv_initial_metadata_ready,
151
- error);
148
+ GRPC_CLOSURE_RUN(calld->original_recv_initial_metadata_ready, error);
152
149
  }
153
150
 
154
- static void recv_trailing_metadata_on_complete(grpc_exec_ctx* exec_ctx,
155
- void* user_data,
151
+ static void recv_trailing_metadata_on_complete(void* user_data,
156
152
  grpc_error* error) {
157
153
  grpc_call_element* elem = (grpc_call_element*)user_data;
158
154
  call_data* calld = (call_data*)elem->call_data;
159
155
  if (error == GRPC_ERROR_NONE) {
160
- error = client_filter_incoming_metadata(exec_ctx, elem,
161
- calld->recv_trailing_metadata);
156
+ error =
157
+ client_filter_incoming_metadata(elem, calld->recv_trailing_metadata);
162
158
  } else {
163
159
  GRPC_ERROR_REF(error);
164
160
  }
165
- GRPC_CLOSURE_RUN(exec_ctx, calld->original_recv_trailing_metadata_on_complete,
166
- error);
161
+ GRPC_CLOSURE_RUN(calld->original_recv_trailing_metadata_on_complete, error);
167
162
  }
168
163
 
169
- static void send_message_on_complete(grpc_exec_ctx* exec_ctx, void* arg,
170
- grpc_error* error) {
164
+ static void send_message_on_complete(void* arg, grpc_error* error) {
171
165
  grpc_call_element* elem = (grpc_call_element*)arg;
172
166
  call_data* calld = (call_data*)elem->call_data;
173
- grpc_byte_stream_cache_destroy(exec_ctx, &calld->send_message_cache);
174
- GRPC_CLOSURE_RUN(exec_ctx, calld->original_send_message_on_complete,
167
+ grpc_byte_stream_cache_destroy(&calld->send_message_cache);
168
+ GRPC_CLOSURE_RUN(calld->original_send_message_on_complete,
175
169
  GRPC_ERROR_REF(error));
176
170
  }
177
171
 
178
172
  // Pulls a slice from the send_message byte stream, updating
179
173
  // calld->send_message_bytes_read.
180
- static grpc_error* pull_slice_from_send_message(grpc_exec_ctx* exec_ctx,
181
- call_data* calld) {
174
+ static grpc_error* pull_slice_from_send_message(call_data* calld) {
182
175
  grpc_slice incoming_slice;
183
176
  grpc_error* error = grpc_byte_stream_pull(
184
- exec_ctx, &calld->send_message_caching_stream.base, &incoming_slice);
177
+ &calld->send_message_caching_stream.base, &incoming_slice);
185
178
  if (error == GRPC_ERROR_NONE) {
186
179
  calld->send_message_bytes_read += GRPC_SLICE_LENGTH(incoming_slice);
187
- grpc_slice_unref_internal(exec_ctx, incoming_slice);
180
+ grpc_slice_unref_internal(incoming_slice);
188
181
  }
189
182
  return error;
190
183
  }
@@ -194,12 +187,10 @@ static grpc_error* pull_slice_from_send_message(grpc_exec_ctx* exec_ctx,
194
187
  // calld->send_message_caching_stream.base.length, then we have completed
195
188
  // reading from the byte stream; otherwise, an async read has been dispatched
196
189
  // and on_send_message_next_done() will be invoked when it is complete.
197
- static grpc_error* read_all_available_send_message_data(grpc_exec_ctx* exec_ctx,
198
- call_data* calld) {
199
- while (grpc_byte_stream_next(exec_ctx,
200
- &calld->send_message_caching_stream.base,
190
+ static grpc_error* read_all_available_send_message_data(call_data* calld) {
191
+ while (grpc_byte_stream_next(&calld->send_message_caching_stream.base,
201
192
  ~(size_t)0, &calld->on_send_message_next_done)) {
202
- grpc_error* error = pull_slice_from_send_message(exec_ctx, calld);
193
+ grpc_error* error = pull_slice_from_send_message(calld);
203
194
  if (error != GRPC_ERROR_NONE) return error;
204
195
  if (calld->send_message_bytes_read ==
205
196
  calld->send_message_caching_stream.base.length) {
@@ -210,19 +201,18 @@ static grpc_error* read_all_available_send_message_data(grpc_exec_ctx* exec_ctx,
210
201
  }
211
202
 
212
203
  // Async callback for grpc_byte_stream_next().
213
- static void on_send_message_next_done(grpc_exec_ctx* exec_ctx, void* arg,
214
- grpc_error* error) {
204
+ static void on_send_message_next_done(void* arg, grpc_error* error) {
215
205
  grpc_call_element* elem = (grpc_call_element*)arg;
216
206
  call_data* calld = (call_data*)elem->call_data;
217
207
  if (error != GRPC_ERROR_NONE) {
218
208
  grpc_transport_stream_op_batch_finish_with_failure(
219
- exec_ctx, calld->send_message_batch, error, calld->call_combiner);
209
+ calld->send_message_batch, error, calld->call_combiner);
220
210
  return;
221
211
  }
222
- error = pull_slice_from_send_message(exec_ctx, calld);
212
+ error = pull_slice_from_send_message(calld);
223
213
  if (error != GRPC_ERROR_NONE) {
224
214
  grpc_transport_stream_op_batch_finish_with_failure(
225
- exec_ctx, calld->send_message_batch, error, calld->call_combiner);
215
+ calld->send_message_batch, error, calld->call_combiner);
226
216
  return;
227
217
  }
228
218
  // There may or may not be more to read, but we don't care. If we got
@@ -230,7 +220,7 @@ static void on_send_message_next_done(grpc_exec_ctx* exec_ctx, void* arg,
230
220
  // synchronously, so we were not able to do a cached call. Instead,
231
221
  // we just reset the byte stream and then send down the batch as-is.
232
222
  grpc_caching_byte_stream_reset(&calld->send_message_caching_stream);
233
- grpc_call_next_op(exec_ctx, elem, calld->send_message_batch);
223
+ grpc_call_next_op(elem, calld->send_message_batch);
234
224
  }
235
225
 
236
226
  static char* slice_buffer_to_string(grpc_slice_buffer* slice_buffer) {
@@ -248,8 +238,7 @@ static char* slice_buffer_to_string(grpc_slice_buffer* slice_buffer) {
248
238
 
249
239
  // Modifies the path entry in the batch's send_initial_metadata to
250
240
  // append the base64-encoded query for a GET request.
251
- static grpc_error* update_path_for_get(grpc_exec_ctx* exec_ctx,
252
- grpc_call_element* elem,
241
+ static grpc_error* update_path_for_get(grpc_call_element* elem,
253
242
  grpc_transport_stream_op_batch* batch) {
254
243
  call_data* calld = (call_data*)elem->call_data;
255
244
  grpc_slice path_slice =
@@ -282,24 +271,22 @@ static grpc_error* update_path_for_get(grpc_exec_ctx* exec_ctx,
282
271
  grpc_slice_sub_no_ref(path_with_query_slice, 0, strlen(t));
283
272
  /* substitute previous path with the new path+query */
284
273
  grpc_mdelem mdelem_path_and_query =
285
- grpc_mdelem_from_slices(exec_ctx, GRPC_MDSTR_PATH, path_with_query_slice);
274
+ grpc_mdelem_from_slices(GRPC_MDSTR_PATH, path_with_query_slice);
286
275
  grpc_metadata_batch* b =
287
276
  batch->payload->send_initial_metadata.send_initial_metadata;
288
- return grpc_metadata_batch_substitute(exec_ctx, b, b->idx.named.path,
277
+ return grpc_metadata_batch_substitute(b, b->idx.named.path,
289
278
  mdelem_path_and_query);
290
279
  }
291
280
 
292
- static void remove_if_present(grpc_exec_ctx* exec_ctx,
293
- grpc_metadata_batch* batch,
281
+ static void remove_if_present(grpc_metadata_batch* batch,
294
282
  grpc_metadata_batch_callouts_index idx) {
295
283
  if (batch->idx.array[idx] != nullptr) {
296
- grpc_metadata_batch_remove(exec_ctx, batch, batch->idx.array[idx]);
284
+ grpc_metadata_batch_remove(batch, batch->idx.array[idx]);
297
285
  }
298
286
  }
299
287
 
300
288
  static void hc_start_transport_stream_op_batch(
301
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
302
- grpc_transport_stream_op_batch* batch) {
289
+ grpc_call_element* elem, grpc_transport_stream_op_batch* batch) {
303
290
  call_data* calld = (call_data*)elem->call_data;
304
291
  channel_data* channeld = (channel_data*)elem->channel_data;
305
292
  GPR_TIMER_BEGIN("hc_start_transport_stream_op_batch", 0);
@@ -345,17 +332,16 @@ static void hc_start_transport_stream_op_batch(
345
332
  calld->original_send_message_on_complete = batch->on_complete;
346
333
  batch->on_complete = &calld->send_message_on_complete;
347
334
  calld->send_message_batch = batch;
348
- error = read_all_available_send_message_data(exec_ctx, calld);
335
+ error = read_all_available_send_message_data(calld);
349
336
  if (error != GRPC_ERROR_NONE) goto done;
350
337
  // If all the data has been read, then we can use GET.
351
338
  if (calld->send_message_bytes_read ==
352
339
  calld->send_message_caching_stream.base.length) {
353
340
  method = GRPC_MDELEM_METHOD_GET;
354
- error = update_path_for_get(exec_ctx, elem, batch);
341
+ error = update_path_for_get(elem, batch);
355
342
  if (error != GRPC_ERROR_NONE) goto done;
356
343
  batch->send_message = false;
357
- grpc_byte_stream_destroy(exec_ctx,
358
- &calld->send_message_caching_stream.base);
344
+ grpc_byte_stream_destroy(&calld->send_message_caching_stream.base);
359
345
  } else {
360
346
  // Not all data is available. The batch will be sent down
361
347
  // asynchronously in on_send_message_next_done().
@@ -372,41 +358,41 @@ static void hc_start_transport_stream_op_batch(
372
358
  }
373
359
 
374
360
  remove_if_present(
375
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
361
+ batch->payload->send_initial_metadata.send_initial_metadata,
376
362
  GRPC_BATCH_METHOD);
377
363
  remove_if_present(
378
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
364
+ batch->payload->send_initial_metadata.send_initial_metadata,
379
365
  GRPC_BATCH_SCHEME);
380
366
  remove_if_present(
381
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
367
+ batch->payload->send_initial_metadata.send_initial_metadata,
382
368
  GRPC_BATCH_TE);
383
369
  remove_if_present(
384
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
370
+ batch->payload->send_initial_metadata.send_initial_metadata,
385
371
  GRPC_BATCH_CONTENT_TYPE);
386
372
  remove_if_present(
387
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
373
+ batch->payload->send_initial_metadata.send_initial_metadata,
388
374
  GRPC_BATCH_USER_AGENT);
389
375
 
390
376
  /* Send : prefixed headers, which have to be before any application
391
377
  layer headers. */
392
378
  error = grpc_metadata_batch_add_head(
393
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
379
+ batch->payload->send_initial_metadata.send_initial_metadata,
394
380
  &calld->method, method);
395
381
  if (error != GRPC_ERROR_NONE) goto done;
396
382
  error = grpc_metadata_batch_add_head(
397
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
383
+ batch->payload->send_initial_metadata.send_initial_metadata,
398
384
  &calld->scheme, channeld->static_scheme);
399
385
  if (error != GRPC_ERROR_NONE) goto done;
400
386
  error = grpc_metadata_batch_add_tail(
401
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
387
+ batch->payload->send_initial_metadata.send_initial_metadata,
402
388
  &calld->te_trailers, GRPC_MDELEM_TE_TRAILERS);
403
389
  if (error != GRPC_ERROR_NONE) goto done;
404
390
  error = grpc_metadata_batch_add_tail(
405
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
391
+ batch->payload->send_initial_metadata.send_initial_metadata,
406
392
  &calld->content_type, GRPC_MDELEM_CONTENT_TYPE_APPLICATION_SLASH_GRPC);
407
393
  if (error != GRPC_ERROR_NONE) goto done;
408
394
  error = grpc_metadata_batch_add_tail(
409
- exec_ctx, batch->payload->send_initial_metadata.send_initial_metadata,
395
+ batch->payload->send_initial_metadata.send_initial_metadata,
410
396
  &calld->user_agent, GRPC_MDELEM_REF(channeld->user_agent));
411
397
  if (error != GRPC_ERROR_NONE) goto done;
412
398
  }
@@ -414,16 +400,15 @@ static void hc_start_transport_stream_op_batch(
414
400
  done:
415
401
  if (error != GRPC_ERROR_NONE) {
416
402
  grpc_transport_stream_op_batch_finish_with_failure(
417
- exec_ctx, calld->send_message_batch, error, calld->call_combiner);
403
+ calld->send_message_batch, error, calld->call_combiner);
418
404
  } else if (!batch_will_be_handled_asynchronously) {
419
- grpc_call_next_op(exec_ctx, elem, batch);
405
+ grpc_call_next_op(elem, batch);
420
406
  }
421
407
  GPR_TIMER_END("hc_start_transport_stream_op_batch", 0);
422
408
  }
423
409
 
424
410
  /* Constructor for call_data */
425
- static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
426
- grpc_call_element* elem,
411
+ static grpc_error* init_call_elem(grpc_call_element* elem,
427
412
  const grpc_call_element_args* args) {
428
413
  call_data* calld = (call_data*)elem->call_data;
429
414
  calld->call_combiner = args->call_combiner;
@@ -441,7 +426,7 @@ static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
441
426
  }
442
427
 
443
428
  /* Destructor for call_data */
444
- static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
429
+ static void destroy_call_elem(grpc_call_element* elem,
445
430
  const grpc_call_final_info* final_info,
446
431
  grpc_closure* ignored) {}
447
432
 
@@ -533,8 +518,7 @@ static grpc_slice user_agent_from_args(const grpc_channel_args* args,
533
518
  }
534
519
 
535
520
  /* Constructor for channel_data */
536
- static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
537
- grpc_channel_element* elem,
521
+ static grpc_error* init_channel_elem(grpc_channel_element* elem,
538
522
  grpc_channel_element_args* args) {
539
523
  channel_data* chand = (channel_data*)elem->channel_data;
540
524
  GPR_ASSERT(!args->is_last);
@@ -543,17 +527,16 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
543
527
  chand->max_payload_size_for_get =
544
528
  max_payload_size_from_args(args->channel_args);
545
529
  chand->user_agent = grpc_mdelem_from_slices(
546
- exec_ctx, GRPC_MDSTR_USER_AGENT,
530
+ GRPC_MDSTR_USER_AGENT,
547
531
  user_agent_from_args(args->channel_args,
548
532
  args->optional_transport->vtable->name));
549
533
  return GRPC_ERROR_NONE;
550
534
  }
551
535
 
552
536
  /* Destructor for channel data */
553
- static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
554
- grpc_channel_element* elem) {
537
+ static void destroy_channel_elem(grpc_channel_element* elem) {
555
538
  channel_data* chand = (channel_data*)elem->channel_data;
556
- GRPC_MDELEM_UNREF(exec_ctx, chand->user_agent);
539
+ GRPC_MDELEM_UNREF(chand->user_agent);
557
540
  }
558
541
 
559
542
  const grpc_channel_filter grpc_http_client_filter = {