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
@@ -241,6 +241,29 @@
241
241
  #else /* _LP64 */
242
242
  #define GPR_ARCH_32 1
243
243
  #endif /* _LP64 */
244
+ #elif defined(__OpenBSD__)
245
+ #define GPR_PLATFORM_STRING "openbsd"
246
+ #ifndef _BSD_SOURCE
247
+ #define _BSD_SOURCE
248
+ #endif
249
+ #define GPR_OPENBSD 1
250
+ #define GPR_CPU_POSIX 1
251
+ #define GPR_GCC_ATOMIC 1
252
+ #define GPR_GCC_TLS 1
253
+ #define GPR_POSIX_LOG 1
254
+ #define GPR_POSIX_ENV 1
255
+ #define GPR_POSIX_TMPFILE 1
256
+ #define GPR_POSIX_STRING 1
257
+ #define GPR_POSIX_SUBPROCESS 1
258
+ #define GPR_POSIX_SYNC 1
259
+ #define GPR_POSIX_TIME 1
260
+ #define GPR_GETPID_IN_UNISTD_H 1
261
+ #define GPR_SUPPORT_CHANNELS_FROM_FD 1
262
+ #ifdef _LP64
263
+ #define GPR_ARCH_64 1
264
+ #else /* _LP64 */
265
+ #define GPR_ARCH_32 1
266
+ #endif /* _LP64 */
244
267
  #elif defined(__native_client__)
245
268
  #define GPR_PLATFORM_STRING "nacl"
246
269
  #ifndef _BSD_SOURCE
@@ -274,6 +297,27 @@
274
297
  #endif
275
298
  #endif /* GPR_NO_AUTODETECT_PLATFORM */
276
299
 
300
+ /*
301
+ * There are platforms for which TLS should not be used even though the
302
+ * compiler makes it seem like it's supported (Android NDK < r12b for example).
303
+ * This is primarily because of linker problems and toolchain misconfiguration:
304
+ * TLS isn't supported until NDK r12b per
305
+ * https://developer.android.com/ndk/downloads/revision_history.html
306
+ * Since NDK r16, `__NDK_MAJOR__` and `__NDK_MINOR__` are defined in
307
+ * <android/ndk-version.h>. For NDK < r16, users should define these macros,
308
+ * e.g. `-D__NDK_MAJOR__=11 -D__NKD_MINOR__=0` for NDK r11. */
309
+ #if defined(__ANDROID__) && defined(__clang__) && defined(GPR_GCC_TLS)
310
+ #if __has_include(<android/ndk-version.h>)
311
+ #include <android/ndk-version.h>
312
+ #endif /* __has_include(<android/ndk-version.h>) */
313
+ #if defined(__ANDROID__) && defined(__clang__) && defined(__NDK_MAJOR__) && \
314
+ defined(__NDK_MINOR__) && \
315
+ ((__NDK_MAJOR__ < 12) || ((__NDK_MAJOR__ == 12) && (__NDK_MINOR__ < 1)))
316
+ #undef GPR_GCC_TLS
317
+ #define GPR_PTHREAD_TLS 1
318
+ #endif
319
+ #endif /*defined(__ANDROID__) && defined(__clang__) && defined(GPR_GCC_TLS) */
320
+
277
321
  #if defined(__has_include)
278
322
  #if __has_include(<atomic>)
279
323
  #define GRPC_HAS_CXX11_ATOMIC
@@ -415,4 +459,8 @@ typedef unsigned __int64 uint64_t;
415
459
  #endif /* GPR_ATTRIBUTE_NO_TSAN (2) */
416
460
  #endif /* GPR_ATTRIBUTE_NO_TSAN (1) */
417
461
 
462
+ #ifndef __STDC_FORMAT_MACROS
463
+ #define __STDC_FORMAT_MACROS
464
+ #endif
465
+
418
466
  #endif /* GRPC_IMPL_CODEGEN_PORT_PLATFORM_H */
@@ -42,8 +42,8 @@ typedef struct grpc_slice grpc_slice;
42
42
  constraints (is the callee allowed to modify the slice?) */
43
43
 
