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
@@ -21,7 +21,15 @@
21
21
 
22
22
  #include "src/core/lib/compression/stream_compression.h"
23
23
 
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
24
28
  extern const grpc_stream_compression_vtable
25
29
  grpc_stream_compression_identity_vtable;
26
30
 
31
+ #ifdef __cplusplus
32
+ }
33
+ #endif
34
+
27
35
  #endif
@@ -27,18 +27,18 @@
27
27
 
28
28
  #include "src/core/lib/support/string.h"
29
29
 
30
- grpc_stats_data *grpc_stats_per_cpu_storage = NULL;
30
+ grpc_stats_data* grpc_stats_per_cpu_storage = nullptr;
31
31
  static size_t g_num_cores;
32
32
 
33
33
  void grpc_stats_init(void) {
34
34
  g_num_cores = GPR_MAX(1, gpr_cpu_num_cores());
35
35
  grpc_stats_per_cpu_storage =
36
- (grpc_stats_data *)gpr_zalloc(sizeof(grpc_stats_data) * g_num_cores);
36
+ (grpc_stats_data*)gpr_zalloc(sizeof(grpc_stats_data) * g_num_cores);
37
37
  }
38
38
 
39
39
  void grpc_stats_shutdown(void) { gpr_free(grpc_stats_per_cpu_storage); }
40
40
 
