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
@@ -30,7 +30,7 @@
30
30
  /* grow a buffer; requires GRPC_SLICE_BUFFER_INLINE_ELEMENTS > 1 */
31
31
  #define GROW(x) (3 * (x) / 2)
32
32
 
33
- static void maybe_embiggen(grpc_slice_buffer *sb) {
33
+ static void maybe_embiggen(grpc_slice_buffer* sb) {
34
34
  /* How far away from sb->base_slices is sb->slices pointer */
35
35
  size_t slice_offset = (size_t)(sb->slices - sb->base_slices);
36
36
  size_t slice_count = sb->count + slice_offset;
@@ -46,10 +46,10 @@ static void maybe_embiggen(grpc_slice_buffer *sb) {
46
46
  GPR_ASSERT(sb->capacity > slice_count);
47
47
  if (sb->base_slices == sb->inlined) {
48
48
  sb->base_slices =
49
- (grpc_slice *)gpr_malloc(sb->capacity * sizeof(grpc_slice));
49
+ (grpc_slice*)gpr_malloc(sb->capacity * sizeof(grpc_slice));
50
50
  memcpy(sb->base_slices, sb->inlined, slice_count * sizeof(grpc_slice));
51
51
  } else {
52
- sb->base_slices = (grpc_slice *)gpr_realloc(
52
+ sb->base_slices = (grpc_slice*)gpr_realloc(
53
53
  sb->base_slices, sb->capacity * sizeof(grpc_slice));
54
54
  }
55
55
 
@@ -58,30 +58,30 @@ static void maybe_embiggen(grpc_slice_buffer *sb) {
58
58
  }
59
59
  }
60
60
 
61
- void grpc_slice_buffer_init(grpc_slice_buffer *sb) {
61
+ void grpc_slice_buffer_init(grpc_slice_buffer* sb) {
62
62
  sb->count = 0;
63
63
  sb->length = 0;
64
64
  sb->capacity = GRPC_SLICE_BUFFER_INLINE_ELEMENTS;
65
65
  sb->base_slices = sb->slices = sb->inlined;
66
66
  }
67
67
 
68
- void grpc_slice_buffer_destroy_internal(grpc_exec_ctx *exec_ctx,
69
- grpc_slice_buffer *sb) {
68
+ void grpc_slice_buffer_destroy_internal(grpc_exec_ctx* exec_ctx,
69
+ grpc_slice_buffer* sb) {
70
70
  grpc_slice_buffer_reset_and_unref_internal(exec_ctx, sb);
71
71
  if (sb->base_slices != sb->inlined) {
72
72
  gpr_free(sb->base_slices);
73
73
  }
74
74
  }
75
75
 
76
- void grpc_slice_buffer_destroy(grpc_slice_buffer *sb) {
76
+ void grpc_slice_buffer_destroy(grpc_slice_buffer* sb) {
77
77
  grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
78
78
  grpc_slice_buffer_destroy_internal(&exec_ctx, sb);
79
79
  grpc_exec_ctx_finish(&exec_ctx);
80
80
  }
81
81
 
82
- uint8_t *grpc_slice_buffer_tiny_add(grpc_slice_buffer *sb, size_t n) {
83
- grpc_slice *back;
84
- uint8_t *out;
82
+ uint8_t* grpc_slice_buffer_tiny_add(grpc_slice_buffer* sb, size_t n) {
83
+ grpc_slice* back;
84
+ uint8_t* out;
85
85
 
86
86
  sb->length += n;
87
87
 
@@ -98,12 +98,12 @@ add_new:
98
98
  maybe_embiggen(sb);
99
99
  back = &sb->slices[sb->count];
100
100
  sb->count++;
101
- back->refcount = NULL;
101
+ back->refcount = nullptr;
102
102
  back->data.inlined.length = (uint8_t)n;
103
103
  return back->data.inlined.bytes;
104
104
  }
105
105
 
106
- size_t grpc_slice_buffer_add_indexed(grpc_slice_buffer *sb, grpc_slice s) {
106
+ size_t grpc_slice_buffer_add_indexed(grpc_slice_buffer* sb, grpc_slice s) {
107
107
  size_t out = sb->count;
108
108
  maybe_embiggen(sb);
109
109
  sb->slices[out] = s;
@@ -112,7 +112,7 @@ size_t grpc_slice_buffer_add_indexed(grpc_slice_buffer *sb, grpc_slice s) {
112
112
  return out;
113
113
  }
114
114
 
115
- void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice s) {
115
+ void grpc_slice_buffer_add(grpc_slice_buffer* sb, grpc_slice s) {
116
116
  size_t n = sb->count;
117
117
  /* if both the last slice in the slice buffer and the slice being added
118
118
  are inlined (that is, that they carry their data inside the slice data
@@ -120,7 +120,7 @@ void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice s) {
120
120
  into the back slice, preventing many small slices being passed into
121
121
  writes */
122
122
  if (!s.refcount && n) {
123
- grpc_slice *back = &sb->slices[n - 1];
123
+ grpc_slice* back = &sb->slices[n - 1];
124
124
  if (!back->refcount &&
125
125
  back->data.inlined.length < GRPC_SLICE_INLINED_SIZE) {
126
126
  if (s.data.inlined.length + back->data.inlined.length <=
@@ -137,7 +137,7 @@ void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice s) {
137
137
  maybe_embiggen(sb);
138
138
  back = &sb->slices[n];
139
139
  sb->count = n + 1;
140
- back->refcount = NULL;
140
+ back->refcount = nullptr;
141
141
  back->data.inlined.length = (uint8_t)(s.data.inlined.length - cp1);
142
142
  memcpy(back->data.inlined.bytes, s.data.inlined.bytes + cp1,
143
143
  s.data.inlined.length - cp1);
@@ -149,22 +149,22 @@ void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice s) {
149
149
  grpc_slice_buffer_add_indexed(sb, s);
150
150
  }
151
151
 
152
- void grpc_slice_buffer_addn(grpc_slice_buffer *sb, grpc_slice *s, size_t n) {
152
+ void grpc_slice_buffer_addn(grpc_slice_buffer* sb, grpc_slice* s, size_t n) {
153
153
  size_t i;
154
154
  for (i = 0; i < n; i++) {
155
155
  grpc_slice_buffer_add(sb, s[i]);
156
156
  }
157
157
  }
158
158
 
159
- void grpc_slice_buffer_pop(grpc_slice_buffer *sb) {
159
+ void grpc_slice_buffer_pop(grpc_slice_buffer* sb) {
160
160
  if (sb->count != 0) {
161
161
  size_t count = --sb->count;
162
162
  sb->length -= GRPC_SLICE_LENGTH(sb->slices[count]);
163
163
  }
164
164
  }
165
165
 
166
- void grpc_slice_buffer_reset_and_unref_internal(grpc_exec_ctx *exec_ctx,
167
- grpc_slice_buffer *sb) {
166
+ void grpc_slice_buffer_reset_and_unref_internal(grpc_exec_ctx* exec_ctx,
167
+ grpc_slice_buffer* sb) {
168
168
  size_t i;
169
169
  for (i = 0; i < sb->count; i++) {
170
170
  grpc_slice_unref_internal(exec_ctx, sb->slices[i]);
@@ -174,13 +174,13 @@ void grpc_slice_buffer_reset_and_unref_internal(grpc_exec_ctx *exec_ctx,
174
174
  sb->length = 0;
175
175
  }
176
176
 
177
- void grpc_slice_buffer_reset_and_unref(grpc_slice_buffer *sb) {
177
+ void grpc_slice_buffer_reset_and_unref(grpc_slice_buffer* sb) {
178
178
  grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
179
179
  grpc_slice_buffer_reset_and_unref_internal(&exec_ctx, sb);
180
180
  grpc_exec_ctx_finish(&exec_ctx);
181
181
  }
182
182
 
183
- void grpc_slice_buffer_swap(grpc_slice_buffer *a, grpc_slice_buffer *b) {
183
+ void grpc_slice_buffer_swap(grpc_slice_buffer* a, grpc_slice_buffer* b) {
184
184
  size_t a_offset = (size_t)(a->slices - a->base_slices);
185
185
  size_t b_offset = (size_t)(b->slices - b->base_slices);
186
186
 
@@ -207,7 +207,7 @@ void grpc_slice_buffer_swap(grpc_slice_buffer *a, grpc_slice_buffer *b) {
207
207
  memcpy(a->base_slices, b->inlined, b_count * sizeof(grpc_slice));
208
208
  } else {
209
209
  /* no inlining: easy swap */
210
- GPR_SWAP(grpc_slice *, a->base_slices, b->base_slices);
210
+ GPR_SWAP(grpc_slice*, a->base_slices, b->base_slices);
211
211
  }
212
212
 
213
213
  /* Update the slices pointers (cannot do a GPR_SWAP on slices fields here).
@@ -222,8 +222,8 @@ void grpc_slice_buffer_swap(grpc_slice_buffer *a, grpc_slice_buffer *b) {
222
222
  GPR_SWAP(size_t, a->length, b->length);
223
223
  }
224
224
 
225
- void grpc_slice_buffer_move_into(grpc_slice_buffer *src,
226
- grpc_slice_buffer *dst) {
225
+ void grpc_slice_buffer_move_into(grpc_slice_buffer* src,
226
+ grpc_slice_buffer* dst) {
227
227
  /* anything to move? */
228
228
  if (src->count == 0) {
229
229
  return;
@@ -239,8 +239,8 @@ void grpc_slice_buffer_move_into(grpc_slice_buffer *src,
239
239
  src->length = 0;
240
240
  }
241
241
 
242
- static void slice_buffer_move_first_maybe_ref(grpc_slice_buffer *src, size_t n,
243
- grpc_slice_buffer *dst,
242
+ static void slice_buffer_move_first_maybe_ref(grpc_slice_buffer* src, size_t n,
243
+ grpc_slice_buffer* dst,
244
244
  bool incref) {
245
245
  GPR_ASSERT(src->length >= n);
246
246
  if (src->length == n) {
@@ -279,20 +279,20 @@ static void slice_buffer_move_first_maybe_ref(grpc_slice_buffer *src, size_t n,
279
279
  GPR_ASSERT(src->count > 0);
280
280
  }
281
281
 
282
- void grpc_slice_buffer_move_first(grpc_slice_buffer *src, size_t n,
283
- grpc_slice_buffer *dst) {
282
+ void grpc_slice_buffer_move_first(grpc_slice_buffer* src, size_t n,
283
+ grpc_slice_buffer* dst) {
284
284
  slice_buffer_move_first_maybe_ref(src, n, dst, true);
285
285
  }
286
286
 
287
- void grpc_slice_buffer_move_first_no_ref(grpc_slice_buffer *src, size_t n,
288
- grpc_slice_buffer *dst) {
287
+ void grpc_slice_buffer_move_first_no_ref(grpc_slice_buffer* src, size_t n,
288
+ grpc_slice_buffer* dst) {
289
289
  slice_buffer_move_first_maybe_ref(src, n, dst, false);
290
290
  }
291
291
 
292
- void grpc_slice_buffer_move_first_into_buffer(grpc_exec_ctx *exec_ctx,
293
- grpc_slice_buffer *src, size_t n,
294
- void *dst) {
295
- char *dstp = (char *)dst;
292
+ void grpc_slice_buffer_move_first_into_buffer(grpc_exec_ctx* exec_ctx,
293
+ grpc_slice_buffer* src, size_t n,
294
+ void* dst) {
295
+ char* dstp = (char*)dst;
296
296
  GPR_ASSERT(src->length >= n);
297
297
 
298
298
  while (n > 0) {
@@ -316,8 +316,8 @@ void grpc_slice_buffer_move_first_into_buffer(grpc_exec_ctx *exec_ctx,
316
316
  }
317
317
  }
318
318
 
319
- void grpc_slice_buffer_trim_end(grpc_slice_buffer *sb, size_t n,
320
- grpc_slice_buffer *garbage) {
319
+ void grpc_slice_buffer_trim_end(grpc_slice_buffer* sb, size_t n,
320
+ grpc_slice_buffer* garbage) {
321
321
  GPR_ASSERT(n <= sb->length);
322
322
  sb->length -= n;
323
323
  for (;;) {
@@ -340,7 +340,7 @@ void grpc_slice_buffer_trim_end(grpc_slice_buffer *sb, size_t n,
340
340
  }
341
341
  }
342
342
 
343
- grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer *sb) {
343
+ grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer* sb) {
344
344
  grpc_slice slice;
345
345
  GPR_ASSERT(sb->count > 0);
346
346
  slice = sb->slices[0];
@@ -351,7 +351,7 @@ grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer *sb) {
351
351
  return slice;
352
352
  }
353
353
 
354
- void grpc_slice_buffer_undo_take_first(grpc_slice_buffer *sb,
354
+ void grpc_slice_buffer_undo_take_first(grpc_slice_buffer* sb,
355
355
  grpc_slice slice) {
356
356
  sb->slices--;
357
357
  sb->slices[0] = slice;
@@ -35,12 +35,12 @@ struct grpc_slice_hash_table {
35
35
  };
36
36
 
37
37
  static bool is_empty(grpc_slice_hash_table_entry* entry) {
38
- return entry->value == NULL;
38
+ return entry->value == nullptr;
39
39
  }
40
40
 
41
41
  static void grpc_slice_hash_table_add(grpc_slice_hash_table* table,
42
42
  grpc_slice key, void* value) {
43
- GPR_ASSERT(value != NULL);
43
+ GPR_ASSERT(value != nullptr);
44
44
  const size_t hash = grpc_slice_hash(key);
45
45
  for (size_t offset = 0; offset < table->size; ++offset) {
46
46
  const size_t idx = (hash + offset) % table->size;
@@ -77,13 +77,13 @@ grpc_slice_hash_table* grpc_slice_hash_table_create(
77
77
  }
78
78
 
79
79
  grpc_slice_hash_table* grpc_slice_hash_table_ref(grpc_slice_hash_table* table) {
80
- if (table != NULL) gpr_ref(&table->refs);
80
+ if (table != nullptr) gpr_ref(&table->refs);
81
81
  return table;
82
82
  }
83
83
 
84
84
  void grpc_slice_hash_table_unref(grpc_exec_ctx* exec_ctx,
85
85
  grpc_slice_hash_table* table) {
86
- if (table != NULL && gpr_unref(&table->refs)) {
86
+ if (table != nullptr && gpr_unref(&table->refs)) {
87
87
  for (size_t i = 0; i < table->size; ++i) {
88
88
  grpc_slice_hash_table_entry* entry = &table->entries[i];
89
89
  if (!is_empty(entry)) {
@@ -108,16 +108,16 @@ void* grpc_slice_hash_table_get(const grpc_slice_hash_table* table,
108
108
  return table->entries[idx].value;
109
109
  }
110
110
  }
111
- return NULL; // Not found.
111
+ return nullptr; // Not found.
112
112
  }
113
113
 
114
114
  static int pointer_cmp(void* a, void* b) { return GPR_ICMP(a, b); }
115
115
  int grpc_slice_hash_table_cmp(const grpc_slice_hash_table* a,
116
116
  const grpc_slice_hash_table* b) {
117
117
  int (*const value_cmp_fn_a)(void* a, void* b) =
118
- a->value_cmp != NULL ? a->value_cmp : pointer_cmp;
118
+ a->value_cmp != nullptr ? a->value_cmp : pointer_cmp;
119
119
  int (*const value_cmp_fn_b)(void* a, void* b) =
120
- b->value_cmp != NULL ? b->value_cmp : pointer_cmp;
120
+ b->value_cmp != nullptr ? b->value_cmp : pointer_cmp;
121
121
  // Compare value_fns
122
122
  const int value_fns_cmp =
123
123
  GPR_ICMP((void*)value_cmp_fn_a, (void*)value_cmp_fn_b);
@@ -19,6 +19,10 @@
19
19
 
20
20
  #include "src/core/lib/transport/metadata.h"
21
21
 
22
+ #ifdef __cplusplus
23
+ extern "C" {
24
+ #endif
25
+
22
26
  /** Hash table implementation.
23
27
  *
24
28
  * This implementation uses open addressing
@@ -35,7 +39,7 @@ typedef struct grpc_slice_hash_table grpc_slice_hash_table;
35
39
 
36
40
  typedef struct grpc_slice_hash_table_entry {
37
41
  grpc_slice key;
38
- void *value; /* Must not be NULL. */
42
+ void* value; /* Must not be NULL. */
39
43
  } grpc_slice_hash_table_entry;
40
44
 
41
45
  /** Creates a new hash table of containing \a entries, which is an array
@@ -44,18 +48,18 @@ typedef struct grpc_slice_hash_table_entry {
44
48
  value_cmp will be used to compare values in the context of \a
45
49
  grpc_slice_hash_table_cmp. If NULL, raw pointer (\a GPR_ICMP) comparison
46
50
  will be used. */
47
- grpc_slice_hash_table *grpc_slice_hash_table_create(
48
- size_t num_entries, grpc_slice_hash_table_entry *entries,
49
- void (*destroy_value)(grpc_exec_ctx *exec_ctx, void *value),
50
- int (*value_cmp)(void *a, void *b));
51
+ grpc_slice_hash_table* grpc_slice_hash_table_create(
52
+ size_t num_entries, grpc_slice_hash_table_entry* entries,
53
+ void (*destroy_value)(grpc_exec_ctx* exec_ctx, void* value),
54
+ int (*value_cmp)(void* a, void* b));
51
55
 
52
- grpc_slice_hash_table *grpc_slice_hash_table_ref(grpc_slice_hash_table *table);
53
- void grpc_slice_hash_table_unref(grpc_exec_ctx *exec_ctx,
54
- grpc_slice_hash_table *table);
56
+ grpc_slice_hash_table* grpc_slice_hash_table_ref(grpc_slice_hash_table* table);
57
+ void grpc_slice_hash_table_unref(grpc_exec_ctx* exec_ctx,
58
+ grpc_slice_hash_table* table);
55
59
 
56
60
  /** Returns the value from \a table associated with \a key.
57
61
  Returns NULL if \a key is not found. */
58
- void *grpc_slice_hash_table_get(const grpc_slice_hash_table *table,
62
+ void* grpc_slice_hash_table_get(const grpc_slice_hash_table* table,
59
63
  const grpc_slice key);
60
64
 
61
65
  /** Compares \a a vs. \a b.
@@ -64,7 +68,11 @@ void *grpc_slice_hash_table_get(const grpc_slice_hash_table *table,
64
68
  * - else, it contains fewer (resp. more) entries,
65
69
  * - else, if strcmp(a_key, b_key) < 1 (resp. > 1),
66
70
  * - else, if value_cmp(a_value, b_value) < 1 (resp. > 1). */
67
- int grpc_slice_hash_table_cmp(const grpc_slice_hash_table *a,
68
- const grpc_slice_hash_table *b);
71
+ int grpc_slice_hash_table_cmp(const grpc_slice_hash_table* a,
72
+ const grpc_slice_hash_table* b);
73
+
74
+ #ifdef __cplusplus
75
+ }
76
+ #endif
69
77
 
70
78
  #endif /* GRPC_CORE_LIB_SLICE_SLICE_HASH_TABLE_H */
@@ -18,6 +18,7 @@
18
18
 
19
19
  #include "src/core/lib/slice/slice_internal.h"
20
20
 
21
+ #include <inttypes.h>
21
22
  #include <string.h>
22
23
 
23
24
  #include <grpc/support/alloc.h>
@@ -42,12 +43,12 @@ typedef struct interned_slice_refcount {
42
43
  size_t length;
43
44
  gpr_atm refcnt;
44
45
  uint32_t hash;
45
- struct interned_slice_refcount *bucket_next;
46
+ struct interned_slice_refcount* bucket_next;
46
47
  } interned_slice_refcount;
47
48
 
48
49
  typedef struct slice_shard {
49
50
  gpr_mu mu;
50
- interned_slice_refcount **strs;
51
+ interned_slice_refcount** strs;
51
52
  size_t count;
52
53
  size_t capacity;
53
54
  } slice_shard;
@@ -68,17 +69,17 @@ static static_metadata_hash_ent
68
69
  static uint32_t max_static_metadata_hash_probe;
69
70
  static uint32_t static_metadata_hash_values[GRPC_STATIC_MDSTR_COUNT];
70
71
 
71
- static void interned_slice_ref(void *p) {
72
- interned_slice_refcount *s = (interned_slice_refcount *)p;
72
+ static void interned_slice_ref(void* p) {
73
+ interned_slice_refcount* s = (interned_slice_refcount*)p;
73
74
  GPR_ASSERT(gpr_atm_no_barrier_fetch_add(&s->refcnt, 1) > 0);
74
75
  }
75
76
 
76
- static void interned_slice_destroy(interned_slice_refcount *s) {
77
- slice_shard *shard = &g_shards[SHARD_IDX(s->hash)];
77
+ static void interned_slice_destroy(interned_slice_refcount* s) {
78
+ slice_shard* shard = &g_shards[SHARD_IDX(s->hash)];
78
79
  gpr_mu_lock(&shard->mu);
79
80
  GPR_ASSERT(0 == gpr_atm_no_barrier_load(&s->refcnt));
80
- interned_slice_refcount **prev_next;
81
- interned_slice_refcount *cur;
81
+ interned_slice_refcount** prev_next;
82
+ interned_slice_refcount* cur;
82
83
  for (prev_next = &shard->strs[TABLE_IDX(s->hash, shard->capacity)],
83
84
  cur = *prev_next;
84
85
  cur != s; prev_next = &cur->bucket_next, cur = cur->bucket_next)
@@ -89,24 +90,24 @@ static void interned_slice_destroy(interned_slice_refcount *s) {
89
90
  gpr_mu_unlock(&shard->mu);
90
91
  }
91
92
 
92
- static void interned_slice_unref(grpc_exec_ctx *exec_ctx, void *p) {
93
- interned_slice_refcount *s = (interned_slice_refcount *)p;
93
+ static void interned_slice_unref(grpc_exec_ctx* exec_ctx, void* p) {
94
+ interned_slice_refcount* s = (interned_slice_refcount*)p;
94
95
  if (1 == gpr_atm_full_fetch_add(&s->refcnt, -1)) {
95
96
  interned_slice_destroy(s);
96
97
  }
97
98
  }
98
99
 
99
- static void interned_slice_sub_ref(void *p) {
100
- interned_slice_ref(((char *)p) - offsetof(interned_slice_refcount, sub));
100
+ static void interned_slice_sub_ref(void* p) {
101
+ interned_slice_ref(((char*)p) - offsetof(interned_slice_refcount, sub));
101
102
  }
102
103
 
103
- static void interned_slice_sub_unref(grpc_exec_ctx *exec_ctx, void *p) {
104
+ static void interned_slice_sub_unref(grpc_exec_ctx* exec_ctx, void* p) {
104
105
  interned_slice_unref(exec_ctx,
105
- ((char *)p) - offsetof(interned_slice_refcount, sub));
106
+ ((char*)p) - offsetof(interned_slice_refcount, sub));
106
107
  }
107
108
 
108
109
  static uint32_t interned_slice_hash(grpc_slice slice) {
109
- interned_slice_refcount *s = (interned_slice_refcount *)slice.refcount;
110
+ interned_slice_refcount* s = (interned_slice_refcount*)slice.refcount;
110
111
  return s->hash;
111
112
  }
112
113
 
@@ -121,16 +122,16 @@ static const grpc_slice_refcount_vtable interned_slice_sub_vtable = {
121
122
  interned_slice_sub_ref, interned_slice_sub_unref,
122
123
  grpc_slice_default_eq_impl, grpc_slice_default_hash_impl};
123
124
 
124
- static void grow_shard(slice_shard *shard) {
125
+ static void grow_shard(slice_shard* shard) {
125
126
  size_t capacity = shard->capacity * 2;
126
127
  size_t i;
127
- interned_slice_refcount **strtab;
128
+ interned_slice_refcount** strtab;
128
129
  interned_slice_refcount *s, *next;
129
130
 
130
131
  GPR_TIMER_BEGIN("grow_strtab", 0);
131
132
 
132
- strtab = (interned_slice_refcount **)gpr_zalloc(
133
- sizeof(interned_slice_refcount *) * capacity);
133
+ strtab = (interned_slice_refcount**)gpr_zalloc(
134
+ sizeof(interned_slice_refcount*) * capacity);
134
135
 
135
136
  for (i = 0; i < shard->capacity; i++) {
136
137
  for (s = shard->strs[i]; s; s = next) {
@@ -148,10 +149,10 @@ static void grow_shard(slice_shard *shard) {
148
149
  GPR_TIMER_END("grow_strtab", 0);
149
150
  }
150
151
 
151
- static grpc_slice materialize(interned_slice_refcount *s) {
152
+ static grpc_slice materialize(interned_slice_refcount* s) {
152
153
  grpc_slice slice;
153
154
  slice.refcount = &s->base;
154
- slice.data.refcounted.bytes = (uint8_t *)(s + 1);
155
+ slice.data.refcounted.bytes = (uint8_t*)(s + 1);
155
156
  slice.data.refcounted.length = s->length;
156
157
  return slice;
157
158
  }
@@ -170,12 +171,12 @@ int grpc_static_slice_eq(grpc_slice a, grpc_slice b) {
170
171
  }
171
172
 
172
173
  uint32_t grpc_slice_hash(grpc_slice s) {
173
- return s.refcount == NULL ? grpc_slice_default_hash_impl(s)
174
- : s.refcount->vtable->hash(s);
174
+ return s.refcount == nullptr ? grpc_slice_default_hash_impl(s)
175
+ : s.refcount->vtable->hash(s);
175
176
  }
176
177
 
177
178
  grpc_slice grpc_slice_maybe_static_intern(grpc_slice slice,
178
- bool *returned_slice_is_different) {
179
+ bool* returned_slice_is_different) {
179
180
  if (GRPC_IS_STATIC_METADATA_STRING(slice)) {
180
181
  return slice;
181
182
  }
@@ -217,8 +218,8 @@ grpc_slice grpc_slice_intern(grpc_slice slice) {
217
218
  }
218
219
  }
219
220
 
220
- interned_slice_refcount *s;
221
- slice_shard *shard = &g_shards[SHARD_IDX(hash)];
221
+ interned_slice_refcount* s;
222
+ slice_shard* shard = &g_shards[SHARD_IDX(hash)];
222
223
 
223
224
  gpr_mu_lock(&shard->mu);
224
225
 
@@ -243,8 +244,8 @@ grpc_slice grpc_slice_intern(grpc_slice slice) {
243
244
 
244
245
  /* not found: create a new string */
245
246
  /* string data goes after the internal_string header */
246
- s = (interned_slice_refcount *)gpr_malloc(sizeof(*s) +
247
- GRPC_SLICE_LENGTH(slice));
247
+ s = (interned_slice_refcount*)gpr_malloc(sizeof(*s) +
248
+ GRPC_SLICE_LENGTH(slice));
248
249
  gpr_atm_rel_store(&s->refcnt, 1);
249
250
  s->length = GRPC_SLICE_LENGTH(slice);
250
251
  s->hash = hash;
@@ -278,12 +279,12 @@ void grpc_slice_intern_init(void) {
278
279
  g_hash_seed = (uint32_t)gpr_now(GPR_CLOCK_REALTIME).tv_nsec;
279
280
  }
280
281
  for (size_t i = 0; i < SHARD_COUNT; i++) {
281
- slice_shard *shard = &g_shards[i];
282
+ slice_shard* shard = &g_shards[i];
282
283
  gpr_mu_init(&shard->mu);
283
284
  shard->count = 0;
284
285
  shard->capacity = INITIAL_SHARD_CAPACITY;
285
- shard->strs = (interned_slice_refcount **)gpr_zalloc(sizeof(*shard->strs) *
286
- shard->capacity);
286
+ shard->strs = (interned_slice_refcount**)gpr_zalloc(sizeof(*shard->strs) *
287
+ shard->capacity);
287
288
  }
288
289
  for (size_t i = 0; i < GPR_ARRAY_SIZE(static_metadata_hash); i++) {
289
290
  static_metadata_hash[i].hash = 0;
@@ -310,16 +311,16 @@ void grpc_slice_intern_init(void) {
310
311
 
311
312
  void grpc_slice_intern_shutdown(void) {
312
313
  for (size_t i = 0; i < SHARD_COUNT; i++) {
313
- slice_shard *shard = &g_shards[i];
314
+ slice_shard* shard = &g_shards[i];
314
315
  gpr_mu_destroy(&shard->mu);
315
316
  /* TODO(ctiller): GPR_ASSERT(shard->count == 0); */
316
317
  if (shard->count != 0) {
317
318
  gpr_log(GPR_DEBUG, "WARNING: %" PRIuPTR " metadata strings were leaked",
318
319
  shard->count);
319
320
  for (size_t j = 0; j < shard->capacity; j++) {
320
- for (interned_slice_refcount *s = shard->strs[j]; s;
321
+ for (interned_slice_refcount* s = shard->strs[j]; s;
321
322
  s = s->bucket_next) {
322
- char *text =
323
+ char* text =
323
324
  grpc_dump_slice(materialize(s), GPR_DUMP_HEX | GPR_DUMP_ASCII);
324
325
  gpr_log(GPR_DEBUG, "LEAKED: %s", text);
325
326
  gpr_free(text);