grpc 1.0.1 → 1.1.2

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 (705) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +3696 -867
  3. data/etc/roots.pem +39 -111
  4. data/include/grpc/byte_buffer.h +64 -1
  5. data/include/grpc/census.h +40 -96
  6. data/include/grpc/compression.h +2 -1
  7. data/include/grpc/grpc.h +42 -7
  8. data/include/grpc/grpc_posix.h +8 -5
  9. data/include/grpc/impl/codegen/atm.h +3 -0
  10. data/include/grpc/impl/codegen/atm_gcc_atomic.h +2 -0
  11. data/include/grpc/impl/codegen/atm_gcc_sync.h +8 -0
  12. data/include/grpc/impl/codegen/atm_windows.h +4 -0
  13. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -4
  14. data/include/grpc/impl/codegen/compression_types.h +1 -1
  15. data/include/grpc/impl/codegen/connectivity_state.h +2 -0
  16. data/include/grpc/impl/codegen/exec_ctx_fwd.h +41 -0
  17. data/include/grpc/impl/codegen/gpr_slice.h +84 -0
  18. data/include/grpc/impl/codegen/{alloc.h → gpr_types.h} +30 -29
  19. data/include/grpc/impl/codegen/grpc_types.h +91 -9
  20. data/include/grpc/impl/codegen/port_platform.h +25 -92
  21. data/include/grpc/impl/codegen/slice.h +54 -97
  22. data/include/grpc/impl/codegen/sync.h +0 -253
  23. data/include/grpc/module.modulemap +0 -2
  24. data/include/grpc/slice.h +132 -0
  25. data/include/grpc/{impl/codegen/slice_buffer.h → slice_buffer.h} +22 -39
  26. data/include/grpc/support/alloc.h +40 -1
  27. data/include/grpc/support/log.h +80 -1
  28. data/include/grpc/support/log_windows.h +2 -0
  29. data/include/grpc/support/string_util.h +1 -1
  30. data/include/grpc/support/sync.h +252 -0
  31. data/include/grpc/support/time.h +67 -1
  32. data/src/boringssl/err_data.c +639 -627
  33. data/src/core/ext/census/base_resources.c +71 -0
  34. data/src/core/ext/census/base_resources.h +39 -0
  35. data/src/core/ext/census/gen/census.pb.c +26 -29
  36. data/src/core/ext/census/gen/census.pb.h +68 -67
  37. data/src/core/ext/census/gen/trace_context.pb.c +81 -0
  38. data/src/core/ext/census/gen/trace_context.pb.h +99 -0
  39. data/src/core/ext/census/grpc_filter.c +22 -16
  40. data/src/core/ext/census/grpc_plugin.c +2 -1
  41. data/src/core/ext/census/initialize.c +16 -4
  42. data/src/core/ext/census/mlog.h +1 -1
  43. data/src/core/ext/census/placeholders.c +0 -45
  44. data/src/core/ext/census/resource.c +312 -0
  45. data/src/core/ext/census/resource.h +63 -0
  46. data/src/core/ext/census/trace_context.c +86 -0
  47. data/src/core/ext/census/trace_context.h +68 -0
  48. data/src/core/ext/census/tracing.c +8 -2
  49. data/src/core/ext/{client_config → client_channel}/channel_connectivity.c +8 -4
  50. data/src/core/ext/client_channel/client_channel.c +1218 -0
  51. data/src/core/ext/{client_config → client_channel}/client_channel.h +8 -11
  52. data/src/core/ext/{client_config → client_channel}/client_channel_factory.c +33 -3
  53. data/src/core/ext/{client_config → client_channel}/client_channel_factory.h +15 -8
  54. data/src/core/ext/{client_config/client_config_plugin.c → client_channel/client_channel_plugin.c} +16 -15
  55. data/src/core/ext/{client_config → client_channel}/connector.c +1 -1
  56. data/src/core/ext/{client_config → client_channel}/connector.h +5 -8
  57. data/{include/grpc/support/slice_buffer.h → src/core/ext/client_channel/default_initial_connect_string.c} +4 -5
  58. data/src/core/ext/client_channel/http_connect_handshaker.c +399 -0
  59. data/src/core/ext/client_channel/http_connect_handshaker.h +52 -0
  60. data/src/core/ext/{client_config → client_channel}/initial_connect_string.c +6 -7
  61. data/src/core/ext/{client_config → client_channel}/initial_connect_string.h +10 -10
  62. data/src/core/ext/{client_config → client_channel}/lb_policy.c +11 -11
  63. data/src/core/ext/{client_config → client_channel}/lb_policy.h +68 -27
  64. data/src/core/ext/client_channel/lb_policy_factory.c +163 -0
  65. data/src/core/ext/{client_config → client_channel}/lb_policy_factory.h +64 -9
  66. data/src/core/ext/{client_config → client_channel}/lb_policy_registry.c +6 -4
  67. data/src/core/ext/{client_config → client_channel}/lb_policy_registry.h +4 -4
  68. data/src/core/ext/{client_config → client_channel}/parse_address.c +21 -14
  69. data/src/core/ext/{client_config → client_channel}/parse_address.h +8 -10
  70. data/src/core/ext/{client_config → client_channel}/resolver.c +3 -4
  71. data/src/core/ext/{client_config → client_channel}/resolver.h +11 -15
  72. data/src/core/ext/{client_config → client_channel}/resolver_factory.c +4 -3
  73. data/src/core/ext/{client_config → client_channel}/resolver_factory.h +13 -11
  74. data/src/core/ext/{client_config → client_channel}/resolver_registry.c +54 -34
  75. data/src/core/ext/{client_config → client_channel}/resolver_registry.h +21 -8
  76. data/src/core/ext/{client_config → client_channel}/subchannel.c +208 -119
  77. data/src/core/ext/{client_config → client_channel}/subchannel.h +21 -11
  78. data/src/core/ext/{client_config → client_channel}/subchannel_index.c +6 -17
  79. data/src/core/ext/{client_config → client_channel}/subchannel_index.h +7 -7
  80. data/src/core/ext/{client_config → client_channel}/uri_parser.c +21 -28
  81. data/src/core/ext/{client_config → client_channel}/uri_parser.h +3 -3
  82. data/src/core/ext/lb_policy/grpclb/grpclb.c +1406 -0
  83. data/src/core/ext/lb_policy/grpclb/grpclb.h +44 -0
  84. data/src/core/ext/lb_policy/grpclb/load_balancer_api.c +117 -37
  85. data/src/core/ext/lb_policy/grpclb/load_balancer_api.h +31 -12
  86. data/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +6 -36
  87. data/src/core/ext/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +22 -42
  88. data/src/core/ext/lb_policy/pick_first/pick_first.c +64 -46
  89. data/src/core/ext/lb_policy/round_robin/round_robin.c +324 -160
  90. data/src/core/ext/load_reporting/load_reporting.c +7 -56
  91. data/src/core/ext/load_reporting/load_reporting.h +41 -28
  92. data/src/core/ext/load_reporting/load_reporting_filter.c +132 -42
  93. data/src/core/ext/load_reporting/load_reporting_filter.h +1 -0
  94. data/src/core/ext/resolver/dns/native/dns_resolver.c +88 -80
  95. data/src/core/ext/resolver/sockaddr/sockaddr_resolver.c +57 -102
  96. data/src/core/ext/transport/chttp2/alpn/alpn.c +1 -1
  97. data/src/core/ext/transport/chttp2/client/chttp2_connector.c +253 -0
  98. data/src/core/{lib/iomgr/ev_poll_and_epoll_posix.h → ext/transport/chttp2/client/chttp2_connector.h} +5 -5
  99. data/src/core/ext/transport/chttp2/client/insecure/channel_create.c +31 -160
  100. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c +5 -5
  101. data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.c +44 -243
  102. data/src/core/ext/transport/chttp2/server/chttp2_server.c +342 -0
  103. data/src/core/ext/transport/chttp2/server/chttp2_server.h +47 -0
  104. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.c +11 -124
  105. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c +20 -9
  106. data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c +28 -236
  107. data/src/core/ext/transport/chttp2/transport/bin_decoder.c +31 -27
  108. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +5 -4
  109. data/src/core/ext/transport/chttp2/transport/bin_encoder.c +25 -22
  110. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +8 -7
  111. data/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +0 -3
  112. data/src/core/ext/transport/chttp2/transport/chttp2_transport.c +1345 -1521
  113. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -1
  114. data/src/core/ext/transport/chttp2/transport/frame.h +3 -5
  115. data/src/core/ext/transport/chttp2/transport/frame_data.c +50 -47
  116. data/src/core/ext/transport/chttp2/transport/frame_data.h +8 -9
  117. data/src/core/ext/transport/chttp2/transport/frame_goaway.c +19 -21
  118. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +9 -8
  119. data/src/core/ext/transport/chttp2/transport/frame_ping.c +13 -12
  120. data/src/core/ext/transport/chttp2/transport/frame_ping.h +6 -6
  121. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.c +31 -19
  122. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +8 -7
  123. data/src/core/ext/transport/chttp2/transport/frame_settings.c +22 -25
  124. data/src/core/ext/transport/chttp2/transport/frame_settings.h +9 -8
  125. data/src/core/ext/transport/chttp2/transport/frame_window_update.c +26 -18
  126. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +5 -6
  127. data/src/core/ext/transport/chttp2/transport/hpack_encoder.c +68 -58
  128. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -5
  129. data/src/core/ext/transport/chttp2/transport/hpack_parser.c +327 -214
  130. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +14 -9
  131. data/src/core/ext/transport/chttp2/transport/hpack_table.c +24 -19
  132. data/src/core/ext/transport/chttp2/transport/hpack_table.h +9 -6
  133. data/src/core/ext/transport/chttp2/transport/incoming_metadata.c +2 -2
  134. data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +1 -1
  135. data/src/core/ext/transport/chttp2/transport/internal.h +284 -436
  136. data/src/core/ext/transport/chttp2/transport/parsing.c +355 -590
  137. data/src/core/ext/transport/chttp2/transport/stream_lists.c +36 -309
  138. data/src/core/ext/transport/chttp2/transport/stream_map.c +13 -34
  139. data/src/core/ext/transport/chttp2/transport/stream_map.h +3 -4
  140. data/src/core/ext/transport/chttp2/transport/writing.c +174 -286
  141. data/src/core/lib/channel/channel_args.c +70 -13
  142. data/src/core/lib/channel/channel_args.h +28 -2
  143. data/src/core/lib/channel/channel_stack.c +77 -28
  144. data/src/core/lib/channel/channel_stack.h +61 -23
  145. data/src/core/lib/channel/channel_stack_builder.c +33 -25
  146. data/src/core/lib/channel/channel_stack_builder.h +17 -8
  147. data/src/core/lib/channel/compress_filter.c +52 -36
  148. data/src/core/lib/channel/connected_channel.c +20 -12
  149. data/src/core/lib/channel/connected_channel.h +2 -1
  150. data/src/core/lib/channel/context.h +13 -1
  151. data/src/core/lib/channel/deadline_filter.c +344 -0
  152. data/src/core/lib/channel/deadline_filter.h +99 -0
  153. data/src/core/lib/channel/handshaker.c +240 -0
  154. data/src/core/lib/channel/handshaker.h +164 -0
  155. data/src/core/lib/{security/credentials/google_default/credentials_windows.c → channel/handshaker_factory.c} +16 -23
  156. data/src/core/lib/channel/handshaker_factory.h +66 -0
  157. data/src/core/lib/channel/handshaker_registry.c +113 -0
  158. data/src/core/{ext/client_config/client_config.h → lib/channel/handshaker_registry.h} +26 -16
  159. data/src/core/lib/channel/http_client_filter.c +248 -46
  160. data/src/core/lib/channel/http_client_filter.h +3 -0
  161. data/src/core/lib/channel/http_server_filter.c +136 -24
  162. data/src/core/lib/channel/message_size_filter.c +261 -0
  163. data/src/core/lib/channel/message_size_filter.h +39 -0
  164. data/src/core/lib/compression/message_compress.c +43 -37
  165. data/src/core/lib/compression/message_compress.h +7 -5
  166. data/src/core/lib/http/format_request.c +26 -11
  167. data/src/core/lib/http/format_request.h +7 -5
  168. data/src/core/lib/http/httpcli.c +45 -27
  169. data/src/core/lib/http/httpcli.h +4 -4
  170. data/src/core/lib/http/httpcli_security_connector.c +56 -46
  171. data/src/core/lib/http/parser.c +17 -14
  172. data/src/core/lib/http/parser.h +4 -2
  173. data/src/core/lib/iomgr/closure.c +49 -7
  174. data/src/core/lib/iomgr/closure.h +56 -14
  175. data/src/core/lib/iomgr/combiner.c +422 -0
  176. data/src/core/lib/iomgr/combiner.h +64 -0
  177. data/src/core/lib/iomgr/endpoint.c +8 -2
  178. data/src/core/lib/iomgr/endpoint.h +17 -7
  179. data/src/core/lib/iomgr/endpoint_pair.h +3 -2
  180. data/src/core/lib/iomgr/endpoint_pair_posix.c +9 -8
  181. data/src/core/{ext/client_config/lb_policy_factory.c → lib/iomgr/endpoint_pair_uv.c} +18 -13
  182. data/src/core/lib/iomgr/endpoint_pair_windows.c +7 -6
  183. data/src/core/lib/iomgr/error.c +72 -6
  184. data/src/core/lib/iomgr/error.h +30 -3
  185. data/src/core/lib/iomgr/ev_epoll_linux.c +500 -382
  186. data/src/core/lib/iomgr/ev_epoll_linux.h +3 -2
  187. data/src/core/lib/iomgr/ev_poll_posix.c +317 -30
  188. data/src/core/lib/iomgr/ev_poll_posix.h +1 -0
  189. data/src/core/lib/iomgr/ev_posix.c +26 -5
  190. data/src/core/lib/iomgr/ev_posix.h +12 -1
  191. data/src/core/lib/iomgr/exec_ctx.c +27 -94
  192. data/src/core/lib/iomgr/exec_ctx.h +19 -22
  193. data/src/core/lib/iomgr/executor.c +29 -8
  194. data/src/core/lib/iomgr/executor.h +2 -4
  195. data/src/core/lib/iomgr/iocp_windows.c +3 -4
  196. data/src/core/lib/iomgr/iomgr.c +14 -10
  197. data/src/core/lib/iomgr/iomgr.h +6 -2
  198. data/src/core/lib/iomgr/iomgr_posix.c +2 -2
  199. data/src/core/lib/iomgr/iomgr_uv.c +49 -0
  200. data/src/core/lib/iomgr/iomgr_windows.c +2 -2
  201. data/src/core/lib/iomgr/load_file.c +3 -3
  202. data/src/core/lib/iomgr/load_file.h +2 -2
  203. data/src/core/lib/iomgr/network_status_tracker.c +1 -1
  204. data/src/core/lib/iomgr/pollset_set_uv.c +62 -0
  205. data/src/core/lib/iomgr/pollset_set_windows.c +3 -3
  206. data/src/core/lib/iomgr/pollset_uv.c +142 -0
  207. data/src/core/lib/iomgr/pollset_uv.h +42 -0
  208. data/src/core/lib/iomgr/pollset_windows.c +5 -6
  209. data/src/core/lib/iomgr/port.h +129 -0
  210. data/src/core/lib/iomgr/resolve_address.h +2 -1
  211. data/src/core/lib/iomgr/resolve_address_posix.c +14 -13
  212. data/src/core/lib/iomgr/resolve_address_uv.c +233 -0
  213. data/src/core/lib/iomgr/resolve_address_windows.c +14 -12
  214. data/src/core/lib/iomgr/resource_quota.c +832 -0
  215. data/src/core/lib/iomgr/resource_quota.h +159 -0
  216. data/src/core/lib/iomgr/sockaddr.h +10 -2
  217. data/src/core/lib/iomgr/sockaddr_utils.c +63 -36
  218. data/src/core/lib/iomgr/sockaddr_utils.h +14 -14
  219. data/src/core/lib/iomgr/socket_mutator.c +98 -0
  220. data/src/core/lib/iomgr/socket_mutator.h +80 -0
  221. data/src/core/lib/iomgr/socket_utils.h +42 -0
  222. data/src/core/lib/iomgr/socket_utils_common_posix.c +28 -13
  223. data/src/core/lib/iomgr/socket_utils_linux.c +11 -5
  224. data/src/core/lib/iomgr/socket_utils_posix.c +10 -7
  225. data/src/core/lib/iomgr/socket_utils_posix.h +11 -4
  226. data/src/core/lib/iomgr/socket_utils_uv.c +49 -0
  227. data/src/core/lib/iomgr/socket_utils_windows.c +52 -0
  228. data/src/core/lib/iomgr/socket_windows.c +14 -6
  229. data/src/core/lib/iomgr/socket_windows.h +1 -0
  230. data/src/core/lib/iomgr/tcp_client.h +8 -2
  231. data/src/core/lib/iomgr/tcp_client_posix.c +131 -82
  232. data/src/core/lib/iomgr/tcp_client_posix.h +45 -0
  233. data/src/core/lib/iomgr/tcp_client_uv.c +190 -0
  234. data/src/core/lib/iomgr/tcp_client_windows.c +54 -30
  235. data/src/core/lib/iomgr/tcp_posix.c +135 -56
  236. data/src/core/lib/iomgr/tcp_posix.h +2 -2
  237. data/src/core/lib/iomgr/tcp_server.h +14 -6
  238. data/src/core/lib/iomgr/tcp_server_posix.c +154 -118
  239. data/src/core/lib/iomgr/tcp_server_uv.c +388 -0
  240. data/src/core/lib/iomgr/tcp_server_windows.c +127 -100
  241. data/src/core/lib/iomgr/tcp_uv.c +367 -0
  242. data/src/core/lib/iomgr/tcp_uv.h +59 -0
  243. data/src/core/lib/iomgr/tcp_windows.c +65 -48
  244. data/src/core/lib/iomgr/tcp_windows.h +3 -1
  245. data/src/core/lib/iomgr/timer.h +21 -21
  246. data/src/core/lib/iomgr/{timer.c → timer_generic.c} +15 -10
  247. data/src/core/lib/iomgr/timer_generic.h +49 -0
  248. data/src/core/lib/iomgr/timer_heap.c +6 -0
  249. data/src/core/lib/iomgr/timer_uv.c +99 -0
  250. data/src/core/lib/iomgr/timer_uv.h +47 -0
  251. data/src/core/lib/iomgr/udp_server.c +116 -98
  252. data/src/core/lib/iomgr/udp_server.h +5 -3
  253. data/src/core/lib/iomgr/unix_sockets_posix.c +14 -6
  254. data/src/core/lib/iomgr/unix_sockets_posix.h +6 -5
  255. data/src/core/lib/iomgr/unix_sockets_posix_noop.c +4 -4
  256. data/src/core/lib/iomgr/wakeup_fd_cv.c +118 -0
  257. data/src/core/lib/iomgr/wakeup_fd_cv.h +80 -0
  258. data/src/core/lib/iomgr/wakeup_fd_eventfd.c +3 -3
  259. data/src/core/lib/iomgr/wakeup_fd_nospecial.c +3 -3
  260. data/src/core/lib/iomgr/wakeup_fd_pipe.c +12 -6
  261. data/src/core/lib/iomgr/wakeup_fd_posix.c +34 -5
  262. data/src/core/lib/iomgr/wakeup_fd_posix.h +5 -0
  263. data/src/core/lib/iomgr/workqueue.h +12 -20
  264. data/src/core/{ext/client_config/client_config.c → lib/iomgr/workqueue_uv.c} +24 -33
  265. data/{include/grpc/support/slice.h → src/core/lib/iomgr/workqueue_uv.h} +4 -6
  266. data/src/core/lib/iomgr/workqueue_windows.c +9 -8
  267. data/src/core/lib/json/json.c +3 -3
  268. data/src/core/lib/json/json.h +11 -11
  269. data/src/core/lib/json/json_reader.c +9 -5
  270. data/src/core/lib/profiling/basic_timers.c +10 -1
  271. data/src/core/lib/profiling/timers.h +2 -0
  272. data/src/core/lib/security/context/security_context.c +13 -3
  273. data/src/core/lib/security/context/security_context.h +20 -0
  274. data/src/core/lib/security/credentials/composite/composite_credentials.c +28 -14
  275. data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
  276. data/src/core/lib/security/credentials/credentials.c +48 -19
  277. data/src/core/lib/security/credentials/credentials.h +36 -19
  278. data/src/core/lib/security/credentials/credentials_metadata.c +11 -8
  279. data/src/core/lib/security/credentials/fake/fake_credentials.c +15 -11
  280. data/src/core/lib/security/credentials/google_default/{credentials_posix.c → credentials_generic.c} +7 -14
  281. data/src/core/lib/security/credentials/google_default/google_default_credentials.c +33 -21
  282. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +14 -0
  283. data/src/core/lib/security/credentials/iam/iam_credentials.c +3 -2
  284. data/src/core/lib/security/credentials/jwt/json_token.c +1 -0
  285. data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
  286. data/src/core/lib/security/credentials/jwt/jwt_credentials.c +54 -19
  287. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -1
  288. data/src/core/lib/security/credentials/jwt/jwt_verifier.c +129 -79
  289. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +9 -6
  290. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.c +63 -28
  291. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
  292. data/src/core/lib/security/credentials/plugin/plugin_credentials.c +32 -11
  293. data/src/core/lib/security/credentials/ssl/ssl_credentials.c +13 -9
  294. data/src/core/lib/security/transport/client_auth_filter.c +33 -27
  295. data/src/core/lib/security/transport/secure_endpoint.c +93 -68
  296. data/src/core/lib/security/transport/secure_endpoint.h +2 -2
  297. data/src/core/lib/security/transport/security_connector.c +133 -168
  298. data/src/core/lib/security/transport/security_connector.h +31 -46
  299. data/src/core/lib/security/transport/security_handshaker.c +501 -0
  300. data/src/core/lib/security/transport/{handshake.h → security_handshaker.h} +10 -10
  301. data/src/core/lib/security/transport/server_auth_filter.c +50 -38
  302. data/src/core/lib/security/util/b64.c +11 -8
  303. data/src/core/lib/security/util/b64.h +5 -4
  304. data/src/core/lib/slice/percent_encoding.c +182 -0
  305. data/src/core/lib/slice/percent_encoding.h +78 -0
  306. data/src/core/lib/{support → slice}/slice.c +81 -50
  307. data/src/core/lib/{support → slice}/slice_buffer.c +78 -60
  308. data/src/core/lib/slice/slice_internal.h +49 -0
  309. data/src/core/lib/slice/slice_string_helpers.c +90 -0
  310. data/src/core/lib/{iomgr/workqueue_posix.h → slice/slice_string_helpers.h} +18 -18
  311. data/src/core/lib/support/backoff.c +24 -13
  312. data/src/core/lib/support/backoff.h +5 -2
  313. data/src/core/lib/support/env.h +0 -2
  314. data/src/core/lib/support/log.c +5 -4
  315. data/src/core/lib/support/log_linux.c +0 -1
  316. data/src/core/lib/support/log_posix.c +1 -1
  317. data/src/core/lib/support/mpscq.c +83 -0
  318. data/src/core/lib/support/mpscq.h +65 -0
  319. data/src/core/lib/support/string.c +58 -49
  320. data/src/core/lib/support/string.h +11 -8
  321. data/src/core/lib/support/subprocess_posix.c +5 -2
  322. data/src/core/lib/support/thd.c +1 -1
  323. data/src/core/lib/support/time.c +43 -79
  324. data/src/core/lib/support/time_posix.c +1 -1
  325. data/src/core/lib/support/tmpfile.h +0 -2
  326. data/src/core/lib/surface/alarm.c +4 -1
  327. data/src/core/lib/surface/byte_buffer.c +17 -11
  328. data/src/core/lib/surface/byte_buffer_reader.c +23 -15
  329. data/src/core/lib/surface/call.c +294 -276
  330. data/src/core/lib/surface/call.h +24 -9
  331. data/src/core/lib/surface/call_log_batch.c +5 -3
  332. data/src/core/lib/surface/channel.c +127 -111
  333. data/src/core/lib/surface/channel.h +14 -5
  334. data/src/core/lib/surface/channel_init.c +1 -1
  335. data/src/core/lib/surface/channel_init.h +10 -1
  336. data/src/core/lib/surface/channel_ping.c +7 -6
  337. data/src/core/lib/surface/completion_queue.c +154 -18
  338. data/src/core/lib/surface/completion_queue.h +5 -0
  339. data/src/core/lib/surface/init.c +40 -6
  340. data/src/core/lib/surface/init.h +1 -0
  341. data/src/core/lib/surface/init_secure.c +5 -2
  342. data/src/core/lib/surface/lame_client.c +28 -18
  343. data/src/core/lib/surface/server.c +134 -87
  344. data/src/core/lib/surface/server.h +8 -0
  345. data/src/core/lib/surface/validate_metadata.c +1 -1
  346. data/src/core/lib/surface/version.c +3 -1
  347. data/src/core/lib/transport/byte_stream.c +7 -4
  348. data/src/core/lib/transport/byte_stream.h +6 -10
  349. data/src/core/lib/transport/connectivity_state.c +21 -12
  350. data/src/core/lib/transport/connectivity_state.h +4 -1
  351. data/src/core/lib/transport/mdstr_hash_table.c +118 -0
  352. data/src/core/lib/transport/mdstr_hash_table.h +77 -0
  353. data/src/core/lib/transport/metadata.c +83 -60
  354. data/src/core/lib/transport/metadata.h +41 -23
  355. data/src/core/lib/transport/metadata_batch.c +17 -11
  356. data/src/core/lib/transport/metadata_batch.h +20 -6
  357. data/src/core/lib/transport/pid_controller.c +57 -0
  358. data/src/core/lib/transport/pid_controller.h +64 -0
  359. data/src/core/lib/transport/service_config.c +251 -0
  360. data/src/core/lib/transport/service_config.h +71 -0
  361. data/src/core/lib/transport/static_metadata.c +18 -16
  362. data/src/core/lib/transport/static_metadata.h +113 -107
  363. data/src/core/{ext/transport/chttp2 → lib}/transport/timeout_encoding.c +3 -3
  364. data/src/core/{ext/transport/chttp2 → lib}/transport/timeout_encoding.h +7 -7
  365. data/src/core/lib/transport/transport.c +84 -23
  366. data/src/core/lib/transport/transport.h +53 -8
  367. data/src/core/lib/transport/transport_impl.h +3 -0
  368. data/src/core/lib/transport/transport_op_string.c +92 -20
  369. data/src/core/lib/tsi/ssl_transport_security.c +3 -1
  370. data/src/core/plugin_registry/grpc_plugin_registry.c +8 -4
  371. data/src/ruby/ext/grpc/extconf.rb +0 -1
  372. data/src/ruby/ext/grpc/rb_byte_buffer.c +8 -7
  373. data/src/ruby/ext/grpc/rb_call.c +15 -5
  374. data/src/ruby/ext/grpc/rb_channel.c +1 -1
  375. data/src/ruby/ext/grpc/rb_compression_options.c +466 -0
  376. data/src/{core/ext/client_config/default_initial_connect_string.c → ruby/ext/grpc/rb_compression_options.h} +10 -5
  377. data/src/ruby/ext/grpc/rb_grpc.c +3 -1
  378. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +198 -190
  379. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +306 -294
  380. data/src/ruby/ext/grpc/rb_server.c +18 -12
  381. data/src/ruby/lib/grpc/errors.rb +154 -2
  382. data/src/ruby/lib/grpc/generic/active_call.rb +144 -63
  383. data/src/ruby/lib/grpc/generic/bidi_call.rb +18 -2
  384. data/src/ruby/lib/grpc/generic/client_stub.rb +7 -5
  385. data/src/ruby/lib/grpc/generic/rpc_desc.rb +39 -13
  386. data/src/ruby/lib/grpc/generic/rpc_server.rb +51 -24
  387. data/src/ruby/lib/grpc/generic/service.rb +3 -2
  388. data/src/ruby/lib/grpc/version.rb +1 -1
  389. data/src/ruby/pb/grpc/health/checker.rb +3 -1
  390. data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +7 -0
  391. data/src/ruby/pb/test/client.rb +307 -7
  392. data/src/ruby/pb/test/server.rb +26 -1
  393. data/src/ruby/spec/compression_options_spec.rb +164 -0
  394. data/src/ruby/spec/error_sanity_spec.rb +64 -0
  395. data/src/ruby/spec/generic/active_call_spec.rb +290 -12
  396. data/src/ruby/spec/generic/client_stub_spec.rb +91 -41
  397. data/src/ruby/spec/generic/rpc_desc_spec.rb +36 -16
  398. data/src/ruby/spec/generic/rpc_server_pool_spec.rb +22 -28
  399. data/src/ruby/spec/generic/rpc_server_spec.rb +6 -6
  400. data/src/ruby/spec/pb/health/checker_spec.rb +27 -19
  401. data/src/ruby/spec/spec_helper.rb +2 -0
  402. data/third_party/boringssl/crypto/aes/aes.c +12 -12
  403. data/third_party/boringssl/crypto/aes/mode_wrappers.c +6 -2
  404. data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +28 -13
  405. data/third_party/boringssl/crypto/asn1/a_gentm.c +2 -0
  406. data/third_party/boringssl/crypto/asn1/a_object.c +7 -3
  407. data/third_party/boringssl/crypto/asn1/a_strnid.c +1 -0
  408. data/third_party/boringssl/crypto/asn1/a_time.c +0 -11
  409. data/third_party/boringssl/crypto/asn1/a_type.c +0 -2
  410. data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -30
  411. data/third_party/boringssl/crypto/asn1/asn1_lib.c +56 -76
  412. data/third_party/boringssl/crypto/asn1/asn1_locl.h +0 -10
  413. data/third_party/boringssl/crypto/asn1/asn1_par.c +0 -322
  414. data/third_party/boringssl/crypto/asn1/f_enum.c +1 -108
  415. data/third_party/boringssl/crypto/asn1/f_int.c +1 -106
  416. data/third_party/boringssl/crypto/asn1/f_string.c +1 -106
  417. data/third_party/boringssl/crypto/asn1/tasn_dec.c +10 -14
  418. data/third_party/boringssl/crypto/asn1/tasn_enc.c +17 -11
  419. data/third_party/boringssl/crypto/asn1/tasn_typ.c +29 -42
  420. data/third_party/boringssl/crypto/asn1/tasn_utl.c +1 -1
  421. data/third_party/boringssl/crypto/base64/base64.c +249 -285
  422. data/third_party/boringssl/crypto/bio/bio.c +13 -23
  423. data/third_party/boringssl/crypto/bio/bio_mem.c +3 -2
  424. data/third_party/boringssl/crypto/bio/connect.c +12 -3
  425. data/third_party/boringssl/crypto/bio/fd.c +22 -15
  426. data/third_party/boringssl/crypto/bio/file.c +2 -38
  427. data/third_party/boringssl/crypto/bio/hexdump.c +1 -2
  428. data/third_party/boringssl/crypto/bio/internal.h +3 -0
  429. data/third_party/boringssl/crypto/bio/pair.c +1 -1
  430. data/third_party/boringssl/crypto/bio/socket.c +10 -2
  431. data/third_party/boringssl/crypto/bio/socket_helper.c +2 -2
  432. data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -8
  433. data/third_party/boringssl/crypto/bn/bn.c +38 -0
  434. data/third_party/boringssl/crypto/bn/cmp.c +25 -0
  435. data/third_party/boringssl/crypto/bn/convert.c +73 -76
  436. data/third_party/boringssl/crypto/bn/div.c +136 -70
  437. data/third_party/boringssl/crypto/bn/exponentiation.c +86 -381
  438. data/third_party/boringssl/crypto/bn/gcd.c +213 -296
  439. data/third_party/boringssl/crypto/bn/generic.c +0 -80
  440. data/third_party/boringssl/crypto/bn/internal.h +15 -3
  441. data/third_party/boringssl/crypto/bn/montgomery.c +57 -207
  442. data/third_party/boringssl/crypto/bn/montgomery_inv.c +160 -0
  443. data/third_party/boringssl/crypto/bn/mul.c +2 -1
  444. data/third_party/boringssl/crypto/bn/prime.c +24 -8
  445. data/third_party/boringssl/crypto/bn/random.c +47 -33
  446. data/third_party/boringssl/crypto/bn/sqrt.c +4 -5
  447. data/third_party/boringssl/crypto/buf/buf.c +25 -21
  448. data/third_party/boringssl/crypto/bytestring/ber.c +1 -0
  449. data/third_party/boringssl/crypto/bytestring/cbb.c +50 -22
  450. data/third_party/boringssl/crypto/bytestring/cbs.c +28 -4
  451. data/third_party/boringssl/crypto/chacha/{chacha_generic.c → chacha.c} +56 -29
  452. data/third_party/boringssl/crypto/cipher/aead.c +11 -22
  453. data/third_party/boringssl/crypto/cipher/cipher.c +2 -2
  454. data/third_party/boringssl/crypto/cipher/e_aes.c +53 -103
  455. data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +2 -8
  456. data/third_party/boringssl/crypto/cipher/e_des.c +3 -5
  457. data/third_party/boringssl/crypto/cipher/e_null.c +1 -1
  458. data/third_party/boringssl/crypto/cipher/e_rc2.c +1 -1
  459. data/third_party/boringssl/crypto/cipher/e_rc4.c +1 -1
  460. data/third_party/boringssl/crypto/cipher/e_ssl3.c +3 -63
  461. data/third_party/boringssl/crypto/cipher/e_tls.c +12 -83
  462. data/third_party/boringssl/crypto/cipher/internal.h +8 -10
  463. data/third_party/boringssl/crypto/cipher/tls_cbc.c +69 -40
  464. data/third_party/boringssl/crypto/conf/conf.c +2 -1
  465. data/third_party/boringssl/crypto/cpu-aarch64-linux.c +61 -0
  466. data/third_party/boringssl/crypto/cpu-arm-linux.c +360 -0
  467. data/third_party/boringssl/crypto/cpu-arm.c +0 -161
  468. data/third_party/boringssl/crypto/cpu-intel.c +5 -3
  469. data/third_party/boringssl/{ssl/test/scoped_types.h → crypto/cpu-ppc64le.c} +21 -9
  470. data/third_party/boringssl/crypto/crypto.c +29 -7
  471. data/third_party/boringssl/crypto/curve25519/curve25519.c +284 -242
  472. data/third_party/boringssl/crypto/curve25519/internal.h +64 -0
  473. data/third_party/boringssl/crypto/curve25519/spake25519.c +464 -0
  474. data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +21 -0
  475. data/third_party/boringssl/crypto/dh/check.c +22 -6
  476. data/third_party/boringssl/crypto/dh/dh.c +45 -21
  477. data/third_party/boringssl/crypto/dh/dh_asn1.c +96 -20
  478. data/third_party/boringssl/crypto/dh/params.c +30 -78
  479. data/third_party/boringssl/crypto/digest/digest.c +3 -3
  480. data/third_party/boringssl/crypto/dsa/dsa.c +59 -29
  481. data/third_party/boringssl/crypto/dsa/dsa_asn1.c +4 -0
  482. data/third_party/boringssl/crypto/ec/ec.c +84 -140
  483. data/third_party/boringssl/crypto/ec/ec_asn1.c +82 -52
  484. data/third_party/boringssl/crypto/ec/ec_key.c +15 -15
  485. data/third_party/boringssl/crypto/ec/ec_montgomery.c +87 -50
  486. data/third_party/boringssl/crypto/ec/internal.h +12 -36
  487. data/third_party/boringssl/crypto/ec/oct.c +11 -11
  488. data/third_party/boringssl/crypto/ec/p224-64.c +59 -116
  489. data/third_party/boringssl/crypto/ec/p256-64.c +88 -163
  490. data/third_party/boringssl/crypto/ec/p256-x86_64.c +46 -58
  491. data/third_party/boringssl/crypto/ec/simple.c +81 -201
  492. data/third_party/boringssl/crypto/ec/util-64.c +0 -74
  493. data/third_party/boringssl/crypto/ecdh/ecdh.c +7 -1
  494. data/third_party/boringssl/crypto/ecdsa/ecdsa.c +28 -46
  495. data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +1 -0
  496. data/third_party/boringssl/crypto/engine/engine.c +1 -1
  497. data/third_party/boringssl/crypto/err/err.c +3 -3
  498. data/third_party/boringssl/crypto/evp/evp.c +14 -59
  499. data/third_party/boringssl/crypto/evp/evp_asn1.c +144 -87
  500. data/third_party/boringssl/crypto/evp/evp_ctx.c +7 -7
  501. data/third_party/boringssl/crypto/evp/internal.h +4 -46
  502. data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +8 -157
  503. data/third_party/boringssl/crypto/evp/p_ec.c +1 -1
  504. data/third_party/boringssl/crypto/evp/p_ec_asn1.c +22 -170
  505. data/third_party/boringssl/crypto/evp/p_rsa.c +1 -1
  506. data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +10 -548
  507. data/third_party/boringssl/crypto/evp/print.c +520 -0
  508. data/third_party/boringssl/crypto/ex_data.c +4 -6
  509. data/third_party/boringssl/crypto/hkdf/hkdf.c +38 -17
  510. data/third_party/boringssl/crypto/hmac/hmac.c +6 -6
  511. data/third_party/boringssl/crypto/internal.h +57 -77
  512. data/third_party/boringssl/crypto/lhash/lhash.c +6 -10
  513. data/third_party/boringssl/crypto/md4/md4.c +9 -0
  514. data/third_party/boringssl/crypto/mem.c +19 -19
  515. data/third_party/boringssl/crypto/modes/cfb.c +5 -6
  516. data/third_party/boringssl/crypto/modes/ctr.c +10 -18
  517. data/third_party/boringssl/crypto/modes/gcm.c +100 -66
  518. data/third_party/boringssl/crypto/modes/internal.h +15 -27
  519. data/third_party/boringssl/crypto/modes/ofb.c +9 -22
  520. data/third_party/boringssl/crypto/newhope/error_correction.c +131 -0
  521. data/third_party/boringssl/crypto/newhope/internal.h +71 -0
  522. data/third_party/boringssl/crypto/newhope/newhope.c +174 -0
  523. data/third_party/boringssl/crypto/newhope/ntt.c +148 -0
  524. data/third_party/boringssl/crypto/newhope/poly.c +183 -0
  525. data/third_party/boringssl/crypto/newhope/precomp.c +306 -0
  526. data/third_party/boringssl/crypto/newhope/reduce.c +42 -0
  527. data/third_party/boringssl/crypto/obj/obj.c +111 -135
  528. data/third_party/boringssl/crypto/obj/obj_dat.h +4 -10
  529. data/third_party/boringssl/crypto/pem/pem_lib.c +6 -43
  530. data/third_party/boringssl/crypto/pem/pem_pkey.c +10 -19
  531. data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +1 -0
  532. data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +2 -1
  533. data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +2 -2
  534. data/third_party/boringssl/crypto/pkcs8/pkcs8.c +95 -87
  535. data/third_party/boringssl/crypto/{test/test_util.h → poly1305/internal.h} +15 -10
  536. data/third_party/boringssl/crypto/poly1305/poly1305.c +8 -15
  537. data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +1 -0
  538. data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +3 -3
  539. data/third_party/boringssl/crypto/rand/deterministic.c +47 -0
  540. data/third_party/boringssl/crypto/rand/rand.c +4 -1
  541. data/third_party/boringssl/crypto/rand/urandom.c +5 -7
  542. data/third_party/boringssl/crypto/rand/windows.c +5 -8
  543. data/third_party/boringssl/crypto/rc4/rc4.c +24 -209
  544. data/third_party/boringssl/crypto/refcount_lock.c +2 -2
  545. data/third_party/boringssl/crypto/rsa/blinding.c +74 -232
  546. data/third_party/boringssl/crypto/rsa/internal.h +5 -13
  547. data/third_party/boringssl/crypto/rsa/padding.c +64 -63
  548. data/third_party/boringssl/crypto/rsa/rsa.c +50 -28
  549. data/third_party/boringssl/crypto/rsa/rsa_asn1.c +8 -16
  550. data/third_party/boringssl/crypto/rsa/rsa_impl.c +134 -122
  551. data/third_party/boringssl/crypto/sha/sha256.c +2 -2
  552. data/third_party/boringssl/crypto/sha/sha512.c +7 -7
  553. data/third_party/boringssl/crypto/stack/stack.c +13 -22
  554. data/third_party/boringssl/crypto/thread.c +21 -12
  555. data/third_party/boringssl/crypto/thread_none.c +6 -2
  556. data/third_party/boringssl/crypto/thread_pthread.c +16 -7
  557. data/third_party/boringssl/crypto/thread_win.c +38 -85
  558. data/third_party/boringssl/crypto/x509/a_sign.c +3 -3
  559. data/third_party/boringssl/crypto/x509/a_strex.c +1 -1
  560. data/third_party/boringssl/crypto/x509/a_verify.c +2 -2
  561. data/third_party/boringssl/crypto/{evp → x509}/algorithm.c +37 -53
  562. data/third_party/boringssl/crypto/x509/asn1_gen.c +1 -2
  563. data/third_party/boringssl/crypto/x509/by_dir.c +6 -6
  564. data/third_party/boringssl/crypto/x509/internal.h +66 -0
  565. data/third_party/boringssl/crypto/x509/rsa_pss.c +385 -0
  566. data/third_party/boringssl/crypto/x509/t_x509.c +10 -12
  567. data/third_party/boringssl/crypto/x509/x509.c +5 -0
  568. data/third_party/boringssl/crypto/x509/x509_att.c +9 -3
  569. data/third_party/boringssl/crypto/x509/x509_lu.c +34 -44
  570. data/third_party/boringssl/crypto/x509/x509_obj.c +19 -2
  571. data/third_party/boringssl/crypto/x509/x509_r2x.c +9 -5
  572. data/third_party/boringssl/crypto/x509/x509_set.c +5 -0
  573. data/third_party/boringssl/crypto/x509/x509_txt.c +5 -0
  574. data/third_party/boringssl/crypto/x509/x509_vfy.c +63 -32
  575. data/third_party/boringssl/crypto/x509/x509_vpm.c +29 -18
  576. data/third_party/boringssl/crypto/x509/x509cset.c +2 -1
  577. data/third_party/boringssl/crypto/x509/x_crl.c +2 -2
  578. data/third_party/boringssl/crypto/x509/x_name.c +14 -17
  579. data/third_party/boringssl/crypto/x509/x_pubkey.c +10 -7
  580. data/third_party/boringssl/crypto/x509/x_x509.c +67 -6
  581. data/third_party/boringssl/crypto/x509v3/pcy_cache.c +2 -2
  582. data/third_party/boringssl/crypto/x509v3/pcy_tree.c +2 -1
  583. data/third_party/boringssl/crypto/x509v3/v3_conf.c +4 -3
  584. data/third_party/boringssl/crypto/x509v3/v3_cpols.c +5 -0
  585. data/third_party/boringssl/crypto/x509v3/v3_prn.c +0 -3
  586. data/third_party/boringssl/crypto/x509v3/v3_purp.c +2 -2
  587. data/third_party/boringssl/crypto/x509v3/v3_utl.c +2 -1
  588. data/third_party/boringssl/include/openssl/aead.h +72 -73
  589. data/third_party/boringssl/include/openssl/arm_arch.h +0 -6
  590. data/third_party/boringssl/include/openssl/asn1.h +103 -235
  591. data/third_party/boringssl/include/openssl/asn1_mac.h +17 -74
  592. data/third_party/boringssl/include/openssl/asn1t.h +1 -11
  593. data/third_party/boringssl/include/openssl/base.h +145 -3
  594. data/third_party/boringssl/include/openssl/base64.h +20 -17
  595. data/third_party/boringssl/include/openssl/bio.h +59 -34
  596. data/third_party/boringssl/include/openssl/bn.h +118 -51
  597. data/third_party/boringssl/include/openssl/buf.h +15 -0
  598. data/third_party/boringssl/include/openssl/bytestring.h +52 -4
  599. data/third_party/boringssl/include/openssl/chacha.h +2 -2
  600. data/third_party/boringssl/include/openssl/cipher.h +18 -1
  601. data/third_party/boringssl/include/openssl/cmac.h +11 -0
  602. data/third_party/boringssl/include/openssl/conf.h +13 -2
  603. data/third_party/boringssl/include/openssl/cpu.h +20 -23
  604. data/third_party/boringssl/include/openssl/crypto.h +22 -1
  605. data/third_party/boringssl/include/openssl/curve25519.h +96 -4
  606. data/third_party/boringssl/include/openssl/dh.h +71 -16
  607. data/third_party/boringssl/include/openssl/digest.h +38 -11
  608. data/third_party/boringssl/include/openssl/dsa.h +40 -4
  609. data/third_party/boringssl/include/openssl/ec.h +44 -18
  610. data/third_party/boringssl/include/openssl/ec_key.h +27 -6
  611. data/third_party/boringssl/include/openssl/ecdsa.h +11 -0
  612. data/third_party/boringssl/include/openssl/engine.h +11 -0
  613. data/third_party/boringssl/include/openssl/evp.h +52 -88
  614. data/third_party/boringssl/include/openssl/hkdf.h +24 -4
  615. data/third_party/boringssl/include/openssl/hmac.h +20 -6
  616. data/third_party/boringssl/include/openssl/md4.h +4 -0
  617. data/third_party/boringssl/include/openssl/mem.h +19 -0
  618. data/third_party/boringssl/include/openssl/newhope.h +158 -0
  619. data/third_party/boringssl/include/openssl/nid.h +4166 -0
  620. data/third_party/boringssl/include/openssl/obj.h +31 -3
  621. data/third_party/boringssl/include/openssl/obj_mac.h +17 -4143
  622. data/third_party/boringssl/include/openssl/{opensslfeatures.h → opensslconf.h} +3 -3
  623. data/third_party/boringssl/include/openssl/pem.h +5 -0
  624. data/third_party/boringssl/include/openssl/pkcs8.h +12 -0
  625. data/third_party/boringssl/include/openssl/rand.h +6 -0
  626. data/third_party/boringssl/include/openssl/rc4.h +6 -0
  627. data/third_party/boringssl/{crypto/dh/internal.h → include/openssl/ripemd.h} +38 -11
  628. data/third_party/boringssl/include/openssl/rsa.h +127 -65
  629. data/third_party/boringssl/include/openssl/sha.h +14 -10
  630. data/third_party/boringssl/include/openssl/ssl.h +561 -275
  631. data/third_party/boringssl/include/openssl/ssl3.h +18 -25
  632. data/third_party/boringssl/include/openssl/stack.h +2 -4
  633. data/third_party/boringssl/include/openssl/stack_macros.h +321 -353
  634. data/third_party/boringssl/include/openssl/thread.h +31 -13
  635. data/third_party/boringssl/include/openssl/time_support.h +1 -0
  636. data/third_party/boringssl/include/openssl/tls1.h +37 -33
  637. data/third_party/boringssl/include/openssl/x509.h +69 -26
  638. data/third_party/boringssl/include/openssl/x509_vfy.h +12 -10
  639. data/third_party/boringssl/include/openssl/x509v3.h +23 -2
  640. data/third_party/boringssl/ssl/custom_extensions.c +3 -5
  641. data/third_party/boringssl/ssl/d1_both.c +463 -499
  642. data/third_party/boringssl/ssl/d1_lib.c +38 -109
  643. data/third_party/boringssl/ssl/d1_pkt.c +173 -334
  644. data/third_party/boringssl/ssl/d1_srtp.c +20 -18
  645. data/third_party/boringssl/ssl/{d1_meth.c → dtls_method.c} +88 -15
  646. data/third_party/boringssl/ssl/dtls_record.c +27 -26
  647. data/third_party/boringssl/ssl/{s3_clnt.c → handshake_client.c} +816 -904
  648. data/third_party/boringssl/ssl/handshake_server.c +1932 -0
  649. data/third_party/boringssl/ssl/internal.h +712 -439
  650. data/third_party/boringssl/ssl/s3_both.c +445 -257
  651. data/third_party/boringssl/ssl/s3_enc.c +53 -36
  652. data/third_party/boringssl/ssl/s3_lib.c +23 -268
  653. data/third_party/boringssl/ssl/s3_pkt.c +168 -364
  654. data/third_party/boringssl/ssl/ssl_aead_ctx.c +46 -17
  655. data/third_party/boringssl/ssl/ssl_asn1.c +56 -26
  656. data/third_party/boringssl/ssl/ssl_buffer.c +16 -24
  657. data/third_party/boringssl/ssl/ssl_cert.c +324 -49
  658. data/third_party/boringssl/ssl/ssl_cipher.c +205 -150
  659. data/third_party/boringssl/ssl/ssl_ecdh.c +287 -51
  660. data/third_party/boringssl/ssl/ssl_file.c +21 -68
  661. data/third_party/boringssl/ssl/ssl_lib.c +881 -510
  662. data/third_party/boringssl/ssl/ssl_rsa.c +404 -34
  663. data/third_party/boringssl/ssl/ssl_session.c +324 -103
  664. data/third_party/boringssl/ssl/ssl_stat.c +6 -88
  665. data/third_party/boringssl/ssl/t1_enc.c +23 -39
  666. data/third_party/boringssl/ssl/t1_lib.c +1120 -622
  667. data/third_party/boringssl/ssl/tls13_both.c +440 -0
  668. data/third_party/boringssl/ssl/tls13_client.c +682 -0
  669. data/third_party/boringssl/ssl/tls13_enc.c +391 -0
  670. data/third_party/boringssl/ssl/tls13_server.c +672 -0
  671. data/third_party/boringssl/ssl/{s3_meth.c → tls_method.c} +100 -21
  672. data/third_party/boringssl/ssl/tls_record.c +159 -77
  673. data/third_party/nanopb/pb.h +60 -28
  674. data/third_party/nanopb/pb_decode.c +120 -92
  675. data/third_party/nanopb/pb_decode.h +3 -3
  676. data/third_party/nanopb/pb_encode.c +73 -67
  677. data/third_party/nanopb/pb_encode.h +4 -4
  678. metadata +155 -89
  679. data/include/grpc/impl/codegen/byte_buffer.h +0 -122
  680. data/include/grpc/impl/codegen/log.h +0 -118
  681. data/include/grpc/impl/codegen/time.h +0 -130
  682. data/src/core/ext/client_config/client_channel.c +0 -593
  683. data/src/core/ext/client_config/subchannel_call_holder.c +0 -272
  684. data/src/core/ext/client_config/subchannel_call_holder.h +0 -99
  685. data/src/core/lib/iomgr/ev_poll_and_epoll_posix.c +0 -2046
  686. data/src/core/lib/iomgr/workqueue_posix.c +0 -151
  687. data/src/core/lib/security/transport/handshake.c +0 -368
  688. data/third_party/boringssl/crypto/asn1/a_bytes.c +0 -308
  689. data/third_party/boringssl/crypto/asn1/bio_asn1.c +0 -477
  690. data/third_party/boringssl/crypto/asn1/bio_ndef.c +0 -251
  691. data/third_party/boringssl/crypto/asn1/t_pkey.c +0 -110
  692. data/third_party/boringssl/crypto/asn1/tasn_prn.c +0 -596
  693. data/third_party/boringssl/crypto/chacha/chacha_vec.c +0 -328
  694. data/third_party/boringssl/crypto/directory.h +0 -66
  695. data/third_party/boringssl/crypto/directory_posix.c +0 -108
  696. data/third_party/boringssl/crypto/directory_win.c +0 -144
  697. data/third_party/boringssl/crypto/test/scoped_types.h +0 -140
  698. data/third_party/boringssl/include/openssl/pqueue.h +0 -146
  699. data/third_party/boringssl/ssl/d1_clnt.c +0 -561
  700. data/third_party/boringssl/ssl/d1_srvr.c +0 -476
  701. data/third_party/boringssl/ssl/pqueue/pqueue.c +0 -197
  702. data/third_party/boringssl/ssl/s3_srvr.c +0 -2272
  703. data/third_party/boringssl/ssl/test/async_bio.h +0 -45
  704. data/third_party/boringssl/ssl/test/packeted_bio.h +0 -44
  705. data/third_party/boringssl/ssl/test/test_config.h +0 -110
