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
@@ -23,10 +23,6 @@
23
23
 
24
24
  #include "src/core/lib/channel/channel_stack.h"
25
25
 
26
- #ifdef __cplusplus
27
- extern "C" {
28
- #endif
29
-
30
26
  /** Compression filter for outgoing data.
31
27
  *
32
28
  * See <grpc/compression.h> for the available compression settings.
@@ -51,9 +47,5 @@ extern "C" {
51
47
 
52
48
  extern const grpc_channel_filter grpc_message_compress_filter;
53
49
 
54
- #ifdef __cplusplus
55
- }
56
- #endif
57
-
58
50
  #endif /* GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_COMPRESS_MESSAGE_COMPRESS_FILTER_H \
59
51
  */
@@ -31,7 +31,8 @@
31
31
  #define EXPECTED_CONTENT_TYPE "application/grpc"
32
32
  #define EXPECTED_CONTENT_TYPE_LENGTH sizeof(EXPECTED_CONTENT_TYPE) - 1
33
33
 
34
- typedef struct call_data {
34
+ namespace {
35
+ struct call_data {
35
36
  grpc_call_combiner* call_combiner;
36
37
 
37
38
  grpc_linked_mdelem status;
@@ -60,14 +61,14 @@ typedef struct call_data {
60
61
  grpc_closure hs_on_recv;
61
62
  grpc_closure hs_on_complete;
62
63
  grpc_closure hs_recv_message_ready;
63
- } call_data;
64
+ };
64
65
 
65
- typedef struct channel_data {
66
+ struct channel_data {
66
67
  uint8_t unused;
67
- } channel_data;
68
+ };
69
+ } // namespace
68
70
 
69
- static grpc_error* server_filter_outgoing_metadata(grpc_exec_ctx* exec_ctx,
70
- grpc_call_element* elem,
71
+ static grpc_error* server_filter_outgoing_metadata(grpc_call_element* elem,
71
72
  grpc_metadata_batch* b) {
72
73
  if (b->idx.named.grpc_message != nullptr) {
73
74
  grpc_slice pct_encoded_msg = grpc_percent_encode_slice(
@@ -75,10 +76,9 @@ static grpc_error* server_filter_outgoing_metadata(grpc_exec_ctx* exec_ctx,
75
76
  grpc_compatible_percent_encoding_unreserved_bytes);
76
77
  if (grpc_slice_is_equivalent(pct_encoded_msg,
77
78
  GRPC_MDVALUE(b->idx.named.grpc_message->md))) {
78
- grpc_slice_unref_internal(exec_ctx, pct_encoded_msg);
79
+ grpc_slice_unref_internal(pct_encoded_msg);
79
80
  } else {
80
- grpc_metadata_batch_set_value(exec_ctx, b->idx.named.grpc_message,
81
- pct_encoded_msg);
81
+ grpc_metadata_batch_set_value(b->idx.named.grpc_message, pct_encoded_msg);
82
82
  }
83
83
  }
84
84
  return GRPC_ERROR_NONE;
@@ -93,8 +93,7 @@ static void add_error(const char* error_name, grpc_error** cumulative,
93
93
  *cumulative = grpc_error_add_child(*cumulative, new_err);
94
94
  }
95
95
 
96
- static grpc_error* server_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
97
- grpc_call_element* elem,
96
+ static grpc_error* server_filter_incoming_metadata(grpc_call_element* elem,
98
97
  grpc_metadata_batch* b) {
99
98
  call_data* calld = (call_data*)elem->call_data;
100
99
  grpc_error* error = GRPC_ERROR_NONE;
@@ -123,7 +122,7 @@ static grpc_error* server_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
123
122
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Bad header"),
124
123
  b->idx.named.method->md));
125
124
  }
126
- grpc_metadata_batch_remove(exec_ctx, b, b->idx.named.method);
125
+ grpc_metadata_batch_remove(b, b->idx.named.method);
127
126
  } else {
128
127
  add_error(
129
128
  error_name, &error,
@@ -139,7 +138,7 @@ static grpc_error* server_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
139
138
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Bad header"),
140
139
  b->idx.named.te->md));
141
140
  }
142
- grpc_metadata_batch_remove(exec_ctx, b, b->idx.named.te);
141
+ grpc_metadata_batch_remove(b, b->idx.named.te);
143
142
  } else {
144
143
  add_error(error_name, &error,
145
144
  grpc_error_set_str(
@@ -156,7 +155,7 @@ static grpc_error* server_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
156
155
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Bad header"),
157
156
  b->idx.named.scheme->md));
158
157
  }
