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
@@ -24,12 +24,19 @@
24
24
 
25
25
  #include "src/core/lib/iomgr/exec_ctx.h"
26
26
 
27
+ #ifdef __cplusplus
28
+ extern "C" {
29
+ #endif
30
+
27
31
  grpc_slice grpc_slice_ref_internal(grpc_slice slice);
28
- void grpc_slice_unref_internal(grpc_exec_ctx *exec_ctx, grpc_slice slice);
29
- void grpc_slice_buffer_reset_and_unref_internal(grpc_exec_ctx *exec_ctx,
30
- grpc_slice_buffer *sb);
31
- void grpc_slice_buffer_destroy_internal(grpc_exec_ctx *exec_ctx,
32
- grpc_slice_buffer *sb);
32
+ void grpc_slice_unref_internal(grpc_exec_ctx* exec_ctx, grpc_slice slice);
33
+ void grpc_slice_buffer_reset_and_unref_internal(grpc_exec_ctx* exec_ctx,
34
+ grpc_slice_buffer* sb);
35
+ void grpc_slice_buffer_partial_unref_internal(grpc_exec_ctx* exec_ctx,
36
+ grpc_slice_buffer* sb,
37
+ size_t idx);
38
+ void grpc_slice_buffer_destroy_internal(grpc_exec_ctx* exec_ctx,
39
+ grpc_slice_buffer* sb);
33
40
 
34
41
  /* Check if a slice is interned */
35
42
  bool grpc_slice_is_interned(grpc_slice slice);
@@ -42,8 +49,12 @@ void grpc_test_only_set_slice_hash_seed(uint32_t key);
42
49
  // used for surface boundaries where we might receive an un-interned static
43
50
  // string
44
51
  grpc_slice grpc_slice_maybe_static_intern(grpc_slice slice,
45
- bool *returned_slice_is_different);
52
+ bool* returned_slice_is_different);
46
53
  uint32_t grpc_static_slice_hash(grpc_slice s);
47
54
  int grpc_static_slice_eq(grpc_slice a, grpc_slice b);
48
55
 
56
+ #ifdef __cplusplus
57
+ }
58
+ #endif
59
+
49
60
  #endif /* GRPC_CORE_LIB_SLICE_SLICE_INTERNAL_H */
@@ -25,8 +25,8 @@
25
25
  #include "src/core/lib/slice/slice_internal.h"
26
26
  #include "src/core/lib/support/string.h"
27
27
 