@@ -40,28 +40,58 @@
40
40
 
41
41
  #include <windows.h>
42
42
 
43
+ #include <grpc/byte_buffer.h>
43
44
  #include <grpc/census.h>
44
45
  #include <grpc/compression.h>
45
46
  #include <grpc/grpc.h>
46
47
  #include <grpc/grpc_posix.h>
47
48
  #include <grpc/grpc_security.h>
48
- #include <grpc/impl/codegen/alloc.h>
49
- #include <grpc/impl/codegen/byte_buffer.h>
50
- #include <grpc/impl/codegen/log.h>
51
- #include <grpc/impl/codegen/slice.h>
52
- #include <grpc/impl/codegen/slice_buffer.h>
53
- #include <grpc/impl/codegen/sync.h>
54
- #include <grpc/impl/codegen/time.h>
49
+ #include <grpc/slice.h>
50
+ #include <grpc/slice_buffer.h>
51
+ #include <grpc/support/alloc.h>
55
52
  #include <grpc/support/avl.h>
56
53
  #include <grpc/support/cmdline.h>
57
54
  #include <grpc/support/cpu.h>
58
55
  #include <grpc/support/histogram.h>
59
56
  #include <grpc/support/host_port.h>
57
+ #include <grpc/support/log.h>
60
58
  #include <grpc/support/log_windows.h>