159
- grpc_metadata_batch_remove(exec_ctx, b, b->idx.named.scheme);
158
+ grpc_metadata_batch_remove(b, b->idx.named.scheme);
160
159
  } else {
161
160
  add_error(
162
161
  error_name, &error,
@@ -191,7 +190,7 @@ static grpc_error* server_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
191
190
  gpr_free(val);
192
191
  }
193
192
  }
194
- grpc_metadata_batch_remove(exec_ctx, b, b->idx.named.content_type);
193
+ grpc_metadata_batch_remove(b, b->idx.named.content_type);
195
194
  }
196
195
 
197
196
  if (b->idx.named.path == nullptr) {
@@ -218,22 +217,21 @@ static grpc_error* server_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
218
217
 
219
218
  /* substitute path metadata with just the path (not query) */
220
219
  grpc_mdelem mdelem_path_without_query = grpc_mdelem_from_slices(
221
- exec_ctx, GRPC_MDSTR_PATH, grpc_slice_sub(path_slice, 0, offset));
220
+ GRPC_MDSTR_PATH, grpc_slice_sub(path_slice, 0, offset));
222
221
 
223
- grpc_metadata_batch_substitute(exec_ctx, b, b->idx.named.path,
222
+ grpc_metadata_batch_substitute(b, b->idx.named.path,
224
223
  mdelem_path_without_query);
225
224
 
226
225
  /* decode payload from query and add to the slice buffer to be returned */
227
226
  const int k_url_safe = 1;
228
- grpc_slice_buffer_add(
229
- &calld->read_slice_buffer,
230
- grpc_base64_decode_with_len(
231
- exec_ctx, (const char*)GRPC_SLICE_START_PTR(query_slice),
232
- GRPC_SLICE_LENGTH(query_slice), k_url_safe));
227
+ grpc_slice_buffer_add(&calld->read_slice_buffer,
228
+ grpc_base64_decode_with_len(
229
+ (const char*)GRPC_SLICE_START_PTR(query_slice),
230
+ GRPC_SLICE_LENGTH(query_slice), k_url_safe));
233
231
  grpc_slice_buffer_stream_init(&calld->read_stream,
234
232
  &calld->read_slice_buffer, 0);
235
233
  calld->seen_path_with_query = true;
236
- grpc_slice_unref_internal(exec_ctx, query_slice);
234
+ grpc_slice_unref_internal(query_slice);
237
235
  } else {
238
236
  gpr_log(GPR_ERROR, "GET request without QUERY");
239
237
  }
@@ -242,14 +240,14 @@ static grpc_error* server_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
242
240
  if (b->idx.named.host != nullptr && b->idx.named.authority == nullptr) {
243
241
  grpc_linked_mdelem* el = b->idx.named.host;
244
242
  grpc_mdelem md = GRPC_MDELEM_REF(el->md);
245
- grpc_metadata_batch_remove(exec_ctx, b, el);
243
+ grpc_metadata_batch_remove(b, el);
246
244
  add_error(error_name, &error,
247
245
  grpc_metadata_batch_add_head(
248
- exec_ctx, b, el,
246
+ b, el,
249
247
  grpc_mdelem_from_slices(
250
- exec_ctx, GRPC_MDSTR_AUTHORITY,
248
+ GRPC_MDSTR_AUTHORITY,
251
249
  grpc_slice_ref_internal(GRPC_MDVALUE(md)))));
252
- GRPC_MDELEM_UNREF(exec_ctx, md);
250
+ GRPC_MDELEM_UNREF(md);
253
251
  }
254
252
 