28
- char *grpc_dump_slice(grpc_slice s, uint32_t flags) {
29
- return gpr_dump((const char *)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s),
28
+ char* grpc_dump_slice(grpc_slice s, uint32_t flags) {
29
+ return gpr_dump((const char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s),
30
30
  flags);
31
31
  }
32
32
 
@@ -35,11 +35,11 @@ char *grpc_dump_slice(grpc_slice s, uint32_t flags) {
35
35
  * str.
36
36
  *
37
37
  * Returns 1 and updates \a begin and \a end. Returns 0 otherwise. */
38
- static int slice_find_separator_offset(const grpc_slice str, const char *sep,
39
- const size_t read_offset, size_t *begin,
40
- size_t *end) {
38
+ static int slice_find_separator_offset(const grpc_slice str, const char* sep,
39
+ const size_t read_offset, size_t* begin,
40
+ size_t* end) {
41
41
  size_t i;
42
- const uint8_t *str_ptr = GRPC_SLICE_START_PTR(str) + read_offset;
42
+ const uint8_t* str_ptr = GRPC_SLICE_START_PTR(str) + read_offset;
43
43
  const size_t str_len = GRPC_SLICE_LENGTH(str) - read_offset;
44
44
  const size_t sep_len = strlen(sep);
45
45
  if (str_len < sep_len) {
@@ -56,7 +56,7 @@ static int slice_find_separator_offset(const grpc_slice str, const char *sep,
56
56
  return 0;
57
57
  }
58
58
 
59
- void grpc_slice_split(grpc_slice str, const char *sep, grpc_slice_buffer *dst) {
59
+ void grpc_slice_split(grpc_slice str, const char* sep, grpc_slice_buffer* dst) {
60
60
  const size_t sep_len = strlen(sep);
61
61
  size_t begin, end;
62
62
 
@@ -74,7 +74,7 @@ void grpc_slice_split(grpc_slice str, const char *sep, grpc_slice_buffer *dst) {
74
74
  }
75
75
  }
76
76
 
77
- bool grpc_parse_slice_to_uint32(grpc_slice str, uint32_t *result) {
78
- return gpr_parse_bytes_to_uint32((const char *)GRPC_SLICE_START_PTR(str),
77
+ bool grpc_parse_slice_to_uint32(grpc_slice str, uint32_t* result) {
78
+ return gpr_parse_bytes_to_uint32((const char*)GRPC_SLICE_START_PTR(str),
79
79
  GRPC_SLICE_LENGTH(str), result) != 0;
80
80
  }
@@ -33,13 +33,13 @@ extern "C" {
33
33
  #endif
34
34
 
35
35
  /* Calls gpr_dump on a slice. */
36
- char *grpc_dump_slice(grpc_slice slice, uint32_t flags);
36
+ char* grpc_dump_slice(grpc_slice slice, uint32_t flags);
37
37
 
38
38
  /** Split \a str by the separator \a sep. Results are stored in \a dst, which
39
39
  * should be a properly initialized instance. */
40
- void grpc_slice_split(grpc_slice str, const char *sep, grpc_slice_buffer *dst);
40
+ void grpc_slice_split(grpc_slice str, const char* sep, grpc_slice_buffer* dst);
41
41
 
42
- bool grpc_parse_slice_to_uint32(grpc_slice str, uint32_t *result);
42
+ bool grpc_parse_slice_to_uint32(grpc_slice str, uint32_t* result);
43
43
 
44
44
  #ifdef __cplusplus
45
45
  }
@@ -0,0 +1,29 @@
1
+ /*
2
+ *
3
+ * Copyright 2017 gRPC authors.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ *
17
+ */
18
+
19
+ #ifndef GRPC_CORE_LIB_SUPPORT_ABSTRACT_H
20
+ #define GRPC_CORE_LIB_SUPPORT_ABSTRACT_H
21
+
22
+ // This is needed to support abstract base classes in the c core. Since gRPC
23
+ // doesn't have a c++ runtime, it will hit a linker error on delete unless
24
+ // we define a virtual operator delete. See this blog for more info:
25
+ // https://eli.thegreenplace.net/2015/c-deleting-destructors-and-virtual-operator-delete/
26
+ #define GRPC_ABSTRACT_BASE_CLASS \
27
+ static void operator delete(void* p) { abort(); }
28
+
29
+ #endif /* GRPC_CORE_LIB_SUPPORT_ABSTRACT_H */
@@ -24,10 +24,10 @@
24
24
  #include <string.h>
25
25
  #include "src/core/lib/profiling/timers.h"
26
26
 
27
- static void *zalloc_with_calloc(size_t sz) { return calloc(sz, 1); }
27
+ static void* zalloc_with_calloc(size_t sz) { return calloc(sz, 1); }
28
28
 
29
- static void *zalloc_with_gpr_malloc(size_t sz) {
30
- void *p = gpr_malloc(sz);
29
+ static void* zalloc_with_gpr_malloc(size_t sz) {
30
+ void* p = gpr_malloc(sz);
31
31
  memset(p, 0, sz);
32
32
  return p;
33
33
  }
@@ -40,18 +40,18 @@ gpr_allocation_functions gpr_get_allocation_functions() {
40
40
  }
41
41
 
42
42
  void gpr_set_allocation_functions(gpr_allocation_functions functions) {
43
- GPR_ASSERT(functions.malloc_fn != NULL);
44
- GPR_ASSERT(functions.realloc_fn != NULL);
45
- GPR_ASSERT(functions.free_fn != NULL);
46
- if (functions.zalloc_fn == NULL) {
43
+ GPR_ASSERT(functions.malloc_fn != nullptr);
44
+ GPR_ASSERT(functions.realloc_fn != nullptr);
45
+ GPR_ASSERT(functions.free_fn != nullptr);
46
+ if (functions.zalloc_fn == nullptr) {
47
47
  functions.zalloc_fn = zalloc_with_gpr_malloc;
48
48
  }
49
49
  g_alloc_functions = functions;
50
50
  }
51
51
 
52
- void *gpr_malloc(size_t size) {
53
- void *p;
54
- if (size == 0) return NULL;
52
+ void* gpr_malloc(size_t size) {
53
+ void* p;
54
+ if (size == 0) return nullptr;
55
55
  GPR_TIMER_BEGIN("gpr_malloc", 0);
56
56
  p = g_alloc_functions.malloc_fn(size);
57
57
  if (!p) {
@@ -61,9 +61,9 @@ void *gpr_malloc(size_t size) {
61
61
  return p;
62
62
  }
63
63
 
64
- void *gpr_zalloc(size_t size) {
65
- void *p;
66
- if (size == 0) return NULL;
64
+ void* gpr_zalloc(size_t size) {
65
+ void* p;
66
+ if (size == 0) return nullptr;
67
67
  GPR_TIMER_BEGIN("gpr_zalloc", 0);
68
68
  p = g_alloc_functions.zalloc_fn(size);
69
69
  if (!p) {
@@ -73,14 +73,14 @@ void *gpr_zalloc(size_t size) {
73
73
  return p;
74
74
  }
75
75
 
76
- void gpr_free(void *p) {
76
+ void gpr_free(void* p) {
77
77
  GPR_TIMER_BEGIN("gpr_free", 0);
78
78
  g_alloc_functions.free_fn(p);
79
79
  GPR_TIMER_END("gpr_free", 0);
80
80
  }
81
81
 
82
- void *gpr_realloc(void *p, size_t size) {
83
- if ((size == 0) && (p == NULL)) return NULL;
82
+ void* gpr_realloc(void* p, size_t size) {
83
+ if ((size == 0) && (p == nullptr)) return nullptr;
84
84
  GPR_TIMER_BEGIN("gpr_realloc", 0);
85
85
  p = g_alloc_functions.realloc_fn(p, size);
86
86
  if (!p) {
@@ -90,13 +90,13 @@ void *gpr_realloc(void *p, size_t size) {
90
90
  return p;
91
91
  }
92
92
 
93
- void *gpr_malloc_aligned(size_t size, size_t alignment_log) {
93
+ void* gpr_malloc_aligned(size_t size, size_t alignment_log) {
94
94
  size_t alignment = ((size_t)1) << alignment_log;
95
- size_t extra = alignment - 1 + sizeof(void *);
96
- void *p = gpr_malloc(size + extra);
97
- void **ret = (void **)(((uintptr_t)p + extra) & ~(alignment - 1));
95
+ size_t extra = alignment - 1 + sizeof(void*);
96
+ void* p = gpr_malloc(size + extra);
97
+ void** ret = (void**)(((uintptr_t)p + extra) & ~(alignment - 1));
98
98
  ret[-1] = p;
99
- return (void *)ret;
99
+ return (void*)ret;
100
100
  }
101
101
 
102
- void gpr_free_aligned(void *ptr) { gpr_free(((void **)ptr)[-1]); }
102
+ void gpr_free_aligned(void* ptr) { gpr_free(((void**)ptr)[-1]); }
@@ -36,40 +36,40 @@ struct gpr_arena {
36
36
  zone initial_zone;
37
37
  };
38
38
 
39
- gpr_arena *gpr_arena_create(size_t initial_size) {
39
+ gpr_arena* gpr_arena_create(size_t initial_size) {
40
40
  initial_size = ROUND_UP_TO_ALIGNMENT_SIZE(initial_size);
41
- gpr_arena *a = (gpr_arena *)gpr_zalloc(sizeof(gpr_arena) + initial_size);
41
+ gpr_arena* a = (gpr_arena*)gpr_zalloc(sizeof(gpr_arena) + initial_size);
42
42
  a->initial_zone.size_end = initial_size;
43
43
  return a;
44
44
  }
45
45
 
46
- size_t gpr_arena_destroy(gpr_arena *arena) {
46
+ size_t gpr_arena_destroy(gpr_arena* arena) {
47
47
  gpr_atm size = gpr_atm_no_barrier_load(&arena->size_so_far);
48
- zone *z = (zone *)gpr_atm_no_barrier_load(&arena->initial_zone.next_atm);
48
+ zone* z = (zone*)gpr_atm_no_barrier_load(&arena->initial_zone.next_atm);
49
49
  gpr_free(arena);
50
50
  while (z) {
51
- zone *next_z = (zone *)gpr_atm_no_barrier_load(&z->next_atm);
51
+ zone* next_z = (zone*)gpr_atm_no_barrier_load(&z->next_atm);
52
52
  gpr_free(z);
53
53
  z = next_z;
54
54
  }
55
55
  return (size_t)size;
56
56
  }
57
57
 
58
- void *gpr_arena_alloc(gpr_arena *arena, size_t size) {
58
+ void* gpr_arena_alloc(gpr_arena* arena, size_t size) {
59
59
  size = ROUND_UP_TO_ALIGNMENT_SIZE(size);
60
60
  size_t start =
61
61
  (size_t)gpr_atm_no_barrier_fetch_add(&arena->size_so_far, size);
62
- zone *z = &arena->initial_zone;
62
+ zone* z = &arena->initial_zone;
63
63
  while (start > z->size_end) {
64
- zone *next_z = (zone *)gpr_atm_acq_load(&z->next_atm);
65
- if (next_z == NULL) {
64
+ zone* next_z = (zone*)gpr_atm_acq_load(&z->next_atm);
65
+ if (next_z == nullptr) {
66
66
  size_t next_z_size = (size_t)gpr_atm_no_barrier_load(&arena->size_so_far);
67
- next_z = (zone *)gpr_zalloc(sizeof(zone) + next_z_size);
67
+ next_z = (zone*)gpr_zalloc(sizeof(zone) + next_z_size);
68
68
  next_z->size_begin = z->size_end;
69
69
  next_z->size_end = z->size_end + next_z_size;
70
70
  if (!gpr_atm_rel_cas(&z->next_atm, (gpr_atm)NULL, (gpr_atm)next_z)) {
71
71
  gpr_free(next_z);
72
- next_z = (zone *)gpr_atm_acq_load(&z->next_atm);
72
+ next_z = (zone*)gpr_atm_acq_load(&z->next_atm);
73
73
  }
74
74
  }
75
75
  z = next_z;
@@ -79,5 +79,5 @@ void *gpr_arena_alloc(gpr_arena *arena, size_t size) {
79
79
  }
80
80
  GPR_ASSERT(start >= z->size_begin);
81
81
  GPR_ASSERT(start + size <= z->size_end);
82
- return ((char *)(z + 1)) + start - z->size_begin;
82
+ return ((char*)(z + 1)) + start - z->size_begin;
83
83
  }
@@ -27,13 +27,21 @@
27
27
 
28
28
  #include <stddef.h>
29
29
 
30
+ #ifdef __cplusplus
31
+ extern "C" {
32
+ #endif
33
+
30
34
  typedef struct gpr_arena gpr_arena;
31
35
 
32
36
  // Create an arena, with \a initial_size bytes in the first allocated buffer
33
- gpr_arena *gpr_arena_create(size_t initial_size);
37
+ gpr_arena* gpr_arena_create(size_t initial_size);
34
38
  // Allocate \a size bytes from the arena
35
- void *gpr_arena_alloc(gpr_arena *arena, size_t size);
39
+ void* gpr_arena_alloc(gpr_arena* arena, size_t size);
36
40
  // Destroy an arena, returning the total number of bytes allocated
37
- size_t gpr_arena_destroy(gpr_arena *arena);
41
+ size_t gpr_arena_destroy(gpr_arena* arena);
42
+
43
+ #ifdef __cplusplus
44
+ }
45
+ #endif
38
46
 
39
47
  #endif /* GRPC_CORE_LIB_SUPPORT_ARENA_H */
@@ -19,7 +19,7 @@
19
19
  #include <grpc/support/atm.h>
20
20
  #include <grpc/support/useful.h>
21
21
 
22
- gpr_atm gpr_atm_no_barrier_clamped_add(gpr_atm *value, gpr_atm delta,
22
+ gpr_atm gpr_atm_no_barrier_clamped_add(gpr_atm* value, gpr_atm delta,
23
23
  gpr_atm min, gpr_atm max) {
24
24
  gpr_atm current_value;
25
25
  gpr_atm new_value;
@@ -25,23 +25,23 @@
25
25
  #include <grpc/support/string_util.h>
26
26
  #include <grpc/support/useful.h>
27
27
 
28
- gpr_avl gpr_avl_create(const gpr_avl_vtable *vtable) {
28
+ gpr_avl gpr_avl_create(const gpr_avl_vtable* vtable) {
29
29
  gpr_avl out;
30
30
  out.vtable = vtable;
31
- out.root = NULL;
31
+ out.root = nullptr;
32
32
  return out;
33
33
  }
34
34
 
35
- static gpr_avl_node *ref_node(gpr_avl_node *node) {
35
+ static gpr_avl_node* ref_node(gpr_avl_node* node) {
36
36
  if (node) {
37
37
  gpr_ref(&node->refs);
38
38
  }
39
39
  return node;
40
40
  }
41
41
 
42
- static void unref_node(const gpr_avl_vtable *vtable, gpr_avl_node *node,
43
- void *user_data) {
44
- if (node == NULL) {
42
+ static void unref_node(const gpr_avl_vtable* vtable, gpr_avl_node* node,
43
+ void* user_data) {
44
+ if (node == nullptr) {
45
45
  return;
46
46
  }
47
47
  if (gpr_unref(&node->refs)) {
@@ -53,18 +53,19 @@ static void unref_node(const gpr_avl_vtable *vtable, gpr_avl_node *node,
53
53
  }
54
54
  }
55
55
 
56
- static long node_height(gpr_avl_node *node) {
57
- return node == NULL ? 0 : node->height;
56
+ static long node_height(gpr_avl_node* node) {
57
+ return node == nullptr ? 0 : node->height;
58
58
  }
59
59
 
60
60
  #ifndef NDEBUG
61
- static long calculate_height(gpr_avl_node *node) {
62
- return node == NULL ? 0 : 1 + GPR_MAX(calculate_height(node->left),
63
- calculate_height(node->right));
61
+ static long calculate_height(gpr_avl_node* node) {
62
+ return node == nullptr ? 0
63
+ : 1 + GPR_MAX(calculate_height(node->left),
64
+ calculate_height(node->right));
64
65
  }
65
66
 
66
- static gpr_avl_node *assert_invariants(gpr_avl_node *n) {
67
- if (n == NULL) return NULL;
67
+ static gpr_avl_node* assert_invariants(gpr_avl_node* n) {
68
+ if (n == nullptr) return nullptr;
68
69
  assert_invariants(n->left);
69
70
  assert_invariants(n->right);
70
71
  assert(calculate_height(n) == n->height);
@@ -72,12 +73,12 @@ static gpr_avl_node *assert_invariants(gpr_avl_node *n) {
72
73
  return n;
73
74
  }
74
75
  #else
75
- static gpr_avl_node *assert_invariants(gpr_avl_node *n) { return n; }
76
+ static gpr_avl_node* assert_invariants(gpr_avl_node* n) { return n; }
76
77
  #endif
77
78
 
78
- gpr_avl_node *new_node(void *key, void *value, gpr_avl_node *left,
79
- gpr_avl_node *right) {
80
- gpr_avl_node *node = (gpr_avl_node *)gpr_malloc(sizeof(*node));
79
+ gpr_avl_node* new_node(void* key, void* value, gpr_avl_node* left,
80
+ gpr_avl_node* right) {
81
+ gpr_avl_node* node = (gpr_avl_node*)gpr_malloc(sizeof(*node));
81
82
  gpr_ref_init(&node->refs, 1);
82
83
  node->key = key;
83
84
  node->value = value;
@@ -87,12 +88,12 @@ gpr_avl_node *new_node(void *key, void *value, gpr_avl_node *left,
87
88
  return node;
88
89
  }
89
90
 
90
- static gpr_avl_node *get(const gpr_avl_vtable *vtable, gpr_avl_node *node,
91
- void *key, void *user_data) {
91
+ static gpr_avl_node* get(const gpr_avl_vtable* vtable, gpr_avl_node* node,
92
+ void* key, void* user_data) {
92
93
  long cmp;
93
94
 
94
- if (node == NULL) {
95
- return NULL;
95
+ if (node == nullptr) {
96
+ return nullptr;
96
97
  }
97
98
 
98
99
  cmp = vtable->compare_keys(node->key, key, user_data);
@@ -105,24 +106,24 @@ static gpr_avl_node *get(const gpr_avl_vtable *vtable, gpr_avl_node *node,
105
106
  }
106
107
  }
107
108
 
108
- void *gpr_avl_get(gpr_avl avl, void *key, void *user_data) {
109
- gpr_avl_node *node = get(avl.vtable, avl.root, key, user_data);
110
- return node ? node->value : NULL;
109
+ void* gpr_avl_get(gpr_avl avl, void* key, void* user_data) {
110
+ gpr_avl_node* node = get(avl.vtable, avl.root, key, user_data);
111
+ return node ? node->value : nullptr;
111
112
  }
112
113
 
113
- int gpr_avl_maybe_get(gpr_avl avl, void *key, void **value, void *user_data) {
114
- gpr_avl_node *node = get(avl.vtable, avl.root, key, user_data);
115
- if (node != NULL) {
114
+ int gpr_avl_maybe_get(gpr_avl avl, void* key, void** value, void* user_data) {
115
+ gpr_avl_node* node = get(avl.vtable, avl.root, key, user_data);
116
+ if (node != nullptr) {
116
117
  *value = node->value;
117
118
  return 1;
118
119
  }
119
120
  return 0;
120
121
  }
121
122
 
122
- static gpr_avl_node *rotate_left(const gpr_avl_vtable *vtable, void *key,
123
- void *value, gpr_avl_node *left,
124
- gpr_avl_node *right, void *user_data) {
125
- gpr_avl_node *n = new_node(vtable->copy_key(right->key, user_data),
123
+ static gpr_avl_node* rotate_left(const gpr_avl_vtable* vtable, void* key,
124
+ void* value, gpr_avl_node* left,
125
+ gpr_avl_node* right, void* user_data) {
126
+ gpr_avl_node* n = new_node(vtable->copy_key(right->key, user_data),
126
127
  vtable->copy_value(right->value, user_data),
127
128
  new_node(key, value, left, ref_node(right->left)),
128
129
  ref_node(right->right));
@@ -130,10 +131,10 @@ static gpr_avl_node *rotate_left(const gpr_avl_vtable *vtable, void *key,
130
131
  return n;
131
132
  }
132
133
 
133
- static gpr_avl_node *rotate_right(const gpr_avl_vtable *vtable, void *key,
134
- void *value, gpr_avl_node *left,
135
- gpr_avl_node *right, void *user_data) {
136
- gpr_avl_node *n =
134
+ static gpr_avl_node* rotate_right(const gpr_avl_vtable* vtable, void* key,
135
+ void* value, gpr_avl_node* left,
136
+ gpr_avl_node* right, void* user_data) {
137
+ gpr_avl_node* n =
137
138
  new_node(vtable->copy_key(left->key, user_data),
138
139
  vtable->copy_value(left->value, user_data), ref_node(left->left),
139
140
  new_node(key, value, ref_node(left->right), right));
@@ -141,11 +142,11 @@ static gpr_avl_node *rotate_right(const gpr_avl_vtable *vtable, void *key,
141
142
  return n;
142
143
  }
143
144
 
144
- static gpr_avl_node *rotate_left_right(const gpr_avl_vtable *vtable, void *key,
145
- void *value, gpr_avl_node *left,
146
- gpr_avl_node *right, void *user_data) {
145
+ static gpr_avl_node* rotate_left_right(const gpr_avl_vtable* vtable, void* key,
146
+ void* value, gpr_avl_node* left,
147
+ gpr_avl_node* right, void* user_data) {
147
148
  /* rotate_right(..., rotate_left(left), right) */
148
- gpr_avl_node *n =
149
+ gpr_avl_node* n =
149
150
  new_node(vtable->copy_key(left->right->key, user_data),
150
151
  vtable->copy_value(left->right->value, user_data),
151
152
  new_node(vtable->copy_key(left->key, user_data),
@@ -156,11 +157,11 @@ static gpr_avl_node *rotate_left_right(const gpr_avl_vtable *vtable, void *key,
156
157
  return n;
157
158
  }
158
159
 
159
- static gpr_avl_node *rotate_right_left(const gpr_avl_vtable *vtable, void *key,
160
- void *value, gpr_avl_node *left,
161
- gpr_avl_node *right, void *user_data) {
160
+ static gpr_avl_node* rotate_right_left(const gpr_avl_vtable* vtable, void* key,
161
+ void* value, gpr_avl_node* left,
162
+ gpr_avl_node* right, void* user_data) {
162
163
  /* rotate_left(..., left, rotate_right(right)) */
163
- gpr_avl_node *n =
164
+ gpr_avl_node* n =
164
165
  new_node(vtable->copy_key(right->left->key, user_data),
165
166
  vtable->copy_value(right->left->value, user_data),
166
167
  new_node(key, value, left, ref_node(right->left->left)),
@@ -171,9 +172,9 @@ static gpr_avl_node *rotate_right_left(const gpr_avl_vtable *vtable, void *key,
171
172
  return n;
172
173
  }
173
174
 
174
- static gpr_avl_node *rebalance(const gpr_avl_vtable *vtable, void *key,
175
- void *value, gpr_avl_node *left,
176
- gpr_avl_node *right, void *user_data) {
175
+ static gpr_avl_node* rebalance(const gpr_avl_vtable* vtable, void* key,
176
+ void* value, gpr_avl_node* left,
177
+ gpr_avl_node* right, void* user_data) {
177
178
  switch (node_height(left) - node_height(right)) {
178
179
  case 2:
179
180
  if (node_height(left->left) - node_height(left->right) == -1) {
@@ -196,11 +197,11 @@ static gpr_avl_node *rebalance(const gpr_avl_vtable *vtable, void *key,
196
197
  }
197
198
  }
198
199
 
199
- static gpr_avl_node *add_key(const gpr_avl_vtable *vtable, gpr_avl_node *node,
200
- void *key, void *value, void *user_data) {
200
+ static gpr_avl_node* add_key(const gpr_avl_vtable* vtable, gpr_avl_node* node,
201
+ void* key, void* value, void* user_data) {
201
202
  long cmp;
202
- if (node == NULL) {
203
- return new_node(key, value, NULL, NULL);
203
+ if (node == nullptr) {
204
+ return new_node(key, value, nullptr, nullptr);
204
205
  }
205
206
  cmp = vtable->compare_keys(node->key, key, user_data);
206
207
  if (cmp == 0) {
@@ -218,49 +219,49 @@ static gpr_avl_node *add_key(const gpr_avl_vtable *vtable, gpr_avl_node *node,
218
219
  }
219
220
  }
220
221
 
221
- gpr_avl gpr_avl_add(gpr_avl avl, void *key, void *value, void *user_data) {
222
- gpr_avl_node *old_root = avl.root;
222
+ gpr_avl gpr_avl_add(gpr_avl avl, void* key, void* value, void* user_data) {
223
+ gpr_avl_node* old_root = avl.root;
223
224
  avl.root = add_key(avl.vtable, avl.root, key, value, user_data);
224
225
  assert_invariants(avl.root);
225
226
  unref_node(avl.vtable, old_root, user_data);
226
227
  return avl;
227
228
  }
228
229
 
229
- static gpr_avl_node *in_order_head(gpr_avl_node *node) {
230
- while (node->left != NULL) {
230
+ static gpr_avl_node* in_order_head(gpr_avl_node* node) {
231
+ while (node->left != nullptr) {
231
232
  node = node->left;
232
233
  }
233
234
  return node;
234
235
  }
235
236
 
236
- static gpr_avl_node *in_order_tail(gpr_avl_node *node) {
237
- while (node->right != NULL) {
237
+ static gpr_avl_node* in_order_tail(gpr_avl_node* node) {
238
+ while (node->right != nullptr) {
238
239
  node = node->right;
239
240
  }
240
241
  return node;
241
242
  }
242
243
 
243
- static gpr_avl_node *remove_key(const gpr_avl_vtable *vtable,
244
- gpr_avl_node *node, void *key,
245
- void *user_data) {
244
+ static gpr_avl_node* remove_key(const gpr_avl_vtable* vtable,
245
+ gpr_avl_node* node, void* key,
246
+ void* user_data) {
246
247
  long cmp;
247
- if (node == NULL) {
248
- return NULL;
248
+ if (node == nullptr) {
249
+ return nullptr;
249
250
  }
250
251
  cmp = vtable->compare_keys(node->key, key, user_data);
251
252
  if (cmp == 0) {
252
- if (node->left == NULL) {
253
+ if (node->left == nullptr) {
253
254
  return ref_node(node->right);
254
- } else if (node->right == NULL) {
255
+ } else if (node->right == nullptr) {
255
256
  return ref_node(node->left);
256
257
  } else if (node->left->height < node->right->height) {
257
- gpr_avl_node *h = in_order_head(node->right);
258
+ gpr_avl_node* h = in_order_head(node->right);
258
259
  return rebalance(
259
260
  vtable, vtable->copy_key(h->key, user_data),
260
261
  vtable->copy_value(h->value, user_data), ref_node(node->left),
261
262
  remove_key(vtable, node->right, h->key, user_data), user_data);
262
263
  } else {
263
- gpr_avl_node *h = in_order_tail(node->left);
264
+ gpr_avl_node* h = in_order_tail(node->left);
264
265
  return rebalance(vtable, vtable->copy_key(h->key, user_data),
265
266
  vtable->copy_value(h->value, user_data),
266
267
  remove_key(vtable, node->left, h->key, user_data),
@@ -279,21 +280,21 @@ static gpr_avl_node *remove_key(const gpr_avl_vtable *vtable,
279
280
  }
280
281
  }
281
282
 
282
- gpr_avl gpr_avl_remove(gpr_avl avl, void *key, void *user_data) {
283
- gpr_avl_node *old_root = avl.root;
283
+ gpr_avl gpr_avl_remove(gpr_avl avl, void* key, void* user_data) {
284
+ gpr_avl_node* old_root = avl.root;
284
285
  avl.root = remove_key(avl.vtable, avl.root, key, user_data);
285
286
  assert_invariants(avl.root);
286
287
  unref_node(avl.vtable, old_root, user_data);
287
288
  return avl;
288
289
  }
289
290
 
290
- gpr_avl gpr_avl_ref(gpr_avl avl, void *user_data) {
291
+ gpr_avl gpr_avl_ref(gpr_avl avl, void* user_data) {
291
292
  ref_node(avl.root);
292
293
  return avl;
293
294
  }
294
295
 
295
- void gpr_avl_unref(gpr_avl avl, void *user_data) {
296
+ void gpr_avl_unref(gpr_avl avl, void* user_data) {
296
297
  unref_node(avl.vtable, avl.root, user_data);
297
298
  }
298
299
 
299
- int gpr_avl_is_empty(gpr_avl avl) { return avl.root == NULL; }
300
+ int gpr_avl_is_empty(gpr_avl avl) { return avl.root == nullptr; }