61
59
  #include <grpc/support/string_util.h>
62
60
  #include <grpc/support/subprocess.h>
61
+ #include <grpc/support/sync.h>
63
62
  #include <grpc/support/thd.h>
63
+ #include <grpc/support/time.h>
64
64
 
65
+ typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_create_type)(grpc_slice *slices, size_t nslices);
66
+ extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
67
+ #define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
68
+ typedef grpc_byte_buffer *(*grpc_raw_compressed_byte_buffer_create_type)(grpc_slice *slices, size_t nslices, grpc_compression_algorithm compression);
69
+ extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
70
+ #define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
71
+ typedef grpc_byte_buffer *(*grpc_byte_buffer_copy_type)(grpc_byte_buffer *bb);
72
+ extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
73
+ #define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
74
+ typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer *bb);
75
+ extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
76
+ #define grpc_byte_buffer_length grpc_byte_buffer_length_import
77
+ typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer *byte_buffer);
78
+ extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
79
+ #define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
80
+ typedef int(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer);
81
+ extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
82
+ #define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
83
+ typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader *reader);
84
+ extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
85
+ #define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
86
+ typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader *reader, grpc_slice *slice);
87
+ extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
88
+ #define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
89
+ typedef grpc_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader *reader);
90
+ extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
91
+ #define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
92
+ typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader *reader);
93
+ extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
94
+ #define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
65
95
  typedef int(*census_initialize_type)(int features);
