grpc 1.7.3 → 1.8.0

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 (616) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +2106 -2116
  3. data/include/grpc/census.h +1 -432
  4. data/include/grpc/compression.h +9 -9
  5. data/include/grpc/grpc.h +115 -98
  6. data/include/grpc/grpc_cronet.h +3 -3
  7. data/include/grpc/grpc_posix.h +4 -4
  8. data/include/grpc/grpc_security.h +160 -88
  9. data/include/grpc/grpc_security_constants.h +7 -0
  10. data/include/grpc/impl/codegen/atm.h +9 -1
  11. data/include/grpc/impl/codegen/atm_gcc_atomic.h +13 -4
  12. data/include/grpc/impl/codegen/atm_gcc_sync.h +6 -5
  13. data/include/grpc/impl/codegen/atm_windows.h +23 -22
  14. data/include/grpc/impl/codegen/byte_buffer.h +14 -14
  15. data/include/grpc/impl/codegen/byte_buffer_reader.h +2 -2
  16. data/include/grpc/impl/codegen/connectivity_state.h +0 -2
  17. data/include/grpc/impl/codegen/grpc_types.h +32 -28
  18. data/include/grpc/impl/codegen/port_platform.h +48 -0
  19. data/include/grpc/impl/codegen/slice.h +10 -10
  20. data/include/grpc/impl/codegen/sync_generic.h +9 -3
  21. data/include/grpc/slice.h +16 -17
  22. data/include/grpc/slice_buffer.h +22 -22
  23. data/include/grpc/support/alloc.h +11 -11
  24. data/include/grpc/support/avl.h +28 -20
  25. data/include/grpc/support/cmdline.h +13 -13
  26. data/include/grpc/support/histogram.h +17 -17
  27. data/include/grpc/support/host_port.h +2 -2
  28. data/include/grpc/support/log.h +9 -9
  29. data/include/grpc/support/log_windows.h +1 -1
  30. data/include/grpc/support/string_util.h +2 -2
  31. data/include/grpc/support/subprocess.h +5 -5
  32. data/include/grpc/support/sync.h +43 -27
  33. data/include/grpc/support/thd.h +6 -6
  34. data/include/grpc/support/tls_gcc.h +1 -1
  35. data/include/grpc/support/tls_pthread.h +1 -1
  36. data/src/core/ext/census/{grpc_context.c → grpc_context.cc} +5 -8
  37. data/src/core/ext/filters/client_channel/backup_poller.cc +165 -0
  38. data/src/core/ext/{census/grpc_filter.h → filters/client_channel/backup_poller.h} +12 -7
  39. data/src/core/ext/filters/client_channel/{channel_connectivity.c → channel_connectivity.cc} +45 -42
  40. data/src/core/ext/filters/client_channel/{client_channel.c → client_channel.cc} +452 -417
  41. data/src/core/ext/filters/client_channel/client_channel.h +16 -8
  42. data/src/core/ext/filters/client_channel/{client_channel_factory.c → client_channel_factory.cc} +0 -0
  43. data/src/core/ext/filters/client_channel/client_channel_factory.h +29 -21
  44. data/src/core/ext/filters/client_channel/{client_channel_plugin.c → client_channel_plugin.cc} +15 -19
  45. data/src/core/ext/filters/client_channel/{connector.c → connector.cc} +0 -0
  46. data/src/core/ext/filters/client_channel/connector.h +29 -21
  47. data/src/core/ext/filters/client_channel/{http_connect_handshaker.c → http_connect_handshaker.cc} +10 -10
  48. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +8 -0
  49. data/src/core/ext/filters/client_channel/{http_proxy.c → http_proxy.cc} +14 -14
  50. data/src/core/ext/filters/client_channel/http_proxy.h +8 -0
  51. data/src/core/ext/filters/client_channel/{lb_policy.c → lb_policy.cc} +47 -48
  52. data/src/core/ext/filters/client_channel/lb_policy.h +76 -70
  53. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{client_load_reporting_filter.c → client_load_reporting_filter.cc} +28 -29
  54. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +9 -1
  55. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb.c → grpclb.cc} +554 -563
  56. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +9 -1
  57. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +17 -9
  58. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_channel_secure.c → grpclb_channel_secure.cc} +17 -17
  59. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{grpclb_client_stats.c → grpclb_client_stats.cc} +3 -3
  60. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +9 -1
  61. data/src/core/ext/filters/client_channel/lb_policy/grpclb/{load_balancer_api.c → load_balancer_api.cc} +64 -67
  62. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +20 -21
  63. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +599 -0
  64. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +695 -0
  65. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +270 -0
  66. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +153 -0
  67. data/src/core/ext/filters/client_channel/{lb_policy_factory.c → lb_policy_factory.cc} +10 -10
  68. data/src/core/ext/filters/client_channel/lb_policy_factory.h +48 -40
  69. data/src/core/ext/filters/client_channel/{lb_policy_registry.c → lb_policy_registry.cc} +9 -9
  70. data/src/core/ext/filters/client_channel/lb_policy_registry.h +11 -3
  71. data/src/core/ext/filters/client_channel/{parse_address.c → parse_address.cc} +24 -24
  72. data/src/core/ext/filters/client_channel/parse_address.h +14 -6
  73. data/src/core/ext/filters/client_channel/{proxy_mapper.c → proxy_mapper.cc} +0 -0
  74. data/src/core/ext/filters/client_channel/proxy_mapper.h +8 -0
  75. data/src/core/ext/filters/client_channel/{proxy_mapper_registry.c → proxy_mapper_registry.cc} +0 -0
  76. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -0
  77. data/src/core/ext/filters/client_channel/{resolver.c → resolver.cc} +21 -23
  78. data/src/core/ext/filters/client_channel/resolver.h +33 -27
  79. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{dns_resolver_ares.c → dns_resolver_ares.cc} +133 -133
  80. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +18 -9
  81. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_ev_driver_posix.c → grpc_ares_ev_driver_posix.cc} +58 -56
  82. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/{grpc_ares_wrapper.c → grpc_ares_wrapper.cc} +118 -115
  83. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +23 -15
  84. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +60 -0
  85. data/src/core/ext/filters/client_channel/resolver/dns/native/{dns_resolver.c → dns_resolver.cc} +100 -94
  86. data/src/core/ext/filters/client_channel/resolver/fake/{fake_resolver.c → fake_resolver.cc} +14 -14
  87. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +9 -1
  88. data/src/core/ext/filters/client_channel/resolver/sockaddr/{sockaddr_resolver.c → sockaddr_resolver.cc} +60 -60
  89. data/src/core/ext/filters/client_channel/{resolver_factory.c → resolver_factory.cc} +2 -2
  90. data/src/core/ext/filters/client_channel/resolver_factory.h +27 -19
  91. data/src/core/ext/filters/client_channel/{resolver_registry.c → resolver_registry.cc} +35 -35
  92. data/src/core/ext/filters/client_channel/resolver_registry.h +18 -10
  93. data/src/core/ext/filters/client_channel/{retry_throttle.c → retry_throttle.cc} +10 -10
  94. data/src/core/ext/filters/client_channel/retry_throttle.h +8 -0
  95. data/src/core/ext/filters/client_channel/{subchannel.c → subchannel.cc} +210 -213
  96. data/src/core/ext/filters/client_channel/subchannel.h +68 -60
  97. data/src/core/ext/filters/client_channel/{subchannel_index.c → subchannel_index.cc} +52 -52
  98. data/src/core/ext/filters/client_channel/subchannel_index.h +22 -14
  99. data/src/core/ext/filters/client_channel/{uri_parser.c → uri_parser.cc} +29 -27
  100. data/src/core/ext/filters/client_channel/uri_parser.h +18 -10
  101. data/src/core/ext/filters/deadline/{deadline_filter.c → deadline_filter.cc} +12 -15
  102. data/src/core/ext/filters/deadline/deadline_filter.h +11 -2
  103. data/src/core/ext/filters/http/client/{http_client_filter.c → http_client_filter.cc} +83 -83
  104. data/src/core/ext/filters/http/client/http_client_filter.h +8 -0
  105. data/src/core/ext/filters/http/{http_filters_plugin.c → http_filters_plugin.cc} +20 -21
  106. data/src/core/ext/filters/http/message_compress/{message_compress_filter.c → message_compress_filter.cc} +84 -83
  107. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +9 -1
  108. data/src/core/ext/filters/http/server/{http_server_filter.c → http_server_filter.cc} +80 -78
  109. data/src/core/ext/filters/http/server/http_server_filter.h +8 -0
  110. data/src/core/ext/filters/load_reporting/{server_load_reporting_filter.c → server_load_reporting_filter.cc} +29 -29
  111. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.h +9 -1
  112. data/src/core/ext/filters/load_reporting/{server_load_reporting_plugin.c → server_load_reporting_plugin.cc} +11 -11
  113. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +13 -5
  114. data/src/core/ext/filters/max_age/{max_age_filter.c → max_age_filter.cc} +46 -56
  115. data/src/core/ext/filters/max_age/max_age_filter.h +8 -0
  116. data/src/core/ext/filters/message_size/{message_size_filter.c → message_size_filter.cc} +62 -40
  117. data/src/core/ext/filters/message_size/message_size_filter.h +8 -0
  118. data/src/core/ext/filters/workarounds/{workaround_cronet_compression_filter.c → workaround_cronet_compression_filter.cc} +11 -11
  119. data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h +8 -0
  120. data/src/core/ext/filters/workarounds/{workaround_utils.c → workaround_utils.cc} +7 -7
  121. data/src/core/ext/filters/workarounds/workaround_utils.h +9 -1
  122. data/src/core/ext/transport/chttp2/alpn/{alpn.c → alpn.cc} +3 -3
  123. data/src/core/ext/transport/chttp2/alpn/alpn.h +10 -2
  124. data/src/core/ext/transport/chttp2/client/{chttp2_connector.c → chttp2_connector.cc} +49 -45
  125. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +8 -0
  126. data/src/core/ext/transport/chttp2/client/insecure/{channel_create.c → channel_create.cc} +28 -27
  127. data/src/core/ext/transport/chttp2/client/insecure/{channel_create_posix.c → channel_create_posix.cc} +14 -13
  128. data/src/core/ext/transport/chttp2/client/secure/{secure_channel_create.c → secure_channel_create.cc} +68 -66
  129. data/src/core/ext/transport/chttp2/server/{chttp2_server.c → chttp2_server.cc} +76 -77
  130. data/src/core/ext/transport/chttp2/server/chttp2_server.h +11 -3
  131. data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2.c → server_chttp2.cc} +3 -3
  132. data/src/core/ext/transport/chttp2/server/insecure/{server_chttp2_posix.c → server_chttp2_posix.cc} +13 -12
  133. data/src/core/ext/transport/chttp2/server/secure/{server_secure_chttp2.c → server_secure_chttp2.cc} +12 -10
  134. data/src/core/ext/transport/chttp2/transport/{bin_decoder.c → bin_decoder.cc} +7 -7
  135. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +15 -7
  136. data/src/core/ext/transport/chttp2/transport/{bin_encoder.c → bin_encoder.cc} +11 -11
  137. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -0
  138. data/src/core/ext/transport/chttp2/transport/{chttp2_plugin.c → chttp2_plugin.cc} +2 -9
  139. data/src/core/ext/transport/chttp2/transport/{chttp2_transport.c → chttp2_transport.cc} +778 -778
  140. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +14 -10
  141. data/src/core/ext/transport/chttp2/transport/flow_control.cc +385 -0
  142. data/src/core/ext/transport/chttp2/transport/flow_control.h +337 -0
  143. data/src/core/ext/transport/chttp2/transport/frame.h +8 -0
  144. data/src/core/ext/transport/chttp2/transport/{frame_data.c → frame_data.cc} +34 -34
  145. data/src/core/ext/transport/chttp2/transport/frame_data.h +25 -17
  146. data/src/core/ext/transport/chttp2/transport/{frame_goaway.c → frame_goaway.cc} +18 -18
  147. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +18 -10
  148. data/src/core/ext/transport/chttp2/transport/{frame_ping.c → frame_ping.cc} +18 -19
  149. data/src/core/ext/transport/chttp2/transport/frame_ping.h +12 -4
  150. data/src/core/ext/transport/chttp2/transport/{frame_rst_stream.c → frame_rst_stream.cc} +16 -16
  151. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +16 -8
  152. data/src/core/ext/transport/chttp2/transport/{frame_settings.c → frame_settings.cc} +23 -24
  153. data/src/core/ext/transport/chttp2/transport/frame_settings.h +17 -9
  154. data/src/core/ext/transport/chttp2/transport/{frame_window_update.c → frame_window_update.cc} +22 -24
  155. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +14 -6
  156. data/src/core/ext/transport/chttp2/transport/{hpack_encoder.c → hpack_encoder.cc} +206 -161
  157. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +23 -13
  158. data/src/core/ext/transport/chttp2/transport/{hpack_parser.c → hpack_parser.cc} +340 -334
  159. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +30 -22
  160. data/src/core/ext/transport/chttp2/transport/{hpack_table.c → hpack_table.cc} +25 -25
  161. data/src/core/ext/transport/chttp2/transport/hpack_table.h +19 -11
  162. data/src/core/ext/transport/chttp2/transport/{http2_settings.c → http2_settings.cc} +1 -1
  163. data/src/core/ext/transport/chttp2/transport/http2_settings.h +10 -2
  164. data/src/core/ext/transport/chttp2/transport/{huffsyms.c → huffsyms.cc} +0 -0
  165. data/src/core/ext/transport/chttp2/transport/huffsyms.h +8 -0
  166. data/src/core/ext/transport/chttp2/transport/{incoming_metadata.c → incoming_metadata.cc} +14 -13
  167. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +18 -10
  168. data/src/core/ext/transport/chttp2/transport/internal.h +214 -340
  169. data/src/core/ext/transport/chttp2/transport/{parsing.c → parsing.cc} +152 -141
  170. data/src/core/ext/transport/chttp2/transport/{stream_lists.c → stream_lists.cc} +53 -53
  171. data/src/core/ext/transport/chttp2/transport/{stream_map.c → stream_map.cc} +35 -34
  172. data/src/core/ext/transport/chttp2/transport/stream_map.h +22 -14
  173. data/src/core/ext/transport/chttp2/transport/{varint.c → varint.cc} +0 -0
  174. data/src/core/ext/transport/chttp2/transport/varint.h +8 -0
  175. data/src/core/ext/transport/chttp2/transport/writing.cc +636 -0
  176. data/src/core/ext/transport/inproc/{inproc_plugin.c → inproc_plugin.cc} +5 -6
  177. data/src/core/ext/transport/inproc/{inproc_transport.c → inproc_transport.cc} +479 -544
  178. data/src/core/ext/transport/inproc/inproc_transport.h +4 -4
  179. data/src/core/lib/backoff/backoff.cc +80 -0
  180. data/src/core/lib/backoff/backoff.h +83 -0
  181. data/src/core/lib/channel/{channel_args.c → channel_args.cc} +92 -92
  182. data/src/core/lib/channel/channel_args.h +45 -37
  183. data/src/core/lib/channel/{channel_stack.c → channel_stack.cc} +67 -68
  184. data/src/core/lib/channel/channel_stack.h +76 -75
  185. data/src/core/lib/channel/{channel_stack_builder.c → channel_stack_builder.cc} +91 -91
  186. data/src/core/lib/channel/channel_stack_builder.h +45 -45
  187. data/src/core/lib/channel/{connected_channel.c → connected_channel.cc} +70 -70
  188. data/src/core/lib/channel/connected_channel.h +12 -4
  189. data/src/core/lib/channel/context.h +2 -2
  190. data/src/core/lib/channel/{handshaker.c → handshaker.cc} +7 -9
  191. data/src/core/lib/channel/handshaker.h +9 -1
  192. data/src/core/lib/channel/{handshaker_factory.c → handshaker_factory.cc} +7 -7
  193. data/src/core/lib/channel/handshaker_factory.h +18 -10
  194. data/src/core/lib/channel/{handshaker_registry.c → handshaker_registry.cc} +0 -0
  195. data/src/core/lib/channel/handshaker_registry.h +8 -0
  196. data/src/core/lib/compression/algorithm_metadata.h +8 -0
  197. data/src/core/lib/compression/{compression.c → compression.cc} +9 -9
  198. data/src/core/lib/compression/{message_compress.c → message_compress.cc} +0 -0
  199. data/src/core/lib/compression/message_compress.h +8 -0
  200. data/src/core/lib/compression/{stream_compression.c → stream_compression.cc} +12 -12
  201. data/src/core/lib/compression/stream_compression.h +27 -19
  202. data/src/core/lib/compression/{stream_compression_gzip.c → stream_compression_gzip.cc} +35 -36
  203. data/src/core/lib/compression/stream_compression_gzip.h +8 -0
  204. data/src/core/lib/compression/{stream_compression_identity.c → stream_compression_identity.cc} +19 -20
  205. data/src/core/lib/compression/stream_compression_identity.h +8 -0
  206. data/src/core/lib/debug/{stats.c → stats.cc} +19 -19
  207. data/src/core/lib/debug/stats.h +17 -9
  208. data/src/core/lib/debug/{stats_data.c → stats_data.cc} +45 -22
  209. data/src/core/lib/debug/stats_data.h +58 -19
  210. data/src/core/lib/debug/trace.cc +142 -0
  211. data/src/core/lib/debug/trace.h +74 -14
  212. data/src/core/lib/http/{format_request.c → format_request.cc} +10 -10
  213. data/src/core/lib/http/format_request.h +12 -4
  214. data/src/core/lib/http/{httpcli.c → httpcli.cc} +80 -80
  215. data/src/core/lib/http/httpcli.h +41 -33
  216. data/src/core/lib/http/{httpcli_security_connector.c → httpcli_security_connector.cc} +69 -55
  217. data/src/core/lib/http/{parser.c → parser.cc} +42 -42
  218. data/src/core/lib/http/parser.h +28 -20
  219. data/src/core/lib/{support → iomgr}/block_annotate.h +17 -8
  220. data/src/core/lib/iomgr/{call_combiner.c → call_combiner.cc} +29 -17
  221. data/src/core/lib/iomgr/call_combiner.h +9 -1
  222. data/src/core/lib/iomgr/closure.h +220 -62
  223. data/src/core/lib/iomgr/{combiner.c → combiner.cc} +63 -62
  224. data/src/core/lib/iomgr/combiner.h +16 -8
  225. data/src/core/lib/iomgr/{endpoint.c → endpoint.cc} +6 -0
  226. data/src/core/lib/iomgr/endpoint.h +47 -32
  227. data/src/core/lib/iomgr/endpoint_pair.h +12 -4
  228. data/src/core/lib/iomgr/{endpoint_pair_posix.c → endpoint_pair_posix.cc} +3 -3
  229. data/src/core/lib/iomgr/{endpoint_pair_uv.c → endpoint_pair_uv.cc} +2 -2
  230. data/src/core/lib/iomgr/{endpoint_pair_windows.c → endpoint_pair_windows.cc} +6 -6
  231. data/src/core/lib/iomgr/{error.c → error.cc} +125 -124
  232. data/src/core/lib/iomgr/error.h +32 -27
  233. data/src/core/lib/iomgr/error_internal.h +11 -2
  234. data/src/core/lib/iomgr/{ev_epoll1_linux.c → ev_epoll1_linux.cc} +214 -215
  235. data/src/core/lib/iomgr/ev_epoll1_linux.h +9 -1
  236. data/src/core/lib/iomgr/ev_epollex_linux.cc +1488 -0
  237. data/src/core/lib/iomgr/ev_epollex_linux.h +9 -1
  238. data/src/core/lib/iomgr/{ev_epollsig_linux.c → ev_epollsig_linux.cc} +304 -305
  239. data/src/core/lib/iomgr/ev_epollsig_linux.h +12 -4
  240. data/src/core/lib/iomgr/{ev_poll_posix.c → ev_poll_posix.cc} +272 -283
  241. data/src/core/lib/iomgr/ev_poll_posix.h +10 -2
  242. data/src/core/lib/iomgr/ev_posix.cc +288 -0
  243. data/src/core/lib/iomgr/ev_posix.h +75 -67
  244. data/src/core/lib/iomgr/{ev_windows.c → ev_windows.cc} +2 -2
  245. data/src/core/lib/iomgr/exec_ctx.cc +177 -0
  246. data/src/core/lib/iomgr/exec_ctx.h +35 -13
  247. data/src/core/lib/iomgr/{executor.c → executor.cc} +34 -35
  248. data/src/core/lib/iomgr/executor.h +12 -4
  249. data/src/core/lib/iomgr/{fork_posix.c → fork_posix.cc} +0 -0
  250. data/src/core/lib/iomgr/{fork_windows.c → fork_windows.cc} +0 -0
  251. data/src/core/lib/iomgr/gethostname.h +9 -1
  252. data/src/core/lib/iomgr/{gethostname_fallback.c → gethostname_fallback.cc} +2 -1
  253. data/src/core/lib/iomgr/{gethostname_host_name_max.c → gethostname_host_name_max.cc} +4 -3
  254. data/src/core/lib/iomgr/{gethostname_sysconf.c → gethostname_sysconf.cc} +3 -2
  255. data/src/core/lib/iomgr/{iocp_windows.c → iocp_windows.cc} +23 -25
  256. data/src/core/lib/iomgr/iocp_windows.h +17 -3
  257. data/src/core/lib/iomgr/{iomgr.c → iomgr.cc} +25 -19
  258. data/src/core/lib/iomgr/iomgr.h +11 -3
  259. data/src/core/lib/iomgr/iomgr_internal.h +13 -5
  260. data/src/core/lib/iomgr/{iomgr_posix.c → iomgr_posix.cc} +0 -1
  261. data/src/core/lib/iomgr/{iomgr_uv.c → iomgr_uv.cc} +1 -1
  262. data/src/core/lib/iomgr/iomgr_uv.h +8 -0
  263. data/src/core/lib/iomgr/{iomgr_windows.c → iomgr_windows.cc} +0 -0
  264. data/src/core/lib/iomgr/{is_epollexclusive_available.c → is_epollexclusive_available.cc} +1 -1
  265. data/src/core/lib/iomgr/is_epollexclusive_available.h +8 -0
  266. data/src/core/lib/iomgr/{load_file.c → load_file.cc} +12 -12
  267. data/src/core/lib/iomgr/load_file.h +2 -2
  268. data/src/core/lib/iomgr/{lockfree_event.c → lockfree_event.cc} +76 -68
  269. data/src/core/lib/iomgr/lockfree_event.h +30 -11
  270. data/src/core/lib/iomgr/{network_status_tracker.c → network_status_tracker.cc} +3 -2
  271. data/src/core/lib/iomgr/network_status_tracker.h +2 -2
  272. data/src/core/lib/iomgr/{polling_entity.c → polling_entity.cc} +18 -18
  273. data/src/core/lib/iomgr/polling_entity.h +21 -13
  274. data/src/core/lib/iomgr/pollset.h +17 -11
  275. data/src/core/lib/iomgr/pollset_set.h +23 -15
  276. data/src/core/lib/iomgr/{pollset_set_uv.c → pollset_set_uv.cc} +0 -0
  277. data/src/core/lib/iomgr/{pollset_set_windows.c → pollset_set_windows.cc} +0 -0
  278. data/src/core/lib/iomgr/{pollset_uv.c → pollset_uv.cc} +31 -29
  279. data/src/core/lib/iomgr/pollset_uv.h +8 -0
  280. data/src/core/lib/iomgr/{pollset_windows.c → pollset_windows.cc} +24 -24
  281. data/src/core/lib/iomgr/pollset_windows.h +17 -4
  282. data/src/core/lib/iomgr/port.h +10 -0
  283. data/src/core/lib/iomgr/resolve_address.h +18 -10
  284. data/src/core/lib/iomgr/{resolve_address_posix.c → resolve_address_posix.cc} +40 -40
  285. data/src/core/lib/iomgr/{resolve_address_uv.c → resolve_address_uv.cc} +61 -56
  286. data/src/core/lib/iomgr/{resolve_address_windows.c → resolve_address_windows.cc} +36 -34
  287. data/src/core/lib/iomgr/{resource_quota.c → resource_quota.cc} +209 -180
  288. data/src/core/lib/iomgr/resource_quota.h +45 -37
  289. data/src/core/lib/iomgr/{sockaddr_utils.c → sockaddr_utils.cc} +61 -61
  290. data/src/core/lib/iomgr/sockaddr_utils.h +23 -15
  291. data/src/core/lib/iomgr/sockaddr_windows.h +6 -0
  292. data/src/core/lib/iomgr/{socket_factory_posix.c → socket_factory_posix.cc} +20 -20
  293. data/src/core/lib/iomgr/socket_factory_posix.h +15 -15
  294. data/src/core/lib/iomgr/{socket_mutator.c → socket_mutator.cc} +18 -18
  295. data/src/core/lib/iomgr/socket_mutator.h +11 -11
  296. data/src/core/lib/iomgr/socket_utils.h +9 -1
  297. data/src/core/lib/iomgr/{socket_utils_common_posix.c → socket_utils_common_posix.cc} +28 -28
  298. data/src/core/lib/iomgr/{socket_utils_linux.c → socket_utils_linux.cc} +3 -3
  299. data/src/core/lib/iomgr/{socket_utils_posix.c → socket_utils_posix.cc} +3 -3
  300. data/src/core/lib/iomgr/socket_utils_posix.h +26 -18
  301. data/src/core/lib/iomgr/{socket_utils_uv.c → socket_utils_uv.cc} +1 -1
  302. data/src/core/lib/iomgr/{socket_utils_windows.c → socket_utils_windows.cc} +2 -2
  303. data/src/core/lib/iomgr/{socket_windows.c → socket_windows.cc} +18 -18
  304. data/src/core/lib/iomgr/socket_windows.h +26 -13
  305. data/src/core/lib/iomgr/tcp_client.h +14 -6
  306. data/src/core/lib/iomgr/{tcp_client_posix.c → tcp_client_posix.cc} +69 -70
  307. data/src/core/lib/iomgr/tcp_client_posix.h +11 -3
  308. data/src/core/lib/iomgr/{tcp_client_uv.c → tcp_client_uv.cc} +47 -48
  309. data/src/core/lib/iomgr/{tcp_client_windows.c → tcp_client_windows.cc} +46 -44
  310. data/src/core/lib/iomgr/{tcp_posix.c → tcp_posix.cc} +198 -175
  311. data/src/core/lib/iomgr/tcp_posix.h +15 -7
  312. data/src/core/lib/iomgr/tcp_server.h +31 -23
  313. data/src/core/lib/iomgr/{tcp_server_posix.c → tcp_server_posix.cc} +78 -77
  314. data/src/core/lib/iomgr/tcp_server_utils_posix.h +27 -19
  315. data/src/core/lib/iomgr/{tcp_server_utils_posix_common.c → tcp_server_utils_posix_common.cc} +27 -27
  316. data/src/core/lib/iomgr/{tcp_server_utils_posix_ifaddrs.c → tcp_server_utils_posix_ifaddrs.cc} +25 -25
  317. data/src/core/lib/iomgr/{tcp_server_utils_posix_noifaddrs.c → tcp_server_utils_posix_noifaddrs.cc} +2 -2
  318. data/src/core/lib/iomgr/{tcp_server_uv.c → tcp_server_uv.cc} +133 -105
  319. data/src/core/lib/iomgr/{tcp_server_windows.c → tcp_server_windows.cc} +81 -77
  320. data/src/core/lib/iomgr/tcp_uv.cc +420 -0
  321. data/src/core/lib/iomgr/tcp_uv.h +18 -4
  322. data/src/core/lib/iomgr/{tcp_windows.c → tcp_windows.cc} +90 -79
  323. data/src/core/lib/iomgr/tcp_windows.h +17 -4
  324. data/src/core/lib/iomgr/{time_averaged_stats.c → time_averaged_stats.cc} +0 -0
  325. data/src/core/lib/iomgr/time_averaged_stats.h +8 -0
  326. data/src/core/lib/iomgr/timer.h +16 -9
  327. data/src/core/lib/iomgr/{timer_generic.c → timer_generic.cc} +130 -171
  328. data/src/core/lib/iomgr/timer_generic.h +4 -4
  329. data/src/core/lib/iomgr/{timer_heap.c → timer_heap.cc} +20 -21
  330. data/src/core/lib/iomgr/timer_heap.h +16 -8
  331. data/src/core/lib/iomgr/{timer_manager.c → timer_manager.cc} +54 -52
  332. data/src/core/lib/iomgr/timer_manager.h +8 -0
  333. data/src/core/lib/iomgr/{timer_uv.c → timer_uv.cc} +22 -24
  334. data/src/core/lib/iomgr/timer_uv.h +2 -2
  335. data/src/core/lib/iomgr/{udp_server.c → udp_server.cc} +75 -75
  336. data/src/core/lib/iomgr/udp_server.h +25 -17
  337. data/src/core/lib/iomgr/{unix_sockets_posix.c → unix_sockets_posix.cc} +22 -21
  338. data/src/core/lib/iomgr/unix_sockets_posix.h +14 -6
  339. data/src/core/lib/iomgr/{unix_sockets_posix_noop.c → unix_sockets_posix_noop.cc} +5 -5
  340. data/src/core/lib/iomgr/{wakeup_fd_cv.c → wakeup_fd_cv.cc} +2 -2
  341. data/src/core/lib/iomgr/wakeup_fd_cv.h +10 -0
  342. data/src/core/lib/iomgr/{wakeup_fd_eventfd.c → wakeup_fd_eventfd.cc} +0 -0
  343. data/src/core/lib/iomgr/{wakeup_fd_nospecial.c → wakeup_fd_nospecial.cc} +0 -0
  344. data/src/core/lib/iomgr/{wakeup_fd_pipe.c → wakeup_fd_pipe.cc} +1 -0
  345. data/src/core/lib/iomgr/wakeup_fd_pipe.h +9 -1
  346. data/src/core/lib/iomgr/{wakeup_fd_posix.c → wakeup_fd_posix.cc} +6 -7
  347. data/src/core/lib/iomgr/wakeup_fd_posix.h +8 -0
  348. data/src/core/lib/json/{json.c → json.cc} +0 -0
  349. data/src/core/lib/json/json.h +8 -0
  350. data/src/core/lib/json/{json_reader.c → json_reader.cc} +18 -18
  351. data/src/core/lib/json/json_reader.h +26 -18
  352. data/src/core/lib/json/{json_string.c → json_string.cc} +57 -57
  353. data/src/core/lib/json/{json_writer.c → json_writer.cc} +20 -20
  354. data/src/core/lib/json/json_writer.h +23 -15
  355. data/src/core/lib/profiling/{basic_timers.c → basic_timers.cc} +34 -34
  356. data/src/core/lib/profiling/{stap_timers.c → stap_timers.cc} +5 -5
  357. data/src/core/lib/profiling/timers.h +6 -6
  358. data/src/core/lib/security/context/{security_context.c → security_context.cc} +98 -95
  359. data/src/core/lib/security/context/security_context.h +27 -29
  360. data/src/core/lib/security/credentials/composite/{composite_credentials.c → composite_credentials.cc} +79 -73
  361. data/src/core/lib/security/credentials/composite/composite_credentials.h +17 -9
  362. data/src/core/lib/security/credentials/{credentials.c → credentials.cc} +97 -92
  363. data/src/core/lib/security/credentials/credentials.h +83 -75
  364. data/src/core/lib/security/credentials/{credentials_metadata.c → credentials_metadata.cc} +7 -6
  365. data/src/core/lib/security/credentials/fake/{fake_credentials.c → fake_credentials.cc} +39 -36
  366. data/src/core/lib/security/credentials/fake/fake_credentials.h +13 -5
  367. data/src/core/lib/security/credentials/google_default/{credentials_generic.c → credentials_generic.cc} +5 -5
  368. data/src/core/lib/security/credentials/google_default/{google_default_credentials.c → google_default_credentials.cc} +55 -55
  369. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +9 -1
  370. data/src/core/lib/security/credentials/iam/{iam_credentials.c → iam_credentials.cc} +19 -18
  371. data/src/core/lib/security/credentials/jwt/{json_token.c → json_token.cc} +80 -75
  372. data/src/core/lib/security/credentials/jwt/json_token.h +23 -15
  373. data/src/core/lib/security/credentials/jwt/{jwt_credentials.c → jwt_credentials.cc} +45 -41
  374. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +11 -3
  375. data/src/core/lib/security/credentials/jwt/{jwt_verifier.c → jwt_verifier.cc} +262 -252
  376. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +38 -30
  377. data/src/core/lib/security/credentials/oauth2/{oauth2_credentials.c → oauth2_credentials.cc} +138 -141
  378. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +30 -22
  379. data/src/core/lib/security/credentials/plugin/{plugin_credentials.c → plugin_credentials.cc} +52 -53
  380. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +7 -7
  381. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +344 -0
  382. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +27 -0
  383. data/src/core/lib/security/transport/auth_filters.h +16 -0
  384. data/src/core/lib/security/transport/{client_auth_filter.c → client_auth_filter.cc} +127 -115
  385. data/src/core/lib/security/transport/{lb_targets_info.c → lb_targets_info.cc} +16 -13
  386. data/src/core/lib/security/transport/lb_targets_info.h +11 -3
  387. data/src/core/lib/security/transport/{secure_endpoint.c → secure_endpoint.cc} +84 -76
  388. data/src/core/lib/security/transport/secure_endpoint.h +13 -5
  389. data/src/core/lib/security/transport/security_connector.cc +1121 -0
  390. data/src/core/lib/security/transport/security_connector.h +97 -79
  391. data/src/core/lib/security/transport/{security_handshaker.c → security_handshaker.cc} +139 -132
  392. data/src/core/lib/security/transport/security_handshaker.h +11 -3
  393. data/src/core/lib/security/transport/{server_auth_filter.c → server_auth_filter.cc} +68 -68
  394. data/src/core/lib/security/transport/{tsi_error.c → tsi_error.cc} +1 -1
  395. data/src/core/lib/security/transport/tsi_error.h +9 -1
  396. data/src/core/lib/security/util/{json_util.c → json_util.cc} +11 -11
  397. data/src/core/lib/security/util/json_util.h +12 -4
  398. data/src/core/lib/slice/{b64.c → b64.cc} +15 -15
  399. data/src/core/lib/slice/b64.h +12 -4
  400. data/src/core/lib/slice/{percent_encoding.c → percent_encoding.cc} +15 -15
  401. data/src/core/lib/slice/percent_encoding.h +11 -3
  402. data/src/core/lib/slice/{slice.c → slice.cc} +64 -64
  403. data/src/core/lib/slice/{slice_buffer.c → slice_buffer.cc} +38 -38
  404. data/src/core/lib/slice/{slice_hash_table.c → slice_hash_table.cc} +7 -7
  405. data/src/core/lib/slice/slice_hash_table.h +19 -11
  406. data/src/core/lib/slice/{slice_intern.c → slice_intern.cc} +35 -34
  407. data/src/core/lib/slice/slice_internal.h +17 -6
  408. data/src/core/lib/slice/{slice_string_helpers.c → slice_string_helpers.cc} +9 -9
  409. data/src/core/lib/slice/slice_string_helpers.h +3 -3
  410. data/src/core/lib/support/abstract.h +29 -0
  411. data/src/core/lib/support/{alloc.c → alloc.cc} +22 -22
  412. data/src/core/lib/support/{arena.c → arena.cc} +12 -12
  413. data/src/core/lib/support/arena.h +11 -3
  414. data/src/core/lib/support/{atm.c → atm.cc} +1 -1
  415. data/src/core/lib/support/{avl.c → avl.cc} +71 -70
  416. data/src/core/lib/support/{cmdline.c → cmdline.cc} +62 -62
  417. data/src/core/lib/support/{cpu_iphone.c → cpu_iphone.cc} +2 -0
  418. data/src/core/lib/support/{cpu_linux.c → cpu_linux.cc} +10 -0
  419. data/src/core/lib/support/{cpu_posix.c → cpu_posix.cc} +27 -4
  420. data/src/core/lib/support/{cpu_windows.c → cpu_windows.cc} +1 -0
  421. data/src/core/lib/support/env.h +3 -3
  422. data/src/core/lib/support/{env_linux.c → env_linux.cc} +11 -11
  423. data/src/core/lib/support/{env_posix.c → env_posix.cc} +4 -4
  424. data/src/core/lib/support/{env_windows.c → env_windows.cc} +5 -5
  425. data/src/core/lib/support/{fork.c → fork.cc} +2 -2
  426. data/src/core/lib/support/{histogram.c → histogram.cc} +25 -26
  427. data/src/core/lib/support/{host_port.c → host_port.cc} +16 -16
  428. data/src/core/lib/support/{log.c → log.cc} +8 -8
  429. data/src/core/lib/support/{log_android.c → log_android.cc} +7 -7
  430. data/src/core/lib/support/{log_linux.c → log_linux.cc} +8 -8
  431. data/src/core/lib/support/{log_posix.c → log_posix.cc} +9 -10
  432. data/src/core/lib/support/{log_windows.c → log_windows.cc} +7 -7
  433. data/src/core/lib/support/manual_constructor.h +211 -0
  434. data/src/core/lib/support/memory.h +41 -0
  435. data/src/core/lib/support/mpscq.cc +114 -0
  436. data/src/core/lib/support/mpscq.h +45 -7
  437. data/src/core/lib/support/{murmur_hash.c → murmur_hash.cc} +9 -12
  438. data/src/core/lib/support/murmur_hash.h +9 -1
  439. data/src/core/lib/support/spinlock.h +8 -1
  440. data/src/core/lib/support/{string.c → string.cc} +56 -55
  441. data/src/core/lib/support/string.h +21 -21
  442. data/src/core/lib/support/{string_posix.c → string_posix.cc} +5 -4
  443. data/src/core/lib/support/{string_util_windows.c → string_util_windows.cc} +9 -6
  444. data/src/core/lib/support/{string_windows.c → string_windows.cc} +3 -2
  445. data/src/core/lib/support/string_windows.h +8 -0
  446. data/src/core/lib/support/{subprocess_posix.c → subprocess_posix.cc} +13 -13
  447. data/src/core/lib/support/{subprocess_windows.c → subprocess_windows.cc} +9 -9
  448. data/src/core/lib/support/{sync.c → sync.cc} +22 -22
  449. data/src/core/lib/support/{sync_posix.c → sync_posix.cc} +6 -2
  450. data/src/core/lib/support/{sync_windows.c → sync_windows.cc} +14 -14
  451. data/src/core/lib/support/{thd.c → thd.cc} +0 -0
  452. data/src/core/lib/support/{thd_posix.c → thd_posix.cc} +10 -10
  453. data/src/core/lib/support/{thd_windows.c → thd_windows.cc} +10 -10
  454. data/src/core/lib/support/{time.c → time.cc} +0 -0
  455. data/src/core/lib/support/{time_posix.c → time_posix.cc} +5 -6
  456. data/src/core/lib/support/{time_precise.c → time_precise.cc} +6 -4
  457. data/src/core/lib/support/time_precise.h +9 -1
  458. data/src/core/lib/support/{time_windows.c → time_windows.cc} +2 -3
  459. data/src/core/lib/support/{tls_pthread.c → tls_pthread.cc} +2 -2
  460. data/src/core/lib/support/tmpfile.h +1 -1
  461. data/src/core/lib/support/{tmpfile_msys.c → tmpfile_msys.cc} +2 -2
  462. data/src/core/lib/support/{tmpfile_posix.c → tmpfile_posix.cc} +7 -7
  463. data/src/core/lib/support/{tmpfile_windows.c → tmpfile_windows.cc} +2 -2
  464. data/src/core/lib/support/{wrap_memcpy.c → wrap_memcpy.cc} +4 -2
  465. data/src/core/lib/surface/{alarm.c → alarm.cc} +32 -31
  466. data/src/core/lib/surface/alarm_internal.h +10 -2
  467. data/src/core/lib/surface/{api_trace.c → api_trace.cc} +1 -1
  468. data/src/core/lib/surface/api_trace.h +2 -2
  469. data/src/core/lib/surface/{byte_buffer.c → byte_buffer.cc} +13 -13
  470. data/src/core/lib/surface/{byte_buffer_reader.c → byte_buffer_reader.cc} +9 -9
  471. data/src/core/lib/surface/{call.c → call.cc} +379 -372
  472. data/src/core/lib/surface/call.h +37 -38
  473. data/src/core/lib/surface/{call_details.c → call_details.cc} +0 -0
  474. data/src/core/lib/surface/{call_log_batch.c → call_log_batch.cc} +13 -11
  475. data/src/core/lib/surface/call_test_only.h +5 -5
  476. data/src/core/lib/surface/{channel.c → channel.cc} +94 -95
  477. data/src/core/lib/surface/channel.h +29 -21
  478. data/src/core/lib/surface/{channel_init.c → channel_init.cc} +13 -13
  479. data/src/core/lib/surface/channel_init.h +6 -6
  480. data/src/core/lib/surface/{channel_ping.c → channel_ping.cc} +12 -12
  481. data/src/core/lib/surface/{channel_stack_type.c → channel_stack_type.cc} +1 -1
  482. data/src/core/lib/surface/channel_stack_type.h +9 -1
  483. data/src/core/lib/surface/{completion_queue.c → completion_queue.cc} +416 -379
  484. data/src/core/lib/surface/completion_queue.h +29 -29
  485. data/src/core/lib/surface/{completion_queue_factory.c → completion_queue_factory.cc} +1 -1
  486. data/src/core/lib/surface/completion_queue_factory.h +8 -0
  487. data/src/core/lib/surface/{event_string.c → event_string.cc} +9 -9
  488. data/src/core/lib/surface/event_string.h +9 -1
  489. data/src/core/lib/surface/{init.c → init.cc} +16 -39
  490. data/src/core/lib/surface/init.h +8 -0
  491. data/src/core/lib/surface/{init_secure.c → init_secure.cc} +12 -25
  492. data/src/core/lib/surface/lame_client.cc +38 -40
  493. data/src/core/lib/surface/lame_client.h +8 -0
  494. data/src/core/lib/surface/{metadata_array.c → metadata_array.cc} +0 -0
  495. data/src/core/lib/surface/{server.c → server.cc} +340 -404
  496. data/src/core/lib/surface/server.h +22 -14
  497. data/src/core/lib/surface/{validate_metadata.c → validate_metadata.cc} +10 -9
  498. data/src/core/lib/surface/validate_metadata.h +10 -2
  499. data/src/core/lib/surface/{version.c → version.cc} +2 -2
  500. data/src/core/lib/transport/bdp_estimator.cc +84 -0
  501. data/src/core/lib/transport/bdp_estimator.h +67 -42
  502. data/src/core/lib/transport/{byte_stream.c → byte_stream.cc} +51 -51
  503. data/src/core/lib/transport/byte_stream.h +41 -33
  504. data/src/core/lib/transport/{connectivity_state.c → connectivity_state.cc} +36 -40
  505. data/src/core/lib/transport/connectivity_state.h +29 -21
  506. data/src/core/lib/transport/{error_utils.c → error_utils.cc} +26 -22
  507. data/src/core/lib/transport/error_utils.h +18 -6
  508. data/src/core/lib/transport/{metadata.c → metadata.cc} +92 -88
  509. data/src/core/lib/transport/metadata.h +22 -20
  510. data/src/core/lib/transport/{metadata_batch.c → metadata_batch.cc} +78 -79
  511. data/src/core/lib/transport/metadata_batch.h +46 -45
  512. data/src/core/lib/transport/pid_controller.cc +48 -0
  513. data/src/core/lib/transport/pid_controller.h +84 -32
  514. data/src/core/lib/transport/{service_config.c → service_config.cc} +66 -48
  515. data/src/core/lib/transport/service_config.h +11 -2
  516. data/src/core/lib/transport/{static_metadata.c → static_metadata.cc} +2 -2
  517. data/src/core/lib/transport/static_metadata.h +30 -23
  518. data/src/core/lib/transport/{status_conversion.c → status_conversion.cc} +4 -3
  519. data/src/core/lib/transport/status_conversion.h +12 -2
  520. data/src/core/lib/transport/{timeout_encoding.c → timeout_encoding.cc} +28 -61
  521. data/src/core/lib/transport/timeout_encoding.h +11 -2
  522. data/src/core/lib/transport/{transport.c → transport.cc} +79 -79
  523. data/src/core/lib/transport/transport.h +78 -80
  524. data/src/core/lib/transport/transport_impl.h +27 -19
  525. data/src/core/lib/transport/{transport_op_string.c → transport_op_string.cc} +32 -30
  526. data/src/core/plugin_registry/{grpc_plugin_registry.c → grpc_plugin_registry.cc} +34 -38
  527. data/src/core/tsi/{fake_transport_security.c → fake_transport_security.cc} +141 -132
  528. data/src/core/tsi/fake_transport_security.h +5 -5
  529. data/src/core/tsi/{gts_transport_security.c → gts_transport_security.cc} +4 -4
  530. data/src/core/tsi/gts_transport_security.h +11 -3
  531. data/src/core/tsi/{ssl_transport_security.c → ssl_transport_security.cc} +309 -300
  532. data/src/core/tsi/ssl_transport_security.h +25 -25
  533. data/src/core/tsi/ssl_types.h +8 -0
  534. data/src/core/tsi/{transport_security.c → transport_security.cc} +94 -87
  535. data/src/core/tsi/transport_security.h +55 -55
  536. data/src/core/tsi/{transport_security_adapter.c → transport_security_adapter.cc} +58 -55
  537. data/src/core/tsi/transport_security_adapter.h +2 -2
  538. data/src/core/tsi/{transport_security_grpc.c → transport_security_grpc.cc} +21 -21
  539. data/src/core/tsi/transport_security_grpc.h +19 -19
  540. data/src/core/tsi/transport_security_interface.h +41 -41
  541. data/src/ruby/ext/grpc/extconf.rb +4 -2
  542. data/src/ruby/ext/grpc/rb_byte_buffer.c +5 -5
  543. data/src/ruby/ext/grpc/rb_byte_buffer.h +2 -2
  544. data/src/ruby/ext/grpc/rb_call.c +41 -42
  545. data/src/ruby/ext/grpc/rb_call.h +6 -6
  546. data/src/ruby/ext/grpc/rb_call_credentials.c +30 -30
  547. data/src/ruby/ext/grpc/rb_channel.c +87 -87
  548. data/src/ruby/ext/grpc/rb_channel_credentials.c +23 -23
  549. data/src/ruby/ext/grpc/rb_completion_queue.c +11 -11
  550. data/src/ruby/ext/grpc/rb_completion_queue.h +3 -3
  551. data/src/ruby/ext/grpc/rb_compression_options.c +20 -20
  552. data/src/ruby/ext/grpc/rb_event_thread.c +14 -14
  553. data/src/ruby/ext/grpc/rb_event_thread.h +1 -1
  554. data/src/ruby/ext/grpc/rb_grpc.c +8 -8
  555. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +16 -58
  556. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +242 -306
  557. data/src/ruby/ext/grpc/rb_server.c +23 -23
  558. data/src/ruby/ext/grpc/rb_server_credentials.c +13 -13
  559. data/src/ruby/lib/grpc/generic/rpc_server.rb +25 -12
  560. data/src/ruby/lib/grpc/version.rb +1 -1
  561. data/src/ruby/pb/grpc/health/checker.rb +14 -0
  562. data/src/ruby/spec/pb/health/checker_spec.rb +29 -0
  563. data/third_party/cares/config_freebsd/ares_config.h +502 -0
  564. data/third_party/cares/config_openbsd/ares_config.h +502 -0
  565. metadata +302 -328
  566. data/src/core/ext/census/aggregation.h +0 -51
  567. data/src/core/ext/census/base_resources.c +0 -56
  568. data/src/core/ext/census/base_resources.h +0 -24
  569. data/src/core/ext/census/census_interface.h +0 -61
  570. data/src/core/ext/census/census_rpc_stats.h +0 -86
  571. data/src/core/ext/census/context.c +0 -496
  572. data/src/core/ext/census/gen/census.pb.c +0 -161
  573. data/src/core/ext/census/gen/census.pb.h +0 -280
  574. data/src/core/ext/census/gen/trace_context.pb.c +0 -39
  575. data/src/core/ext/census/gen/trace_context.pb.h +0 -78
  576. data/src/core/ext/census/grpc_filter.c +0 -196
  577. data/src/core/ext/census/grpc_plugin.c +0 -70
  578. data/src/core/ext/census/initialize.c +0 -51
  579. data/src/core/ext/census/intrusive_hash_map.c +0 -305
  580. data/src/core/ext/census/intrusive_hash_map.h +0 -152
  581. data/src/core/ext/census/intrusive_hash_map_internal.h +0 -48
  582. data/src/core/ext/census/mlog.c +0 -586
  583. data/src/core/ext/census/mlog.h +0 -80
  584. data/src/core/ext/census/operation.c +0 -48
  585. data/src/core/ext/census/placeholders.c +0 -49
  586. data/src/core/ext/census/resource.c +0 -303
  587. data/src/core/ext/census/resource.h +0 -48
  588. data/src/core/ext/census/rpc_metric_id.h +0 -36
  589. data/src/core/ext/census/trace_context.c +0 -71
  590. data/src/core/ext/census/trace_context.h +0 -56
  591. data/src/core/ext/census/trace_label.h +0 -46
  592. data/src/core/ext/census/trace_propagation.h +0 -48
  593. data/src/core/ext/census/trace_status.h +0 -30
  594. data/src/core/ext/census/trace_string.h +0 -35
  595. data/src/core/ext/census/tracing.c +0 -55
  596. data/src/core/ext/census/tracing.h +0 -109
  597. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +0 -714
  598. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +0 -924
  599. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.c +0 -60
  600. data/src/core/ext/transport/chttp2/transport/flow_control.c +0 -502
  601. data/src/core/ext/transport/chttp2/transport/writing.c +0 -534
  602. data/src/core/lib/debug/trace.c +0 -146
  603. data/src/core/lib/iomgr/closure.c +0 -219
  604. data/src/core/lib/iomgr/ev_epollex_linux.c +0 -1461
  605. data/src/core/lib/iomgr/ev_posix.c +0 -266
  606. data/src/core/lib/iomgr/exec_ctx.c +0 -113
  607. data/src/core/lib/iomgr/tcp_uv.c +0 -381
  608. data/src/core/lib/security/credentials/ssl/ssl_credentials.c +0 -194
  609. data/src/core/lib/security/transport/security_connector.c +0 -914
  610. data/src/core/lib/support/backoff.c +0 -72
  611. data/src/core/lib/support/backoff.h +0 -56
  612. data/src/core/lib/support/mpscq.c +0 -79
  613. data/src/core/lib/support/stack_lockfree.c +0 -137
  614. data/src/core/lib/support/stack_lockfree.h +0 -38
  615. data/src/core/lib/transport/bdp_estimator.c +0 -110
  616. data/src/core/lib/transport/pid_controller.c +0 -63
