grpc 1.8.7 → 1.9.0.pre1

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

Potentially problematic release.


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

Files changed (488) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +549 -325
  3. data/include/grpc/impl/codegen/grpc_types.h +1 -2
  4. data/include/grpc/impl/codegen/port_platform.h +46 -5
  5. data/include/grpc/impl/codegen/slice.h +1 -2
  6. data/include/grpc/module.modulemap +0 -2
  7. data/include/grpc/slice_buffer.h +1 -2
  8. data/include/grpc/support/log.h +4 -2
  9. data/include/grpc/support/thd.h +4 -1
  10. data/include/grpc/support/tls.h +6 -0
  11. data/include/grpc/support/tls_gcc.h +5 -40
  12. data/include/grpc/support/tls_msvc.h +9 -0
  13. data/include/grpc/support/tls_pthread.h +9 -0
  14. data/src/core/ext/filters/client_channel/backup_poller.cc +32 -29
  15. data/src/core/ext/filters/client_channel/backup_poller.h +2 -2
  16. data/src/core/ext/filters/client_channel/channel_connectivity.cc +26 -32
  17. data/src/core/ext/filters/client_channel/client_channel.cc +325 -356
  18. data/src/core/ext/filters/client_channel/client_channel.h +4 -12
  19. data/src/core/ext/filters/client_channel/client_channel_factory.cc +9 -14
  20. data/src/core/ext/filters/client_channel/client_channel_factory.h +7 -20
  21. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +7 -10
  22. data/src/core/ext/filters/client_channel/connector.cc +6 -7
  23. data/src/core/ext/filters/client_channel/connector.h +6 -16
  24. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +38 -50
  25. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -8
  26. data/src/core/ext/filters/client_channel/http_proxy.cc +9 -13
  27. data/src/core/ext/filters/client_channel/http_proxy.h +0 -8
  28. data/src/core/ext/filters/client_channel/lb_policy.cc +72 -94
  29. data/src/core/ext/filters/client_channel/lb_policy.h +83 -92
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +14 -19
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +0 -8
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +474 -591
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -8
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +2 -10
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +6 -6
  36. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +0 -8
  37. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +0 -9
  38. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +0 -9
  39. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +3 -4
  40. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +9 -12
  41. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +160 -182
  42. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +182 -221
  43. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +24 -35
  44. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +9 -20
  45. data/src/core/ext/filters/client_channel/lb_policy_factory.cc +6 -9
  46. data/src/core/ext/filters/client_channel/lb_policy_factory.h +4 -15
  47. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +3 -3
  48. data/src/core/ext/filters/client_channel/lb_policy_registry.h +1 -9
  49. data/src/core/ext/filters/client_channel/parse_address.cc +1 -1
  50. data/src/core/ext/filters/client_channel/parse_address.h +0 -8
  51. data/src/core/ext/filters/client_channel/proxy_mapper.cc +6 -8
  52. data/src/core/ext/filters/client_channel/proxy_mapper.h +6 -16
  53. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +13 -17
  54. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +2 -12
  55. data/src/core/ext/filters/client_channel/resolver.cc +11 -13
  56. data/src/core/ext/filters/client_channel/resolver.h +14 -25
  57. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +57 -70
  58. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +2 -12
  59. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +23 -31
  60. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +27 -45
  61. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -15
  62. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +9 -11
  63. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +53 -66
  64. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +25 -33
  65. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +1 -9
  66. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +26 -35
  67. data/src/core/ext/filters/client_channel/resolver_factory.cc +2 -3
  68. data/src/core/ext/filters/client_channel/resolver_factory.h +2 -12
  69. data/src/core/ext/filters/client_channel/resolver_registry.cc +12 -15
  70. data/src/core/ext/filters/client_channel/resolver_registry.h +3 -12
  71. data/src/core/ext/filters/client_channel/retry_throttle.h +0 -8
  72. data/src/core/ext/filters/client_channel/subchannel.cc +289 -301
  73. data/src/core/ext/filters/client_channel/subchannel.h +57 -84
  74. data/src/core/ext/filters/client_channel/subchannel_index.cc +30 -33
  75. data/src/core/ext/filters/client_channel/subchannel_index.h +4 -16
  76. data/src/core/ext/filters/client_channel/uri_parser.cc +13 -17
  77. data/src/core/ext/filters/client_channel/uri_parser.h +1 -10
  78. data/src/core/ext/filters/deadline/deadline_filter.cc +49 -67
  79. data/src/core/ext/filters/deadline/deadline_filter.h +4 -14
  80. data/src/core/ext/filters/http/client/http_client_filter.cc +60 -77
  81. data/src/core/ext/filters/http/client/http_client_filter.h +0 -8
  82. data/src/core/ext/filters/http/http_filters_plugin.cc +4 -6
  83. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +63 -79
  84. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -8
  85. data/src/core/ext/filters/http/server/http_server_filter.cc +57 -71
  86. data/src/core/ext/filters/http/server/http_server_filter.h +0 -8
  87. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +19 -24
  88. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +0 -8
  89. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +3 -3
  90. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +0 -8
  91. data/src/core/ext/filters/max_age/max_age_filter.cc +49 -62
  92. data/src/core/ext/filters/max_age/max_age_filter.h +0 -8
  93. data/src/core/ext/filters/message_size/message_size_filter.cc +23 -29
  94. data/src/core/ext/filters/message_size/message_size_filter.h +0 -8
  95. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +15 -18
  96. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +0 -8
  97. data/src/core/ext/filters/workarounds/workaround_utils.h +0 -8
  98. data/src/core/ext/transport/chttp2/alpn/alpn.h +0 -8
  99. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +33 -40
  100. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -8
  101. data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +15 -17
  102. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +8 -8
  103. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +23 -28
  104. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +50 -57
  105. data/src/core/ext/transport/chttp2/server/chttp2_server.h +1 -10
  106. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +3 -3
  107. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +7 -10
  108. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +5 -6
  109. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +7 -9
  110. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +2 -11
  111. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -9
  112. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +10 -2
  113. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +516 -636
  114. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +4 -11
  115. data/src/core/ext/transport/chttp2/transport/flow_control.cc +29 -13
  116. data/src/core/ext/transport/chttp2/transport/flow_control.h +196 -53
  117. data/src/core/ext/transport/chttp2/transport/frame.h +0 -8
  118. data/src/core/ext/transport/chttp2/transport/frame_data.cc +31 -33
  119. data/src/core/ext/transport/chttp2/transport/frame_data.h +3 -12
  120. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -3
  121. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -10
  122. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +5 -6
  123. data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -9
  124. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -3
  125. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -10
  126. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +8 -3
  127. data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -10
  128. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +8 -8
  129. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -11
  130. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +63 -81
  131. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +2 -12
  132. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +230 -318
  133. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +6 -19
  134. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +14 -20
  135. data/src/core/ext/transport/chttp2/transport/hpack_table.h +5 -16
  136. data/src/core/ext/transport/chttp2/transport/http2_settings.h +0 -7
  137. data/src/core/ext/transport/chttp2/transport/huffsyms.h +0 -8
  138. data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +8 -11
  139. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +4 -13
  140. data/src/core/ext/transport/chttp2/transport/internal.h +51 -75
  141. data/src/core/ext/transport/chttp2/transport/parsing.cc +83 -109
  142. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +2 -0
  143. data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -8
  144. data/src/core/ext/transport/chttp2/transport/varint.h +0 -8
  145. data/src/core/ext/transport/chttp2/transport/writing.cc +61 -65
  146. data/src/core/ext/transport/inproc/inproc_plugin.cc +2 -4
  147. data/src/core/ext/transport/inproc/inproc_transport.cc +177 -188
  148. data/src/core/ext/transport/inproc/inproc_transport.h +0 -8
  149. data/src/core/lib/backoff/backoff.cc +39 -44
  150. data/src/core/lib/backoff/backoff.h +61 -57
  151. data/src/core/lib/channel/channel_args.cc +8 -10
  152. data/src/core/lib/channel/channel_args.h +4 -13
  153. data/src/core/lib/channel/channel_stack.cc +19 -27
  154. data/src/core/lib/channel/channel_stack.h +27 -47
  155. data/src/core/lib/channel/channel_stack_builder.cc +11 -14
  156. data/src/core/lib/channel/channel_stack_builder.h +4 -15
  157. data/src/core/lib/channel/connected_channel.cc +23 -36
  158. data/src/core/lib/channel/connected_channel.h +1 -10
  159. data/src/core/lib/channel/handshaker.cc +31 -40
  160. data/src/core/lib/channel/handshaker.h +14 -25
  161. data/src/core/lib/channel/handshaker_factory.cc +6 -6
  162. data/src/core/lib/channel/handshaker_factory.h +5 -15
  163. data/src/core/lib/channel/handshaker_registry.cc +9 -13
  164. data/src/core/lib/channel/handshaker_registry.h +2 -11
  165. data/src/core/lib/compression/algorithm_metadata.h +0 -8
  166. data/src/core/lib/compression/message_compress.cc +19 -23
  167. data/src/core/lib/compression/message_compress.h +2 -12
  168. data/src/core/lib/compression/stream_compression.cc +1 -1
  169. data/src/core/lib/compression/stream_compression.h +0 -8
  170. data/src/core/lib/compression/stream_compression_gzip.cc +12 -11
  171. data/src/core/lib/compression/stream_compression_gzip.h +0 -8
  172. data/src/core/lib/compression/stream_compression_identity.h +0 -8
  173. data/src/core/lib/debug/stats.cc +4 -4
  174. data/src/core/lib/debug/stats.h +9 -19
  175. data/src/core/lib/debug/stats_data.cc +85 -116
  176. data/src/core/lib/debug/stats_data.h +236 -312
  177. data/src/core/lib/debug/trace.cc +1 -1
  178. data/src/core/lib/debug/trace.h +0 -12
  179. data/src/core/lib/{support → gpr++}/abstract.h +8 -3
  180. data/src/core/lib/{support → gpr++}/atomic.h +5 -5
  181. data/src/core/lib/{support → gpr++}/atomic_with_atm.h +3 -3
  182. data/src/core/lib/{support → gpr++}/atomic_with_std.h +3 -3
  183. data/src/core/lib/gpr++/debug_location.h +52 -0
  184. data/src/core/lib/gpr++/inlined_vector.h +112 -0
  185. data/src/core/lib/{support → gpr++}/manual_constructor.h +2 -2
  186. data/src/core/lib/{support → gpr++}/memory.h +3 -3
  187. data/src/core/lib/gpr++/orphanable.h +171 -0
  188. data/src/core/lib/gpr++/ref_counted.h +133 -0
  189. data/src/core/lib/gpr++/ref_counted_ptr.h +99 -0
  190. data/src/core/lib/{support → gpr}/alloc.cc +0 -0
  191. data/src/core/lib/{support → gpr}/arena.cc +1 -1
  192. data/src/core/lib/{support → gpr}/arena.h +3 -11
  193. data/src/core/lib/{support → gpr}/atm.cc +0 -0
  194. data/src/core/lib/{support → gpr}/avl.cc +0 -0
  195. data/src/core/lib/{support → gpr}/cmdline.cc +1 -1
  196. data/src/core/lib/{support → gpr}/cpu_iphone.cc +0 -0
  197. data/src/core/lib/{support → gpr}/cpu_linux.cc +0 -0
  198. data/src/core/lib/{support → gpr}/cpu_posix.cc +0 -0
  199. data/src/core/lib/{support → gpr}/cpu_windows.cc +0 -0
  200. data/src/core/lib/{support → gpr}/env.h +3 -11
  201. data/src/core/lib/{support → gpr}/env_linux.cc +2 -2
  202. data/src/core/lib/{support → gpr}/env_posix.cc +4 -4
  203. data/src/core/lib/{support → gpr}/env_windows.cc +3 -3
  204. data/src/core/lib/{support → gpr}/fork.cc +3 -3
  205. data/src/core/lib/{support → gpr}/fork.h +3 -3
  206. data/src/core/lib/{support → gpr}/host_port.cc +1 -1
  207. data/src/core/lib/{support → gpr}/log.cc +3 -3
  208. data/src/core/lib/{support → gpr}/log_android.cc +3 -3
  209. data/src/core/lib/{support → gpr}/log_linux.cc +1 -1
  210. data/src/core/lib/{support → gpr}/log_posix.cc +5 -5
  211. data/src/core/lib/{support → gpr}/log_windows.cc +3 -3
  212. data/src/core/lib/{support → gpr}/mpscq.cc +1 -1
  213. data/src/core/lib/{support → gpr}/mpscq.h +3 -10
  214. data/src/core/lib/{support → gpr}/murmur_hash.cc +1 -1
  215. data/src/core/lib/{support → gpr}/murmur_hash.h +3 -11
  216. data/src/core/lib/{support → gpr}/spinlock.h +3 -3
  217. data/src/core/lib/{support → gpr}/string.cc +1 -1
  218. data/src/core/lib/{support → gpr}/string.h +3 -10
  219. data/src/core/lib/{support → gpr}/string_posix.cc +0 -0
  220. data/src/core/lib/{support → gpr}/string_util_windows.cc +2 -2
  221. data/src/core/lib/{support → gpr}/string_windows.cc +1 -1
  222. data/src/core/lib/{support → gpr}/string_windows.h +3 -11
  223. data/src/core/lib/{support → gpr}/subprocess_posix.cc +0 -0
  224. data/src/core/lib/{support → gpr}/subprocess_windows.cc +2 -2
  225. data/src/core/lib/{support → gpr}/sync.cc +0 -0
  226. data/src/core/lib/{support → gpr}/sync_posix.cc +10 -1
  227. data/src/core/lib/{support → gpr}/sync_windows.cc +0 -0
  228. data/src/core/lib/{support → gpr}/thd.cc +0 -0
  229. data/src/core/lib/{support → gpr}/thd_internal.h +3 -3
  230. data/src/core/lib/{support → gpr}/thd_posix.cc +18 -2
  231. data/src/core/lib/{support → gpr}/thd_windows.cc +2 -1
  232. data/src/core/lib/{support → gpr}/time.cc +0 -0
  233. data/src/core/lib/{support → gpr}/time_posix.cc +2 -4
  234. data/src/core/lib/{support → gpr}/time_precise.cc +1 -1
  235. data/src/core/lib/{support → gpr}/time_precise.h +3 -11
  236. data/src/core/lib/{support → gpr}/time_windows.cc +1 -3
  237. data/src/core/lib/{support → gpr}/tls_pthread.cc +0 -0
  238. data/src/core/lib/{support → gpr}/tmpfile.h +3 -11
  239. data/src/core/lib/{support → gpr}/tmpfile_msys.cc +2 -2
  240. data/src/core/lib/{support → gpr}/tmpfile_posix.cc +2 -2
  241. data/src/core/lib/{support → gpr}/tmpfile_windows.cc +2 -2
  242. data/src/core/lib/{support → gpr}/wrap_memcpy.cc +0 -0
  243. data/src/core/lib/http/format_request.cc +1 -1
  244. data/src/core/lib/http/format_request.h +0 -8
  245. data/src/core/lib/http/httpcli.cc +55 -74
  246. data/src/core/lib/http/httpcli.h +13 -22
  247. data/src/core/lib/http/httpcli_security_connector.cc +27 -33
  248. data/src/core/lib/http/parser.h +0 -8
  249. data/src/core/lib/iomgr/block_annotate.h +10 -17
  250. data/src/core/lib/iomgr/call_combiner.cc +14 -17
  251. data/src/core/lib/iomgr/call_combiner.h +16 -34
  252. data/src/core/lib/iomgr/closure.h +24 -37
  253. data/src/core/lib/iomgr/combiner.cc +62 -66
  254. data/src/core/lib/iomgr/combiner.h +6 -16
  255. data/src/core/lib/iomgr/endpoint.cc +15 -21
  256. data/src/core/lib/iomgr/endpoint.h +16 -33
  257. data/src/core/lib/iomgr/endpoint_pair.h +0 -8
  258. data/src/core/lib/iomgr/endpoint_pair_posix.cc +4 -5
  259. data/src/core/lib/iomgr/endpoint_pair_windows.cc +4 -6
  260. data/src/core/lib/iomgr/error.cc +2 -6
  261. data/src/core/lib/iomgr/error.h +4 -9
  262. data/src/core/lib/iomgr/error_internal.h +0 -8
  263. data/src/core/lib/iomgr/ev_epoll1_linux.cc +110 -117
  264. data/src/core/lib/iomgr/ev_epoll1_linux.h +0 -8
  265. data/src/core/lib/iomgr/ev_epollex_linux.cc +111 -141
  266. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -8
  267. data/src/core/lib/iomgr/ev_epollsig_linux.cc +83 -109
  268. data/src/core/lib/iomgr/ev_epollsig_linux.h +2 -10
  269. data/src/core/lib/iomgr/ev_poll_posix.cc +103 -125
  270. data/src/core/lib/iomgr/ev_poll_posix.h +0 -8
  271. data/src/core/lib/iomgr/ev_posix.cc +35 -50
  272. data/src/core/lib/iomgr/ev_posix.h +27 -53
  273. data/src/core/lib/iomgr/exec_ctx.cc +46 -78
  274. data/src/core/lib/iomgr/exec_ctx.h +127 -60
  275. data/src/core/lib/iomgr/executor.cc +34 -38
  276. data/src/core/lib/iomgr/executor.h +3 -11
  277. data/src/core/lib/iomgr/fork_posix.cc +13 -12
  278. data/src/core/lib/iomgr/gethostname.h +0 -8
  279. data/src/core/lib/iomgr/gethostname_sysconf.cc +1 -1
  280. data/src/core/lib/iomgr/iocp_windows.cc +14 -16
  281. data/src/core/lib/iomgr/iocp_windows.h +1 -10
  282. data/src/core/lib/iomgr/iomgr.cc +60 -59
  283. data/src/core/lib/iomgr/iomgr.h +3 -12
  284. data/src/core/lib/iomgr/iomgr_internal.h +0 -8
  285. data/src/core/lib/iomgr/iomgr_uv.cc +2 -3
  286. data/src/core/lib/iomgr/iomgr_uv.h +0 -8
  287. data/src/core/lib/iomgr/is_epollexclusive_available.cc +1 -1
  288. data/src/core/lib/iomgr/load_file.cc +1 -1
  289. data/src/core/lib/iomgr/load_file.h +0 -8
  290. data/src/core/lib/iomgr/lockfree_event.cc +7 -8
  291. data/src/core/lib/iomgr/lockfree_event.h +3 -3
  292. data/src/core/lib/iomgr/polling_entity.cc +6 -10
  293. data/src/core/lib/iomgr/polling_entity.h +2 -11
  294. data/src/core/lib/iomgr/pollset.h +4 -13
  295. data/src/core/lib/iomgr/pollset_set.h +5 -18
  296. data/src/core/lib/iomgr/pollset_set_uv.cc +5 -10
  297. data/src/core/lib/iomgr/pollset_set_windows.cc +5 -10
  298. data/src/core/lib/iomgr/pollset_uv.cc +8 -9
  299. data/src/core/lib/iomgr/pollset_uv.h +0 -8
  300. data/src/core/lib/iomgr/pollset_windows.cc +14 -15
  301. data/src/core/lib/iomgr/pollset_windows.h +0 -8
  302. data/src/core/lib/iomgr/port.h +6 -1
  303. data/src/core/lib/iomgr/resolve_address.h +1 -10
  304. data/src/core/lib/iomgr/resolve_address_posix.cc +10 -12
  305. data/src/core/lib/iomgr/resolve_address_uv.cc +7 -8
  306. data/src/core/lib/iomgr/resolve_address_windows.cc +8 -9
  307. data/src/core/lib/iomgr/resource_quota.cc +77 -107
  308. data/src/core/lib/iomgr/resource_quota.h +8 -25
  309. data/src/core/lib/iomgr/sockaddr_utils.cc +1 -1
  310. data/src/core/lib/iomgr/sockaddr_utils.h +0 -8
  311. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  312. data/src/core/lib/iomgr/socket_factory_posix.h +0 -8
  313. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  314. data/src/core/lib/iomgr/socket_mutator.h +1 -9
  315. data/src/core/lib/iomgr/socket_utils.h +0 -8
  316. data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -1
  317. data/src/core/lib/iomgr/socket_utils_posix.h +0 -8
  318. data/src/core/lib/iomgr/socket_windows.cc +8 -11
  319. data/src/core/lib/iomgr/socket_windows.h +3 -14
  320. data/src/core/lib/iomgr/tcp_client.h +1 -10
  321. data/src/core/lib/iomgr/tcp_client_posix.cc +94 -78
  322. data/src/core/lib/iomgr/tcp_client_posix.h +36 -8
  323. data/src/core/lib/iomgr/tcp_client_uv.cc +16 -23
  324. data/src/core/lib/iomgr/tcp_client_windows.cc +22 -25
  325. data/src/core/lib/iomgr/tcp_posix.cc +131 -153
  326. data/src/core/lib/iomgr/tcp_posix.h +3 -12
  327. data/src/core/lib/iomgr/tcp_server.h +6 -17
  328. data/src/core/lib/iomgr/tcp_server_posix.cc +31 -35
  329. data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -8
  330. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
  331. data/src/core/lib/iomgr/tcp_server_uv.cc +23 -34
  332. data/src/core/lib/iomgr/tcp_server_windows.cc +24 -34
  333. data/src/core/lib/iomgr/tcp_uv.cc +42 -56
  334. data/src/core/lib/iomgr/tcp_uv.h +0 -8
  335. data/src/core/lib/iomgr/tcp_windows.cc +43 -50
  336. data/src/core/lib/iomgr/tcp_windows.h +1 -9
  337. data/src/core/lib/iomgr/time_averaged_stats.h +0 -8
  338. data/src/core/lib/iomgr/timer.h +6 -15
  339. data/src/core/lib/iomgr/timer_generic.cc +22 -27
  340. data/src/core/lib/iomgr/timer_heap.h +0 -8
  341. data/src/core/lib/iomgr/timer_manager.cc +17 -19
  342. data/src/core/lib/iomgr/timer_manager.h +0 -8
  343. data/src/core/lib/iomgr/timer_uv.cc +12 -14
  344. data/src/core/lib/iomgr/udp_server.cc +148 -54
  345. data/src/core/lib/iomgr/udp_server.h +16 -21
  346. data/src/core/lib/iomgr/unix_sockets_posix.h +0 -8
  347. data/src/core/lib/iomgr/wakeup_fd_cv.cc +4 -4
  348. data/src/core/lib/iomgr/wakeup_fd_cv.h +12 -20
  349. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +1 -1
  350. data/src/core/lib/iomgr/wakeup_fd_pipe.h +0 -8
  351. data/src/core/lib/iomgr/wakeup_fd_posix.h +0 -8
  352. data/src/core/lib/json/json.h +0 -8
  353. data/src/core/lib/json/json_reader.h +0 -8
  354. data/src/core/lib/json/json_writer.h +0 -8
  355. data/src/core/lib/profiling/basic_timers.cc +3 -2
  356. data/src/core/lib/profiling/timers.h +0 -8
  357. data/src/core/lib/security/context/security_context.cc +9 -10
  358. data/src/core/lib/security/context/security_context.h +0 -8
  359. data/src/core/lib/security/credentials/composite/composite_credentials.cc +23 -28
  360. data/src/core/lib/security/credentials/composite/composite_credentials.h +0 -8
  361. data/src/core/lib/security/credentials/credentials.cc +33 -42
  362. data/src/core/lib/security/credentials/credentials.h +24 -43
  363. data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
  364. data/src/core/lib/security/credentials/fake/fake_credentials.cc +16 -22
  365. data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -8
  366. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
  367. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +28 -34
  368. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +0 -8
  369. data/src/core/lib/security/credentials/iam/iam_credentials.cc +9 -13
  370. data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
  371. data/src/core/lib/security/credentials/jwt/json_token.h +0 -8
  372. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +14 -20
  373. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -10
  374. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +56 -72
  375. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +5 -17
  376. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +47 -55
  377. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +3 -12
  378. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +23 -28
  379. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +8 -13
  380. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -8
  381. data/src/core/lib/security/transport/auth_filters.h +0 -8
  382. data/src/core/lib/security/transport/client_auth_filter.cc +45 -54
  383. data/src/core/lib/security/transport/lb_targets_info.cc +2 -2
  384. data/src/core/lib/security/transport/lb_targets_info.h +0 -8
  385. data/src/core/lib/security/transport/secure_endpoint.cc +54 -68
  386. data/src/core/lib/security/transport/secure_endpoint.h +0 -8
  387. data/src/core/lib/security/transport/security_connector.cc +62 -86
  388. data/src/core/lib/security/transport/security_connector.h +22 -39
  389. data/src/core/lib/security/transport/security_handshaker.cc +83 -106
  390. data/src/core/lib/security/transport/security_handshaker.h +1 -10
  391. data/src/core/lib/security/transport/server_auth_filter.cc +31 -38
  392. data/src/core/lib/security/transport/tsi_error.h +0 -8
  393. data/src/core/lib/security/util/json_util.h +0 -8
  394. data/src/core/lib/slice/b64.cc +5 -6
  395. data/src/core/lib/slice/b64.h +3 -12
  396. data/src/core/lib/slice/percent_encoding.h +0 -8
  397. data/src/core/lib/slice/slice.cc +8 -9
  398. data/src/core/lib/slice/slice_buffer.cc +11 -16
  399. data/src/core/lib/slice/slice_hash_table.cc +5 -7
  400. data/src/core/lib/slice/slice_hash_table.h +2 -12
  401. data/src/core/lib/slice/slice_intern.cc +4 -5
  402. data/src/core/lib/slice/slice_internal.h +4 -15
  403. data/src/core/lib/slice/slice_string_helpers.cc +1 -1
  404. data/src/core/lib/slice/slice_string_helpers.h +1 -9
  405. data/src/core/lib/surface/alarm.cc +11 -14
  406. data/src/core/lib/surface/alarm_internal.h +0 -8
  407. data/src/core/lib/surface/byte_buffer.cc +2 -3
  408. data/src/core/lib/surface/byte_buffer_reader.cc +7 -9
  409. data/src/core/lib/surface/call.cc +198 -241
  410. data/src/core/lib/surface/call.h +9 -23
  411. data/src/core/lib/surface/call_details.cc +3 -4
  412. data/src/core/lib/surface/call_log_batch.cc +1 -1
  413. data/src/core/lib/surface/call_test_only.h +0 -8
  414. data/src/core/lib/surface/channel.cc +53 -64
  415. data/src/core/lib/surface/channel.h +12 -23
  416. data/src/core/lib/surface/channel_init.cc +2 -3
  417. data/src/core/lib/surface/channel_init.h +2 -12
  418. data/src/core/lib/surface/channel_ping.cc +7 -9
  419. data/src/core/lib/surface/channel_stack_type.h +0 -8
  420. data/src/core/lib/surface/completion_queue.cc +158 -176
  421. data/src/core/lib/surface/completion_queue.h +9 -20
  422. data/src/core/lib/surface/completion_queue_factory.h +0 -8
  423. data/src/core/lib/surface/event_string.cc +1 -1
  424. data/src/core/lib/surface/event_string.h +0 -8
  425. data/src/core/lib/surface/init.cc +27 -25
  426. data/src/core/lib/surface/init.h +0 -8
  427. data/src/core/lib/surface/init_secure.cc +2 -2
  428. data/src/core/lib/surface/lame_client.cc +30 -33
  429. data/src/core/lib/surface/lame_client.h +0 -8
  430. data/src/core/lib/surface/server.cc +151 -203
  431. data/src/core/lib/surface/server.h +7 -16
  432. data/src/core/lib/surface/validate_metadata.h +0 -8
  433. data/src/core/lib/surface/version.cc +2 -2
  434. data/src/core/lib/transport/bdp_estimator.cc +2 -2
  435. data/src/core/lib/transport/bdp_estimator.h +1 -1
  436. data/src/core/lib/transport/byte_stream.cc +24 -38
  437. data/src/core/lib/transport/byte_stream.h +10 -25
  438. data/src/core/lib/transport/connectivity_state.cc +9 -13
  439. data/src/core/lib/transport/connectivity_state.h +4 -14
  440. data/src/core/lib/transport/error_utils.cc +6 -6
  441. data/src/core/lib/transport/error_utils.h +2 -11
  442. data/src/core/lib/transport/metadata.cc +21 -23
  443. data/src/core/lib/transport/metadata.h +8 -20
  444. data/src/core/lib/transport/metadata_batch.cc +34 -45
  445. data/src/core/lib/transport/metadata_batch.h +18 -32
  446. data/src/core/lib/transport/service_config.cc +11 -15
  447. data/src/core/lib/transport/service_config.h +3 -13
  448. data/src/core/lib/transport/static_metadata.cc +1 -1
  449. data/src/core/lib/transport/static_metadata.h +1 -7
  450. data/src/core/lib/transport/status_conversion.cc +2 -3
  451. data/src/core/lib/transport/status_conversion.h +1 -10
  452. data/src/core/lib/transport/timeout_encoding.cc +1 -1
  453. data/src/core/lib/transport/timeout_encoding.h +1 -9
  454. data/src/core/lib/transport/transport.cc +36 -50
  455. data/src/core/lib/transport/transport.h +28 -30
  456. data/src/core/lib/transport/transport_impl.h +12 -23
  457. data/src/core/lib/transport/transport_op_string.cc +2 -2
  458. data/src/core/plugin_registry/grpc_plugin_registry.cc +34 -34
  459. data/src/core/tsi/fake_transport_security.cc +7 -10
  460. data/src/core/tsi/fake_transport_security.h +0 -8
  461. data/src/core/tsi/gts_transport_security.cc +2 -2
  462. data/src/core/tsi/gts_transport_security.h +0 -8
  463. data/src/core/tsi/ssl_transport_security.cc +3 -0
  464. data/src/core/tsi/ssl_transport_security.h +0 -8
  465. data/src/core/tsi/ssl_types.h +0 -8
  466. data/src/core/tsi/transport_security.h +1 -9
  467. data/src/core/tsi/transport_security_adapter.h +0 -8
  468. data/src/core/tsi/transport_security_grpc.cc +11 -18
  469. data/src/core/tsi/transport_security_grpc.h +9 -21
  470. data/src/core/tsi/transport_security_interface.h +0 -8
  471. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +0 -30
  472. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -48
  473. data/src/ruby/lib/grpc/version.rb +1 -1
  474. data/src/ruby/spec/channel_connection_spec.rb +2 -1
  475. data/src/ruby/spec/client_auth_spec.rb +1 -1
  476. data/src/ruby/spec/client_server_spec.rb +2 -2
  477. data/src/ruby/spec/generic/active_call_spec.rb +1 -1
  478. data/src/ruby/spec/generic/client_stub_spec.rb +4 -4
  479. data/src/ruby/spec/generic/interceptor_registry_spec.rb +1 -1
  480. data/src/ruby/spec/generic/rpc_server_spec.rb +12 -12
  481. data/src/ruby/spec/google_rpc_status_utils_spec.rb +3 -2
  482. data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
  483. data/src/ruby/spec/server_spec.rb +9 -9
  484. data/src/ruby/spec/support/helpers.rb +35 -1
  485. metadata +68 -66
  486. data/include/grpc/impl/codegen/exec_ctx_fwd.h +0 -26
  487. data/include/grpc/support/histogram.h +0 -64
  488. data/src/core/lib/support/histogram.cc +0 -227