66
96
  extern census_initialize_type census_initialize_import;
67
97
  #define census_initialize census_initialize_import
@@ -134,33 +164,18 @@ extern census_get_trace_record_type census_get_trace_record_import;
134
164
  typedef void(*census_trace_scan_end_type)();
135
165
  extern census_trace_scan_end_type census_trace_scan_end_import;
136
166
  #define census_trace_scan_end census_trace_scan_end_import
167
+ typedef int32_t(*census_define_resource_type)(const uint8_t *resource_pb, size_t resource_pb_size);
168
+ extern census_define_resource_type census_define_resource_import;
169
+ #define census_define_resource census_define_resource_import
170
+ typedef void(*census_delete_resource_type)(int32_t resource_id);
171
+ extern census_delete_resource_type census_delete_resource_import;
172
+ #define census_delete_resource census_delete_resource_import
173
+ typedef int32_t(*census_resource_id_type)(const char *name);
174
+ extern census_resource_id_type census_resource_id_import;
175
+ #define census_resource_id census_resource_id_import
137
176
  typedef void(*census_record_values_type)(census_context *context, census_value *values, size_t nvalues);
138
177
  extern census_record_values_type census_record_values_import;
139
178
  #define census_record_values census_record_values_import
140
- typedef census_view *(*census_view_create_type)(uint32_t metric_id, const census_context *tags, const census_aggregation *aggregations, size_t naggregations);
141
- extern census_view_create_type census_view_create_import;
142
- #define census_view_create census_view_create_import
143
- typedef void(*census_view_delete_type)(census_view *view);
144
- extern census_view_delete_type census_view_delete_import;
145
- #define census_view_delete census_view_delete_import
146
- typedef size_t(*census_view_metric_type)(const census_view *view);
147
- extern census_view_metric_type census_view_metric_import;
148
- #define census_view_metric census_view_metric_import
149
- typedef size_t(*census_view_naggregations_type)(const census_view *view);
150
- extern census_view_naggregations_type census_view_naggregations_import;
151
- #define census_view_naggregations census_view_naggregations_import
152
- typedef const census_context *(*census_view_tags_type)(const census_view *view);
153
- extern census_view_tags_type census_view_tags_import;
154
- #define census_view_tags census_view_tags_import
155
- typedef const census_aggregation *(*census_view_aggregrations_type)(const census_view *view);
156
- extern census_view_aggregrations_type census_view_aggregrations_import;
157
- #define census_view_aggregrations census_view_aggregrations_import
158
- typedef const census_view_data *(*census_view_get_data_type)(const census_view *view);
159
- extern census_view_get_data_type census_view_get_data_import;
160
- #define census_view_get_data census_view_get_data_import
161
- typedef void(*census_view_reset_type)(census_view *view);
162
- extern census_view_reset_type census_view_reset_import;
163
- #define census_view_reset census_view_reset_import
164
179
  typedef int(*grpc_compression_algorithm_parse_type)(const char *name, size_t name_length, grpc_compression_algorithm *algorithm);