@@ -23,59 +23,63 @@
23
23
  #include <grpc/grpc.h>
24
24
  #include "src/core/lib/iomgr/socket_mutator.h"
25
25
 
26
+ #ifdef __cplusplus
27
+ extern "C" {
28
+ #endif
29
+
26
30
  // Channel args are intentionally immutable, to avoid the need for locking.
27
31
 
28
32
  /** Copy the arguments in \a src into a new instance */
29
- grpc_channel_args *grpc_channel_args_copy(const grpc_channel_args *src);
33
+ grpc_channel_args* grpc_channel_args_copy(const grpc_channel_args* src);
30
34
 
31
35
  /** Copy the arguments in \a src into a new instance, stably sorting keys */
32
- grpc_channel_args *grpc_channel_args_normalize(const grpc_channel_args *src);
36
+ grpc_channel_args* grpc_channel_args_normalize(const grpc_channel_args* src);
33
37
 
34
38
  /** Copy the arguments in \a src and append \a to_add. If \a to_add is NULL, it
35
39
  * is equivalent to calling \a grpc_channel_args_copy. */
36
- grpc_channel_args *grpc_channel_args_copy_and_add(const grpc_channel_args *src,
37
- const grpc_arg *to_add,
40
+ grpc_channel_args* grpc_channel_args_copy_and_add(const grpc_channel_args* src,
41
+ const grpc_arg* to_add,
38
42
  size_t num_to_add);
39
43
 
40
44
  /** Copies the arguments in \a src except for those whose keys are in
41
45
  \a to_remove. */
42
- grpc_channel_args *grpc_channel_args_copy_and_remove(
43
- const grpc_channel_args *src, const char **to_remove, size_t num_to_remove);
46
+ grpc_channel_args* grpc_channel_args_copy_and_remove(
47
+ const grpc_channel_args* src, const char** to_remove, size_t num_to_remove);
44
48
 
45
49
  /** Copies the arguments from \a src except for those whose keys are in
46
50
  \a to_remove and appends the arguments in \a to_add. */
47
- grpc_channel_args *grpc_channel_args_copy_and_add_and_remove(
48
- const grpc_channel_args *src, const char **to_remove, size_t num_to_remove,
49
- const grpc_arg *to_add, size_t num_to_add);
51
+ grpc_channel_args* grpc_channel_args_copy_and_add_and_remove(
52
+ const grpc_channel_args* src, const char** to_remove, size_t num_to_remove,
53
+ const grpc_arg* to_add, size_t num_to_add);
50
54
 
51
55
  /** Perform the union of \a a and \a b, prioritizing \a a entries */
52
- grpc_channel_args *grpc_channel_args_union(const grpc_channel_args *a,
53
- const grpc_channel_args *b);
56
+ grpc_channel_args* grpc_channel_args_union(const grpc_channel_args* a,
57
+ const grpc_channel_args* b);
54
58
 
55
59
  /** Destroy arguments created by \a grpc_channel_args_copy */
56
- void grpc_channel_args_destroy(grpc_exec_ctx *exec_ctx, grpc_channel_args *a);
60
+ void grpc_channel_args_destroy(grpc_exec_ctx* exec_ctx, grpc_channel_args* a);
57
61
 
58
62
  /** Returns the compression algorithm set in \a a. */
59
63
  grpc_compression_algorithm grpc_channel_args_get_compression_algorithm(
60
- const grpc_channel_args *a);
64
+ const grpc_channel_args* a);
61
65
 
62
66
  /** Returns the stream compression algorithm set in \a a. */
63
67
  grpc_stream_compression_algorithm
64
- grpc_channel_args_get_stream_compression_algorithm(const grpc_channel_args *a);
68
+ grpc_channel_args_get_stream_compression_algorithm(const grpc_channel_args* a);
65
69
 
66
70
  /** Returns a channel arg instance with compression enabled. If \a a is
67
71
  * non-NULL, its args are copied. N.B. GRPC_COMPRESS_NONE disables compression
68
72
  * for the channel. */
69
- grpc_channel_args *grpc_channel_args_set_compression_algorithm(
70
- grpc_channel_args *a, grpc_compression_algorithm algorithm);
73
+ grpc_channel_args* grpc_channel_args_set_compression_algorithm(
74
+ grpc_channel_args* a, grpc_compression_algorithm algorithm);
71
75
 
72
76
  /** Returns a channel arg instance with stream compression enabled. If \a a is
73
77
  * non-NULL, its args are copied. N.B. GRPC_STREAM_COMPRESS_NONE disables
74
78
  * stream compression for the channel. If a value other than
75
79
  * GRPC_STREAM_COMPRESS_NONE is set, it takes precedence over message-wise
76
80
  * compression algorithms. */
77
- grpc_channel_args *grpc_channel_args_set_stream_compression_algorithm(
78
- grpc_channel_args *a, grpc_stream_compression_algorithm algorithm);
81
+ grpc_channel_args* grpc_channel_args_set_stream_compression_algorithm(
82
+ grpc_channel_args* a, grpc_stream_compression_algorithm algorithm);
79
83
 
80
84
  /** Sets the support for the given compression algorithm. By default, all
81
85
  * compression algorithms are enabled. It's an error to disable an algorithm set
@@ -84,8 +88,8 @@ grpc_channel_args *grpc_channel_args_set_stream_compression_algorithm(
84
88
  * Returns an instance with the updated algorithm states. The \a a pointer is
85
89
  * modified to point to the returned instance (which may be different from the
86
90
  * input value of \a a). */
87
- grpc_channel_args *grpc_channel_args_compression_algorithm_set_state(
88
- grpc_exec_ctx *exec_ctx, grpc_channel_args **a,
91
+ grpc_channel_args* grpc_channel_args_compression_algorithm_set_state(
92
+ grpc_exec_ctx* exec_ctx, grpc_channel_args** a,
89
93
  grpc_compression_algorithm algorithm, int enabled);
90
94
 
91
95
  /** Sets the support for the given stream compression algorithm. By default, all
@@ -95,8 +99,8 @@ grpc_channel_args *grpc_channel_args_compression_algorithm_set_state(
95
99
  * Returns an instance with the updated algorithm states. The \a a pointer is
96
100
  * modified to point to the returned instance (which may be different from the
97
101
  * input value of \a a). */
98
- grpc_channel_args *grpc_channel_args_stream_compression_algorithm_set_state(
99
- grpc_exec_ctx *exec_ctx, grpc_channel_args **a,
102
+ grpc_channel_args* grpc_channel_args_stream_compression_algorithm_set_state(
103
+ grpc_exec_ctx* exec_ctx, grpc_channel_args** a,
100
104
  grpc_stream_compression_algorithm algorithm, int enabled);
101
105
 
102
106
  /** Returns the bitset representing the support state (true for enabled, false
@@ -105,7 +109,7 @@ grpc_channel_args *grpc_channel_args_stream_compression_algorithm_set_state(
105
109
  * The i-th bit of the returned bitset corresponds to the i-th entry in the
106
110
  * grpc_compression_algorithm enum. */
107
111
  uint32_t grpc_channel_args_compression_algorithm_get_states(
108
- const grpc_channel_args *a);
112
+ const grpc_channel_args* a);
109
113
 
110
114
  /** Returns the bitset representing the support state (true for enabled, false
111
115
  * for disabled) for stream compression algorithms.
@@ -113,23 +117,23 @@ uint32_t grpc_channel_args_compression_algorithm_get_states(
113
117
  * The i-th bit of the returned bitset corresponds to the i-th entry in the
114
118
  * grpc_stream_compression_algorithm enum. */
115
119
  uint32_t grpc_channel_args_stream_compression_algorithm_get_states(
116
- const grpc_channel_args *a);
120
+ const grpc_channel_args* a);
117
121
 
118
- int grpc_channel_args_compare(const grpc_channel_args *a,
119
- const grpc_channel_args *b);
122
+ int grpc_channel_args_compare(const grpc_channel_args* a,
123
+ const grpc_channel_args* b);
120
124
 
121
125
  /** Returns a channel arg instance with socket mutator added. The socket mutator
122
126
  * will perform its mutate_fd method on all file descriptors used by the
123
127
  * channel.
124
128
  * If \a a is non-MULL, its args are copied. */
125
- grpc_channel_args *grpc_channel_args_set_socket_mutator(
126
- grpc_channel_args *a, grpc_socket_mutator *mutator);
129
+ grpc_channel_args* grpc_channel_args_set_socket_mutator(
130
+ grpc_channel_args* a, grpc_socket_mutator* mutator);
127
131
 
128
132
  /** Returns the value of argument \a name from \a args, or NULL if not found. */
129
- const grpc_arg *grpc_channel_args_find(const grpc_channel_args *args,
130
- const char *name);
133
+ const grpc_arg* grpc_channel_args_find(const grpc_channel_args* args,
134
+ const char* name);
131
135
 
132
- bool grpc_channel_args_want_minimal_stack(const grpc_channel_args *args);
136
+ bool grpc_channel_args_want_minimal_stack(const grpc_channel_args* args);
133
137
 
134
138
  typedef struct grpc_integer_options {
135
139
  int default_value; // Return this if value is outside of expected bounds.
@@ -138,15 +142,19 @@ typedef struct grpc_integer_options {
138
142
  } grpc_integer_options;
139
143
 
140
144
  /** Returns the value of \a arg, subject to the contraints in \a options. */
141
- int grpc_channel_arg_get_integer(const grpc_arg *arg,
145
+ int grpc_channel_arg_get_integer(const grpc_arg* arg,
142
146
  const grpc_integer_options options);
143
147
 
144
- bool grpc_channel_arg_get_bool(const grpc_arg *arg, bool default_value);
148
+ bool grpc_channel_arg_get_bool(const grpc_arg* arg, bool default_value);
145
149
 
146
150
  // Helpers for creating channel args.
147
- grpc_arg grpc_channel_arg_string_create(char *name, char *value);
148
- grpc_arg grpc_channel_arg_integer_create(char *name, int value);
149
- grpc_arg grpc_channel_arg_pointer_create(char *name, void *value,
150
- const grpc_arg_pointer_vtable *vtable);
151
+ grpc_arg grpc_channel_arg_string_create(char* name, char* value);
152
+ grpc_arg grpc_channel_arg_integer_create(char* name, int value);
153
+ grpc_arg grpc_channel_arg_pointer_create(char* name, void* value,
154
+ const grpc_arg_pointer_vtable* vtable);
155
+
156
+ #ifdef __cplusplus
157
+ }
158
+ #endif
151
159
 
152
160
  #endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_ARGS_H */
@@ -23,7 +23,7 @@
23
23
  #include <stdlib.h>
24
24
  #include <string.h>
25
25
 
26
- grpc_tracer_flag grpc_trace_channel = GRPC_TRACER_INITIALIZER(false, "channel");
26
+ grpc_core::TraceFlag grpc_trace_channel(false, "channel");
27
27
 
28
28
  /* Memory layouts.
29
29
 
@@ -45,7 +45,7 @@ grpc_tracer_flag grpc_trace_channel = GRPC_TRACER_INITIALIZER(false, "channel");
45
45
  #define ROUND_UP_TO_ALIGNMENT_SIZE(x) \
46
46
  (((x) + GPR_MAX_ALIGNMENT - 1u) & ~(GPR_MAX_ALIGNMENT - 1u))
47
47
 
48
- size_t grpc_channel_stack_size(const grpc_channel_filter **filters,
48
+ size_t grpc_channel_stack_size(const grpc_channel_filter** filters,
49
49
  size_t filter_count) {
50
50
  /* always need the header, and size for the channel elements */
51
51
  size_t size =
@@ -64,52 +64,51 @@ size_t grpc_channel_stack_size(const grpc_channel_filter **filters,
64
64
  return size;
65
65
  }
66
66
 
67
- #define CHANNEL_ELEMS_FROM_STACK(stk) \
68
- ((grpc_channel_element *)((char *)(stk) + ROUND_UP_TO_ALIGNMENT_SIZE( \
69
- sizeof(grpc_channel_stack))))
67
+ #define CHANNEL_ELEMS_FROM_STACK(stk) \
68
+ ((grpc_channel_element*)((char*)(stk) + ROUND_UP_TO_ALIGNMENT_SIZE( \
69
+ sizeof(grpc_channel_stack))))
70
70
 
71
- #define CALL_ELEMS_FROM_STACK(stk) \
72
- ((grpc_call_element *)((char *)(stk) + \
73
- ROUND_UP_TO_ALIGNMENT_SIZE(sizeof(grpc_call_stack))))
71
+ #define CALL_ELEMS_FROM_STACK(stk) \
72
+ ((grpc_call_element*)((char*)(stk) + \
73
+ ROUND_UP_TO_ALIGNMENT_SIZE(sizeof(grpc_call_stack))))
74
74
 
75
- grpc_channel_element *grpc_channel_stack_element(
76
- grpc_channel_stack *channel_stack, size_t index) {
75
+ grpc_channel_element* grpc_channel_stack_element(
76
+ grpc_channel_stack* channel_stack, size_t index) {
77
77
  return CHANNEL_ELEMS_FROM_STACK(channel_stack) + index;
78
78
  }
79
79
 
80
- grpc_channel_element *grpc_channel_stack_last_element(
81
- grpc_channel_stack *channel_stack) {
80
+ grpc_channel_element* grpc_channel_stack_last_element(
81
+ grpc_channel_stack* channel_stack) {
82
82
  return grpc_channel_stack_element(channel_stack, channel_stack->count - 1);
83
83
  }
84
84
 
85
- grpc_call_element *grpc_call_stack_element(grpc_call_stack *call_stack,
85
+ grpc_call_element* grpc_call_stack_element(grpc_call_stack* call_stack,
86
86
  size_t index) {
87
87
  return CALL_ELEMS_FROM_STACK(call_stack) + index;
88
88
  }
89
89
 
90
- grpc_error *grpc_channel_stack_init(
91
- grpc_exec_ctx *exec_ctx, int initial_refs, grpc_iomgr_cb_func destroy,
92
- void *destroy_arg, const grpc_channel_filter **filters, size_t filter_count,
93
- const grpc_channel_args *channel_args, grpc_transport *optional_transport,
94
- const char *name, grpc_channel_stack *stack) {
90
+ grpc_error* grpc_channel_stack_init(
91
+ grpc_exec_ctx* exec_ctx, int initial_refs, grpc_iomgr_cb_func destroy,
92
+ void* destroy_arg, const grpc_channel_filter** filters, size_t filter_count,
93
+ const grpc_channel_args* channel_args, grpc_transport* optional_transport,
94
+ const char* name, grpc_channel_stack* stack) {
95
95
  size_t call_size =
96
96
  ROUND_UP_TO_ALIGNMENT_SIZE(sizeof(grpc_call_stack)) +
97
97
  ROUND_UP_TO_ALIGNMENT_SIZE(filter_count * sizeof(grpc_call_element));
98
- grpc_channel_element *elems;
98
+ grpc_channel_element* elems;
99
99
  grpc_channel_element_args args;
100
- char *user_data;
100
+ char* user_data;
101
101
  size_t i;
102
102
 
103
103
  stack->count = filter_count;
104
104
  GRPC_STREAM_REF_INIT(&stack->refcount, initial_refs, destroy, destroy_arg,
105
105
  name);
106
106
  elems = CHANNEL_ELEMS_FROM_STACK(stack);
107
- user_data =
108
- ((char *)elems) +
109
- ROUND_UP_TO_ALIGNMENT_SIZE(filter_count * sizeof(grpc_channel_element));
107
+ user_data = ((char*)elems) + ROUND_UP_TO_ALIGNMENT_SIZE(
108
+ filter_count * sizeof(grpc_channel_element));
110
109
 
111
110
  /* init per-filter data */
112
- grpc_error *first_error = GRPC_ERROR_NONE;
111
+ grpc_error* first_error = GRPC_ERROR_NONE;
113
112
  for (i = 0; i < filter_count; i++) {
114
113
  args.channel_stack = stack;
115
114
  args.channel_args = channel_args;
@@ -118,7 +117,7 @@ grpc_error *grpc_channel_stack_init(
118
117
  args.is_last = i == (filter_count - 1);
119
118
  elems[i].filter = filters[i];
120
119
  elems[i].channel_data = user_data;
121
- grpc_error *error =
120
+ grpc_error* error =
122
121
  elems[i].filter->init_channel_elem(exec_ctx, &elems[i], &args);
123
122
  if (error != GRPC_ERROR_NONE) {
124
123
  if (first_error == GRPC_ERROR_NONE) {
@@ -131,17 +130,17 @@ grpc_error *grpc_channel_stack_init(
131
130
  call_size += ROUND_UP_TO_ALIGNMENT_SIZE(filters[i]->sizeof_call_data);
132
131
  }
133
132
 
134
- GPR_ASSERT(user_data > (char *)stack);
135
- GPR_ASSERT((uintptr_t)(user_data - (char *)stack) ==
133
+ GPR_ASSERT(user_data > (char*)stack);
134
+ GPR_ASSERT((uintptr_t)(user_data - (char*)stack) ==
136
135
  grpc_channel_stack_size(filters, filter_count));
137
136
 
138
137
  stack->call_stack_size = call_size;
139
138
  return first_error;
140
139
  }
141
140
 
142
- void grpc_channel_stack_destroy(grpc_exec_ctx *exec_ctx,
143
- grpc_channel_stack *stack) {
144
- grpc_channel_element *channel_elems = CHANNEL_ELEMS_FROM_STACK(stack);
141
+ void grpc_channel_stack_destroy(grpc_exec_ctx* exec_ctx,
142
+ grpc_channel_stack* stack) {
143
+ grpc_channel_element* channel_elems = CHANNEL_ELEMS_FROM_STACK(stack);
145
144
  size_t count = stack->count;
146
145
  size_t i;
147
146
 
@@ -151,31 +150,31 @@ void grpc_channel_stack_destroy(grpc_exec_ctx *exec_ctx,
151
150
  }
152
151
  }
153
152
 
154
- grpc_error *grpc_call_stack_init(grpc_exec_ctx *exec_ctx,
155
- grpc_channel_stack *channel_stack,
153
+ grpc_error* grpc_call_stack_init(grpc_exec_ctx* exec_ctx,
154
+ grpc_channel_stack* channel_stack,
156
155
  int initial_refs, grpc_iomgr_cb_func destroy,
157
- void *destroy_arg,
158
- const grpc_call_element_args *elem_args) {
159
- grpc_channel_element *channel_elems = CHANNEL_ELEMS_FROM_STACK(channel_stack);
156
+ void* destroy_arg,
157
+ const grpc_call_element_args* elem_args) {
158
+ grpc_channel_element* channel_elems = CHANNEL_ELEMS_FROM_STACK(channel_stack);
160
159
  size_t count = channel_stack->count;
161
- grpc_call_element *call_elems;
162
- char *user_data;
160
+ grpc_call_element* call_elems;
161
+ char* user_data;
163
162
  size_t i;
164
163
 
165
164
  elem_args->call_stack->count = count;
166
165
  GRPC_STREAM_REF_INIT(&elem_args->call_stack->refcount, initial_refs, destroy,
167
166
  destroy_arg, "CALL_STACK");
168
167
  call_elems = CALL_ELEMS_FROM_STACK(elem_args->call_stack);
169
- user_data = ((char *)call_elems) +
168
+ user_data = ((char*)call_elems) +
170
169
  ROUND_UP_TO_ALIGNMENT_SIZE(count * sizeof(grpc_call_element));
171
170
 
172
171
  /* init per-filter data */
173
- grpc_error *first_error = GRPC_ERROR_NONE;
172
+ grpc_error* first_error = GRPC_ERROR_NONE;
174
173
  for (i = 0; i < count; i++) {
175
174
  call_elems[i].filter = channel_elems[i].filter;
176
175
  call_elems[i].channel_data = channel_elems[i].channel_data;
177
176
  call_elems[i].call_data = user_data;
178
- grpc_error *error = call_elems[i].filter->init_call_elem(
177
+ grpc_error* error = call_elems[i].filter->init_call_elem(
179
178
  exec_ctx, &call_elems[i], elem_args);
180
179
  if (error != GRPC_ERROR_NONE) {
181
180
  if (first_error == GRPC_ERROR_NONE) {
@@ -190,16 +189,16 @@ grpc_error *grpc_call_stack_init(grpc_exec_ctx *exec_ctx,
190
189
  return first_error;
191
190
  }
192
191
 
193
- void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx *exec_ctx,
194
- grpc_call_stack *call_stack,
195
- grpc_polling_entity *pollent) {
192
+ void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx* exec_ctx,
193
+ grpc_call_stack* call_stack,
194
+ grpc_polling_entity* pollent) {
196
195
  size_t count = call_stack->count;
197
- grpc_call_element *call_elems;
198
- char *user_data;
196
+ grpc_call_element* call_elems;
197
+ char* user_data;
199
198
  size_t i;
200
199
 
201
200
  call_elems = CALL_ELEMS_FROM_STACK(call_stack);
202
- user_data = ((char *)call_elems) +
201
+ user_data = ((char*)call_elems) +
203
202
  ROUND_UP_TO_ALIGNMENT_SIZE(count * sizeof(grpc_call_element));
204
203
 
205
204
  /* init per-filter data */
@@ -212,13 +211,13 @@ void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx *exec_ctx,
212
211
  }
213
212
 
214
213
  void grpc_call_stack_ignore_set_pollset_or_pollset_set(
215
- grpc_exec_ctx *exec_ctx, grpc_call_element *elem,
216
- grpc_polling_entity *pollent) {}
214
+ grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
215
+ grpc_polling_entity* pollent) {}
217
216
 
218
- void grpc_call_stack_destroy(grpc_exec_ctx *exec_ctx, grpc_call_stack *stack,
219
- const grpc_call_final_info *final_info,
220
- grpc_closure *then_schedule_closure) {
221
- grpc_call_element *elems = CALL_ELEMS_FROM_STACK(stack);
217
+ void grpc_call_stack_destroy(grpc_exec_ctx* exec_ctx, grpc_call_stack* stack,
218
+ const grpc_call_final_info* final_info,
219
+ grpc_closure* then_schedule_closure) {
220
+ grpc_call_element* elems = CALL_ELEMS_FROM_STACK(stack);
222
221
  size_t count = stack->count;
223
222
  size_t i;
224
223
 
@@ -226,37 +225,37 @@ void grpc_call_stack_destroy(grpc_exec_ctx *exec_ctx, grpc_call_stack *stack,
226
225
  for (i = 0; i < count; i++) {
227
226
  elems[i].filter->destroy_call_elem(
228
227
  exec_ctx, &elems[i], final_info,
229
- i == count - 1 ? then_schedule_closure : NULL);
228
+ i == count - 1 ? then_schedule_closure : nullptr);
230
229
  }
231
230
  }
232
231
 
233
- void grpc_call_next_op(grpc_exec_ctx *exec_ctx, grpc_call_element *elem,
234
- grpc_transport_stream_op_batch *op) {
235
- grpc_call_element *next_elem = elem + 1;
232
+ void grpc_call_next_op(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
233
+ grpc_transport_stream_op_batch* op) {
234
+ grpc_call_element* next_elem = elem + 1;
236
235
  GRPC_CALL_LOG_OP(GPR_INFO, next_elem, op);
237
236
  next_elem->filter->start_transport_stream_op_batch(exec_ctx, next_elem, op);
238
237
  }
239
238
 
240
- void grpc_channel_next_get_info(grpc_exec_ctx *exec_ctx,
241
- grpc_channel_element *elem,
242
- const grpc_channel_info *channel_info) {
243
- grpc_channel_element *next_elem = elem + 1;
239
+ void grpc_channel_next_get_info(grpc_exec_ctx* exec_ctx,
240
+ grpc_channel_element* elem,
241
+ const grpc_channel_info* channel_info) {
242
+ grpc_channel_element* next_elem = elem + 1;
244
243
  next_elem->filter->get_channel_info(exec_ctx, next_elem, channel_info);
245
244
  }
246
245
 
247
- void grpc_channel_next_op(grpc_exec_ctx *exec_ctx, grpc_channel_element *elem,
248
- grpc_transport_op *op) {
249
- grpc_channel_element *next_elem = elem + 1;
246
+ void grpc_channel_next_op(grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
247
+ grpc_transport_op* op) {
248
+ grpc_channel_element* next_elem = elem + 1;
250
249
  next_elem->filter->start_transport_op(exec_ctx, next_elem, op);
251
250
  }
252
251
 
253
- grpc_channel_stack *grpc_channel_stack_from_top_element(
254
- grpc_channel_element *elem) {
255
- return (grpc_channel_stack *)((char *)(elem)-ROUND_UP_TO_ALIGNMENT_SIZE(
252
+ grpc_channel_stack* grpc_channel_stack_from_top_element(
253
+ grpc_channel_element* elem) {
254
+ return (grpc_channel_stack*)((char*)(elem)-ROUND_UP_TO_ALIGNMENT_SIZE(
256
255
  sizeof(grpc_channel_stack)));
257
256
  }
258
257
 
259
- grpc_call_stack *grpc_call_stack_from_top_element(grpc_call_element *elem) {
260
- return (grpc_call_stack *)((char *)(elem)-ROUND_UP_TO_ALIGNMENT_SIZE(
258
+ grpc_call_stack* grpc_call_stack_from_top_element(grpc_call_element* elem) {
259
+ return (grpc_call_stack*)((char*)(elem)-ROUND_UP_TO_ALIGNMENT_SIZE(
261
260
  sizeof(grpc_call_stack)));
262
261
  }
@@ -56,23 +56,23 @@ typedef struct grpc_channel_stack grpc_channel_stack;
56
56
  typedef struct grpc_call_stack grpc_call_stack;
57
57
 
58
58
  typedef struct {
59
- grpc_channel_stack *channel_stack;
60
- const grpc_channel_args *channel_args;
59
+ grpc_channel_stack* channel_stack;
60
+ const grpc_channel_args* channel_args;
61
61
  /** Transport, iff it is known */
62
- grpc_transport *optional_transport;
62
+ grpc_transport* optional_transport;
63
63
  int is_first;
64
64
  int is_last;
65
65
  } grpc_channel_element_args;
66
66
 
67
67
  typedef struct {
68
- grpc_call_stack *call_stack;
69
- const void *server_transport_data;
70
- grpc_call_context_element *context;
68
+ grpc_call_stack* call_stack;
69
+ const void* server_transport_data;
70
+ grpc_call_context_element* context;
71
71
  grpc_slice path;
72
72
  gpr_timespec start_time;
73
- gpr_timespec deadline;
74
- gpr_arena *arena;
75
- grpc_call_combiner *call_combiner;
73
+ grpc_millis deadline;
74
+ gpr_arena* arena;
75
+ grpc_call_combiner* call_combiner;
76
76
  } grpc_call_element_args;
77
77
 
78
78
  typedef struct {
@@ -84,6 +84,7 @@ typedef struct {
84
84
  typedef struct {
85
85
  grpc_call_stats stats;
86
86
  grpc_status_code final_status;
87
+ const char** error_string;
87
88
  } grpc_call_final_info;
88
89
 
89
90
  /* Channel filters specify:
@@ -99,14 +100,14 @@ typedef struct {
99
100
  typedef struct {
100
101
  /* Called to eg. send/receive data on a call.
101
102
  See grpc_call_next_op on how to call the next element in the stack */
102
- void (*start_transport_stream_op_batch)(grpc_exec_ctx *exec_ctx,
103
- grpc_call_element *elem,
104
- grpc_transport_stream_op_batch *op);
103
+ void (*start_transport_stream_op_batch)(grpc_exec_ctx* exec_ctx,
104
+ grpc_call_element* elem,
105
+ grpc_transport_stream_op_batch* op);
105
106
  /* Called to handle channel level operations - e.g. new calls, or transport
106
107
  closure.
107
108
  See grpc_channel_next_op on how to call the next element in the stack */
108
- void (*start_transport_op)(grpc_exec_ctx *exec_ctx,
109
- grpc_channel_element *elem, grpc_transport_op *op);
109
+ void (*start_transport_op)(grpc_exec_ctx* exec_ctx,
110
+ grpc_channel_element* elem, grpc_transport_op* op);
110
111
 
111
112
  /* sizeof(per call data) */
112
113
  size_t sizeof_call_data;
@@ -119,21 +120,21 @@ typedef struct {
119
120
  transport and is on the server. Most filters want to ignore this
120
121
  argument.
121
122
  Implementations may assume that elem->call_data is all zeros. */
122
- grpc_error *(*init_call_elem)(grpc_exec_ctx *exec_ctx,
123
- grpc_call_element *elem,
124
- const grpc_call_element_args *args);
125
- void (*set_pollset_or_pollset_set)(grpc_exec_ctx *exec_ctx,
126
- grpc_call_element *elem,
127
- grpc_polling_entity *pollent);
123
+ grpc_error* (*init_call_elem)(grpc_exec_ctx* exec_ctx,
124
+ grpc_call_element* elem,
125
+ const grpc_call_element_args* args);
126
+ void (*set_pollset_or_pollset_set)(grpc_exec_ctx* exec_ctx,
127
+ grpc_call_element* elem,
128
+ grpc_polling_entity* pollent);
128
129
  /* Destroy per call data.
129
130
  The filter does not need to do any chaining.
130
131
  The bottom filter of a stack will be passed a non-NULL pointer to
131
132
  \a then_schedule_closure that should be passed to GRPC_CLOSURE_SCHED when
132
133
  destruction is complete. \a final_info contains data about the completed
133
134
  call, mainly for reporting purposes. */
134
- void (*destroy_call_elem)(grpc_exec_ctx *exec_ctx, grpc_call_element *elem,
135
- const grpc_call_final_info *final_info,
136
- grpc_closure *then_schedule_closure);
135
+ void (*destroy_call_elem)(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
136
+ const grpc_call_final_info* final_info,
137
+ grpc_closure* then_schedule_closure);
137
138
 
138
139
  /* sizeof(per channel data) */
139
140
  size_t sizeof_channel_data;
@@ -144,36 +145,36 @@ typedef struct {
144
145
  useful for asserting correct configuration by upper layer code.
145
146
  The filter does not need to do any chaining.
146
147
  Implementations may assume that elem->call_data is all zeros. */
147
- grpc_error *(*init_channel_elem)(grpc_exec_ctx *exec_ctx,
148
- grpc_channel_element *elem,
149
- grpc_channel_element_args *args);
148
+ grpc_error* (*init_channel_elem)(grpc_exec_ctx* exec_ctx,
149
+ grpc_channel_element* elem,
150
+ grpc_channel_element_args* args);
150
151
  /* Destroy per channel data.
151
152
  The filter does not need to do any chaining */
152
- void (*destroy_channel_elem)(grpc_exec_ctx *exec_ctx,
153
- grpc_channel_element *elem);
153
+ void (*destroy_channel_elem)(grpc_exec_ctx* exec_ctx,
154
+ grpc_channel_element* elem);
154
155
 
155
156
  /* Implement grpc_channel_get_info() */
156
- void (*get_channel_info)(grpc_exec_ctx *exec_ctx, grpc_channel_element *elem,
157
- const grpc_channel_info *channel_info);
157
+ void (*get_channel_info)(grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
158
+ const grpc_channel_info* channel_info);
158
159
 
159
160
  /* The name of this filter */
160
- const char *name;
161
+ const char* name;
161
162
  } grpc_channel_filter;
162
163
 
163
164
  /* A channel_element tracks its filter and the filter requested memory within
164
165
  a channel allocation */
165
166
  struct grpc_channel_element {
166
- const grpc_channel_filter *filter;
167
- void *channel_data;
167
+ const grpc_channel_filter* filter;
168
+ void* channel_data;
168
169
  };
169
170
 
170
171
  /* A call_element tracks its filter, the filter requested memory within
171
172
  a channel allocation, and the filter requested memory within a call
172
173
  allocation */
173
174
  struct grpc_call_element {
174
- const grpc_channel_filter *filter;
175
- void *channel_data;
176
- void *call_data;
175
+ const grpc_channel_filter* filter;
176
+ void* channel_data;
177
+ void* call_data;
177
178
  };
178
179
 
179
180
  /* A channel stack tracks a set of related filters for one channel, and
@@ -198,40 +199,40 @@ struct grpc_call_stack {
198
199
  };
199
200
 
200
201
  /* Get a channel element given a channel stack and its index */
201
- grpc_channel_element *grpc_channel_stack_element(grpc_channel_stack *stack,
202
+ grpc_channel_element* grpc_channel_stack_element(grpc_channel_stack* stack,
202
203
  size_t i);
203
204
  /* Get the last channel element in a channel stack */
204
- grpc_channel_element *grpc_channel_stack_last_element(
205
- grpc_channel_stack *stack);
205
+ grpc_channel_element* grpc_channel_stack_last_element(
206
+ grpc_channel_stack* stack);
206
207
  /* Get a call stack element given a call stack and an index */
207
- grpc_call_element *grpc_call_stack_element(grpc_call_stack *stack, size_t i);
208
+ grpc_call_element* grpc_call_stack_element(grpc_call_stack* stack, size_t i);
208
209
 
209
210
  /* Determine memory required for a channel stack containing a set of filters */
210
- size_t grpc_channel_stack_size(const grpc_channel_filter **filters,
211
+ size_t grpc_channel_stack_size(const grpc_channel_filter** filters,
211
212
  size_t filter_count);
212
213
  /* Initialize a channel stack given some filters */
213
- grpc_error *grpc_channel_stack_init(
214
- grpc_exec_ctx *exec_ctx, int initial_refs, grpc_iomgr_cb_func destroy,
215
- void *destroy_arg, const grpc_channel_filter **filters, size_t filter_count,
216
- const grpc_channel_args *args, grpc_transport *optional_transport,
217
- const char *name, grpc_channel_stack *stack);
214
+ grpc_error* grpc_channel_stack_init(
215
+ grpc_exec_ctx* exec_ctx, int initial_refs, grpc_iomgr_cb_func destroy,
216
+ void* destroy_arg, const grpc_channel_filter** filters, size_t filter_count,
217
+ const grpc_channel_args* args, grpc_transport* optional_transport,
218
+ const char* name, grpc_channel_stack* stack);
218
219
  /* Destroy a channel stack */
219
- void grpc_channel_stack_destroy(grpc_exec_ctx *exec_ctx,
220
- grpc_channel_stack *stack);
220
+ void grpc_channel_stack_destroy(grpc_exec_ctx* exec_ctx,
221
+ grpc_channel_stack* stack);
221
222
 
222
223
  /* Initialize a call stack given a channel stack. transport_server_data is
223
224
  expected to be NULL on a client, or an opaque transport owned pointer on the
224
225
  server. */
225
- grpc_error *grpc_call_stack_init(grpc_exec_ctx *exec_ctx,
226
- grpc_channel_stack *channel_stack,
226
+ grpc_error* grpc_call_stack_init(grpc_exec_ctx* exec_ctx,
227
+ grpc_channel_stack* channel_stack,
227
228
  int initial_refs, grpc_iomgr_cb_func destroy,
228
- void *destroy_arg,
229
- const grpc_call_element_args *elem_args);
229
+ void* destroy_arg,
230
+ const grpc_call_element_args* elem_args);
230
231
  /* Set a pollset or a pollset_set for a call stack: must occur before the first
231
232
  * op is started */
232
- void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx *exec_ctx,
233
- grpc_call_stack *call_stack,
234
- grpc_polling_entity *pollent);
233
+ void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx* exec_ctx,
234
+ grpc_call_stack* call_stack,
235
+ grpc_polling_entity* pollent);
235
236
 
236
237
  #ifndef NDEBUG
237
238
  #define GRPC_CALL_STACK_REF(call_stack, reason) \
@@ -254,41 +255,41 @@ void grpc_call_stack_set_pollset_or_pollset_set(grpc_exec_ctx *exec_ctx,
254
255
  #endif
255
256
 
256
257
  /* Destroy a call stack */
257
- void grpc_call_stack_destroy(grpc_exec_ctx *exec_ctx, grpc_call_stack *stack,
258
- const grpc_call_final_info *final_info,
259
- grpc_closure *then_schedule_closure);
258
+ void grpc_call_stack_destroy(grpc_exec_ctx* exec_ctx, grpc_call_stack* stack,
259
+ const grpc_call_final_info* final_info,
260
+ grpc_closure* then_schedule_closure);
260
261
 
261
262
  /* Ignore set pollset{_set} - used by filters if they don't care about pollsets
262
263
  * at all. Does nothing. */
263
264
  void grpc_call_stack_ignore_set_pollset_or_pollset_set(
264
- grpc_exec_ctx *exec_ctx, grpc_call_element *elem,
265
- grpc_polling_entity *pollent);
265
+ grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
266
+ grpc_polling_entity* pollent);
266
267
  /* Call the next operation in a call stack */
267
- void grpc_call_next_op(grpc_exec_ctx *exec_ctx, grpc_call_element *elem,
268
- grpc_transport_stream_op_batch *op);
268
+ void grpc_call_next_op(grpc_exec_ctx* exec_ctx, grpc_call_element* elem,
269
+ grpc_transport_stream_op_batch* op);
269
270
  /* Call the next operation (depending on call directionality) in a channel
270
271
  stack */
271
- void grpc_channel_next_op(grpc_exec_ctx *exec_ctx, grpc_channel_element *elem,
272
- grpc_transport_op *op);
272
+ void grpc_channel_next_op(grpc_exec_ctx* exec_ctx, grpc_channel_element* elem,
273
+ grpc_transport_op* op);
273
274
  /* Pass through a request to get_channel_info() to the next child element */
274
- void grpc_channel_next_get_info(grpc_exec_ctx *exec_ctx,
275
- grpc_channel_element *elem,
276
- const grpc_channel_info *channel_info);
275
+ void grpc_channel_next_get_info(grpc_exec_ctx* exec_ctx,
276
+ grpc_channel_element* elem,
277
+ const grpc_channel_info* channel_info);
277
278
 
278
279
  /* Given the top element of a channel stack, get the channel stack itself */
279
- grpc_channel_stack *grpc_channel_stack_from_top_element(
280
- grpc_channel_element *elem);
280
+ grpc_channel_stack* grpc_channel_stack_from_top_element(
281
+ grpc_channel_element* elem);
281
282
  /* Given the top element of a call stack, get the call stack itself */
282
- grpc_call_stack *grpc_call_stack_from_top_element(grpc_call_element *elem);
283
+ grpc_call_stack* grpc_call_stack_from_top_element(grpc_call_element* elem);
283
284
 
284
- void grpc_call_log_op(const char *file, int line, gpr_log_severity severity,
285
- grpc_call_element *elem,
286
- grpc_transport_stream_op_batch *op);
285
+ void grpc_call_log_op(const char* file, int line, gpr_log_severity severity,
286
+ grpc_call_element* elem,
287
+ grpc_transport_stream_op_batch* op);
287
288
 
288
- extern grpc_tracer_flag grpc_trace_channel;
289
+ extern grpc_core::TraceFlag grpc_trace_channel;
289
290
 
290
291
  #define GRPC_CALL_LOG_OP(sev, elem, op) \
291
- if (GRPC_TRACER_ON(grpc_trace_channel)) grpc_call_log_op(sev, elem, op)
292
+ if (grpc_trace_channel.enabled()) grpc_call_log_op(sev, elem, op)
292
293
 
293
294
  #ifdef __cplusplus
294
295
  }