255
253
  if (b->idx.named.authority == nullptr) {
@@ -263,21 +261,18 @@ static grpc_error* server_filter_incoming_metadata(grpc_exec_ctx* exec_ctx,
263
261
  return error;
264
262
  }
265
263
 
266
- static void hs_on_recv(grpc_exec_ctx* exec_ctx, void* user_data,
267
- grpc_error* err) {
264
+ static void hs_on_recv(void* user_data, grpc_error* err) {
268
265
  grpc_call_element* elem = (grpc_call_element*)user_data;
269
266
  call_data* calld = (call_data*)elem->call_data;
270
267
  if (err == GRPC_ERROR_NONE) {
271
- err = server_filter_incoming_metadata(exec_ctx, elem,
272
- calld->recv_initial_metadata);
268
+ err = server_filter_incoming_metadata(elem, calld->recv_initial_metadata);
273
269
  } else {
274
270
  GRPC_ERROR_REF(err);
275
271
  }
276
- GRPC_CLOSURE_RUN(exec_ctx, calld->on_done_recv, err);
272
+ GRPC_CLOSURE_RUN(calld->on_done_recv, err);
277
273
  }
278
274
 
279
- static void hs_on_complete(grpc_exec_ctx* exec_ctx, void* user_data,
280
- grpc_error* err) {
275
+ static void hs_on_complete(void* user_data, grpc_error* err) {
281
276
  grpc_call_element* elem = (grpc_call_element*)user_data;
282
277
  call_data* calld = (call_data*)elem->call_data;
283
278
  /* Call recv_message_ready if we got the payload via the path field */
@@ -287,17 +282,16 @@ static void hs_on_complete(grpc_exec_ctx* exec_ctx, void* user_data,
287
282
  : (grpc_byte_stream*)&calld->read_stream;
288
283
  // Re-enter call combiner for recv_message_ready, since the surface
289
284
  // code will release the call combiner for each callback it receives.
290
- GRPC_CALL_COMBINER_START(exec_ctx, calld->call_combiner,
291
- calld->recv_message_ready, GRPC_ERROR_REF(err),
285
+ GRPC_CALL_COMBINER_START(calld->call_combiner, calld->recv_message_ready,
286
+ GRPC_ERROR_REF(err),
292
287
  "resuming recv_message_ready from on_complete");
293
288
  calld->recv_message_ready = nullptr;
294
289
  calld->payload_bin_delivered = true;
295
290
  }
296
- GRPC_CLOSURE_RUN(exec_ctx, calld->on_complete, GRPC_ERROR_REF(err));
291
+ GRPC_CLOSURE_RUN(calld->on_complete, GRPC_ERROR_REF(err));
297
292
  }
298
293
 
299
- static void hs_recv_message_ready(grpc_exec_ctx* exec_ctx, void* user_data,
300
- grpc_error* err) {
294
+ static void hs_recv_message_ready(void* user_data, grpc_error* err) {
301
295
  grpc_call_element* elem = (grpc_call_element*)user_data;
302
296
  call_data* calld = (call_data*)elem->call_data;
303
297
  if (calld->seen_path_with_query) {
@@ -305,15 +299,14 @@ static void hs_recv_message_ready(grpc_exec_ctx* exec_ctx, void* user_data,
305
299
  // returned in hs_on_complete callback.
306
300
  // Note that we release the call combiner here, so that other
307
301
  // callbacks can run.
308
- GRPC_CALL_COMBINER_STOP(exec_ctx, calld->call_combiner,
302
+ GRPC_CALL_COMBINER_STOP(calld->call_combiner,
309
303
  "pausing recv_message_ready until on_complete");
310
304
  } else {
311
- GRPC_CLOSURE_RUN(exec_ctx, calld->recv_message_ready, GRPC_ERROR_REF(err));
305
+ GRPC_CLOSURE_RUN(calld->recv_message_ready, GRPC_ERROR_REF(err));
312
306
  }
313
307
  }
314
308
 
315
- static grpc_error* hs_mutate_op(grpc_exec_ctx* exec_ctx,
316
- grpc_call_element* elem,
309
+ static grpc_error* hs_mutate_op(grpc_call_element* elem,
317
310
  grpc_transport_stream_op_batch* op) {
318
311
  /* grab pointers to our data from the call element */
319
312
  call_data* calld = (call_data*)elem->call_data;
@@ -321,21 +314,19 @@ static grpc_error* hs_mutate_op(grpc_exec_ctx* exec_ctx,
321
314
  if (op->send_initial_metadata) {
322
315
  grpc_error* error = GRPC_ERROR_NONE;
323
316
  static const char* error_name = "Failed sending initial metadata";
317
+ add_error(error_name, &error,
318
+ grpc_metadata_batch_add_head(
319
+ op->payload->send_initial_metadata.send_initial_metadata,
320
+ &calld->status, GRPC_MDELEM_STATUS_200));
321
+ add_error(error_name, &error,
322
+ grpc_metadata_batch_add_tail(
323
+ op->payload->send_initial_metadata.send_initial_metadata,
324
+ &calld->content_type,
325
+ GRPC_MDELEM_CONTENT_TYPE_APPLICATION_SLASH_GRPC));
324
326
  add_error(
325
327
  error_name, &error,
326
- grpc_metadata_batch_add_head(
327
- exec_ctx, op->payload->send_initial_metadata.send_initial_metadata,
328
- &calld->status, GRPC_MDELEM_STATUS_200));
329
- add_error(
330
- error_name, &error,
331
- grpc_metadata_batch_add_tail(
332
- exec_ctx, op->payload->send_initial_metadata.send_initial_metadata,
333
- &calld->content_type,
334
- GRPC_MDELEM_CONTENT_TYPE_APPLICATION_SLASH_GRPC));
335
- add_error(error_name, &error,
336
- server_filter_outgoing_metadata(
337
- exec_ctx, elem,
338
- op->payload->send_initial_metadata.send_initial_metadata));
328
+ server_filter_outgoing_metadata(
329
+ elem, op->payload->send_initial_metadata.send_initial_metadata));
339
330
  if (error != GRPC_ERROR_NONE) return error;
340
331
  }
341
332
 
@@ -367,8 +358,7 @@ static grpc_error* hs_mutate_op(grpc_exec_ctx* exec_ctx,
367
358
 
368
359
  if (op->send_trailing_metadata) {
369
360
  grpc_error* error = server_filter_outgoing_metadata(
370
- exec_ctx, elem,
371
- op->payload->send_trailing_metadata.send_trailing_metadata);
361
+ elem, op->payload->send_trailing_metadata.send_trailing_metadata);
372
362
  if (error != GRPC_ERROR_NONE) return error;
373
363
  }
374
364
 
@@ -376,23 +366,21 @@ static grpc_error* hs_mutate_op(grpc_exec_ctx* exec_ctx,
376
366
  }
377
367
 
378
368
  static void hs_start_transport_stream_op_batch(
379
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
380
- grpc_transport_stream_op_batch* op) {
369
+ grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
381
370
  call_data* calld = (call_data*)elem->call_data;
382
371
  GPR_TIMER_BEGIN("hs_start_transport_stream_op_batch", 0);
383
- grpc_error* error = hs_mutate_op(exec_ctx, elem, op);
372
+ grpc_error* error = hs_mutate_op(elem, op);
384
373
  if (error != GRPC_ERROR_NONE) {
385
- grpc_transport_stream_op_batch_finish_with_failure(exec_ctx, op, error,
374
+ grpc_transport_stream_op_batch_finish_with_failure(op, error,
386
375
  calld->call_combiner);
387
376
  } else {
388
- grpc_call_next_op(exec_ctx, elem, op);
377
+ grpc_call_next_op(elem, op);
389
378
  }
390
379
  GPR_TIMER_END("hs_start_transport_stream_op_batch", 0);
391
380
  }
392
381
 
393
382
  /* Constructor for call_data */
394
- static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
395
- grpc_call_element* elem,
383
+ static grpc_error* init_call_elem(grpc_call_element* elem,
396
384
  const grpc_call_element_args* args) {
397
385
  /* grab pointers to our data from the call element */
398
386
  call_data* calld = (call_data*)elem->call_data;
@@ -409,24 +397,22 @@ static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
409
397
  }
410
398
 
411
399
  /* Destructor for call_data */
412
- static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
400
+ static void destroy_call_elem(grpc_call_element* elem,
413
401
  const grpc_call_final_info* final_info,
414
402
  grpc_closure* ignored) {
415
403
  call_data* calld = (call_data*)elem->call_data;
416
- grpc_slice_buffer_destroy_internal(exec_ctx, &calld->read_slice_buffer);
404
+ grpc_slice_buffer_destroy_internal(&calld->read_slice_buffer);
417
405
  }
418
406
 
419
407
  /* Constructor for channel_data */
420
- static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
421
- grpc_channel_element* elem,
408
+ static grpc_error* init_channel_elem(grpc_channel_element* elem,
422
409
  grpc_channel_element_args* args) {
423
410
  GPR_ASSERT(!args->is_last);
424
411
  return GRPC_ERROR_NONE;
425
412
  }
426
413
 
427
414
  /* Destructor for channel data */
428
- static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
429
- grpc_channel_element* elem) {}
415
+ static void destroy_channel_elem(grpc_channel_element* elem) {}
430
416
 
431
417
  const grpc_channel_filter grpc_http_server_filter = {
432
418
  hs_start_transport_stream_op_batch,
@@ -21,15 +21,7 @@
21
21
 
22
22
  #include "src/core/lib/channel/channel_stack.h"
23
23
 
24
- #ifdef __cplusplus
25
- extern "C" {
26
- #endif
27
-
28
24
  /* Processes metadata on the client side for HTTP2 transports */
29
25
  extern const grpc_channel_filter grpc_http_server_filter;
30
26
 
31
- #ifdef __cplusplus
32
- }
33
- #endif
34
-
35
27
  #endif /* GRPC_CORE_EXT_FILTERS_HTTP_SERVER_HTTP_SERVER_FILTER_H */
@@ -31,7 +31,8 @@
31
31
  #include "src/core/lib/slice/slice_internal.h"
32
32
  #include "src/core/lib/transport/static_metadata.h"
33
33
 
34
- typedef struct call_data {
34
+ namespace {
35
+ struct call_data {
35
36
  intptr_t id; /**< an id unique to the call */
36
37
  bool have_trailing_md_string;
37
38
  grpc_slice trailing_md_string;
@@ -48,14 +49,14 @@ typedef struct call_data {
48
49
  /* to get notified of the availability of the incoming initial metadata. */
49
50
  grpc_closure on_initial_md_ready;
50
51
  grpc_metadata_batch* recv_initial_metadata;
51
- } call_data;
52
+ };
52
53
 
53
- typedef struct channel_data {
54
+ struct channel_data {
54
55
  intptr_t id; /**< an id unique to the channel */
55
- } channel_data;
56
+ };
57
+ } // namespace
56
58
 
57
- static void on_initial_md_ready(grpc_exec_ctx* exec_ctx, void* user_data,
58
- grpc_error* err) {
59
+ static void on_initial_md_ready(void* user_data, grpc_error* err) {
59
60
  grpc_call_element* elem = (grpc_call_element*)user_data;
60
61
  call_data* calld = (call_data*)elem->call_data;
61
62
 
@@ -73,20 +74,19 @@ static void on_initial_md_ready(grpc_exec_ctx* exec_ctx, void* user_data,
73
74
  GRPC_MDVALUE(calld->recv_initial_metadata->idx.named.lb_token->md));
74
75
  calld->have_initial_md_string = true;
75
76
  grpc_metadata_batch_remove(
76
- exec_ctx, calld->recv_initial_metadata,
77
+ calld->recv_initial_metadata,
77
78
  calld->recv_initial_metadata->idx.named.lb_token);
78
79
  }
79
80
  } else {
80
81
  GRPC_ERROR_REF(err);
81
82
  }
82
83
  calld->ops_recv_initial_metadata_ready->cb(
83
- exec_ctx, calld->ops_recv_initial_metadata_ready->cb_arg, err);
84
+ calld->ops_recv_initial_metadata_ready->cb_arg, err);
84
85
  GRPC_ERROR_UNREF(err);
85
86
  }
86
87
 
87
88
  /* Constructor for call_data */
88
- static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
89
- grpc_call_element* elem,
89
+ static grpc_error* init_call_elem(grpc_call_element* elem,
90
90
  const grpc_call_element_args* args) {
91
91
  call_data* calld = (call_data*)elem->call_data;
92
92
  calld->id = (intptr_t)args->call_stack;
@@ -108,7 +108,7 @@ static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
108
108
  }
109
109
 
110
110
  /* Destructor for call_data */
111
- static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
111
+ static void destroy_call_elem(grpc_call_element* elem,
112
112
  const grpc_call_final_info* final_info,
113
113
  grpc_closure* ignored) {
114
114
  call_data* calld = (call_data*)elem->call_data;
@@ -125,19 +125,18 @@ static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
125
125
  */
126
126
 
127
127
  if (calld->have_initial_md_string) {
128
- grpc_slice_unref_internal(exec_ctx, calld->initial_md_string);
128
+ grpc_slice_unref_internal(calld->initial_md_string);
129
129
  }
130
130
  if (calld->have_trailing_md_string) {
131
- grpc_slice_unref_internal(exec_ctx, calld->trailing_md_string);
131
+ grpc_slice_unref_internal(calld->trailing_md_string);
132
132
  }
133
133
  if (calld->have_service_method) {
134
- grpc_slice_unref_internal(exec_ctx, calld->service_method);
134
+ grpc_slice_unref_internal(calld->service_method);
135
135
  }
136
136
  }
137
137
 
138
138
  /* Constructor for channel_data */
139
- static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
140
- grpc_channel_element* elem,
139
+ static grpc_error* init_channel_elem(grpc_channel_element* elem,
141
140
  grpc_channel_element_args* args) {
142
141
  GPR_ASSERT(!args->is_last);
143
142
 
@@ -158,8 +157,7 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
158
157
  }
159
158
 
160
159
  /* Destructor for channel data */
161
- static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
162
- grpc_channel_element* elem) {
160
+ static void destroy_channel_elem(grpc_channel_element* elem) {
163
161
  /* TODO(dgq): do something with the data
164
162
  channel_data *chand = elem->channel_data;
165
163
  grpc_load_reporting_call_data lr_call_data = {
@@ -173,8 +171,7 @@ static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
173
171
  */
174
172
  }
175
173
 
176
- static grpc_filtered_mdelem lr_trailing_md_filter(grpc_exec_ctx* exec_ctx,
177
- void* user_data,
174
+ static grpc_filtered_mdelem lr_trailing_md_filter(void* user_data,
178
175
  grpc_mdelem md) {
179
176
  grpc_call_element* elem = (grpc_call_element*)user_data;
180
177
  call_data* calld = (call_data*)elem->call_data;
@@ -186,8 +183,7 @@ static grpc_filtered_mdelem lr_trailing_md_filter(grpc_exec_ctx* exec_ctx,
186
183
  }
187
184
 
188
185
  static void lr_start_transport_stream_op_batch(
189
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
190
- grpc_transport_stream_op_batch* op) {
186
+ grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
191
187
  GPR_TIMER_BEGIN("lr_start_transport_stream_op_batch", 0);
192
188
  call_data* calld = (call_data*)elem->call_data;
193
189
 
@@ -203,12 +199,11 @@ static void lr_start_transport_stream_op_batch(
203
199
  GRPC_LOG_IF_ERROR(
204
200
  "grpc_metadata_batch_filter",
205
201
  grpc_metadata_batch_filter(
206
- exec_ctx,
207
202
  op->payload->send_trailing_metadata.send_trailing_metadata,
208
203
  lr_trailing_md_filter, elem,
209
204
  "LR trailing metadata filtering error"));
210
205
  }
211
- grpc_call_next_op(exec_ctx, elem, op);
206
+ grpc_call_next_op(elem, op);
212
207
 
213
208
  GPR_TIMER_END("lr_start_transport_stream_op_batch", 0);
214
209
  }