165
180
  extern grpc_compression_algorithm_parse_type grpc_compression_algorithm_parse_import;
166
181
  #define grpc_compression_algorithm_parse grpc_compression_algorithm_parse_import
@@ -206,6 +221,9 @@ extern grpc_shutdown_type grpc_shutdown_import;
206
221
  typedef const char *(*grpc_version_string_type)(void);
207
222
  extern grpc_version_string_type grpc_version_string_import;
208
223
  #define grpc_version_string grpc_version_string_import
224
+ typedef const char *(*grpc_g_stands_for_type)(void);
225
+ extern grpc_g_stands_for_type grpc_g_stands_for_import;
226
+ #define grpc_g_stands_for grpc_g_stands_for_import
209
227
  typedef grpc_completion_queue *(*grpc_completion_queue_create_type)(void *reserved);
210
228
  extern grpc_completion_queue_create_type grpc_completion_queue_create_import;
211
229
  #define grpc_completion_queue_create grpc_completion_queue_create_import
@@ -263,6 +281,9 @@ extern grpc_census_call_get_context_type grpc_census_call_get_context_import;
263
281
  typedef char *(*grpc_channel_get_target_type)(grpc_channel *channel);
264
282
  extern grpc_channel_get_target_type grpc_channel_get_target_import;
265
283
  #define grpc_channel_get_target grpc_channel_get_target_import
284
+ typedef void(*grpc_channel_get_info_type)(grpc_channel *channel, const grpc_channel_info *channel_info);
285
+ extern grpc_channel_get_info_type grpc_channel_get_info_import;
286
+ #define grpc_channel_get_info grpc_channel_get_info_import
266
287
  typedef grpc_channel *(*grpc_insecure_channel_create_type)(const char *target, const grpc_channel_args *args, void *reserved);
267
288
  extern grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
268
289
  #define grpc_insecure_channel_create grpc_insecure_channel_create_import
@@ -329,10 +350,25 @@ extern grpc_is_binary_header_type grpc_is_binary_header_import;
329
350
  typedef const char *(*grpc_call_error_to_string_type)(grpc_call_error error);
330
351
  extern grpc_call_error_to_string_type grpc_call_error_to_string_import;
331
352
  #define grpc_call_error_to_string grpc_call_error_to_string_import
353
+ typedef grpc_resource_quota *(*grpc_resource_quota_create_type)(const char *trace_name);
354
+ extern grpc_resource_quota_create_type grpc_resource_quota_create_import;
355
+ #define grpc_resource_quota_create grpc_resource_quota_create_import
356
+ typedef void(*grpc_resource_quota_ref_type)(grpc_resource_quota *resource_quota);
357
+ extern grpc_resource_quota_ref_type grpc_resource_quota_ref_import;
358
+ #define grpc_resource_quota_ref grpc_resource_quota_ref_import
359
+ typedef void(*grpc_resource_quota_unref_type)(grpc_resource_quota *resource_quota);
360
+ extern grpc_resource_quota_unref_type grpc_resource_quota_unref_import;
361
+ #define grpc_resource_quota_unref grpc_resource_quota_unref_import
362
+ typedef void(*grpc_resource_quota_resize_type)(grpc_resource_quota *resource_quota, size_t new_size);
363
+ extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
364
+ #define grpc_resource_quota_resize grpc_resource_quota_resize_import
365
+ typedef const grpc_arg_pointer_vtable *(*grpc_resource_quota_arg_vtable_type)(void);
366
+ extern grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import;
367
+ #define grpc_resource_quota_arg_vtable grpc_resource_quota_arg_vtable_import
332
368
  typedef grpc_channel *(*grpc_insecure_channel_create_from_fd_type)(const char *target, int fd, const grpc_channel_args *args);
333
369
  extern grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
334
370
  #define grpc_insecure_channel_create_from_fd grpc_insecure_channel_create_from_fd_import
335
- typedef void(*grpc_server_add_insecure_channel_from_fd_type)(grpc_server *server, grpc_completion_queue *cq, int fd);
371
+ typedef void(*grpc_server_add_insecure_channel_from_fd_type)(grpc_server *server, void *reserved, int fd);
336
372
  extern grpc_server_add_insecure_channel_from_fd_type grpc_server_add_insecure_channel_from_fd_import;
337
373
  #define grpc_server_add_insecure_channel_from_fd grpc_server_add_insecure_channel_from_fd_import
338
374
  typedef void(*grpc_use_signal_type)(int signum);
@@ -434,6 +470,96 @@ extern grpc_call_set_credentials_type grpc_call_set_credentials_import;
434
470
  typedef void(*grpc_server_credentials_set_auth_metadata_processor_type)(grpc_server_credentials *creds, grpc_auth_metadata_processor processor);
435
471
  extern grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
436
472
  #define grpc_server_credentials_set_auth_metadata_processor grpc_server_credentials_set_auth_metadata_processor_import