44
44
  typedef struct grpc_slice_refcount_vtable {
45
- void (*ref)(void *);
46
- void (*unref)(grpc_exec_ctx *exec_ctx, void *);
45
+ void (*ref)(void*);
46
+ void (*unref)(grpc_exec_ctx* exec_ctx, void*);
47
47
  int (*eq)(grpc_slice a, grpc_slice b);
48
48
  uint32_t (*hash)(grpc_slice slice);
49
49
  } grpc_slice_refcount_vtable;
@@ -54,20 +54,20 @@ typedef struct grpc_slice_refcount_vtable {
54
54
  Typically client code should not touch this, and use grpc_slice_malloc,
55
55
  grpc_slice_new, or grpc_slice_new_with_len instead. */
56
56
  typedef struct grpc_slice_refcount {
57
- const grpc_slice_refcount_vtable *vtable;
57
+ const grpc_slice_refcount_vtable* vtable;
58
58
  /** If a subset of this slice is taken, use this pointer for the refcount.
59
59
  Typically points back to the refcount itself, however iterning
60
60
  implementations can use this to avoid a verification step on each hash
61
61
  or equality check */
62
- struct grpc_slice_refcount *sub_refcount;
62
+ struct grpc_slice_refcount* sub_refcount;
63
63
  } grpc_slice_refcount;
64
64
 
65
65
  /* Inlined half of grpc_slice is allowed to expand the size of the overall type
66
66
  by this many bytes */
67
- #define GRPC_SLICE_INLINE_EXTRA_SIZE sizeof(void *)
67
+ #define GRPC_SLICE_INLINE_EXTRA_SIZE sizeof(void*)
68
68
 
69
69
  #define GRPC_SLICE_INLINED_SIZE \
70
- (sizeof(size_t) + sizeof(uint8_t *) - 1 + GRPC_SLICE_INLINE_EXTRA_SIZE)
70
+ (sizeof(size_t) + sizeof(uint8_t*) - 1 + GRPC_SLICE_INLINE_EXTRA_SIZE)
71
71
 
72
72
  /** A grpc_slice s, if initialized, represents the byte range
73
73
  s.bytes[0..s.length-1].
@@ -79,10 +79,10 @@ typedef struct grpc_slice_refcount {
79
79
  If the slice does not have a refcount, it represents an inlined small piece
80
80
  of data that is copied by value. */
81
81
  struct grpc_slice {
82
- struct grpc_slice_refcount *refcount;
82
+ struct grpc_slice_refcount* refcount;
83
83
  union grpc_slice_data {
84
84
  struct grpc_slice_refcounted {
85
- uint8_t *bytes;
85
+ uint8_t* bytes;
86
86
  size_t length;
87
87
  } refcounted;
88
88
  struct grpc_slice_inlined {
@@ -99,10 +99,10 @@ struct grpc_slice {
99
99
  typedef struct {
100
100
  /** This is for internal use only. External users (i.e any code outside grpc
101
101
  * core) MUST NOT use this field */
102
- grpc_slice *base_slices;
102
+ grpc_slice* base_slices;
103
103
 
104
104
  /** slices in the array (Points to the first valid grpc_slice in the array) */
105
- grpc_slice *slices;
105
+ grpc_slice* slices;
106
106
  /** the number of slices in the array */
107
107
  size_t count;
108
108
  /** the number of slices allocated in the array. External users (i.e any code
@@ -23,16 +23,22 @@
23
23
  #include <grpc/impl/codegen/atm.h>
24
24
 
25
25
  /* gpr_event */
26
- typedef struct { gpr_atm state; } gpr_event;
26
+ typedef struct {
27
+ gpr_atm state;
28
+ } gpr_event;
27
29
 
28
30
  #define GPR_EVENT_INIT \
29
31
  { 0 }
30
32
 
31
33
  /* gpr_refcount */
32
- typedef struct { gpr_atm count; } gpr_refcount;
34
+ typedef struct {
35
+ gpr_atm count;
36
+ } gpr_refcount;
33
37
 
34
38
  /* gpr_stats_counter */
35
- typedef struct { gpr_atm value; } gpr_stats_counter;
39
+ typedef struct {
40
+ gpr_atm value;
41
+ } gpr_stats_counter;
36
42
 
37
43
  #define GPR_STATS_INIT \
38
44
  { 0 }
@@ -44,20 +44,20 @@ GPRAPI grpc_slice grpc_slice_copy(grpc_slice s);
44
44
  /** Create a slice pointing at some data. Calls malloc to allocate a refcount
45
45
  for the object, and arranges that destroy will be called with the pointer
46
46
  passed in at destruction. */
47
- GPRAPI grpc_slice grpc_slice_new(void *p, size_t len, void (*destroy)(void *));
47
+ GPRAPI grpc_slice grpc_slice_new(void* p, size_t len, void (*destroy)(void*));
48
48
 
49
49
  /** Equivalent to grpc_slice_new, but with a separate pointer that is
50
50
  passed to the destroy function. This function can be useful when
51
51
  the data is part of a larger structure that must be destroyed when
52
52
  the data is no longer needed. */
53
- GPRAPI grpc_slice grpc_slice_new_with_user_data(void *p, size_t len,
54
- void (*destroy)(void *),
55
- void *user_data);
53
+ GPRAPI grpc_slice grpc_slice_new_with_user_data(void* p, size_t len,
54
+ void (*destroy)(void*),
55
+ void* user_data);
56
56
 
57
57
  /** Equivalent to grpc_slice_new, but with a two argument destroy function that
58
58
  also takes the slice length. */
59
- GPRAPI grpc_slice grpc_slice_new_with_len(void *p, size_t len,
60
- void (*destroy)(void *, size_t));
59
+ GPRAPI grpc_slice grpc_slice_new_with_len(void* p, size_t len,
60
+ void (*destroy)(void*, size_t));
61
61
 
62
62
  /** Equivalent to grpc_slice_new(malloc(len), len, free), but saves one malloc()
63
63
  call.
@@ -79,19 +79,19 @@ GPRAPI grpc_slice grpc_slice_intern(grpc_slice slice);
79
79
  size_t len = strlen(source);
80
80
  grpc_slice slice = grpc_slice_malloc(len);
81
81
  memcpy(slice->data, source, len); */
82
- GPRAPI grpc_slice grpc_slice_from_copied_string(const char *source);
82
+ GPRAPI grpc_slice grpc_slice_from_copied_string(const char* source);
83
83
 
84
84
  /** Create a slice by copying a buffer.
85
85
  Equivalent to:
86
86
  grpc_slice slice = grpc_slice_malloc(len);
87
87
  memcpy(slice->data, source, len); */
88
- GPRAPI grpc_slice grpc_slice_from_copied_buffer(const char *source, size_t len);
88
+ GPRAPI grpc_slice grpc_slice_from_copied_buffer(const char* source, size_t len);
89
89
 
90
90
  /** Create a slice pointing to constant memory */
91
- GPRAPI grpc_slice grpc_slice_from_static_string(const char *source);
91
+ GPRAPI grpc_slice grpc_slice_from_static_string(const char* source);
92
92
 
93
93
  /** Create a slice pointing to constant memory */
94
- GPRAPI grpc_slice grpc_slice_from_static_buffer(const void *source, size_t len);
94
+ GPRAPI grpc_slice grpc_slice_from_static_buffer(const void* source, size_t len);
95
95
 
96
96
  /** Return a result slice derived from s, which shares a ref count with \a s,
97
97
  where result.data==s.data+begin, and result.length==end-begin. The ref count
@@ -106,7 +106,7 @@ GPRAPI grpc_slice grpc_slice_sub_no_ref(grpc_slice s, size_t begin, size_t end);
106
106
  /** Splits s into two: modifies s to be s[0:split], and returns a new slice,
107
107
  sharing a refcount with s, that contains s[split:s.length].
108
108
  Requires s intialized, split <= s.length */
109
- GPRAPI grpc_slice grpc_slice_split_tail(grpc_slice *s, size_t split);
109
+ GPRAPI grpc_slice grpc_slice_split_tail(grpc_slice* s, size_t split);
110
110
 
111
111
  typedef enum {
112
112
  GRPC_SLICE_REF_TAIL = 1,
@@ -117,13 +117,13 @@ typedef enum {
117
117
  /** The same as grpc_slice_split_tail, but with an option to skip altering
118
118
  * refcounts (grpc_slice_split_tail_maybe_ref(..., true) is equivalent to
119
119
  * grpc_slice_split_tail(...)) */
120
- GPRAPI grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice *s, size_t split,
120
+ GPRAPI grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice* s, size_t split,
121
121
  grpc_slice_ref_whom ref_whom);
122
122
 
123
123
  /** Splits s into two: modifies s to be s[split:s.length], and returns a new
124
124
  slice, sharing a refcount with s, that contains s[0:split].
125
125
  Requires s intialized, split <= s.length */
126
- GPRAPI grpc_slice grpc_slice_split_head(grpc_slice *s, size_t split);
126
+ GPRAPI grpc_slice grpc_slice_split_head(grpc_slice* s, size_t split);
127
127
 
128
128
  GPRAPI grpc_slice grpc_empty_slice(void);
129
129
 
@@ -136,11 +136,10 @@ GPRAPI int grpc_slice_eq(grpc_slice a, grpc_slice b);
136
136
  The order is arbitrary, and is not guaranteed to be stable across different
137
137
  versions of the API. */
138
138
  GPRAPI int grpc_slice_cmp(grpc_slice a, grpc_slice b);
139
- GPRAPI int grpc_slice_str_cmp(grpc_slice a, const char *b);
140
- GPRAPI int grpc_slice_buf_cmp(grpc_slice a, const void *b, size_t blen);
139
+ GPRAPI int grpc_slice_str_cmp(grpc_slice a, const char* b);
141
140
 
142
141
  /** return non-zero if the first blen bytes of a are equal to b */
143
- GPRAPI int grpc_slice_buf_start_eq(grpc_slice a, const void *b, size_t blen);
142
+ GPRAPI int grpc_slice_buf_start_eq(grpc_slice a, const void* b, size_t blen);
144
143
 
145
144
  /** return the index of the last instance of \a c in \a s, or -1 if not found */
146
145
  GPRAPI int grpc_slice_rchr(grpc_slice s, char c);
@@ -162,7 +161,7 @@ GPRAPI grpc_slice grpc_slice_dup(grpc_slice a);
162
161
 
163
162
  /** Return a copy of slice as a C string. Offers no protection against embedded
164
163
  NULL's. Returned string must be freed with gpr_free. */
165
- GPRAPI char *grpc_slice_to_c_string(grpc_slice s);
164
+ GPRAPI char* grpc_slice_to_c_string(grpc_slice s);
166
165
 
167
166
  #ifdef __cplusplus
168
167
  }
@@ -26,13 +26,13 @@ extern "C" {
26
26
  #endif
27
27
 
28
28
  /** initialize a slice buffer */
29
- GPRAPI void grpc_slice_buffer_init(grpc_slice_buffer *sb);
29
+ GPRAPI void grpc_slice_buffer_init(grpc_slice_buffer* sb);
30
30
  /** destroy a slice buffer - unrefs any held elements */
31
- GPRAPI void grpc_slice_buffer_destroy(grpc_slice_buffer *sb);
31
+ GPRAPI void grpc_slice_buffer_destroy(grpc_slice_buffer* sb);
32
32
  /** Add an element to a slice buffer - takes ownership of the slice.
33
33
  This function is allowed to concatenate the passed in slice to the end of
34
34
  some other slice if desired by the slice buffer. */
35
- GPRAPI void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice slice);
35
+ GPRAPI void grpc_slice_buffer_add(grpc_slice_buffer* sb, grpc_slice slice);
36
36
  /** add an element to a slice buffer - takes ownership of the slice and returns
37
37
  the index of the slice.
38
38
  Guarantees that the slice will not be concatenated at the end of another
@@ -40,40 +40,40 @@ GPRAPI void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice slice);
40
40
  slice at the returned index in sb->slices)
41
41
  The implementation MAY decide to concatenate data at the end of a small
42
42
  slice added in this fashion. */
43
- GPRAPI size_t grpc_slice_buffer_add_indexed(grpc_slice_buffer *sb,
43
+ GPRAPI size_t grpc_slice_buffer_add_indexed(grpc_slice_buffer* sb,
44
44
  grpc_slice slice);
45
- GPRAPI void grpc_slice_buffer_addn(grpc_slice_buffer *sb, grpc_slice *slices,
45
+ GPRAPI void grpc_slice_buffer_addn(grpc_slice_buffer* sb, grpc_slice* slices,
46
46
  size_t n);
47
47
  /** add a very small (less than 8 bytes) amount of data to the end of a slice
48
48
  buffer: returns a pointer into which to add the data */
49
- GPRAPI uint8_t *grpc_slice_buffer_tiny_add(grpc_slice_buffer *sb, size_t len);
49
+ GPRAPI uint8_t* grpc_slice_buffer_tiny_add(grpc_slice_buffer* sb, size_t len);
50
50
  /** pop the last buffer, but don't unref it */
51
- GPRAPI void grpc_slice_buffer_pop(grpc_slice_buffer *sb);
51
+ GPRAPI void grpc_slice_buffer_pop(grpc_slice_buffer* sb);
52
52
  /** clear a slice buffer, unref all elements */
53
- GPRAPI void grpc_slice_buffer_reset_and_unref(grpc_slice_buffer *sb);
53
+ GPRAPI void grpc_slice_buffer_reset_and_unref(grpc_slice_buffer* sb);
54
54
  /** swap the contents of two slice buffers */
55
- GPRAPI void grpc_slice_buffer_swap(grpc_slice_buffer *a, grpc_slice_buffer *b);
55
+ GPRAPI void grpc_slice_buffer_swap(grpc_slice_buffer* a, grpc_slice_buffer* b);
56
56
  /** move all of the elements of src into dst */
57
- GPRAPI void grpc_slice_buffer_move_into(grpc_slice_buffer *src,
58
- grpc_slice_buffer *dst);
57
+ GPRAPI void grpc_slice_buffer_move_into(grpc_slice_buffer* src,
58
+ grpc_slice_buffer* dst);
59
59
  /** remove n bytes from the end of a slice buffer */
60
- GPRAPI void grpc_slice_buffer_trim_end(grpc_slice_buffer *src, size_t n,
61
- grpc_slice_buffer *garbage);
60
+ GPRAPI void grpc_slice_buffer_trim_end(grpc_slice_buffer* src, size_t n,
61
+ grpc_slice_buffer* garbage);
62
62
  /** move the first n bytes of src into dst */
63
- GPRAPI void grpc_slice_buffer_move_first(grpc_slice_buffer *src, size_t n,
64
- grpc_slice_buffer *dst);
63
+ GPRAPI void grpc_slice_buffer_move_first(grpc_slice_buffer* src, size_t n,
64
+ grpc_slice_buffer* dst);
65
65
  /** move the first n bytes of src into dst without adding references */
66
- GPRAPI void grpc_slice_buffer_move_first_no_ref(grpc_slice_buffer *src,
66
+ GPRAPI void grpc_slice_buffer_move_first_no_ref(grpc_slice_buffer* src,
67
67
  size_t n,
68
- grpc_slice_buffer *dst);
68
+ grpc_slice_buffer* dst);
69
69
  /** move the first n bytes of src into dst (copying them) */
70
- GPRAPI void grpc_slice_buffer_move_first_into_buffer(grpc_exec_ctx *exec_ctx,
71
- grpc_slice_buffer *src,
72
- size_t n, void *dst);
70
+ GPRAPI void grpc_slice_buffer_move_first_into_buffer(grpc_exec_ctx* exec_ctx,
71
+ grpc_slice_buffer* src,
72
+ size_t n, void* dst);
73
73
  /** take the first slice in the slice buffer */
74
- GPRAPI grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer *src);
74
+ GPRAPI grpc_slice grpc_slice_buffer_take_first(grpc_slice_buffer* src);
75
75
  /** undo the above with (a possibly different) \a slice */
76
- GPRAPI void grpc_slice_buffer_undo_take_first(grpc_slice_buffer *src,
76
+ GPRAPI void grpc_slice_buffer_undo_take_first(grpc_slice_buffer* src,
77
77
  grpc_slice slice);
78
78
 
79
79
  #ifdef __cplusplus
@@ -28,10 +28,10 @@ extern "C" {
28
28
  #endif
29
29
 
30
30
  typedef struct gpr_allocation_functions {
31
- void *(*malloc_fn)(size_t size);
32
- void *(*zalloc_fn)(size_t size); /** if NULL, uses malloc_fn then memset */
33
- void *(*realloc_fn)(void *ptr, size_t size);
34
- void (*free_fn)(void *ptr);
31
+ void* (*malloc_fn)(size_t size);
32
+ void* (*zalloc_fn)(size_t size); /** if NULL, uses malloc_fn then memset */
33
+ void* (*realloc_fn)(void* ptr, size_t size);
34
+ void (*free_fn)(void* ptr);
35
35
  } gpr_allocation_functions;
36
36
 
37
37
  /** malloc.
@@ -39,17 +39,17 @@ typedef struct gpr_allocation_functions {
39
39
  * The pointer returned is suitably aligned for any kind of variable it could
40
40
  * contain.
41
41
  */
42
- GPRAPI void *gpr_malloc(size_t size);
42
+ GPRAPI void* gpr_malloc(size_t size);
43
43
  /** like malloc, but zero all bytes before returning them */
44
- GPRAPI void *gpr_zalloc(size_t size);
44
+ GPRAPI void* gpr_zalloc(size_t size);
45
45
  /** free */
46
- GPRAPI void gpr_free(void *ptr);
46
+ GPRAPI void gpr_free(void* ptr);
47
47
  /** realloc, never returns NULL */
48
- GPRAPI void *gpr_realloc(void *p, size_t size);
48
+ GPRAPI void* gpr_realloc(void* p, size_t size);
49
49
  /** aligned malloc, never returns NULL, will align to 1 << alignment_log */
50
- GPRAPI void *gpr_malloc_aligned(size_t size, size_t alignment_log);
50
+ GPRAPI void* gpr_malloc_aligned(size_t size, size_t alignment_log);
51
51
  /** free memory allocated by gpr_malloc_aligned */
52
- GPRAPI void gpr_free_aligned(void *ptr);
52
+ GPRAPI void gpr_free_aligned(void* ptr);
53
53
 
54
54
  /** Request the family of allocation functions in \a functions be used. NOTE
55
55
  * that this request will be honored in a *best effort* basis and that no
@@ -58,7 +58,7 @@ GPRAPI void gpr_free_aligned(void *ptr);
58
58
  GPRAPI void gpr_set_allocation_functions(gpr_allocation_functions functions);
59
59
 
60
60
  /** Return the family of allocation functions currently in effect. */
61
- GPRAPI gpr_allocation_functions gpr_get_allocation_functions();
61
+ GPRAPI gpr_allocation_functions gpr_get_allocation_functions(void);
62
62
 
63
63
  #ifdef __cplusplus
64
64
  }
@@ -21,13 +21,17 @@
21
21
 
22
22
  #include <grpc/support/sync.h>
23
23
 
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
24
28
  /** internal node of an AVL tree */
25
29
  typedef struct gpr_avl_node {
26
30
  gpr_refcount refs;
27
- void *key;
28
- void *value;
29
- struct gpr_avl_node *left;
30
- struct gpr_avl_node *right;
31
+ void* key;
32
+ void* value;
33
+ struct gpr_avl_node* left;
34
+ struct gpr_avl_node* right;
31
35
  long height;
32
36
  } gpr_avl_node;
33
37
 
@@ -38,57 +42,61 @@ typedef struct gpr_avl_node {
38
42
  */
39
43
  typedef struct gpr_avl_vtable {
40
44
  /** destroy a key */
41
- void (*destroy_key)(void *key, void *user_data);
45
+ void (*destroy_key)(void* key, void* user_data);
42
46
  /** copy a key, returning new value */
43
- void *(*copy_key)(void *key, void *user_data);
47
+ void* (*copy_key)(void* key, void* user_data);
44
48
  /** compare key1, key2; return <0 if key1 < key2,
45
49
  >0 if key1 > key2, 0 if key1 == key2 */
46
- long (*compare_keys)(void *key1, void *key2, void *user_data);
50
+ long (*compare_keys)(void* key1, void* key2, void* user_data);
47
51
  /** destroy a value */
48
- void (*destroy_value)(void *value, void *user_data);
52
+ void (*destroy_value)(void* value, void* user_data);
49
53
  /** copy a value */
50
- void *(*copy_value)(void *value, void *user_data);
54
+ void* (*copy_value)(void* value, void* user_data);
51
55
  } gpr_avl_vtable;
52
56
 
53
57
  /** "pointer" to an AVL tree - this is a reference
54
58
  counted object - use gpr_avl_ref to add a reference,
55
59
  gpr_avl_unref when done with a reference */
56
60
  typedef struct gpr_avl {
57
- const gpr_avl_vtable *vtable;
58
- gpr_avl_node *root;
61
+ const gpr_avl_vtable* vtable;
62
+ gpr_avl_node* root;
59
63
  } gpr_avl;
60
64
 
61
65
  /** Create an immutable AVL tree. */
62
- GPRAPI gpr_avl gpr_avl_create(const gpr_avl_vtable *vtable);
66
+ GPRAPI gpr_avl gpr_avl_create(const gpr_avl_vtable* vtable);
63
67
  /** Add a reference to an existing tree - returns
64
68
  the tree as a convenience. The optional user_data will be passed to vtable
65
69
  functions. */
66
- GPRAPI gpr_avl gpr_avl_ref(gpr_avl avl, void *user_data);
70
+ GPRAPI gpr_avl gpr_avl_ref(gpr_avl avl, void* user_data);
67
71
  /** Remove a reference to a tree - destroying it if there
68
72
  are no references left. The optional user_data will be passed to vtable
69
73
  functions. */
70
- GPRAPI void gpr_avl_unref(gpr_avl avl, void *user_data);
74
+ GPRAPI void gpr_avl_unref(gpr_avl avl, void* user_data);
71
75
  /** Return a new tree with (key, value) added to avl.
72
76
  implicitly unrefs avl to allow easy chaining.
73
77
  if key exists in avl, the new tree's key entry updated
74
78
  (i.e. a duplicate is not created). The optional user_data will be passed to
75
79
  vtable functions. */
76
- GPRAPI gpr_avl gpr_avl_add(gpr_avl avl, void *key, void *value,
77
- void *user_data);
80
+ GPRAPI gpr_avl gpr_avl_add(gpr_avl avl, void* key, void* value,
81
+ void* user_data);
78
82
  /** Return a new tree with key deleted
79
83
  implicitly unrefs avl to allow easy chaining. The optional user_data will be
80
84
  passed to vtable functions. */
81
- GPRAPI gpr_avl gpr_avl_remove(gpr_avl avl, void *key, void *user_data);
85
+ GPRAPI gpr_avl gpr_avl_remove(gpr_avl avl, void* key, void* user_data);
82
86
  /** Lookup key, and return the associated value.
83
87
  Does not mutate avl.
84
88
  Returns NULL if key is not found. The optional user_data will be passed to
85
89
  vtable functions.*/
86
- GPRAPI void *gpr_avl_get(gpr_avl avl, void *key, void *user_data);
90
+ GPRAPI void* gpr_avl_get(gpr_avl avl, void* key, void* user_data);
87
91
  /** Return 1 if avl contains key, 0 otherwise; if it has the key, sets *value to
88
92
  its value. THe optional user_data will be passed to vtable functions. */
89
- GPRAPI int gpr_avl_maybe_get(gpr_avl avl, void *key, void **value,
90
- void *user_data);
93
+ GPRAPI int gpr_avl_maybe_get(gpr_avl avl, void* key, void** value,
94
+ void* user_data);
91
95
  /** Return 1 if avl is empty, 0 otherwise */
92
96
  GPRAPI int gpr_avl_is_empty(gpr_avl avl);
93
97
 
98
+ #ifdef __cplusplus
99
+ }
100
+ #endif
101
+
94
102
  #endif /* GRPC_SUPPORT_AVL_H */