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
@@ -20,18 +20,10 @@
20
20
 
21
21
  #include "src/core/lib/channel/channel_stack.h"
22
22
 
23
- #ifdef __cplusplus
24
- extern "C" {
25
- #endif
26
-
27
23
  /* Processes metadata on the client side for HTTP2 transports */
28
24
  extern const grpc_channel_filter grpc_http_client_filter;
29
25
 
30
26
  /* Channel arg to determine maximum size of payload eligable for GET request */
31
27
  #define GRPC_ARG_MAX_PAYLOAD_SIZE_FOR_GET "grpc.max_payload_size_for_get"
32
28
 
33
- #ifdef __cplusplus
34
- }
35
- #endif
36
-
37
29
  #endif /* GRPC_CORE_EXT_FILTERS_HTTP_CLIENT_HTTP_CLIENT_FILTER_H */
@@ -40,8 +40,7 @@ static bool is_building_http_like_transport(
40
40
  return t != nullptr && strstr(t->vtable->name, "http");
41
41
  }
42
42
 
43
- static bool maybe_add_optional_filter(grpc_exec_ctx* exec_ctx,
44
- grpc_channel_stack_builder* builder,
43
+ static bool maybe_add_optional_filter(grpc_channel_stack_builder* builder,
45
44
  void* arg) {
46
45
  if (!is_building_http_like_transport(builder)) return true;
47
46
  optional_filter* filtarg = (optional_filter*)arg;
@@ -55,8 +54,7 @@ static bool maybe_add_optional_filter(grpc_exec_ctx* exec_ctx,
55
54
  : true;
56
55
  }
57
56
 
58
- static bool maybe_add_required_filter(grpc_exec_ctx* exec_ctx,
59
- grpc_channel_stack_builder* builder,
57
+ static bool maybe_add_required_filter(grpc_channel_stack_builder* builder,
60
58
  void* arg) {
61
59
  return is_building_http_like_transport(builder)
62
60
  ? grpc_channel_stack_builder_prepend_filter(
@@ -64,7 +62,7 @@ static bool maybe_add_required_filter(grpc_exec_ctx* exec_ctx,
64
62
  : true;
65
63
  }
66
64
 
67
- extern "C" void grpc_http_filters_init(void) {
65
+ void grpc_http_filters_init(void) {
68
66
  grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL,
69
67
  GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
70
68
  maybe_add_optional_filter, &compress_filter);
@@ -85,4 +83,4 @@ extern "C" void grpc_http_filters_init(void) {
85
83
  maybe_add_required_filter, (void*)&grpc_http_server_filter);
86
84
  }
87
85
 
88
- extern "C" void grpc_http_filters_shutdown(void) {}
86
+ void grpc_http_filters_shutdown(void) {}
@@ -28,23 +28,24 @@
28
28
  #include "src/core/lib/channel/channel_args.h"
29
29
  #include "src/core/lib/compression/algorithm_metadata.h"
30
30
  #include "src/core/lib/compression/message_compress.h"
31
+ #include "src/core/lib/gpr/string.h"
31
32
  #include "src/core/lib/profiling/timers.h"
32
33
  #include "src/core/lib/slice/slice_internal.h"
33
34
  #include "src/core/lib/slice/slice_string_helpers.h"
34
- #include "src/core/lib/support/string.h"
35
35
  #include "src/core/lib/surface/call.h"
36
36
  #include "src/core/lib/transport/static_metadata.h"
37
37
 
38
- typedef enum {
38
+ namespace {
39
+ enum initial_metadata_state {
39
40
  // Initial metadata not yet seen.
40
41
  INITIAL_METADATA_UNSEEN = 0,
41
42
  // Initial metadata seen; compression algorithm set.
42
43
  HAS_COMPRESSION_ALGORITHM,
43
44
  // Initial metadata seen; no compression algorithm set.
44
45
  NO_COMPRESSION_ALGORITHM,
45
- } initial_metadata_state;
46
+ };
46
47
 
47
- typedef struct call_data {
48
+ struct call_data {
48
49
  grpc_call_combiner* call_combiner;
49
50
  grpc_linked_mdelem compression_algorithm_storage;
50
51
  grpc_linked_mdelem stream_compression_algorithm_storage;
@@ -62,9 +63,9 @@ typedef struct call_data {
62
63
  grpc_closure* original_send_message_on_complete;
63
64
  grpc_closure send_message_on_complete;
64
65
  grpc_closure on_send_message_next_done;
65
- } call_data;
66
+ };
66
67
 
67
- typedef struct channel_data {
68
+ struct channel_data {
68
69
  /** The default, channel-level, compression algorithm */
69
70
  grpc_compression_algorithm default_compression_algorithm;
70
71
  /** Bitset of enabled algorithms */
@@ -78,7 +79,8 @@ typedef struct channel_data {
78
79
  uint32_t enabled_stream_compression_algorithms_bitset;
79
80
  /** Supported stream compression algorithms */
80
81
  uint32_t supported_stream_compression_algorithms;
81
- } channel_data;
82
+ };
83
+ } // namespace
82
84
 
83
85
  static bool skip_compression(grpc_call_element* elem, uint32_t flags,
84
86
  bool has_compression_algorithm) {
@@ -100,12 +102,11 @@ static bool skip_compression(grpc_call_element* elem, uint32_t flags,
100
102
 
101
103
  /** Filter initial metadata */
102
104
  static grpc_error* process_send_initial_metadata(
103
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
104
- grpc_metadata_batch* initial_metadata,
105
+ grpc_call_element* elem, grpc_metadata_batch* initial_metadata,
105
106
  bool* has_compression_algorithm) GRPC_MUST_USE_RESULT;
106
107
  static grpc_error* process_send_initial_metadata(
107
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
108
- grpc_metadata_batch* initial_metadata, bool* has_compression_algorithm) {
108
+ grpc_call_element* elem, grpc_metadata_batch* initial_metadata,
109
+ bool* has_compression_algorithm) {
109
110
  call_data* calld = (call_data*)elem->call_data;
110
111
  channel_data* channeld = (channel_data*)elem->channel_data;
111
112
  *has_compression_algorithm = false;
@@ -137,13 +138,13 @@ static grpc_error* process_send_initial_metadata(
137
138
  }
138
139
  *has_compression_algorithm = true;
139
140
  grpc_metadata_batch_remove(
140
- exec_ctx, initial_metadata,
141
+ initial_metadata,
141
142
  initial_metadata->idx.named.grpc_internal_stream_encoding_request);
142
143
  /* Disable message-wise compression */
143
144
  calld->compression_algorithm = GRPC_COMPRESS_NONE;
144
145
  if (initial_metadata->idx.named.grpc_internal_encoding_request != nullptr) {
145
146
  grpc_metadata_batch_remove(
146
- exec_ctx, initial_metadata,
147
+ initial_metadata,
147
148
  initial_metadata->idx.named.grpc_internal_encoding_request);
148
149
  }
149
150
  } else if (initial_metadata->idx.named.grpc_internal_encoding_request !=
@@ -160,7 +161,7 @@ static grpc_error* process_send_initial_metadata(
160
161
  }
161
162
  *has_compression_algorithm = true;
162
163
  grpc_metadata_batch_remove(
163
- exec_ctx, initial_metadata,
164
+ initial_metadata,
164
165
  initial_metadata->idx.named.grpc_internal_encoding_request);
165
166
  } else {
166
167
  /* If no algorithm was found in the metadata and we aren't
@@ -181,12 +182,11 @@ static grpc_error* process_send_initial_metadata(
181
182
  /* hint compression algorithm */
182
183
  if (stream_compression_algorithm != GRPC_STREAM_COMPRESS_NONE) {
183
184
  error = grpc_metadata_batch_add_tail(
184
- exec_ctx, initial_metadata,
185
- &calld->stream_compression_algorithm_storage,
185
+ initial_metadata, &calld->stream_compression_algorithm_storage,
186
186
  grpc_stream_compression_encoding_mdelem(stream_compression_algorithm));
187
187
  } else if (calld->compression_algorithm != GRPC_COMPRESS_NONE) {
188
188
  error = grpc_metadata_batch_add_tail(
189
- exec_ctx, initial_metadata, &calld->compression_algorithm_storage,
189
+ initial_metadata, &calld->compression_algorithm_storage,
190
190
  grpc_compression_encoding_mdelem(calld->compression_algorithm));
191
191
  }
192
192
 
@@ -194,7 +194,7 @@ static grpc_error* process_send_initial_metadata(
194
194
 
195
195
  /* convey supported compression algorithms */
196
196
  error = grpc_metadata_batch_add_tail(
197
- exec_ctx, initial_metadata, &calld->accept_encoding_storage,
197
+ initial_metadata, &calld->accept_encoding_storage,
198
198
  GRPC_MDELEM_ACCEPT_ENCODING_FOR_ALGORITHMS(
199
199
  channeld->supported_compression_algorithms));
200
200
 
@@ -203,7 +203,7 @@ static grpc_error* process_send_initial_metadata(
203
203
  /* Do not overwrite accept-encoding header if it already presents. */
204
204
  if (!initial_metadata->idx.named.accept_encoding) {
205
205
  error = grpc_metadata_batch_add_tail(
206
- exec_ctx, initial_metadata, &calld->accept_stream_encoding_storage,
206
+ initial_metadata, &calld->accept_stream_encoding_storage,
207
207
  GRPC_MDELEM_ACCEPT_STREAM_ENCODING_FOR_ALGORITHMS(
208
208
  channeld->supported_stream_compression_algorithms));
209
209
  }
@@ -211,17 +211,15 @@ static grpc_error* process_send_initial_metadata(
211
211
  return error;
212
212
  }
213
213
 
214
- static void send_message_on_complete(grpc_exec_ctx* exec_ctx, void* arg,
215
- grpc_error* error) {
214
+ static void send_message_on_complete(void* arg, grpc_error* error) {
216
215
  grpc_call_element* elem = (grpc_call_element*)arg;
217
216
  call_data* calld = (call_data*)elem->call_data;
218
- grpc_slice_buffer_reset_and_unref_internal(exec_ctx, &calld->slices);
219
- GRPC_CLOSURE_RUN(exec_ctx, calld->original_send_message_on_complete,
217
+ grpc_slice_buffer_reset_and_unref_internal(&calld->slices);
218
+ GRPC_CLOSURE_RUN(calld->original_send_message_on_complete,
220
219
  GRPC_ERROR_REF(error));
221
220
  }
222
221
 
223
- static void send_message_batch_continue(grpc_exec_ctx* exec_ctx,
224
- grpc_call_element* elem) {
222
+ static void send_message_batch_continue(grpc_call_element* elem) {
225
223
  call_data* calld = (call_data*)elem->call_data;
226
224
  // Note: The call to grpc_call_next_op() results in yielding the
227
225
  // call combiner, so we need to clear calld->send_message_batch
@@ -229,19 +227,18 @@ static void send_message_batch_continue(grpc_exec_ctx* exec_ctx,
229
227
  grpc_transport_stream_op_batch* send_message_batch =
230
228
  calld->send_message_batch;
231
229
  calld->send_message_batch = nullptr;
232
- grpc_call_next_op(exec_ctx, elem, send_message_batch);
230
+ grpc_call_next_op(elem, send_message_batch);
233
231
  }
234
232
 
235
- static void finish_send_message(grpc_exec_ctx* exec_ctx,
236
- grpc_call_element* elem) {
233
+ static void finish_send_message(grpc_call_element* elem) {
237
234
  call_data* calld = (call_data*)elem->call_data;
238
235
  // Compress the data if appropriate.
239
236
  grpc_slice_buffer tmp;
240
237
  grpc_slice_buffer_init(&tmp);
241
238
  uint32_t send_flags =
242
239
  calld->send_message_batch->payload->send_message.send_message->flags;
243
- bool did_compress = grpc_msg_compress(exec_ctx, calld->compression_algorithm,
244
- &calld->slices, &tmp);
240
+ bool did_compress =
241
+ grpc_msg_compress(calld->compression_algorithm, &calld->slices, &tmp);
245
242
  if (did_compress) {
246
243
  if (grpc_compression_trace.enabled()) {
247
244
  const char* algo_name;
@@ -268,11 +265,11 @@ static void finish_send_message(grpc_exec_ctx* exec_ctx,
268
265
  algo_name, calld->slices.length);
269
266
  }
270
267
  }
271
- grpc_slice_buffer_destroy_internal(exec_ctx, &tmp);
268
+ grpc_slice_buffer_destroy_internal(&tmp);
272
269
  // Swap out the original byte stream with our new one and send the
273
270
  // batch down.
274
271
  grpc_byte_stream_destroy(
275
- exec_ctx, calld->send_message_batch->payload->send_message.send_message);
272
+ calld->send_message_batch->payload->send_message.send_message);
276
273
  grpc_slice_buffer_stream_init(&calld->replacement_stream, &calld->slices,
277
274
  send_flags);
278
275
  calld->send_message_batch->payload->send_message.send_message =
@@ -280,27 +277,24 @@ static void finish_send_message(grpc_exec_ctx* exec_ctx,
280
277
  calld->original_send_message_on_complete =
281
278
  calld->send_message_batch->on_complete;
282
279
  calld->send_message_batch->on_complete = &calld->send_message_on_complete;
283
- send_message_batch_continue(exec_ctx, elem);
280
+ send_message_batch_continue(elem);
284
281
  }
285
282
 
286
- static void fail_send_message_batch_in_call_combiner(grpc_exec_ctx* exec_ctx,
287
- void* arg,
283
+ static void fail_send_message_batch_in_call_combiner(void* arg,
288
284
  grpc_error* error) {
289
285
  call_data* calld = (call_data*)arg;
290
286
  if (calld->send_message_batch != nullptr) {
291
287
  grpc_transport_stream_op_batch_finish_with_failure(
292
- exec_ctx, calld->send_message_batch, GRPC_ERROR_REF(error),
293
- calld->call_combiner);
288
+ calld->send_message_batch, GRPC_ERROR_REF(error), calld->call_combiner);
294
289
  calld->send_message_batch = nullptr;
295
290
  }
296
291
  }
297
292
 
298
293
  // Pulls a slice from the send_message byte stream and adds it to calld->slices.
299
- static grpc_error* pull_slice_from_send_message(grpc_exec_ctx* exec_ctx,
300
- call_data* calld) {
294
+ static grpc_error* pull_slice_from_send_message(call_data* calld) {
301
295
  grpc_slice incoming_slice;
302
296
  grpc_error* error = grpc_byte_stream_pull(
303
- exec_ctx, calld->send_message_batch->payload->send_message.send_message,
297
+ calld->send_message_batch->payload->send_message.send_message,
304
298
  &incoming_slice);
305
299
  if (error == GRPC_ERROR_NONE) {
306
300
  grpc_slice_buffer_add(&calld->slices, incoming_slice);
@@ -312,69 +306,65 @@ static grpc_error* pull_slice_from_send_message(grpc_exec_ctx* exec_ctx,
312
306
  // If all data has been read, invokes finish_send_message(). Otherwise,
313
307
  // an async call to grpc_byte_stream_next() has been started, which will
314
308
  // eventually result in calling on_send_message_next_done().
315
- static void continue_reading_send_message(grpc_exec_ctx* exec_ctx,
316
- grpc_call_element* elem) {
309
+ static void continue_reading_send_message(grpc_call_element* elem) {
317
310
  call_data* calld = (call_data*)elem->call_data;
318
311
  while (grpc_byte_stream_next(
319
- exec_ctx, calld->send_message_batch->payload->send_message.send_message,
320
- ~(size_t)0, &calld->on_send_message_next_done)) {
321
- grpc_error* error = pull_slice_from_send_message(exec_ctx, calld);
312
+ calld->send_message_batch->payload->send_message.send_message, ~(size_t)0,
313
+ &calld->on_send_message_next_done)) {
314
+ grpc_error* error = pull_slice_from_send_message(calld);
322
315
  if (error != GRPC_ERROR_NONE) {
323
316
  // Closure callback; does not take ownership of error.
324
- fail_send_message_batch_in_call_combiner(exec_ctx, calld, error);
317
+ fail_send_message_batch_in_call_combiner(calld, error);
325
318
  GRPC_ERROR_UNREF(error);
326
319
  return;
327
320
  }
328
321
  if (calld->slices.length ==
329
322
  calld->send_message_batch->payload->send_message.send_message->length) {
330
- finish_send_message(exec_ctx, elem);
323
+ finish_send_message(elem);
331
324
  break;
332
325
  }
333
326
  }
334
327
  }
335
328
 
336
329
  // Async callback for grpc_byte_stream_next().
337
- static void on_send_message_next_done(grpc_exec_ctx* exec_ctx, void* arg,
338
- grpc_error* error) {
330
+ static void on_send_message_next_done(void* arg, grpc_error* error) {
339
331
  grpc_call_element* elem = (grpc_call_element*)arg;
340
332
  call_data* calld = (call_data*)elem->call_data;
341
333
  if (error != GRPC_ERROR_NONE) {
342
334
  // Closure callback; does not take ownership of error.
343
- fail_send_message_batch_in_call_combiner(exec_ctx, calld, error);
335
+ fail_send_message_batch_in_call_combiner(calld, error);
344
336
  return;
345
337
  }
346
- error = pull_slice_from_send_message(exec_ctx, calld);
338
+ error = pull_slice_from_send_message(calld);
347
339
  if (error != GRPC_ERROR_NONE) {
348
340
  // Closure callback; does not take ownership of error.
349
- fail_send_message_batch_in_call_combiner(exec_ctx, calld, error);
341
+ fail_send_message_batch_in_call_combiner(calld, error);
350
342
  GRPC_ERROR_UNREF(error);
351
343
  return;
352
344
  }
353
345
  if (calld->slices.length ==
354
346
  calld->send_message_batch->payload->send_message.send_message->length) {
355
- finish_send_message(exec_ctx, elem);
347
+ finish_send_message(elem);
356
348
  } else {
357
- continue_reading_send_message(exec_ctx, elem);
349
+ continue_reading_send_message(elem);
358
350
  }
359
351
  }
360
352
 
361
- static void start_send_message_batch(grpc_exec_ctx* exec_ctx, void* arg,
362
- grpc_error* unused) {
353
+ static void start_send_message_batch(void* arg, grpc_error* unused) {
363
354
  grpc_call_element* elem = (grpc_call_element*)arg;
364
355
  call_data* calld = (call_data*)elem->call_data;
365
356
  if (skip_compression(
366
357
  elem,
367
358
  calld->send_message_batch->payload->send_message.send_message->flags,
368
359
  calld->send_initial_metadata_state == HAS_COMPRESSION_ALGORITHM)) {
369
- send_message_batch_continue(exec_ctx, elem);
360
+ send_message_batch_continue(elem);
370
361
  } else {
371
- continue_reading_send_message(exec_ctx, elem);
362
+ continue_reading_send_message(elem);
372
363
  }
373
364
  }
374
365
 
375
366
  static void compress_start_transport_stream_op_batch(
376
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
377
- grpc_transport_stream_op_batch* batch) {
367
+ grpc_call_element* elem, grpc_transport_stream_op_batch* batch) {
378
368
  call_data* calld = (call_data*)elem->call_data;
379
369
  GPR_TIMER_BEGIN("compress_start_transport_stream_op_batch", 0);
380
370
  // Handle cancel_stream.
@@ -385,21 +375,19 @@ static void compress_start_transport_stream_op_batch(
385
375
  if (calld->send_message_batch != nullptr) {
386
376
  if (calld->send_initial_metadata_state == INITIAL_METADATA_UNSEEN) {
387
377
  GRPC_CALL_COMBINER_START(
388
- exec_ctx, calld->call_combiner,
378
+ calld->call_combiner,
389
379
  GRPC_CLOSURE_CREATE(fail_send_message_batch_in_call_combiner, calld,
390
380
  grpc_schedule_on_exec_ctx),
391
381
  GRPC_ERROR_REF(calld->cancel_error), "failing send_message op");
392
382
  } else {
393
383
  grpc_byte_stream_shutdown(
394
- exec_ctx,
395
384
  calld->send_message_batch->payload->send_message.send_message,
396
385
  GRPC_ERROR_REF(calld->cancel_error));
397
386
  }
398
387
  }
399
388
  } else if (calld->cancel_error != GRPC_ERROR_NONE) {
400
389
  grpc_transport_stream_op_batch_finish_with_failure(
401
- exec_ctx, batch, GRPC_ERROR_REF(calld->cancel_error),
402
- calld->call_combiner);
390
+ batch, GRPC_ERROR_REF(calld->cancel_error), calld->call_combiner);
403
391
  goto done;
404
392
  }
405
393
  // Handle send_initial_metadata.
@@ -407,11 +395,10 @@ static void compress_start_transport_stream_op_batch(
407
395
  GPR_ASSERT(calld->send_initial_metadata_state == INITIAL_METADATA_UNSEEN);
408
396
  bool has_compression_algorithm;
409
397
  grpc_error* error = process_send_initial_metadata(
410
- exec_ctx, elem,
411
- batch->payload->send_initial_metadata.send_initial_metadata,
398
+ elem, batch->payload->send_initial_metadata.send_initial_metadata,
412
399
  &has_compression_algorithm);
413
400
  if (error != GRPC_ERROR_NONE) {
414
- grpc_transport_stream_op_batch_finish_with_failure(exec_ctx, batch, error,
401
+ grpc_transport_stream_op_batch_finish_with_failure(batch, error,
415
402
  calld->call_combiner);
416
403
  goto done;
417
404
  }
@@ -425,7 +412,7 @@ static void compress_start_transport_stream_op_batch(
425
412
  // the call stack) will release the call combiner for each batch it sees.
426
413
  if (calld->send_message_batch != nullptr) {
427
414
  GRPC_CALL_COMBINER_START(
428
- exec_ctx, calld->call_combiner,
415
+ calld->call_combiner,
429
416
  &calld->start_send_message_batch_in_call_combiner, GRPC_ERROR_NONE,
430
417
  "starting send_message after send_initial_metadata");
431
418
  }
@@ -440,22 +427,21 @@ static void compress_start_transport_stream_op_batch(
440
427
  // send_initial_metadata.
441
428
  if (calld->send_initial_metadata_state == INITIAL_METADATA_UNSEEN) {
442
429
  GRPC_CALL_COMBINER_STOP(
443
- exec_ctx, calld->call_combiner,
430
+ calld->call_combiner,
444
431
  "send_message batch pending send_initial_metadata");
445
432
  goto done;
446
433
  }
447
- start_send_message_batch(exec_ctx, elem, GRPC_ERROR_NONE);
434
+ start_send_message_batch(elem, GRPC_ERROR_NONE);
448
435
  } else {
449
436
  // Pass control down the stack.
450
- grpc_call_next_op(exec_ctx, elem, batch);
437
+ grpc_call_next_op(elem, batch);
451
438
  }
452
439
  done:
453
440
  GPR_TIMER_END("compress_start_transport_stream_op_batch", 0);
454
441
  }
455
442
 
456
443
  /* Constructor for call_data */
457
- static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
458
- grpc_call_element* elem,
444
+ static grpc_error* init_call_elem(grpc_call_element* elem,
459
445
  const grpc_call_element_args* args) {
460
446
  call_data* calld = (call_data*)elem->call_data;
461
447
  calld->call_combiner = args->call_combiner;
@@ -471,17 +457,16 @@ static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
471
457
  }
472
458
 
473
459
  /* Destructor for call_data */
474
- static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
460
+ static void destroy_call_elem(grpc_call_element* elem,
475
461
  const grpc_call_final_info* final_info,
476
462
  grpc_closure* ignored) {
477
463
  call_data* calld = (call_data*)elem->call_data;
478
- grpc_slice_buffer_destroy_internal(exec_ctx, &calld->slices);
464
+ grpc_slice_buffer_destroy_internal(&calld->slices);
479
465
  GRPC_ERROR_UNREF(calld->cancel_error);
480
466
  }
481
467
 
482
468
  /* Constructor for channel_data */
483
- static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
484
- grpc_channel_element* elem,
469
+ static grpc_error* init_channel_elem(grpc_channel_element* elem,
485
470
  grpc_channel_element_args* args) {
486
471
  channel_data* channeld = (channel_data*)elem->channel_data;
487
472
 
@@ -531,8 +516,7 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
531
516
  }
532
517
 
533
518
  /* Destructor for channel data */
534
- static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
535
- grpc_channel_element* elem) {}
519
+ static void destroy_channel_elem(grpc_channel_element* elem) {}
536
520
 
537
521
  const grpc_channel_filter grpc_message_compress_filter = {
538
522
  compress_start_transport_stream_op_batch,