41
- void grpc_stats_collect(grpc_stats_data *output) {
41
+ void grpc_stats_collect(grpc_stats_data* output) {
42
42
  memset(output, 0, sizeof(*output));
43
43
  for (size_t core = 0; core < g_num_cores; core++) {
44
44
  for (size_t i = 0; i < GRPC_STATS_COUNTER_COUNT; i++) {
@@ -52,8 +52,8 @@ void grpc_stats_collect(grpc_stats_data *output) {
52
52
  }
53
53
  }
54
54
 
55
- void grpc_stats_diff(const grpc_stats_data *b, const grpc_stats_data *a,
56
- grpc_stats_data *c) {
55
+ void grpc_stats_diff(const grpc_stats_data* b, const grpc_stats_data* a,
56
+ grpc_stats_data* c) {
57
57
  for (size_t i = 0; i < GRPC_STATS_COUNTER_COUNT; i++) {
58
58
  c->counters[i] = b->counters[i] - a->counters[i];
59
59
  }
@@ -62,13 +62,13 @@ void grpc_stats_diff(const grpc_stats_data *b, const grpc_stats_data *a,
62
62
  }
63
63
  }
64
64
 
65
- int grpc_stats_histo_find_bucket_slow(grpc_exec_ctx *exec_ctx, int value,
66
- const int *table, int table_size) {
65
+ int grpc_stats_histo_find_bucket_slow(grpc_exec_ctx* exec_ctx, int value,
66
+ const int* table, int table_size) {
67
67
  GRPC_STATS_INC_HISTOGRAM_SLOW_LOOKUPS(exec_ctx);
68
- const int *const start = table;
68
+ const int* const start = table;
69
69
  while (table_size > 0) {
70
70
  int step = table_size / 2;
71
- const int *it = table + step;
71
+ const int* it = table + step;
72
72
  if (value >= *it) {
73
73
  table = it + 1;
74
74
  table_size -= step + 1;
@@ -79,7 +79,7 @@ int grpc_stats_histo_find_bucket_slow(grpc_exec_ctx *exec_ctx, int value,
79
79
  return (int)(table - start) - 1;
80
80
  }
81
81
 
82
- size_t grpc_stats_histo_count(const grpc_stats_data *stats,
82
+ size_t grpc_stats_histo_count(const grpc_stats_data* stats,
83
83
  grpc_stats_histograms histogram) {
84
84
  size_t sum = 0;
85
85
  for (int i = 0; i < grpc_stats_histo_buckets[histogram]; i++) {
@@ -88,8 +88,8 @@ size_t grpc_stats_histo_count(const grpc_stats_data *stats,
88
88
  return sum;
89
89
  }
90
90
 
91
- static double threshold_for_count_below(const gpr_atm *bucket_counts,
92
- const int *bucket_boundaries,
91
+ static double threshold_for_count_below(const gpr_atm* bucket_counts,
92
+ const int* bucket_boundaries,
93
93
  int num_buckets, double count_below) {
94
94
  double count_so_far;
95
95
  double lower_bound;
@@ -119,13 +119,13 @@ static double threshold_for_count_below(const gpr_atm *bucket_counts,
119
119
  should lie */
120
120
  lower_bound = bucket_boundaries[lower_idx];
121
121
  upper_bound = bucket_boundaries[lower_idx + 1];
122
- return upper_bound -
123
- (upper_bound - lower_bound) * (count_so_far - count_below) /
124
- (double)bucket_counts[lower_idx];
122
+ return upper_bound - (upper_bound - lower_bound) *
123
+ (count_so_far - count_below) /
124
+ (double)bucket_counts[lower_idx];
125
125
  }
126
126
  }
127
127
 
128
- double grpc_stats_histo_percentile(const grpc_stats_data *stats,
128
+ double grpc_stats_histo_percentile(const grpc_stats_data* stats,
129
129
  grpc_stats_histograms histogram,
130
130
  double percentile) {
131
131
  size_t count = grpc_stats_histo_count(stats, histogram);
@@ -136,9 +136,9 @@ double grpc_stats_histo_percentile(const grpc_stats_data *stats,
136
136
  grpc_stats_histo_buckets[histogram], (double)count * percentile / 100.0);
137
137
  }
138
138
 
139
- char *grpc_stats_data_as_json(const grpc_stats_data *data) {
139
+ char* grpc_stats_data_as_json(const grpc_stats_data* data) {
140
140
  gpr_strvec v;
141
- char *tmp;
141
+ char* tmp;
142
142
  bool is_first = true;
143
143
  gpr_strvec_init(&v);
144
144
  gpr_strvec_add(&v, gpr_strdup("{"));
@@ -168,7 +168,7 @@ char *grpc_stats_data_as_json(const grpc_stats_data *data) {
168
168
  is_first = false;
169
169
  }
170
170
  gpr_strvec_add(&v, gpr_strdup("}"));
171
- tmp = gpr_strvec_flatten(&v, NULL);
171
+ tmp = gpr_strvec_flatten(&v, nullptr);
172
172
  gpr_strvec_destroy(&v);
173
173
  return tmp;
174
174
  }
@@ -23,12 +23,16 @@
23
23
  #include "src/core/lib/debug/stats_data.h"
24
24
  #include "src/core/lib/iomgr/exec_ctx.h"
25
25
 
26
+ #ifdef __cplusplus
27
+ extern "C" {
28
+ #endif
29
+
26
30
  typedef struct grpc_stats_data {
27
31
  gpr_atm counters[GRPC_STATS_COUNTER_COUNT];
28
32
  gpr_atm histograms[GRPC_STATS_HISTOGRAM_BUCKETS];
29
33
  } grpc_stats_data;
30
34
 
31
- extern grpc_stats_data *grpc_stats_per_cpu_storage;
35
+ extern grpc_stats_data* grpc_stats_per_cpu_storage;
32
36
 
33
37
  #define GRPC_THREAD_STATS_DATA(exec_ctx) \
34
38
  (&grpc_stats_per_cpu_storage[(exec_ctx)->starting_cpu])
@@ -45,17 +49,21 @@ extern grpc_stats_data *grpc_stats_per_cpu_storage;
45
49
 
46
50
  void grpc_stats_init(void);
47
51
  void grpc_stats_shutdown(void);
48
- void grpc_stats_collect(grpc_stats_data *output);
52
+ void grpc_stats_collect(grpc_stats_data* output);
49
53
  // c = b-a
50
- void grpc_stats_diff(const grpc_stats_data *b, const grpc_stats_data *a,
51
- grpc_stats_data *c);
52
- char *grpc_stats_data_as_json(const grpc_stats_data *data);
53
- int grpc_stats_histo_find_bucket_slow(grpc_exec_ctx *exec_ctx, int value,
54
- const int *table, int table_size);
55
- double grpc_stats_histo_percentile(const grpc_stats_data *data,
54
+ void grpc_stats_diff(const grpc_stats_data* b, const grpc_stats_data* a,
55
+ grpc_stats_data* c);
56
+ char* grpc_stats_data_as_json(const grpc_stats_data* data);
57
+ int grpc_stats_histo_find_bucket_slow(grpc_exec_ctx* exec_ctx, int value,
58
+ const int* table, int table_size);
59
+ double grpc_stats_histo_percentile(const grpc_stats_data* data,
56
60
  grpc_stats_histograms histogram,
57
61
  double percentile);
58
- size_t grpc_stats_histo_count(const grpc_stats_data *data,
62
+ size_t grpc_stats_histo_count(const grpc_stats_data* data,
59
63
  grpc_stats_histograms histogram);
60
64
 
65
+ #ifdef __cplusplus
66
+ }
67
+ #endif
68
+
61
69
  #endif
@@ -22,7 +22,7 @@
22
22
  #include <grpc/support/useful.h>
23
23
  #include "src/core/lib/debug/stats.h"
24
24
  #include "src/core/lib/iomgr/exec_ctx.h"
25
- const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT] = {
25
+ const char* grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT] = {
26
26
  "client_calls_created",
27
27
  "server_calls_created",
28
28
  "cqs_created",
@@ -77,6 +77,7 @@ const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT] = {
77
77
  "http2_initiate_write_due_to_transport_flow_control_unstalled",
78
78
  "http2_initiate_write_due_to_ping_response",
79
79
  "http2_initiate_write_due_to_force_rst_stream",
80
+ "http2_spurious_writes_begun",
80
81
  "hpack_recv_indexed",
81
82
  "hpack_recv_lithdr_incidx",
82
83
  "hpack_recv_lithdr_incidx_v",
@@ -103,6 +104,10 @@ const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT] = {
103
104
  "combiner_locks_scheduled_items",
104
105
  "combiner_locks_scheduled_final_items",
105
106
  "combiner_locks_offloaded",
107
+ "call_combiner_locks_initiated",
108
+ "call_combiner_locks_scheduled_items",
109
+ "call_combiner_set_notify_on_cancel",
110
+ "call_combiner_cancelled",
106
111
  "executor_scheduled_short_items",
107
112
  "executor_scheduled_long_items",
108
113
  "executor_scheduled_to_self",
@@ -111,12 +116,17 @@ const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT] = {
111
116
  "executor_push_retries",
112
117
  "server_requested_calls",
113
118
  "server_slowpath_requests_queued",
119
+ "cq_ev_queue_trylock_failures",
120
+ "cq_ev_queue_trylock_successes",
121
+ "cq_ev_queue_transient_pop_failures",
114
122
  };
115
- const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT] = {
123
+ const char* grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT] = {
116
124
  "Number of client side calls created by this process",
117
125
  "Number of server side calls created by this process",
118
- "Number of completion queues created", "Number of client channels created",
119
- "Number of client subchannels created", "Number of server channels created",
126
+ "Number of completion queues created",
127
+ "Number of client channels created",
128
+ "Number of client subchannels created",
129
+ "Number of server channels created",
120
130
  "Number of polling syscalls (epoll_wait, poll, etc) made by this process",
121
131
  "Number of sleeping syscalls made by this process",
122
132
  "How many polling wakeups were performed by the process (only valid for "
@@ -146,7 +156,8 @@ const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT] = {
146
156
  "Number of batches containing receive initial metadata",
147
157
  "Number of batches containing receive message",
148
158
  "Number of batches containing receive trailing metadata",
149
- "Number of settings frames sent", "Number of HTTP2 pings sent by process",
159
+ "Number of settings frames sent",
160
+ "Number of HTTP2 pings sent by process",
150
161
  "Number of HTTP2 writes initiated",
151
162
  "Number of HTTP2 writes offloaded to the executor from application threads",
152
163
  "Number of HTTP2 writes that finished seeing more data needed to be "
@@ -177,6 +188,7 @@ const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT] = {
177
188
  "'transport_flow_control_unstalled'",
178
189
  "Number of HTTP2 writes initiated due to 'ping_response'",
179
190
  "Number of HTTP2 writes initiated due to 'force_rst_stream'",
191
+ "Number of HTTP2 writes initiated with nothing to write",
180
192
  "Number of HPACK indexed fields received",
181
193
  "Number of HPACK literal headers received with incremental indexing",
182
194
  "Number of HPACK literal headers received with incremental indexing and "
@@ -208,6 +220,11 @@ const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT] = {
208
220
  "Number of items scheduled against combiner locks",
209
221
  "Number of final items scheduled against combiner locks",
210
222
  "Number of combiner locks offloaded to different threads",
223
+ "Number of call combiner lock entries by process (first items queued to a "
224
+ "call combiner)",
225
+ "Number of items scheduled against call combiner locks",
226
+ "Number of times a cancellation callback was set on a call combiner",
227
+ "Number of times a call combiner was cancelled",
211
228
  "Number of finite runtime closures scheduled against the executor (gRPC "
212
229
  "thread pool)",
213
230
  "Number of potentially infinite runtime closures scheduled against the "
@@ -220,8 +237,14 @@ const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT] = {
220
237
  "How many calls were requested (not necessarily received) by the server",
221
238
  "How many times was the server slow path taken (indicates too few "
222
239
  "outstanding requests)",
240
+ "Number of lock (trylock) acquisition failures on completion queue event "
241
+ "queue. High value here indicates high contention on completion queues",
242
+ "Number of lock (trylock) acquisition successes on completion queue event "
243
+ "queue.",
244
+ "Number of times NULL was popped out of completion queue's event queue "
245
+ "even though the event queue was not empty",
223
246
  };
224
- const char *grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT] = {
247
+ const char* grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT] = {
225
248
  "call_initial_size",
226
249
  "poll_events_returned",
227
250
  "tcp_write_size",
@@ -236,7 +259,7 @@ const char *grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT] = {
236
259
  "http2_send_flowctl_per_write",
237
260
  "server_cqs_checked",
238
261
  };
239
- const char *grpc_stats_histogram_doc[GRPC_STATS_HISTOGRAM_COUNT] = {
262
+ const char* grpc_stats_histogram_doc[GRPC_STATS_HISTOGRAM_COUNT] = {
240
263
  "Initial size of the grpc_call arena created at call start",
241
264
  "How many events are called for each syscall_poll",
242
265
  "Number of bytes offered to each syscall_write",
@@ -319,7 +342,7 @@ const uint8_t grpc_stats_table_7[102] = {
319
342
  42, 42, 43, 44, 44, 45, 46, 46, 47, 48, 48, 49, 49, 50, 50, 51, 51};
320
343
  const int grpc_stats_table_8[9] = {0, 1, 2, 4, 7, 13, 23, 39, 64};
321
344
  const uint8_t grpc_stats_table_9[9] = {0, 0, 1, 2, 2, 3, 4, 4, 5};
322
- void grpc_stats_inc_call_initial_size(grpc_exec_ctx *exec_ctx, int value) {
345
+ void grpc_stats_inc_call_initial_size(grpc_exec_ctx* exec_ctx, int value) {
323
346
  value = GPR_CLAMP(value, 0, 262144);
324
347
  if (value < 6) {
325
348
  GRPC_STATS_INC_HISTOGRAM((exec_ctx), GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE,
@@ -344,7 +367,7 @@ void grpc_stats_inc_call_initial_size(grpc_exec_ctx *exec_ctx, int value) {
344
367
  grpc_stats_histo_find_bucket_slow(
345
368
  (exec_ctx), value, grpc_stats_table_0, 64));
346
369
  }
347
- void grpc_stats_inc_poll_events_returned(grpc_exec_ctx *exec_ctx, int value) {
370
+ void grpc_stats_inc_poll_events_returned(grpc_exec_ctx* exec_ctx, int value) {
348
371
  value = GPR_CLAMP(value, 0, 1024);
349
372
  if (value < 29) {
350
373
  GRPC_STATS_INC_HISTOGRAM((exec_ctx),
@@ -370,7 +393,7 @@ void grpc_stats_inc_poll_events_returned(grpc_exec_ctx *exec_ctx, int value) {
370
393
  grpc_stats_histo_find_bucket_slow(
371
394
  (exec_ctx), value, grpc_stats_table_2, 128));
372
395
  }
373
- void grpc_stats_inc_tcp_write_size(grpc_exec_ctx *exec_ctx, int value) {
396
+ void grpc_stats_inc_tcp_write_size(grpc_exec_ctx* exec_ctx, int value) {
374
397
  value = GPR_CLAMP(value, 0, 16777216);
375
398
  if (value < 5) {
376
399
  GRPC_STATS_INC_HISTOGRAM((exec_ctx), GRPC_STATS_HISTOGRAM_TCP_WRITE_SIZE,
@@ -395,7 +418,7 @@ void grpc_stats_inc_tcp_write_size(grpc_exec_ctx *exec_ctx, int value) {
395
418
  grpc_stats_histo_find_bucket_slow(
396
419
  (exec_ctx), value, grpc_stats_table_4, 64));
397
420
  }
398
- void grpc_stats_inc_tcp_write_iov_size(grpc_exec_ctx *exec_ctx, int value) {
421
+ void grpc_stats_inc_tcp_write_iov_size(grpc_exec_ctx* exec_ctx, int value) {
399
422
  value = GPR_CLAMP(value, 0, 1024);
400
423
  if (value < 13) {
401
424
  GRPC_STATS_INC_HISTOGRAM((exec_ctx),
@@ -420,7 +443,7 @@ void grpc_stats_inc_tcp_write_iov_size(grpc_exec_ctx *exec_ctx, int value) {
420
443
  grpc_stats_histo_find_bucket_slow(
421
444
  (exec_ctx), value, grpc_stats_table_6, 64));
422
445
  }
423
- void grpc_stats_inc_tcp_read_size(grpc_exec_ctx *exec_ctx, int value) {
446
+ void grpc_stats_inc_tcp_read_size(grpc_exec_ctx* exec_ctx, int value) {
424
447
  value = GPR_CLAMP(value, 0, 16777216);
425
448
  if (value < 5) {
426
449
  GRPC_STATS_INC_HISTOGRAM((exec_ctx), GRPC_STATS_HISTOGRAM_TCP_READ_SIZE,
@@ -445,7 +468,7 @@ void grpc_stats_inc_tcp_read_size(grpc_exec_ctx *exec_ctx, int value) {
445
468
  grpc_stats_histo_find_bucket_slow(
446
469
  (exec_ctx), value, grpc_stats_table_4, 64));
447
470
  }
448
- void grpc_stats_inc_tcp_read_offer(grpc_exec_ctx *exec_ctx, int value) {
471
+ void grpc_stats_inc_tcp_read_offer(grpc_exec_ctx* exec_ctx, int value) {
449
472
  value = GPR_CLAMP(value, 0, 16777216);
450
473
  if (value < 5) {
451
474
  GRPC_STATS_INC_HISTOGRAM((exec_ctx), GRPC_STATS_HISTOGRAM_TCP_READ_OFFER,
@@ -470,7 +493,7 @@ void grpc_stats_inc_tcp_read_offer(grpc_exec_ctx *exec_ctx, int value) {
470
493
  grpc_stats_histo_find_bucket_slow(
471
494
  (exec_ctx), value, grpc_stats_table_4, 64));
472
495
  }
473
- void grpc_stats_inc_tcp_read_offer_iov_size(grpc_exec_ctx *exec_ctx,
496
+ void grpc_stats_inc_tcp_read_offer_iov_size(grpc_exec_ctx* exec_ctx,
474
497
  int value) {
475
498
  value = GPR_CLAMP(value, 0, 1024);
476
499
  if (value < 13) {
@@ -497,7 +520,7 @@ void grpc_stats_inc_tcp_read_offer_iov_size(grpc_exec_ctx *exec_ctx,
497
520
  grpc_stats_histo_find_bucket_slow(
498
521
  (exec_ctx), value, grpc_stats_table_6, 64));
499
522
  }
500
- void grpc_stats_inc_http2_send_message_size(grpc_exec_ctx *exec_ctx,
523
+ void grpc_stats_inc_http2_send_message_size(grpc_exec_ctx* exec_ctx,
501
524
  int value) {
502
525
  value = GPR_CLAMP(value, 0, 16777216);
503
526
  if (value < 5) {
@@ -525,7 +548,7 @@ void grpc_stats_inc_http2_send_message_size(grpc_exec_ctx *exec_ctx,
525
548
  (exec_ctx), value, grpc_stats_table_4, 64));
526
549
  }
527
550
  void grpc_stats_inc_http2_send_initial_metadata_per_write(
528
- grpc_exec_ctx *exec_ctx, int value) {
551
+ grpc_exec_ctx* exec_ctx, int value) {
529
552
  value = GPR_CLAMP(value, 0, 1024);
530
553
  if (value < 13) {
531
554
  GRPC_STATS_INC_HISTOGRAM(
@@ -553,7 +576,7 @@ void grpc_stats_inc_http2_send_initial_metadata_per_write(
553
576
  grpc_stats_histo_find_bucket_slow((exec_ctx), value, grpc_stats_table_6,
554
577
  64));
555
578
  }
556
- void grpc_stats_inc_http2_send_message_per_write(grpc_exec_ctx *exec_ctx,
579
+ void grpc_stats_inc_http2_send_message_per_write(grpc_exec_ctx* exec_ctx,
557
580
  int value) {
558
581
  value = GPR_CLAMP(value, 0, 1024);
559
582
  if (value < 13) {
@@ -581,7 +604,7 @@ void grpc_stats_inc_http2_send_message_per_write(grpc_exec_ctx *exec_ctx,
581
604
  (exec_ctx), value, grpc_stats_table_6, 64));
582
605
  }
583
606
  void grpc_stats_inc_http2_send_trailing_metadata_per_write(
584
- grpc_exec_ctx *exec_ctx, int value) {
607
+ grpc_exec_ctx* exec_ctx, int value) {
585
608
  value = GPR_CLAMP(value, 0, 1024);
586
609
  if (value < 13) {
587
610
  GRPC_STATS_INC_HISTOGRAM(
@@ -609,7 +632,7 @@ void grpc_stats_inc_http2_send_trailing_metadata_per_write(
609
632
  grpc_stats_histo_find_bucket_slow((exec_ctx), value, grpc_stats_table_6,
610
633
  64));
611
634
  }
612
- void grpc_stats_inc_http2_send_flowctl_per_write(grpc_exec_ctx *exec_ctx,
635
+ void grpc_stats_inc_http2_send_flowctl_per_write(grpc_exec_ctx* exec_ctx,
613
636
  int value) {
614
637
  value = GPR_CLAMP(value, 0, 1024);
615
638
  if (value < 13) {
@@ -636,7 +659,7 @@ void grpc_stats_inc_http2_send_flowctl_per_write(grpc_exec_ctx *exec_ctx,
636
659
  grpc_stats_histo_find_bucket_slow(
637
660
  (exec_ctx), value, grpc_stats_table_6, 64));
638
661
  }
639
- void grpc_stats_inc_server_cqs_checked(grpc_exec_ctx *exec_ctx, int value) {
662
+ void grpc_stats_inc_server_cqs_checked(grpc_exec_ctx* exec_ctx, int value) {
640
663
  value = GPR_CLAMP(value, 0, 64);
641
664
  if (value < 3) {
642
665
  GRPC_STATS_INC_HISTOGRAM((exec_ctx),
@@ -665,13 +688,13 @@ const int grpc_stats_histo_buckets[13] = {64, 128, 64, 64, 64, 64, 64,
665
688
  64, 64, 64, 64, 64, 8};
666
689
  const int grpc_stats_histo_start[13] = {0, 64, 192, 256, 320, 384, 448,
667
690
  512, 576, 640, 704, 768, 832};
668
- const int *const grpc_stats_histo_bucket_boundaries[13] = {
691
+ const int* const grpc_stats_histo_bucket_boundaries[13] = {
669
692
  grpc_stats_table_0, grpc_stats_table_2, grpc_stats_table_4,
670
693
  grpc_stats_table_6, grpc_stats_table_4, grpc_stats_table_4,
671
694
  grpc_stats_table_6, grpc_stats_table_4, grpc_stats_table_6,
672
695
  grpc_stats_table_6, grpc_stats_table_6, grpc_stats_table_6,
673
696
  grpc_stats_table_8};
674
- void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx *exec_ctx, int x) = {
697
+ void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx* exec_ctx, int x) = {
675
698
  grpc_stats_inc_call_initial_size,
676
699
  grpc_stats_inc_poll_events_returned,
677
700
  grpc_stats_inc_tcp_write_size,
@@ -24,6 +24,10 @@
24
24
  #include <inttypes.h>
25
25
  #include "src/core/lib/iomgr/exec_ctx.h"
26
26
 
27
+ #ifdef __cplusplus
28
+ extern "C" {
29
+ #endif
30
+
27
31
  typedef enum {
28
32
  GRPC_STATS_COUNTER_CLIENT_CALLS_CREATED,
29
33
  GRPC_STATS_COUNTER_SERVER_CALLS_CREATED,
@@ -79,6 +83,7 @@ typedef enum {
79
83
  GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_TRANSPORT_FLOW_CONTROL_UNSTALLED,
80
84
  GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_PING_RESPONSE,
81
85
  GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM,
86
+ GRPC_STATS_COUNTER_HTTP2_SPURIOUS_WRITES_BEGUN,
82
87
  GRPC_STATS_COUNTER_HPACK_RECV_INDEXED,
83
88
  GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX,
84
89
  GRPC_STATS_COUNTER_HPACK_RECV_LITHDR_INCIDX_V,
@@ -105,6 +110,10 @@ typedef enum {
105
110
  GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_ITEMS,
106
111
  GRPC_STATS_COUNTER_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS,
107
112
  GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED,
113
+ GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_INITIATED,
114
+ GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS,
115
+ GRPC_STATS_COUNTER_CALL_COMBINER_SET_NOTIFY_ON_CANCEL,
116
+ GRPC_STATS_COUNTER_CALL_COMBINER_CANCELLED,
108
117
  GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_SHORT_ITEMS,
109
118
  GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_LONG_ITEMS,
110
119
  GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_TO_SELF,
@@ -113,10 +122,13 @@ typedef enum {
113
122
  GRPC_STATS_COUNTER_EXECUTOR_PUSH_RETRIES,
114
123
  GRPC_STATS_COUNTER_SERVER_REQUESTED_CALLS,
115
124
  GRPC_STATS_COUNTER_SERVER_SLOWPATH_REQUESTS_QUEUED,
125
+ GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_FAILURES,
126
+ GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_SUCCESSES,
127
+ GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES,
116
128
  GRPC_STATS_COUNTER_COUNT
117
129
  } grpc_stats_counters;
118
- extern const char *grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT];
119
- extern const char *grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT];
130
+ extern const char* grpc_stats_counter_name[GRPC_STATS_COUNTER_COUNT];
131
+ extern const char* grpc_stats_counter_doc[GRPC_STATS_COUNTER_COUNT];
120
132
  typedef enum {
121
133
  GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE,
122
134
  GRPC_STATS_HISTOGRAM_POLL_EVENTS_RETURNED,
@@ -133,8 +145,8 @@ typedef enum {
133
145
  GRPC_STATS_HISTOGRAM_SERVER_CQS_CHECKED,
134
146
  GRPC_STATS_HISTOGRAM_COUNT
135
147
  } grpc_stats_histograms;
136
- extern const char *grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT];
137
- extern const char *grpc_stats_histogram_doc[GRPC_STATS_HISTOGRAM_COUNT];
148
+ extern const char* grpc_stats_histogram_name[GRPC_STATS_HISTOGRAM_COUNT];
149
+ extern const char* grpc_stats_histogram_doc[GRPC_STATS_HISTOGRAM_COUNT];
138
150
  typedef enum {
139
151
  GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_FIRST_SLOT = 0,
140
152
  GRPC_STATS_HISTOGRAM_CALL_INITIAL_SIZE_BUCKETS = 64,
@@ -326,6 +338,9 @@ typedef enum {
326
338
  GRPC_STATS_INC_COUNTER( \
327
339
  (exec_ctx), \
328
340
  GRPC_STATS_COUNTER_HTTP2_INITIATE_WRITE_DUE_TO_FORCE_RST_STREAM)
341
+ #define GRPC_STATS_INC_HTTP2_SPURIOUS_WRITES_BEGUN(exec_ctx) \
342
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
343
+ GRPC_STATS_COUNTER_HTTP2_SPURIOUS_WRITES_BEGUN)
329
344
  #define GRPC_STATS_INC_HPACK_RECV_INDEXED(exec_ctx) \
330
345
  GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_HPACK_RECV_INDEXED)
331
346
  #define GRPC_STATS_INC_HPACK_RECV_LITHDR_INCIDX(exec_ctx) \
@@ -396,6 +411,17 @@ typedef enum {
396
411
  #define GRPC_STATS_INC_COMBINER_LOCKS_OFFLOADED(exec_ctx) \
397
412
  GRPC_STATS_INC_COUNTER((exec_ctx), \
398
413
  GRPC_STATS_COUNTER_COMBINER_LOCKS_OFFLOADED)
414
+ #define GRPC_STATS_INC_CALL_COMBINER_LOCKS_INITIATED(exec_ctx) \
415
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
416
+ GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_INITIATED)
417
+ #define GRPC_STATS_INC_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS(exec_ctx) \
418
+ GRPC_STATS_INC_COUNTER( \
419
+ (exec_ctx), GRPC_STATS_COUNTER_CALL_COMBINER_LOCKS_SCHEDULED_ITEMS)
420
+ #define GRPC_STATS_INC_CALL_COMBINER_SET_NOTIFY_ON_CANCEL(exec_ctx) \
421
+ GRPC_STATS_INC_COUNTER( \
422
+ (exec_ctx), GRPC_STATS_COUNTER_CALL_COMBINER_SET_NOTIFY_ON_CANCEL)
423
+ #define GRPC_STATS_INC_CALL_COMBINER_CANCELLED(exec_ctx) \
424
+ GRPC_STATS_INC_COUNTER((exec_ctx), GRPC_STATS_COUNTER_CALL_COMBINER_CANCELLED)
399
425
  #define GRPC_STATS_INC_EXECUTOR_SCHEDULED_SHORT_ITEMS(exec_ctx) \
400
426
  GRPC_STATS_INC_COUNTER((exec_ctx), \
401
427
  GRPC_STATS_COUNTER_EXECUTOR_SCHEDULED_SHORT_ITEMS)
@@ -417,54 +443,67 @@ typedef enum {
417
443
  #define GRPC_STATS_INC_SERVER_SLOWPATH_REQUESTS_QUEUED(exec_ctx) \
418
444
  GRPC_STATS_INC_COUNTER((exec_ctx), \
419
445
  GRPC_STATS_COUNTER_SERVER_SLOWPATH_REQUESTS_QUEUED)
446
+ #define GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_FAILURES(exec_ctx) \
447
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
448
+ GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_FAILURES)
449
+ #define GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_SUCCESSES(exec_ctx) \
450
+ GRPC_STATS_INC_COUNTER((exec_ctx), \
451
+ GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRYLOCK_SUCCESSES)
452
+ #define GRPC_STATS_INC_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES(exec_ctx) \
453
+ GRPC_STATS_INC_COUNTER( \
454
+ (exec_ctx), GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES)
420
455
  #define GRPC_STATS_INC_CALL_INITIAL_SIZE(exec_ctx, value) \
421
456
  grpc_stats_inc_call_initial_size((exec_ctx), (int)(value))
422
- void grpc_stats_inc_call_initial_size(grpc_exec_ctx *exec_ctx, int x);
457
+ void grpc_stats_inc_call_initial_size(grpc_exec_ctx* exec_ctx, int x);
423
458
  #define GRPC_STATS_INC_POLL_EVENTS_RETURNED(exec_ctx, value) \
424
459
  grpc_stats_inc_poll_events_returned((exec_ctx), (int)(value))
425
- void grpc_stats_inc_poll_events_returned(grpc_exec_ctx *exec_ctx, int x);
460
+ void grpc_stats_inc_poll_events_returned(grpc_exec_ctx* exec_ctx, int x);
426
461
  #define GRPC_STATS_INC_TCP_WRITE_SIZE(exec_ctx, value) \
427
462
  grpc_stats_inc_tcp_write_size((exec_ctx), (int)(value))
428
- void grpc_stats_inc_tcp_write_size(grpc_exec_ctx *exec_ctx, int x);
463
+ void grpc_stats_inc_tcp_write_size(grpc_exec_ctx* exec_ctx, int x);
429
464
  #define GRPC_STATS_INC_TCP_WRITE_IOV_SIZE(exec_ctx, value) \
430
465
  grpc_stats_inc_tcp_write_iov_size((exec_ctx), (int)(value))
431
- void grpc_stats_inc_tcp_write_iov_size(grpc_exec_ctx *exec_ctx, int x);
466
+ void grpc_stats_inc_tcp_write_iov_size(grpc_exec_ctx* exec_ctx, int x);
432
467
  #define GRPC_STATS_INC_TCP_READ_SIZE(exec_ctx, value) \
433
468
  grpc_stats_inc_tcp_read_size((exec_ctx), (int)(value))
434
- void grpc_stats_inc_tcp_read_size(grpc_exec_ctx *exec_ctx, int x);
469
+ void grpc_stats_inc_tcp_read_size(grpc_exec_ctx* exec_ctx, int x);
435
470
  #define GRPC_STATS_INC_TCP_READ_OFFER(exec_ctx, value) \
436
471
  grpc_stats_inc_tcp_read_offer((exec_ctx), (int)(value))
437
- void grpc_stats_inc_tcp_read_offer(grpc_exec_ctx *exec_ctx, int x);
472
+ void grpc_stats_inc_tcp_read_offer(grpc_exec_ctx* exec_ctx, int x);
438
473
  #define GRPC_STATS_INC_TCP_READ_OFFER_IOV_SIZE(exec_ctx, value) \
439
474
  grpc_stats_inc_tcp_read_offer_iov_size((exec_ctx), (int)(value))
440
- void grpc_stats_inc_tcp_read_offer_iov_size(grpc_exec_ctx *exec_ctx, int x);
475
+ void grpc_stats_inc_tcp_read_offer_iov_size(grpc_exec_ctx* exec_ctx, int x);
441
476
  #define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_SIZE(exec_ctx, value) \
442
477
  grpc_stats_inc_http2_send_message_size((exec_ctx), (int)(value))
443
- void grpc_stats_inc_http2_send_message_size(grpc_exec_ctx *exec_ctx, int x);
478
+ void grpc_stats_inc_http2_send_message_size(grpc_exec_ctx* exec_ctx, int x);
444
479
  #define GRPC_STATS_INC_HTTP2_SEND_INITIAL_METADATA_PER_WRITE(exec_ctx, value) \
445
480
  grpc_stats_inc_http2_send_initial_metadata_per_write((exec_ctx), (int)(value))
446
481
  void grpc_stats_inc_http2_send_initial_metadata_per_write(
447
- grpc_exec_ctx *exec_ctx, int x);
482
+ grpc_exec_ctx* exec_ctx, int x);
448
483
  #define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_PER_WRITE(exec_ctx, value) \
449
484
  grpc_stats_inc_http2_send_message_per_write((exec_ctx), (int)(value))
450
- void grpc_stats_inc_http2_send_message_per_write(grpc_exec_ctx *exec_ctx,
485
+ void grpc_stats_inc_http2_send_message_per_write(grpc_exec_ctx* exec_ctx,
451
486
  int x);
452
487
  #define GRPC_STATS_INC_HTTP2_SEND_TRAILING_METADATA_PER_WRITE(exec_ctx, value) \
453
488
  grpc_stats_inc_http2_send_trailing_metadata_per_write((exec_ctx), \
454
489
  (int)(value))
455
490
  void grpc_stats_inc_http2_send_trailing_metadata_per_write(
456
- grpc_exec_ctx *exec_ctx, int x);
491
+ grpc_exec_ctx* exec_ctx, int x);
457
492
  #define GRPC_STATS_INC_HTTP2_SEND_FLOWCTL_PER_WRITE(exec_ctx, value) \
458
493
  grpc_stats_inc_http2_send_flowctl_per_write((exec_ctx), (int)(value))
459
- void grpc_stats_inc_http2_send_flowctl_per_write(grpc_exec_ctx *exec_ctx,
494
+ void grpc_stats_inc_http2_send_flowctl_per_write(grpc_exec_ctx* exec_ctx,
460
495
  int x);
461
496
  #define GRPC_STATS_INC_SERVER_CQS_CHECKED(exec_ctx, value) \
462
497
  grpc_stats_inc_server_cqs_checked((exec_ctx), (int)(value))
463
- void grpc_stats_inc_server_cqs_checked(grpc_exec_ctx *exec_ctx, int x);
498
+ void grpc_stats_inc_server_cqs_checked(grpc_exec_ctx* exec_ctx, int x);
464
499
  extern const int grpc_stats_histo_buckets[13];
465
500
  extern const int grpc_stats_histo_start[13];
466
- extern const int *const grpc_stats_histo_bucket_boundaries[13];
467
- extern void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx *exec_ctx,
501
+ extern const int* const grpc_stats_histo_bucket_boundaries[13];
502
+ extern void (*const grpc_stats_inc_histogram[13])(grpc_exec_ctx* exec_ctx,
468
503
  int x);
469
504
 
505
+ #ifdef __cplusplus
506
+ }
507
+ #endif
508
+
470
509
  #endif /* GRPC_CORE_LIB_DEBUG_STATS_DATA_H */