473
+ typedef grpc_slice(*grpc_slice_ref_type)(grpc_slice s);
474
+ extern grpc_slice_ref_type grpc_slice_ref_import;
475
+ #define grpc_slice_ref grpc_slice_ref_import
476
+ typedef void(*grpc_slice_unref_type)(grpc_slice s);
477
+ extern grpc_slice_unref_type grpc_slice_unref_import;
478
+ #define grpc_slice_unref grpc_slice_unref_import
479
+ typedef grpc_slice(*grpc_slice_new_type)(void *p, size_t len, void (*destroy)(void *));
480
+ extern grpc_slice_new_type grpc_slice_new_import;
481
+ #define grpc_slice_new grpc_slice_new_import
482
+ typedef grpc_slice(*grpc_slice_new_with_user_data_type)(void *p, size_t len, void (*destroy)(void *), void *user_data);
483
+ extern grpc_slice_new_with_user_data_type grpc_slice_new_with_user_data_import;
484
+ #define grpc_slice_new_with_user_data grpc_slice_new_with_user_data_import
485
+ typedef grpc_slice(*grpc_slice_new_with_len_type)(void *p, size_t len, void (*destroy)(void *, size_t));
486
+ extern grpc_slice_new_with_len_type grpc_slice_new_with_len_import;
487
+ #define grpc_slice_new_with_len grpc_slice_new_with_len_import
488
+ typedef grpc_slice(*grpc_slice_malloc_type)(size_t length);
489
+ extern grpc_slice_malloc_type grpc_slice_malloc_import;
490
+ #define grpc_slice_malloc grpc_slice_malloc_import
491
+ typedef grpc_slice(*grpc_slice_from_copied_string_type)(const char *source);
492
+ extern grpc_slice_from_copied_string_type grpc_slice_from_copied_string_import;
493
+ #define grpc_slice_from_copied_string grpc_slice_from_copied_string_import
494
+ typedef grpc_slice(*grpc_slice_from_copied_buffer_type)(const char *source, size_t len);
495
+ extern grpc_slice_from_copied_buffer_type grpc_slice_from_copied_buffer_import;
496
+ #define grpc_slice_from_copied_buffer grpc_slice_from_copied_buffer_import
497
+ typedef grpc_slice(*grpc_slice_from_static_string_type)(const char *source);
498
+ extern grpc_slice_from_static_string_type grpc_slice_from_static_string_import;
499
+ #define grpc_slice_from_static_string grpc_slice_from_static_string_import
500
+ typedef grpc_slice(*grpc_slice_sub_type)(grpc_slice s, size_t begin, size_t end);
501
+ extern grpc_slice_sub_type grpc_slice_sub_import;
502
+ #define grpc_slice_sub grpc_slice_sub_import
503
+ typedef grpc_slice(*grpc_slice_sub_no_ref_type)(grpc_slice s, size_t begin, size_t end);
504
+ extern grpc_slice_sub_no_ref_type grpc_slice_sub_no_ref_import;
505
+ #define grpc_slice_sub_no_ref grpc_slice_sub_no_ref_import
506
+ typedef grpc_slice(*grpc_slice_split_tail_type)(grpc_slice *s, size_t split);
507
+ extern grpc_slice_split_tail_type grpc_slice_split_tail_import;
508
+ #define grpc_slice_split_tail grpc_slice_split_tail_import
509
+ typedef grpc_slice(*grpc_slice_split_head_type)(grpc_slice *s, size_t split);
510
+ extern grpc_slice_split_head_type grpc_slice_split_head_import;
511
+ #define grpc_slice_split_head grpc_slice_split_head_import
512
+ typedef grpc_slice(*gpr_empty_slice_type)(void);
513
+ extern gpr_empty_slice_type gpr_empty_slice_import;
514
+ #define gpr_empty_slice gpr_empty_slice_import
515
+ typedef int(*grpc_slice_cmp_type)(grpc_slice a, grpc_slice b);
516
+ extern grpc_slice_cmp_type grpc_slice_cmp_import;
517
+ #define grpc_slice_cmp grpc_slice_cmp_import
518
+ typedef int(*grpc_slice_str_cmp_type)(grpc_slice a, const char *b);
519
+ extern grpc_slice_str_cmp_type grpc_slice_str_cmp_import;
520
+ #define grpc_slice_str_cmp grpc_slice_str_cmp_import
521
+ typedef int(*grpc_slice_is_equivalent_type)(grpc_slice a, grpc_slice b);
522
+ extern grpc_slice_is_equivalent_type grpc_slice_is_equivalent_import;
523
+ #define grpc_slice_is_equivalent grpc_slice_is_equivalent_import
524
+ typedef void(*grpc_slice_buffer_init_type)(grpc_slice_buffer *sb);
525
+ extern grpc_slice_buffer_init_type grpc_slice_buffer_init_import;
526
+ #define grpc_slice_buffer_init grpc_slice_buffer_init_import
527
+ typedef void(*grpc_slice_buffer_destroy_type)(grpc_slice_buffer *sb);
528
+ extern grpc_slice_buffer_destroy_type grpc_slice_buffer_destroy_import;
529
+ #define grpc_slice_buffer_destroy grpc_slice_buffer_destroy_import
530
+ typedef void(*grpc_slice_buffer_add_type)(grpc_slice_buffer *sb, grpc_slice slice);
531
+ extern grpc_slice_buffer_add_type grpc_slice_buffer_add_import;
532
+ #define grpc_slice_buffer_add grpc_slice_buffer_add_import
533
+ typedef size_t(*grpc_slice_buffer_add_indexed_type)(grpc_slice_buffer *sb, grpc_slice slice);
534
+ extern grpc_slice_buffer_add_indexed_type grpc_slice_buffer_add_indexed_import;
535
+ #define grpc_slice_buffer_add_indexed grpc_slice_buffer_add_indexed_import
536
+ typedef void(*grpc_slice_buffer_addn_type)(grpc_slice_buffer *sb, grpc_slice *slices, size_t n);
537
+ extern grpc_slice_buffer_addn_type grpc_slice_buffer_addn_import;
538
+ #define grpc_slice_buffer_addn grpc_slice_buffer_addn_import
539
+ typedef uint8_t *(*grpc_slice_buffer_tiny_add_type)(grpc_slice_buffer *sb, size_t len);
540
+ extern grpc_slice_buffer_tiny_add_type grpc_slice_buffer_tiny_add_import;
541
+ #define grpc_slice_buffer_tiny_add grpc_slice_buffer_tiny_add_import
542
+ typedef void(*grpc_slice_buffer_pop_type)(grpc_slice_buffer *sb);
543
+ extern grpc_slice_buffer_pop_type grpc_slice_buffer_pop_import;
544
+ #define grpc_slice_buffer_pop grpc_slice_buffer_pop_import
545
+ typedef void(*grpc_slice_buffer_reset_and_unref_type)(grpc_slice_buffer *sb);
546
+ extern grpc_slice_buffer_reset_and_unref_type grpc_slice_buffer_reset_and_unref_import;
547
+ #define grpc_slice_buffer_reset_and_unref grpc_slice_buffer_reset_and_unref_import
548
+ typedef void(*grpc_slice_buffer_swap_type)(grpc_slice_buffer *a, grpc_slice_buffer *b);
549
+ extern grpc_slice_buffer_swap_type grpc_slice_buffer_swap_import;
550
+ #define grpc_slice_buffer_swap grpc_slice_buffer_swap_import
551
+ typedef void(*grpc_slice_buffer_move_into_type)(grpc_slice_buffer *src, grpc_slice_buffer *dst);
552
+ extern grpc_slice_buffer_move_into_type grpc_slice_buffer_move_into_import;
553
+ #define grpc_slice_buffer_move_into grpc_slice_buffer_move_into_import
554
+ typedef void(*grpc_slice_buffer_trim_end_type)(grpc_slice_buffer *src, size_t n, grpc_slice_buffer *garbage);
555
+ extern grpc_slice_buffer_trim_end_type grpc_slice_buffer_trim_end_import;
556
+ #define grpc_slice_buffer_trim_end grpc_slice_buffer_trim_end_import
557
+ typedef void(*grpc_slice_buffer_move_first_type)(grpc_slice_buffer *src, size_t n, grpc_slice_buffer *dst);
558
+ extern grpc_slice_buffer_move_first_type grpc_slice_buffer_move_first_import;
559
+ #define grpc_slice_buffer_move_first grpc_slice_buffer_move_first_import
560
+ typedef grpc_slice(*grpc_slice_buffer_take_first_type)(grpc_slice_buffer *src);
561
+ extern grpc_slice_buffer_take_first_type grpc_slice_buffer_take_first_import;
562
+ #define grpc_slice_buffer_take_first grpc_slice_buffer_take_first_import
437
563
  typedef void *(*gpr_malloc_type)(size_t size);
438
564
  extern gpr_malloc_type gpr_malloc_import;
439
565
  #define gpr_malloc gpr_malloc_import
@@ -455,267 +581,6 @@ extern gpr_set_allocation_functions_type gpr_set_allocation_functions_import;
455
581
  typedef gpr_allocation_functions(*gpr_get_allocation_functions_type)();
456
582
  extern gpr_get_allocation_functions_type gpr_get_allocation_functions_import;
457
583
  #define gpr_get_allocation_functions gpr_get_allocation_functions_import