@@ -22,15 +22,7 @@
22
22
  #include "src/core/ext/filters/load_reporting/server_load_reporting_plugin.h"
23
23
  #include "src/core/lib/channel/channel_stack.h"
24
24
 
25
- #ifdef __cplusplus
26
- extern "C" {
27
- #endif
28
-
29
25
  extern const grpc_channel_filter grpc_server_load_reporting_filter;
30
26
 
31
- #ifdef __cplusplus
32
- }
33
- #endif
34
-
35
27
  #endif /* GRPC_CORE_EXT_FILTERS_LOAD_REPORTING_SERVER_LOAD_REPORTING_FILTER_H \
36
28
  */
@@ -38,7 +38,7 @@ static bool is_load_reporting_enabled(const grpc_channel_args* a) {
38
38
  }
39
39
 
40
40
  static bool maybe_add_server_load_reporting_filter(
41
- grpc_exec_ctx* exec_ctx, grpc_channel_stack_builder* builder, void* arg) {
41
+ grpc_channel_stack_builder* builder, void* arg) {
42
42
  const grpc_channel_args* args =
43
43
  grpc_channel_stack_builder_get_channel_arguments(builder);
44
44
  const grpc_channel_filter* filter = (const grpc_channel_filter*)arg;
@@ -61,10 +61,10 @@ grpc_arg grpc_load_reporting_enable_arg() {
61
61
 
62
62
  /* Plugin registration */
63
63
 
64
- extern "C" void grpc_server_load_reporting_plugin_init(void) {
64
+ void grpc_server_load_reporting_plugin_init(void) {
65
65
  grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL, INT_MAX,
66
66
  maybe_add_server_load_reporting_filter,
67
67
  (void*)&grpc_server_load_reporting_filter);
68
68
  }
69
69
 
70
- extern "C" void grpc_server_load_reporting_plugin_shutdown() {}
70
+ void grpc_server_load_reporting_plugin_shutdown() {}
@@ -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
  /** Identifiers for the invocation point of the users LR callback */
31
27
  typedef enum grpc_load_reporting_source {
32
28
  GRPC_LR_POINT_UNKNOWN = 0,
@@ -59,9 +55,5 @@ typedef struct grpc_load_reporting_call_data {
59
55
  /** Return a \a grpc_arg enabling load reporting */
60
56
  grpc_arg grpc_load_reporting_enable_arg();
61
57
 
62
- #ifdef __cplusplus
63
- }
64
- #endif
65
-
66
58
  #endif /* GRPC_CORE_EXT_FILTERS_LOAD_REPORTING_SERVER_LOAD_REPORTING_PLUGIN_H \
67
59
  */
@@ -37,7 +37,8 @@
37
37
  #define MAX_CONNECTION_IDLE_INTEGER_OPTIONS \
38
38
  { DEFAULT_MAX_CONNECTION_IDLE_MS, 1, INT_MAX }
39
39
 
40
- typedef struct channel_data {
40
+ namespace {
41
+ struct channel_data {
41
42
  /* We take a reference to the channel stack for the timer callback */
42
43
  grpc_channel_stack* channel_stack;
43
44
  /* Guards access to max_age_timer, max_age_timer_pending, max_age_grace_timer
@@ -84,77 +85,74 @@ typedef struct channel_data {
84
85
  grpc_connectivity_state connectivity_state;
85
86
  /* Number of active calls */
86
87
  gpr_atm call_count;
87
- } channel_data;
88
+ };
89
+ } // namespace
88
90
 
89
91
  /* Increase the nubmer of active calls. Before the increasement, if there are no
90
92
  calls, the max_idle_timer should be cancelled. */
91
- static void increase_call_count(grpc_exec_ctx* exec_ctx, channel_data* chand) {
93
+ static void increase_call_count(channel_data* chand) {
92
94
  if (gpr_atm_full_fetch_add(&chand->call_count, 1) == 0) {
93
- grpc_timer_cancel(exec_ctx, &chand->max_idle_timer);
95
+ grpc_timer_cancel(&chand->max_idle_timer);
94
96
  }
95
97
  }
96
98
 
97
99
  /* Decrease the nubmer of active calls. After the decrement, if there are no
98
100
  calls, the max_idle_timer should be started. */
99
- static void decrease_call_count(grpc_exec_ctx* exec_ctx, channel_data* chand) {
101
+ static void decrease_call_count(channel_data* chand) {
100
102
  if (gpr_atm_full_fetch_add(&chand->call_count, -1) == 1) {
101
103
  GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_idle_timer");
102
- grpc_timer_init(exec_ctx, &chand->max_idle_timer,
103
- grpc_exec_ctx_now(exec_ctx) + chand->max_connection_idle,
104
- &chand->close_max_idle_channel);
104
+ grpc_timer_init(
105
+ &chand->max_idle_timer,
106
+ grpc_core::ExecCtx::Get()->Now() + chand->max_connection_idle,
107
+ &chand->close_max_idle_channel);
105
108
  }
106
109
  }
107
110
 
108
- static void start_max_idle_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg,
109
- grpc_error* error) {
111
+ static void start_max_idle_timer_after_init(void* arg, grpc_error* error) {
110
112
  channel_data* chand = (channel_data*)arg;
111
113
  /* Decrease call_count. If there are no active calls at this time,
112
114
  max_idle_timer will start here. If the number of active calls is not 0,
113
115
  max_idle_timer will start after all the active calls end. */
114
- decrease_call_count(exec_ctx, chand);
115
- GRPC_CHANNEL_STACK_UNREF(exec_ctx, chand->channel_stack,
116
+ decrease_call_count(chand);
117
+ GRPC_CHANNEL_STACK_UNREF(chand->channel_stack,
116
118
  "max_age start_max_idle_timer_after_init");
117
119
  }
118
120
 
119
- static void start_max_age_timer_after_init(grpc_exec_ctx* exec_ctx, void* arg,
120
- grpc_error* error) {
121
+ static void start_max_age_timer_after_init(void* arg, grpc_error* error) {
121
122
  channel_data* chand = (channel_data*)arg;
122
123
  gpr_mu_lock(&chand->max_age_timer_mu);
123
124
  chand->max_age_timer_pending = true;
124
125
  GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_timer");
125
- grpc_timer_init(exec_ctx, &chand->max_age_timer,
126
- grpc_exec_ctx_now(exec_ctx) + chand->max_connection_age,
126
+ grpc_timer_init(&chand->max_age_timer,
127
+ grpc_core::ExecCtx::Get()->Now() + chand->max_connection_age,
127
128
  &chand->close_max_age_channel);
128
129
  gpr_mu_unlock(&chand->max_age_timer_mu);
129
130
  grpc_transport_op* op = grpc_make_transport_op(nullptr);
130
131
  op->on_connectivity_state_change = &chand->channel_connectivity_changed;
131
132
  op->connectivity_state = &chand->connectivity_state;
132
- grpc_channel_next_op(exec_ctx,
133
- grpc_channel_stack_element(chand->channel_stack, 0), op);
134
- GRPC_CHANNEL_STACK_UNREF(exec_ctx, chand->channel_stack,
133
+ grpc_channel_next_op(grpc_channel_stack_element(chand->channel_stack, 0), op);
134
+ GRPC_CHANNEL_STACK_UNREF(chand->channel_stack,
135
135
  "max_age start_max_age_timer_after_init");
136
136
  }
137
137
 
138
- static void start_max_age_grace_timer_after_goaway_op(grpc_exec_ctx* exec_ctx,
139
- void* arg,
138
+ static void start_max_age_grace_timer_after_goaway_op(void* arg,
140
139
  grpc_error* error) {
141
140
  channel_data* chand = (channel_data*)arg;
142
141
  gpr_mu_lock(&chand->max_age_timer_mu);
143
142
  chand->max_age_grace_timer_pending = true;
144
143
  GRPC_CHANNEL_STACK_REF(chand->channel_stack, "max_age max_age_grace_timer");
145
144
  grpc_timer_init(
146
- exec_ctx, &chand->max_age_grace_timer,
145
+ &chand->max_age_grace_timer,
147
146
  chand->max_connection_age_grace == GRPC_MILLIS_INF_FUTURE
148
147
  ? GRPC_MILLIS_INF_FUTURE
149
- : grpc_exec_ctx_now(exec_ctx) + chand->max_connection_age_grace,
148
+ : grpc_core::ExecCtx::Get()->Now() + chand->max_connection_age_grace,
150
149
  &chand->force_close_max_age_channel);
151
150
  gpr_mu_unlock(&chand->max_age_timer_mu);
152
- GRPC_CHANNEL_STACK_UNREF(exec_ctx, chand->channel_stack,
151
+ GRPC_CHANNEL_STACK_UNREF(chand->channel_stack,
153
152
  "max_age start_max_age_grace_timer_after_goaway_op");
154
153
  }
155
154
 
156
- static void close_max_idle_channel(grpc_exec_ctx* exec_ctx, void* arg,
157
- grpc_error* error) {
155
+ static void close_max_idle_channel(void* arg, grpc_error* error) {
158
156
  channel_data* chand = (channel_data*)arg;
159
157
  if (error == GRPC_ERROR_NONE) {
160
158
  /* Prevent the max idle timer from being set again */
@@ -165,16 +163,14 @@ static void close_max_idle_channel(grpc_exec_ctx* exec_ctx, void* arg,
165
163
  GRPC_ERROR_INT_HTTP2_ERROR, GRPC_HTTP2_NO_ERROR);
166
164
  grpc_channel_element* elem =
167
165
  grpc_channel_stack_element(chand->channel_stack, 0);
168
- elem->filter->start_transport_op(exec_ctx, elem, op);
166
+ elem->filter->start_transport_op(elem, op);
169
167
  } else if (error != GRPC_ERROR_CANCELLED) {
170
168
  GRPC_LOG_IF_ERROR("close_max_idle_channel", error);
171
169
  }
172
- GRPC_CHANNEL_STACK_UNREF(exec_ctx, chand->channel_stack,
173
- "max_age max_idle_timer");
170
+ GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_idle_timer");
174
171
  }
175
172
 
176
- static void close_max_age_channel(grpc_exec_ctx* exec_ctx, void* arg,
177
- grpc_error* error) {
173
+ static void close_max_age_channel(void* arg, grpc_error* error) {
178
174
  channel_data* chand = (channel_data*)arg;
179
175
  gpr_mu_lock(&chand->max_age_timer_mu);
180
176
  chand->max_age_timer_pending = false;
@@ -189,16 +185,14 @@ static void close_max_age_channel(grpc_exec_ctx* exec_ctx, void* arg,
189
185
  GRPC_ERROR_INT_HTTP2_ERROR, GRPC_HTTP2_NO_ERROR);
190
186
  grpc_channel_element* elem =
191
187
  grpc_channel_stack_element(chand->channel_stack, 0);
192
- elem->filter->start_transport_op(exec_ctx, elem, op);
188
+ elem->filter->start_transport_op(elem, op);
193
189
  } else if (error != GRPC_ERROR_CANCELLED) {
194
190
  GRPC_LOG_IF_ERROR("close_max_age_channel", error);
195
191
  }
196
- GRPC_CHANNEL_STACK_UNREF(exec_ctx, chand->channel_stack,
197
- "max_age max_age_timer");
192
+ GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_age_timer");
198
193
  }
199
194
 
200
- static void force_close_max_age_channel(grpc_exec_ctx* exec_ctx, void* arg,
201
- grpc_error* error) {
195
+ static void force_close_max_age_channel(void* arg, grpc_error* error) {
202
196
  channel_data* chand = (channel_data*)arg;
203
197
  gpr_mu_lock(&chand->max_age_timer_mu);
204
198
  chand->max_age_grace_timer_pending = false;
@@ -209,38 +203,36 @@ static void force_close_max_age_channel(grpc_exec_ctx* exec_ctx, void* arg,
209
203
  GRPC_ERROR_CREATE_FROM_STATIC_STRING("Channel reaches max age");
210
204
  grpc_channel_element* elem =
211
205
  grpc_channel_stack_element(chand->channel_stack, 0);
212
- elem->filter->start_transport_op(exec_ctx, elem, op);
206
+ elem->filter->start_transport_op(elem, op);
213
207
  } else if (error != GRPC_ERROR_CANCELLED) {
214
208
  GRPC_LOG_IF_ERROR("force_close_max_age_channel", error);
215
209
  }
216
- GRPC_CHANNEL_STACK_UNREF(exec_ctx, chand->channel_stack,
217
- "max_age max_age_grace_timer");
210
+ GRPC_CHANNEL_STACK_UNREF(chand->channel_stack, "max_age max_age_grace_timer");
218
211
  }
219
212
 
220
- static void channel_connectivity_changed(grpc_exec_ctx* exec_ctx, void* arg,
221
- grpc_error* error) {
213
+ static void channel_connectivity_changed(void* arg, grpc_error* error) {
222
214
  channel_data* chand = (channel_data*)arg;
223
215
  if (chand->connectivity_state != GRPC_CHANNEL_SHUTDOWN) {
224
216
  grpc_transport_op* op = grpc_make_transport_op(nullptr);
225
217
  op->on_connectivity_state_change = &chand->channel_connectivity_changed;
226
218
  op->connectivity_state = &chand->connectivity_state;
227
- grpc_channel_next_op(
228
- exec_ctx, grpc_channel_stack_element(chand->channel_stack, 0), op);
219
+ grpc_channel_next_op(grpc_channel_stack_element(chand->channel_stack, 0),
220
+ op);
229
221
  } else {
230
222
  gpr_mu_lock(&chand->max_age_timer_mu);
231
223
  if (chand->max_age_timer_pending) {
232
- grpc_timer_cancel(exec_ctx, &chand->max_age_timer);
224
+ grpc_timer_cancel(&chand->max_age_timer);
233
225
  chand->max_age_timer_pending = false;
234
226
  }
235
227
  if (chand->max_age_grace_timer_pending) {
236
- grpc_timer_cancel(exec_ctx, &chand->max_age_grace_timer);
228
+ grpc_timer_cancel(&chand->max_age_grace_timer);
237
229
  chand->max_age_grace_timer_pending = false;
238
230
  }
239
231
  gpr_mu_unlock(&chand->max_age_timer_mu);
240
232
  /* If there are no active calls, this increasement will cancel
241
233
  max_idle_timer, and prevent max_idle_timer from being started in the
242
234
  future. */
243
- increase_call_count(exec_ctx, chand);
235
+ increase_call_count(chand);
244
236
  }
245
237
  }
246
238
 
@@ -263,25 +255,23 @@ add_random_max_connection_age_jitter_and_convert_to_grpc_millis(int value) {
263
255
  }
264
256
 
265
257
  /* Constructor for call_data. */
266
- static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
267
- grpc_call_element* elem,
258
+ static grpc_error* init_call_elem(grpc_call_element* elem,
268
259
  const grpc_call_element_args* args) {
269
260
  channel_data* chand = (channel_data*)elem->channel_data;
270
- increase_call_count(exec_ctx, chand);
261
+ increase_call_count(chand);
271
262
  return GRPC_ERROR_NONE;
272
263
  }
273
264
 
274
265
  /* Destructor for call_data. */
275
- static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
266
+ static void destroy_call_elem(grpc_call_element* elem,
276
267
  const grpc_call_final_info* final_info,
277
268
  grpc_closure* ignored) {
278
269
  channel_data* chand = (channel_data*)elem->channel_data;
279
- decrease_call_count(exec_ctx, chand);
270
+ decrease_call_count(chand);
280
271
  }
281
272
 
282
273
  /* Constructor for channel_data. */
283
- static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
284
- grpc_channel_element* elem,
274
+ static grpc_error* init_channel_elem(grpc_channel_element* elem,
285
275
  grpc_channel_element_args* args) {
286
276
  channel_data* chand = (channel_data*)elem->channel_data;
287
277
  gpr_mu_init(&chand->max_age_timer_mu);
@@ -351,8 +341,7 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
351
341
  initialization is done. */
352
342
  GRPC_CHANNEL_STACK_REF(chand->channel_stack,
353
343
  "max_age start_max_age_timer_after_init");
354
- GRPC_CLOSURE_SCHED(exec_ctx, &chand->start_max_age_timer_after_init,
355
- GRPC_ERROR_NONE);
344
+ GRPC_CLOSURE_SCHED(&chand->start_max_age_timer_after_init, GRPC_ERROR_NONE);
356
345
  }
357
346
 
358
347
  /* Initialize the number of calls as 1, so that the max_idle_timer will not
@@ -361,15 +350,14 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
361
350
  if (chand->max_connection_idle != GRPC_MILLIS_INF_FUTURE) {
362
351
  GRPC_CHANNEL_STACK_REF(chand->channel_stack,
363
352
  "max_age start_max_idle_timer_after_init");
364
- GRPC_CLOSURE_SCHED(exec_ctx, &chand->start_max_idle_timer_after_init,
353
+ GRPC_CLOSURE_SCHED(&chand->start_max_idle_timer_after_init,
365
354
  GRPC_ERROR_NONE);
366
355
  }
367
356
  return GRPC_ERROR_NONE;
368
357
  }
369
358
 
370
359
  /* Destructor for channel_data. */
371
- static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
372
- grpc_channel_element* elem) {}
360
+ static void destroy_channel_elem(grpc_channel_element* elem) {}
373
361
 
374
362
  const grpc_channel_filter grpc_max_age_filter = {
375
363
  grpc_call_next_op,
@@ -384,8 +372,7 @@ const grpc_channel_filter grpc_max_age_filter = {
384
372
  grpc_channel_next_get_info,
385
373
  "max_age"};
386
374
 
387
- static bool maybe_add_max_age_filter(grpc_exec_ctx* exec_ctx,
388
- grpc_channel_stack_builder* builder,
375
+ static bool maybe_add_max_age_filter(grpc_channel_stack_builder* builder,
389
376
  void* arg) {
390
377
  const grpc_channel_args* channel_args =
391
378
  grpc_channel_stack_builder_get_channel_arguments(builder);
@@ -404,10 +391,10 @@ static bool maybe_add_max_age_filter(grpc_exec_ctx* exec_ctx,
404
391
  }
405
392
  }
406
393
 
407
- extern "C" void grpc_max_age_filter_init(void) {
394
+ void grpc_max_age_filter_init(void) {
408
395
  grpc_channel_init_register_stage(GRPC_SERVER_CHANNEL,
409
396
  GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
410
397
  maybe_add_max_age_filter, nullptr);
411
398
  }
412
399
 
413
- extern "C" void grpc_max_age_filter_shutdown(void) {}
400
+ void grpc_max_age_filter_shutdown(void) {}
@@ -19,14 +19,6 @@
19
19
 
20
20
  #include "src/core/lib/channel/channel_stack.h"
21
21
 
22
- #ifdef __cplusplus
23
- extern "C" {
24
- #endif
25
-
26
22
  extern const grpc_channel_filter grpc_max_age_filter;
27
23
 
28
- #ifdef __cplusplus
29
- }
30
- #endif
31
-
32
24
  #endif /* GRPC_CORE_EXT_FILTERS_MAX_AGE_MAX_AGE_FILTER_H */
@@ -26,7 +26,7 @@
26
26
 
27
27
  #include "src/core/lib/channel/channel_args.h"
28
28
  #include "src/core/lib/channel/channel_stack_builder.h"
29
- #include "src/core/lib/support/string.h"
29
+ #include "src/core/lib/gpr/string.h"
30
30
  #include "src/core/lib/surface/channel_init.h"
31
31
  #include "src/core/lib/transport/service_config.h"
32
32
 
@@ -47,8 +47,7 @@ static void* refcounted_message_size_limits_ref(void* value) {
47
47
  return value;
48
48
  }
49
49
 
50
- static void refcounted_message_size_limits_unref(grpc_exec_ctx* exec_ctx,
51
- void* value) {
50
+ static void refcounted_message_size_limits_unref(void* value) {
52
51
  refcounted_message_size_limits* limits =
53
52
  (refcounted_message_size_limits*)value;
54
53
  if (gpr_unref(&limits->refs)) {
@@ -87,7 +86,8 @@ static void* refcounted_message_size_limits_create_from_json(
87
86
  return value;
88
87
  }
89
88
 
90
- typedef struct call_data {
89
+ namespace {
90
+ struct call_data {
91
91
  grpc_call_combiner* call_combiner;
92
92
  message_size_limits limits;
93
93
  // Receive closures are chained: we inject this closure as the
@@ -98,18 +98,18 @@ typedef struct call_data {
98
98
  grpc_byte_stream** recv_message;
99
99
  // Original recv_message_ready callback, invoked after our own.
100
100
  grpc_closure* next_recv_message_ready;
101
- } call_data;
101
+ };
102
102
 
103
- typedef struct channel_data {
103
+ struct channel_data {
104
104
  message_size_limits limits;
105
105
  // Maps path names to refcounted_message_size_limits structs.
106
106
  grpc_slice_hash_table* method_limit_table;
107
- } channel_data;
107
+ };
108
+ } // namespace
108
109
 
109
110
  // Callback invoked when we receive a message. Here we check the max
110
111
  // receive message size.
111
- static void recv_message_ready(grpc_exec_ctx* exec_ctx, void* user_data,
112
- grpc_error* error) {
112
+ static void recv_message_ready(void* user_data, grpc_error* error) {
113
113
  grpc_call_element* elem = (grpc_call_element*)user_data;
114
114
  call_data* calld = (call_data*)elem->call_data;
115
115
  if (*calld->recv_message != nullptr && calld->limits.max_recv_size >= 0 &&
@@ -132,13 +132,12 @@ static void recv_message_ready(grpc_exec_ctx* exec_ctx, void* user_data,
132
132
  GRPC_ERROR_REF(error);
133
133
  }
134
134
  // Invoke the next callback.
135
- GRPC_CLOSURE_RUN(exec_ctx, calld->next_recv_message_ready, error);
135
+ GRPC_CLOSURE_RUN(calld->next_recv_message_ready, error);
136
136
  }
137
137
 
138
138
  // Start transport stream op.
139
139
  static void start_transport_stream_op_batch(
140
- grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
141
- grpc_transport_stream_op_batch* op) {
140
+ grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
142
141
  call_data* calld = (call_data*)elem->call_data;
143
142
  // Check max send message size.
144
143
  if (op->send_message && calld->limits.max_send_size >= 0 &&
@@ -149,7 +148,7 @@ static void start_transport_stream_op_batch(
149
148
  op->payload->send_message.send_message->length,
150
149
  calld->limits.max_send_size);
151
150
  grpc_transport_stream_op_batch_finish_with_failure(
152
- exec_ctx, op,
151
+ op,
153
152
  grpc_error_set_int(GRPC_ERROR_CREATE_FROM_COPIED_STRING(message_string),
154
153
  GRPC_ERROR_INT_GRPC_STATUS,
155
154
  GRPC_STATUS_RESOURCE_EXHAUSTED),
@@ -165,12 +164,11 @@ static void start_transport_stream_op_batch(
165
164
  op->payload->recv_message.recv_message_ready = &calld->recv_message_ready;
166
165
  }
167
166
  // Chain to the next filter.
168
- grpc_call_next_op(exec_ctx, elem, op);
167
+ grpc_call_next_op(elem, op);
169
168
  }
170
169
 
171
170
  // Constructor for call_data.
172
- static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
173
- grpc_call_element* elem,
171
+ static grpc_error* init_call_elem(grpc_call_element* elem,
174
172
  const grpc_call_element_args* args) {
175
173
  channel_data* chand = (channel_data*)elem->channel_data;
176
174
  call_data* calld = (call_data*)elem->call_data;
@@ -186,7 +184,7 @@ static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
186
184
  if (chand->method_limit_table != nullptr) {
187
185
  refcounted_message_size_limits* limits =
188
186
  (refcounted_message_size_limits*)grpc_method_config_table_get(
189
- exec_ctx, chand->method_limit_table, args->path);
187
+ chand->method_limit_table, args->path);
190
188
  if (limits != nullptr) {
191
189
  if (limits->limits.max_send_size >= 0 &&
192
190
  (limits->limits.max_send_size < calld->limits.max_send_size ||
@@ -204,7 +202,7 @@ static grpc_error* init_call_elem(grpc_exec_ctx* exec_ctx,
204
202
  }
205
203
 
206
204
  // Destructor for call_data.
207
- static void destroy_call_elem(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
205
+ static void destroy_call_elem(grpc_call_element* elem,
208
206
  const grpc_call_final_info* final_info,
209
207
  grpc_closure* ignored) {}
210
208
 
@@ -241,8 +239,7 @@ message_size_limits get_message_size_limits(
241
239
  }
242
240
 
243
241
  // Constructor for channel_data.
244
- static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
245
- grpc_channel_element* elem,
242
+ static grpc_error* init_channel_elem(grpc_channel_element* elem,
246
243
  grpc_channel_element_args* args) {
247
244
  GPR_ASSERT(!args->is_last);
248
245
  channel_data* chand = (channel_data*)elem->channel_data;
@@ -257,8 +254,7 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
257
254
  if (service_config != nullptr) {
258
255
  chand->method_limit_table =
259
256
  grpc_service_config_create_method_config_table(
260
- exec_ctx, service_config,
261
- refcounted_message_size_limits_create_from_json,
257
+ service_config, refcounted_message_size_limits_create_from_json,
262
258
  refcounted_message_size_limits_ref,
263
259
  refcounted_message_size_limits_unref);
264
260
  grpc_service_config_destroy(service_config);
@@ -268,10 +264,9 @@ static grpc_error* init_channel_elem(grpc_exec_ctx* exec_ctx,
268
264
  }
269
265
 
270
266
  // Destructor for channel_data.
271
- static void destroy_channel_elem(grpc_exec_ctx* exec_ctx,
272
- grpc_channel_element* elem) {
267
+ static void destroy_channel_elem(grpc_channel_element* elem) {
273
268
  channel_data* chand = (channel_data*)elem->channel_data;
274
- grpc_slice_hash_table_unref(exec_ctx, chand->method_limit_table);
269
+ grpc_slice_hash_table_unref(chand->method_limit_table);
275
270
  }
276
271
 
277
272
  const grpc_channel_filter grpc_message_size_filter = {
@@ -287,8 +282,7 @@ const grpc_channel_filter grpc_message_size_filter = {
287
282
  grpc_channel_next_get_info,
288
283
  "message_size"};
289
284
 
290
- static bool maybe_add_message_size_filter(grpc_exec_ctx* exec_ctx,
291
- grpc_channel_stack_builder* builder,
285
+ static bool maybe_add_message_size_filter(grpc_channel_stack_builder* builder,
292
286
  void* arg) {
293
287
  const grpc_channel_args* channel_args =
294
288
  grpc_channel_stack_builder_get_channel_arguments(builder);
@@ -310,7 +304,7 @@ static bool maybe_add_message_size_filter(grpc_exec_ctx* exec_ctx,
310
304
  }
311
305
  }
312
306
 
313
- extern "C" void grpc_message_size_filter_init(void) {
307
+ void grpc_message_size_filter_init(void) {
314
308
  grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL,
315
309
  GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
316
310
  maybe_add_message_size_filter, nullptr);
@@ -322,4 +316,4 @@ extern "C" void grpc_message_size_filter_init(void) {
322
316
  maybe_add_message_size_filter, nullptr);
323
317
  }
324
318
 
325
- extern "C" void grpc_message_size_filter_shutdown(void) {}
319
+ void grpc_message_size_filter_shutdown(void) {}