458
- typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_create_type)(gpr_slice *slices, size_t nslices);
459
- extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
460
- #define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
461
- typedef grpc_byte_buffer *(*grpc_raw_compressed_byte_buffer_create_type)(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression);
462
- extern grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
463
- #define grpc_raw_compressed_byte_buffer_create grpc_raw_compressed_byte_buffer_create_import
464
- typedef grpc_byte_buffer *(*grpc_byte_buffer_copy_type)(grpc_byte_buffer *bb);
465
- extern grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
466
- #define grpc_byte_buffer_copy grpc_byte_buffer_copy_import
467
- typedef size_t(*grpc_byte_buffer_length_type)(grpc_byte_buffer *bb);
468
- extern grpc_byte_buffer_length_type grpc_byte_buffer_length_import;
469
- #define grpc_byte_buffer_length grpc_byte_buffer_length_import
470
- typedef void(*grpc_byte_buffer_destroy_type)(grpc_byte_buffer *byte_buffer);
471
- extern grpc_byte_buffer_destroy_type grpc_byte_buffer_destroy_import;
472
- #define grpc_byte_buffer_destroy grpc_byte_buffer_destroy_import
473
- typedef int(*grpc_byte_buffer_reader_init_type)(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer);
474
- extern grpc_byte_buffer_reader_init_type grpc_byte_buffer_reader_init_import;
475
- #define grpc_byte_buffer_reader_init grpc_byte_buffer_reader_init_import
476
- typedef void(*grpc_byte_buffer_reader_destroy_type)(grpc_byte_buffer_reader *reader);
477
- extern grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
478
- #define grpc_byte_buffer_reader_destroy grpc_byte_buffer_reader_destroy_import
479
- typedef int(*grpc_byte_buffer_reader_next_type)(grpc_byte_buffer_reader *reader, gpr_slice *slice);
480
- extern grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
481
- #define grpc_byte_buffer_reader_next grpc_byte_buffer_reader_next_import
482
- typedef gpr_slice(*grpc_byte_buffer_reader_readall_type)(grpc_byte_buffer_reader *reader);
483
- extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
484
- #define grpc_byte_buffer_reader_readall grpc_byte_buffer_reader_readall_import
485
- typedef grpc_byte_buffer *(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader *reader);
486
- extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
487
- #define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
488
- typedef void(*gpr_log_type)(const char *file, int line, gpr_log_severity severity, const char *format, ...) GPRC_PRINT_FORMAT_CHECK(4, 5);
489
- extern gpr_log_type gpr_log_import;
490
- #define gpr_log gpr_log_import
491
- typedef void(*gpr_log_message_type)(const char *file, int line, gpr_log_severity severity, const char *message);
492
- extern gpr_log_message_type gpr_log_message_import;
493
- #define gpr_log_message gpr_log_message_import
494
- typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
495
- extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
496
- #define gpr_set_log_verbosity gpr_set_log_verbosity_import
497
- typedef void(*gpr_log_verbosity_init_type)();
498
- extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
499
- #define gpr_log_verbosity_init gpr_log_verbosity_init_import
500
- typedef void(*gpr_set_log_function_type)(gpr_log_func func);
501
- extern gpr_set_log_function_type gpr_set_log_function_import;
502
- #define gpr_set_log_function gpr_set_log_function_import
503
- typedef gpr_slice(*gpr_slice_ref_type)(gpr_slice s);
504
- extern gpr_slice_ref_type gpr_slice_ref_import;
505
- #define gpr_slice_ref gpr_slice_ref_import
506
- typedef void(*gpr_slice_unref_type)(gpr_slice s);
507
- extern gpr_slice_unref_type gpr_slice_unref_import;
508
- #define gpr_slice_unref gpr_slice_unref_import
509
- typedef gpr_slice(*gpr_slice_new_type)(void *p, size_t len, void (*destroy)(void *));
510
- extern gpr_slice_new_type gpr_slice_new_import;
511
- #define gpr_slice_new gpr_slice_new_import
512
- typedef gpr_slice(*gpr_slice_new_with_len_type)(void *p, size_t len, void (*destroy)(void *, size_t));
513
- extern gpr_slice_new_with_len_type gpr_slice_new_with_len_import;
514
- #define gpr_slice_new_with_len gpr_slice_new_with_len_import
515
- typedef gpr_slice(*gpr_slice_malloc_type)(size_t length);
516
- extern gpr_slice_malloc_type gpr_slice_malloc_import;
517
- #define gpr_slice_malloc gpr_slice_malloc_import
518
- typedef gpr_slice(*gpr_slice_from_copied_string_type)(const char *source);
519
- extern gpr_slice_from_copied_string_type gpr_slice_from_copied_string_import;
520
- #define gpr_slice_from_copied_string gpr_slice_from_copied_string_import
521
- typedef gpr_slice(*gpr_slice_from_copied_buffer_type)(const char *source, size_t len);
522
- extern gpr_slice_from_copied_buffer_type gpr_slice_from_copied_buffer_import;
523
- #define gpr_slice_from_copied_buffer gpr_slice_from_copied_buffer_import
524
- typedef gpr_slice(*gpr_slice_from_static_string_type)(const char *source);
525
- extern gpr_slice_from_static_string_type gpr_slice_from_static_string_import;
526
- #define gpr_slice_from_static_string gpr_slice_from_static_string_import
527
- typedef gpr_slice(*gpr_slice_sub_type)(gpr_slice s, size_t begin, size_t end);
528
- extern gpr_slice_sub_type gpr_slice_sub_import;
529
- #define gpr_slice_sub gpr_slice_sub_import
530
- typedef gpr_slice(*gpr_slice_sub_no_ref_type)(gpr_slice s, size_t begin, size_t end);
531
- extern gpr_slice_sub_no_ref_type gpr_slice_sub_no_ref_import;
532
- #define gpr_slice_sub_no_ref gpr_slice_sub_no_ref_import
533
- typedef gpr_slice(*gpr_slice_split_tail_type)(gpr_slice *s, size_t split);
534
- extern gpr_slice_split_tail_type gpr_slice_split_tail_import;
535
- #define gpr_slice_split_tail gpr_slice_split_tail_import
536
- typedef gpr_slice(*gpr_slice_split_head_type)(gpr_slice *s, size_t split);
537
- extern gpr_slice_split_head_type gpr_slice_split_head_import;
538
- #define gpr_slice_split_head gpr_slice_split_head_import
539
- typedef gpr_slice(*gpr_empty_slice_type)(void);
540
- extern gpr_empty_slice_type gpr_empty_slice_import;
541
- #define gpr_empty_slice gpr_empty_slice_import
542
- typedef int(*gpr_slice_cmp_type)(gpr_slice a, gpr_slice b);
543
- extern gpr_slice_cmp_type gpr_slice_cmp_import;
544
- #define gpr_slice_cmp gpr_slice_cmp_import
545
- typedef int(*gpr_slice_str_cmp_type)(gpr_slice a, const char *b);
546
- extern gpr_slice_str_cmp_type gpr_slice_str_cmp_import;
547
- #define gpr_slice_str_cmp gpr_slice_str_cmp_import
548
- typedef void(*gpr_slice_buffer_init_type)(gpr_slice_buffer *sb);
549
- extern gpr_slice_buffer_init_type gpr_slice_buffer_init_import;
550
- #define gpr_slice_buffer_init gpr_slice_buffer_init_import
551
- typedef void(*gpr_slice_buffer_destroy_type)(gpr_slice_buffer *sb);
552
- extern gpr_slice_buffer_destroy_type gpr_slice_buffer_destroy_import;
553
- #define gpr_slice_buffer_destroy gpr_slice_buffer_destroy_import
554
- typedef void(*gpr_slice_buffer_add_type)(gpr_slice_buffer *sb, gpr_slice slice);
555
- extern gpr_slice_buffer_add_type gpr_slice_buffer_add_import;
556
- #define gpr_slice_buffer_add gpr_slice_buffer_add_import
557
- typedef size_t(*gpr_slice_buffer_add_indexed_type)(gpr_slice_buffer *sb, gpr_slice slice);
558
- extern gpr_slice_buffer_add_indexed_type gpr_slice_buffer_add_indexed_import;
559
- #define gpr_slice_buffer_add_indexed gpr_slice_buffer_add_indexed_import
560
- typedef void(*gpr_slice_buffer_addn_type)(gpr_slice_buffer *sb, gpr_slice *slices, size_t n);
561
- extern gpr_slice_buffer_addn_type gpr_slice_buffer_addn_import;
562
- #define gpr_slice_buffer_addn gpr_slice_buffer_addn_import
563
- typedef uint8_t *(*gpr_slice_buffer_tiny_add_type)(gpr_slice_buffer *sb, size_t len);
564
- extern gpr_slice_buffer_tiny_add_type gpr_slice_buffer_tiny_add_import;
565
- #define gpr_slice_buffer_tiny_add gpr_slice_buffer_tiny_add_import
566
- typedef void(*gpr_slice_buffer_pop_type)(gpr_slice_buffer *sb);
567
- extern gpr_slice_buffer_pop_type gpr_slice_buffer_pop_import;
568
- #define gpr_slice_buffer_pop gpr_slice_buffer_pop_import
569
- typedef void(*gpr_slice_buffer_reset_and_unref_type)(gpr_slice_buffer *sb);
570
- extern gpr_slice_buffer_reset_and_unref_type gpr_slice_buffer_reset_and_unref_import;
571
- #define gpr_slice_buffer_reset_and_unref gpr_slice_buffer_reset_and_unref_import
572
- typedef void(*gpr_slice_buffer_swap_type)(gpr_slice_buffer *a, gpr_slice_buffer *b);
573
- extern gpr_slice_buffer_swap_type gpr_slice_buffer_swap_import;
574
- #define gpr_slice_buffer_swap gpr_slice_buffer_swap_import
575
- typedef void(*gpr_slice_buffer_move_into_type)(gpr_slice_buffer *src, gpr_slice_buffer *dst);
576
- extern gpr_slice_buffer_move_into_type gpr_slice_buffer_move_into_import;
577
- #define gpr_slice_buffer_move_into gpr_slice_buffer_move_into_import
578
- typedef void(*gpr_slice_buffer_trim_end_type)(gpr_slice_buffer *src, size_t n, gpr_slice_buffer *garbage);
579
- extern gpr_slice_buffer_trim_end_type gpr_slice_buffer_trim_end_import;
580
- #define gpr_slice_buffer_trim_end gpr_slice_buffer_trim_end_import
581
- typedef void(*gpr_slice_buffer_move_first_type)(gpr_slice_buffer *src, size_t n, gpr_slice_buffer *dst);
582
- extern gpr_slice_buffer_move_first_type gpr_slice_buffer_move_first_import;
583
- #define gpr_slice_buffer_move_first gpr_slice_buffer_move_first_import
584
- typedef gpr_slice(*gpr_slice_buffer_take_first_type)(gpr_slice_buffer *src);
585
- extern gpr_slice_buffer_take_first_type gpr_slice_buffer_take_first_import;
586
- #define gpr_slice_buffer_take_first gpr_slice_buffer_take_first_import
587
- typedef void(*gpr_mu_init_type)(gpr_mu *mu);
588
- extern gpr_mu_init_type gpr_mu_init_import;
589
- #define gpr_mu_init gpr_mu_init_import
590
- typedef void(*gpr_mu_destroy_type)(gpr_mu *mu);
591
- extern gpr_mu_destroy_type gpr_mu_destroy_import;
592
- #define gpr_mu_destroy gpr_mu_destroy_import
593
- typedef void(*gpr_mu_lock_type)(gpr_mu *mu);
594
- extern gpr_mu_lock_type gpr_mu_lock_import;
595
- #define gpr_mu_lock gpr_mu_lock_import
596
- typedef void(*gpr_mu_unlock_type)(gpr_mu *mu);
597
- extern gpr_mu_unlock_type gpr_mu_unlock_import;
598
- #define gpr_mu_unlock gpr_mu_unlock_import
599
- typedef int(*gpr_mu_trylock_type)(gpr_mu *mu);
600
- extern gpr_mu_trylock_type gpr_mu_trylock_import;
601
- #define gpr_mu_trylock gpr_mu_trylock_import
602
- typedef void(*gpr_cv_init_type)(gpr_cv *cv);
603
- extern gpr_cv_init_type gpr_cv_init_import;
604
- #define gpr_cv_init gpr_cv_init_import
605
- typedef void(*gpr_cv_destroy_type)(gpr_cv *cv);
606
- extern gpr_cv_destroy_type gpr_cv_destroy_import;
607
- #define gpr_cv_destroy gpr_cv_destroy_import
608
- typedef int(*gpr_cv_wait_type)(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline);
609
- extern gpr_cv_wait_type gpr_cv_wait_import;
610
- #define gpr_cv_wait gpr_cv_wait_import
611
- typedef void(*gpr_cv_signal_type)(gpr_cv *cv);
612
- extern gpr_cv_signal_type gpr_cv_signal_import;
613
- #define gpr_cv_signal gpr_cv_signal_import
614
- typedef void(*gpr_cv_broadcast_type)(gpr_cv *cv);
615
- extern gpr_cv_broadcast_type gpr_cv_broadcast_import;
616
- #define gpr_cv_broadcast gpr_cv_broadcast_import
617
- typedef void(*gpr_once_init_type)(gpr_once *once, void (*init_routine)(void));
618
- extern gpr_once_init_type gpr_once_init_import;
619
- #define gpr_once_init gpr_once_init_import
620
- typedef void(*gpr_event_init_type)(gpr_event *ev);
621
- extern gpr_event_init_type gpr_event_init_import;
622
- #define gpr_event_init gpr_event_init_import
623
- typedef void(*gpr_event_set_type)(gpr_event *ev, void *value);
624
- extern gpr_event_set_type gpr_event_set_import;
625
- #define gpr_event_set gpr_event_set_import
626
- typedef void *(*gpr_event_get_type)(gpr_event *ev);
627
- extern gpr_event_get_type gpr_event_get_import;
628
- #define gpr_event_get gpr_event_get_import
629
- typedef void *(*gpr_event_wait_type)(gpr_event *ev, gpr_timespec abs_deadline);
630
- extern gpr_event_wait_type gpr_event_wait_import;
631
- #define gpr_event_wait gpr_event_wait_import
632
- typedef void(*gpr_ref_init_type)(gpr_refcount *r, int n);
633
- extern gpr_ref_init_type gpr_ref_init_import;
634
- #define gpr_ref_init gpr_ref_init_import
635
- typedef void(*gpr_ref_type)(gpr_refcount *r);
636
- extern gpr_ref_type gpr_ref_import;
637
- #define gpr_ref gpr_ref_import
638
- typedef void(*gpr_ref_non_zero_type)(gpr_refcount *r);
639
- extern gpr_ref_non_zero_type gpr_ref_non_zero_import;
640
- #define gpr_ref_non_zero gpr_ref_non_zero_import
641
- typedef void(*gpr_refn_type)(gpr_refcount *r, int n);
642
- extern gpr_refn_type gpr_refn_import;
643
- #define gpr_refn gpr_refn_import
644
- typedef int(*gpr_unref_type)(gpr_refcount *r);
645
- extern gpr_unref_type gpr_unref_import;
646
- #define gpr_unref gpr_unref_import
647
- typedef void(*gpr_stats_init_type)(gpr_stats_counter *c, intptr_t n);
648
- extern gpr_stats_init_type gpr_stats_init_import;
649
- #define gpr_stats_init gpr_stats_init_import
650
- typedef void(*gpr_stats_inc_type)(gpr_stats_counter *c, intptr_t inc);
651
- extern gpr_stats_inc_type gpr_stats_inc_import;
652
- #define gpr_stats_inc gpr_stats_inc_import
653
- typedef intptr_t(*gpr_stats_read_type)(const gpr_stats_counter *c);
654
- extern gpr_stats_read_type gpr_stats_read_import;
655
- #define gpr_stats_read gpr_stats_read_import
656
- typedef gpr_timespec(*gpr_time_0_type)(gpr_clock_type type);
657
- extern gpr_time_0_type gpr_time_0_import;
658
- #define gpr_time_0 gpr_time_0_import
659
- typedef gpr_timespec(*gpr_inf_future_type)(gpr_clock_type type);
660
- extern gpr_inf_future_type gpr_inf_future_import;
661
- #define gpr_inf_future gpr_inf_future_import
662
- typedef gpr_timespec(*gpr_inf_past_type)(gpr_clock_type type);
663
- extern gpr_inf_past_type gpr_inf_past_import;
664
- #define gpr_inf_past gpr_inf_past_import
665
- typedef void(*gpr_time_init_type)(void);
666
- extern gpr_time_init_type gpr_time_init_import;
667
- #define gpr_time_init gpr_time_init_import
668
- typedef gpr_timespec(*gpr_now_type)(gpr_clock_type clock);
669
- extern gpr_now_type gpr_now_import;
670
- #define gpr_now gpr_now_import
671
- typedef gpr_timespec(*gpr_convert_clock_type_type)(gpr_timespec t, gpr_clock_type target_clock);
672
- extern gpr_convert_clock_type_type gpr_convert_clock_type_import;
673
- #define gpr_convert_clock_type gpr_convert_clock_type_import
674
- typedef int(*gpr_time_cmp_type)(gpr_timespec a, gpr_timespec b);
675
- extern gpr_time_cmp_type gpr_time_cmp_import;
676
- #define gpr_time_cmp gpr_time_cmp_import
677
- typedef gpr_timespec(*gpr_time_max_type)(gpr_timespec a, gpr_timespec b);
678
- extern gpr_time_max_type gpr_time_max_import;
679
- #define gpr_time_max gpr_time_max_import
680
- typedef gpr_timespec(*gpr_time_min_type)(gpr_timespec a, gpr_timespec b);
681
- extern gpr_time_min_type gpr_time_min_import;
682
- #define gpr_time_min gpr_time_min_import
683
- typedef gpr_timespec(*gpr_time_add_type)(gpr_timespec a, gpr_timespec b);
684
- extern gpr_time_add_type gpr_time_add_import;
685
- #define gpr_time_add gpr_time_add_import
686
- typedef gpr_timespec(*gpr_time_sub_type)(gpr_timespec a, gpr_timespec b);
687
- extern gpr_time_sub_type gpr_time_sub_import;
688
- #define gpr_time_sub gpr_time_sub_import
689
- typedef gpr_timespec(*gpr_time_from_micros_type)(int64_t x, gpr_clock_type clock_type);
690
- extern gpr_time_from_micros_type gpr_time_from_micros_import;
691
- #define gpr_time_from_micros gpr_time_from_micros_import
692
- typedef gpr_timespec(*gpr_time_from_nanos_type)(int64_t x, gpr_clock_type clock_type);
693
- extern gpr_time_from_nanos_type gpr_time_from_nanos_import;
694
- #define gpr_time_from_nanos gpr_time_from_nanos_import
695
- typedef gpr_timespec(*gpr_time_from_millis_type)(int64_t x, gpr_clock_type clock_type);
696
- extern gpr_time_from_millis_type gpr_time_from_millis_import;
697
- #define gpr_time_from_millis gpr_time_from_millis_import
698
- typedef gpr_timespec(*gpr_time_from_seconds_type)(int64_t x, gpr_clock_type clock_type);
699
- extern gpr_time_from_seconds_type gpr_time_from_seconds_import;
700
- #define gpr_time_from_seconds gpr_time_from_seconds_import
701
- typedef gpr_timespec(*gpr_time_from_minutes_type)(int64_t x, gpr_clock_type clock_type);
702
- extern gpr_time_from_minutes_type gpr_time_from_minutes_import;
703
- #define gpr_time_from_minutes gpr_time_from_minutes_import
704
- typedef gpr_timespec(*gpr_time_from_hours_type)(int64_t x, gpr_clock_type clock_type);
705
- extern gpr_time_from_hours_type gpr_time_from_hours_import;
706
- #define gpr_time_from_hours gpr_time_from_hours_import
707
- typedef int32_t(*gpr_time_to_millis_type)(gpr_timespec timespec);
708
- extern gpr_time_to_millis_type gpr_time_to_millis_import;
709
- #define gpr_time_to_millis gpr_time_to_millis_import
710
- typedef int(*gpr_time_similar_type)(gpr_timespec a, gpr_timespec b, gpr_timespec threshold);
711
- extern gpr_time_similar_type gpr_time_similar_import;
712
- #define gpr_time_similar gpr_time_similar_import
713
- typedef void(*gpr_sleep_until_type)(gpr_timespec until);
714
- extern gpr_sleep_until_type gpr_sleep_until_import;
715
- #define gpr_sleep_until gpr_sleep_until_import
716
- typedef double(*gpr_timespec_to_micros_type)(gpr_timespec t);
717
- extern gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
718
- #define gpr_timespec_to_micros gpr_timespec_to_micros_import
719
584
  typedef gpr_avl(*gpr_avl_create_type)(const gpr_avl_vtable *vtable);
720
585
  extern gpr_avl_create_type gpr_avl_create_import;
721
586
  #define gpr_avl_create gpr_avl_create_import
@@ -824,13 +689,28 @@ extern gpr_join_host_port_type gpr_join_host_port_import;
824
689
  typedef int(*gpr_split_host_port_type)(const char *name, char **host, char **port);
825
690
  extern gpr_split_host_port_type gpr_split_host_port_import;
826
691
  #define gpr_split_host_port gpr_split_host_port_import
692
+ typedef void(*gpr_log_type)(const char *file, int line, gpr_log_severity severity, const char *format, ...) GPR_PRINT_FORMAT_CHECK(4, 5);
693
+ extern gpr_log_type gpr_log_import;
694
+ #define gpr_log gpr_log_import
695
+ typedef void(*gpr_log_message_type)(const char *file, int line, gpr_log_severity severity, const char *message);
696
+ extern gpr_log_message_type gpr_log_message_import;
697
+ #define gpr_log_message gpr_log_message_import
698
+ typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
699
+ extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
700
+ #define gpr_set_log_verbosity gpr_set_log_verbosity_import
701
+ typedef void(*gpr_log_verbosity_init_type)();
702
+ extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
703
+ #define gpr_log_verbosity_init gpr_log_verbosity_init_import
704
+ typedef void(*gpr_set_log_function_type)(gpr_log_func func);
705
+ extern gpr_set_log_function_type gpr_set_log_function_import;
706
+ #define gpr_set_log_function gpr_set_log_function_import
827
707
  typedef char *(*gpr_format_message_type)(int messageid);
828
708
  extern gpr_format_message_type gpr_format_message_import;
829
709
  #define gpr_format_message gpr_format_message_import
830
710
  typedef char *(*gpr_strdup_type)(const char *src);
831
711
  extern gpr_strdup_type gpr_strdup_import;
832
712
  #define gpr_strdup gpr_strdup_import
833
- typedef int(*gpr_asprintf_type)(char **strp, const char *format, ...) GPRC_PRINT_FORMAT_CHECK(2, 3);
713
+ typedef int(*gpr_asprintf_type)(char **strp, const char *format, ...) GPR_PRINT_FORMAT_CHECK(2, 3);
834
714
  extern gpr_asprintf_type gpr_asprintf_import;
835
715
  #define gpr_asprintf gpr_asprintf_import
836
716
  typedef const char *(*gpr_subprocess_binary_extension_type)();
@@ -848,6 +728,75 @@ extern gpr_subprocess_join_type gpr_subprocess_join_import;
848
728
  typedef void(*gpr_subprocess_interrupt_type)(gpr_subprocess *p);
849
729
  extern gpr_subprocess_interrupt_type gpr_subprocess_interrupt_import;
850
730
  #define gpr_subprocess_interrupt gpr_subprocess_interrupt_import
731
+ typedef void(*gpr_mu_init_type)(gpr_mu *mu);
732
+ extern gpr_mu_init_type gpr_mu_init_import;
733
+ #define gpr_mu_init gpr_mu_init_import
734
+ typedef void(*gpr_mu_destroy_type)(gpr_mu *mu);
735
+ extern gpr_mu_destroy_type gpr_mu_destroy_import;
736
+ #define gpr_mu_destroy gpr_mu_destroy_import
737
+ typedef void(*gpr_mu_lock_type)(gpr_mu *mu);
738
+ extern gpr_mu_lock_type gpr_mu_lock_import;
739
+ #define gpr_mu_lock gpr_mu_lock_import
740
+ typedef void(*gpr_mu_unlock_type)(gpr_mu *mu);
741
+ extern gpr_mu_unlock_type gpr_mu_unlock_import;
742
+ #define gpr_mu_unlock gpr_mu_unlock_import
743
+ typedef int(*gpr_mu_trylock_type)(gpr_mu *mu);
744
+ extern gpr_mu_trylock_type gpr_mu_trylock_import;
745
+ #define gpr_mu_trylock gpr_mu_trylock_import
746
+ typedef void(*gpr_cv_init_type)(gpr_cv *cv);
747
+ extern gpr_cv_init_type gpr_cv_init_import;
748
+ #define gpr_cv_init gpr_cv_init_import
749
+ typedef void(*gpr_cv_destroy_type)(gpr_cv *cv);
750
+ extern gpr_cv_destroy_type gpr_cv_destroy_import;
751
+ #define gpr_cv_destroy gpr_cv_destroy_import
752
+ typedef int(*gpr_cv_wait_type)(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline);
753
+ extern gpr_cv_wait_type gpr_cv_wait_import;
754
+ #define gpr_cv_wait gpr_cv_wait_import
755
+ typedef void(*gpr_cv_signal_type)(gpr_cv *cv);
756
+ extern gpr_cv_signal_type gpr_cv_signal_import;
757
+ #define gpr_cv_signal gpr_cv_signal_import
758
+ typedef void(*gpr_cv_broadcast_type)(gpr_cv *cv);
759
+ extern gpr_cv_broadcast_type gpr_cv_broadcast_import;
760
+ #define gpr_cv_broadcast gpr_cv_broadcast_import
761
+ typedef void(*gpr_once_init_type)(gpr_once *once, void (*init_routine)(void));
762
+ extern gpr_once_init_type gpr_once_init_import;
763
+ #define gpr_once_init gpr_once_init_import
764
+ typedef void(*gpr_event_init_type)(gpr_event *ev);
765
+ extern gpr_event_init_type gpr_event_init_import;
766
+ #define gpr_event_init gpr_event_init_import
767
+ typedef void(*gpr_event_set_type)(gpr_event *ev, void *value);
768
+ extern gpr_event_set_type gpr_event_set_import;
769
+ #define gpr_event_set gpr_event_set_import
770
+ typedef void *(*gpr_event_get_type)(gpr_event *ev);
771
+ extern gpr_event_get_type gpr_event_get_import;
772
+ #define gpr_event_get gpr_event_get_import
773
+ typedef void *(*gpr_event_wait_type)(gpr_event *ev, gpr_timespec abs_deadline);
774
+ extern gpr_event_wait_type gpr_event_wait_import;
775
+ #define gpr_event_wait gpr_event_wait_import
776
+ typedef void(*gpr_ref_init_type)(gpr_refcount *r, int n);
777
+ extern gpr_ref_init_type gpr_ref_init_import;
778
+ #define gpr_ref_init gpr_ref_init_import
779
+ typedef void(*gpr_ref_type)(gpr_refcount *r);
780
+ extern gpr_ref_type gpr_ref_import;
781
+ #define gpr_ref gpr_ref_import
782
+ typedef void(*gpr_ref_non_zero_type)(gpr_refcount *r);
783
+ extern gpr_ref_non_zero_type gpr_ref_non_zero_import;
784
+ #define gpr_ref_non_zero gpr_ref_non_zero_import
785
+ typedef void(*gpr_refn_type)(gpr_refcount *r, int n);
786
+ extern gpr_refn_type gpr_refn_import;
787
+ #define gpr_refn gpr_refn_import
788
+ typedef int(*gpr_unref_type)(gpr_refcount *r);
789
+ extern gpr_unref_type gpr_unref_import;
790
+ #define gpr_unref gpr_unref_import
791
+ typedef void(*gpr_stats_init_type)(gpr_stats_counter *c, intptr_t n);
792
+ extern gpr_stats_init_type gpr_stats_init_import;
793
+ #define gpr_stats_init gpr_stats_init_import
794
+ typedef void(*gpr_stats_inc_type)(gpr_stats_counter *c, intptr_t inc);
795
+ extern gpr_stats_inc_type gpr_stats_inc_import;
796
+ #define gpr_stats_inc gpr_stats_inc_import
797
+ typedef intptr_t(*gpr_stats_read_type)(const gpr_stats_counter *c);
798
+ extern gpr_stats_read_type gpr_stats_read_import;
799
+ #define gpr_stats_read gpr_stats_read_import
851
800
  typedef int(*gpr_thd_new_type)(gpr_thd_id *t, void (*thd_body)(void *arg), void *arg, const gpr_thd_options *options);
852
801
  extern gpr_thd_new_type gpr_thd_new_import;
853
802
  #define gpr_thd_new gpr_thd_new_import
@@ -872,6 +821,69 @@ extern gpr_thd_currentid_type gpr_thd_currentid_import;
872
821
  typedef void(*gpr_thd_join_type)(gpr_thd_id t);
873
822
  extern gpr_thd_join_type gpr_thd_join_import;
874
823
  #define gpr_thd_join gpr_thd_join_import
824
+ typedef gpr_timespec(*gpr_time_0_type)(gpr_clock_type type);
825
+ extern gpr_time_0_type gpr_time_0_import;
826
+ #define gpr_time_0 gpr_time_0_import
827
+ typedef gpr_timespec(*gpr_inf_future_type)(gpr_clock_type type);
828
+ extern gpr_inf_future_type gpr_inf_future_import;
829
+ #define gpr_inf_future gpr_inf_future_import
830
+ typedef gpr_timespec(*gpr_inf_past_type)(gpr_clock_type type);
831
+ extern gpr_inf_past_type gpr_inf_past_import;
832
+ #define gpr_inf_past gpr_inf_past_import
833
+ typedef void(*gpr_time_init_type)(void);
834
+ extern gpr_time_init_type gpr_time_init_import;
835
+ #define gpr_time_init gpr_time_init_import
836
+ typedef gpr_timespec(*gpr_now_type)(gpr_clock_type clock);
837
+ extern gpr_now_type gpr_now_import;
838
+ #define gpr_now gpr_now_import
839
+ typedef gpr_timespec(*gpr_convert_clock_type_type)(gpr_timespec t, gpr_clock_type target_clock);
840
+ extern gpr_convert_clock_type_type gpr_convert_clock_type_import;
841
+ #define gpr_convert_clock_type gpr_convert_clock_type_import
842
+ typedef int(*gpr_time_cmp_type)(gpr_timespec a, gpr_timespec b);
843
+ extern gpr_time_cmp_type gpr_time_cmp_import;
844
+ #define gpr_time_cmp gpr_time_cmp_import
845
+ typedef gpr_timespec(*gpr_time_max_type)(gpr_timespec a, gpr_timespec b);
846
+ extern gpr_time_max_type gpr_time_max_import;
847
+ #define gpr_time_max gpr_time_max_import
848
+ typedef gpr_timespec(*gpr_time_min_type)(gpr_timespec a, gpr_timespec b);
849
+ extern gpr_time_min_type gpr_time_min_import;
850
+ #define gpr_time_min gpr_time_min_import
851
+ typedef gpr_timespec(*gpr_time_add_type)(gpr_timespec a, gpr_timespec b);
852
+ extern gpr_time_add_type gpr_time_add_import;
853
+ #define gpr_time_add gpr_time_add_import
854
+ typedef gpr_timespec(*gpr_time_sub_type)(gpr_timespec a, gpr_timespec b);
855
+ extern gpr_time_sub_type gpr_time_sub_import;
856
+ #define gpr_time_sub gpr_time_sub_import
857
+ typedef gpr_timespec(*gpr_time_from_micros_type)(int64_t x, gpr_clock_type clock_type);
858
+ extern gpr_time_from_micros_type gpr_time_from_micros_import;
859
+ #define gpr_time_from_micros gpr_time_from_micros_import
860
+ typedef gpr_timespec(*gpr_time_from_nanos_type)(int64_t x, gpr_clock_type clock_type);
861
+ extern gpr_time_from_nanos_type gpr_time_from_nanos_import;
862
+ #define gpr_time_from_nanos gpr_time_from_nanos_import
863
+ typedef gpr_timespec(*gpr_time_from_millis_type)(int64_t x, gpr_clock_type clock_type);
864
+ extern gpr_time_from_millis_type gpr_time_from_millis_import;
865
+ #define gpr_time_from_millis gpr_time_from_millis_import
866
+ typedef gpr_timespec(*gpr_time_from_seconds_type)(int64_t x, gpr_clock_type clock_type);
867
+ extern gpr_time_from_seconds_type gpr_time_from_seconds_import;
868
+ #define gpr_time_from_seconds gpr_time_from_seconds_import
869
+ typedef gpr_timespec(*gpr_time_from_minutes_type)(int64_t x, gpr_clock_type clock_type);
870
+ extern gpr_time_from_minutes_type gpr_time_from_minutes_import;
871
+ #define gpr_time_from_minutes gpr_time_from_minutes_import
872
+ typedef gpr_timespec(*gpr_time_from_hours_type)(int64_t x, gpr_clock_type clock_type);
873
+ extern gpr_time_from_hours_type gpr_time_from_hours_import;
874
+ #define gpr_time_from_hours gpr_time_from_hours_import
875
+ typedef int32_t(*gpr_time_to_millis_type)(gpr_timespec timespec);
876
+ extern gpr_time_to_millis_type gpr_time_to_millis_import;
877
+ #define gpr_time_to_millis gpr_time_to_millis_import
878
+ typedef int(*gpr_time_similar_type)(gpr_timespec a, gpr_timespec b, gpr_timespec threshold);
879
+ extern gpr_time_similar_type gpr_time_similar_import;
880
+ #define gpr_time_similar gpr_time_similar_import
881
+ typedef void(*gpr_sleep_until_type)(gpr_timespec until);
882
+ extern gpr_sleep_until_type gpr_sleep_until_import;
883
+ #define gpr_sleep_until gpr_sleep_until_import
884
+ typedef double(*gpr_timespec_to_micros_type)(gpr_timespec t);
885
+ extern gpr_timespec_to_micros_type gpr_timespec_to_micros_import;
886
+ #define gpr_timespec_to_micros gpr_timespec_to_micros_import
875
887
 
876
888
  void grpc_rb_load_imports(HMODULE library);
877
889