grpc-flamingo 1.11.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (452) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +1150 -176
  3. data/etc/roots.pem +40 -196
  4. data/include/grpc/grpc.h +49 -8
  5. data/include/grpc/grpc_security.h +123 -2
  6. data/include/grpc/grpc_security_constants.h +6 -0
  7. data/include/grpc/impl/codegen/fork.h +4 -4
  8. data/include/grpc/impl/codegen/grpc_types.h +26 -5
  9. data/include/grpc/impl/codegen/log.h +112 -0
  10. data/include/grpc/impl/codegen/port_platform.h +55 -4
  11. data/include/grpc/module.modulemap +2 -0
  12. data/include/grpc/support/log.h +2 -80
  13. data/include/grpc/support/string_util.h +2 -0
  14. data/include/grpc/support/sync.h +0 -16
  15. data/src/boringssl/err_data.c +602 -588
  16. data/src/core/ext/{census → filters/census}/grpc_context.cc +0 -0
  17. data/src/core/ext/filters/client_channel/channel_connectivity.cc +1 -1
  18. data/src/core/ext/filters/client_channel/client_channel.cc +1234 -1070
  19. data/src/core/ext/filters/client_channel/client_channel.h +5 -0
  20. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +113 -0
  21. data/src/core/ext/filters/client_channel/client_channel_channelz.h +71 -0
  22. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +9 -0
  23. data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +1 -1
  24. data/src/core/ext/filters/client_channel/http_proxy.cc +22 -5
  25. data/src/core/ext/filters/client_channel/lb_policy.cc +2 -2
  26. data/src/core/ext/filters/client_channel/lb_policy.h +30 -10
  27. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +11 -9
  28. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +120 -127
  29. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +36 -0
  30. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +36 -102
  31. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +37 -32
  32. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +25 -22
  33. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +4 -2
  34. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.c +19 -0
  35. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.h +54 -0
  36. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.c +19 -0
  37. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.h +54 -0
  38. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c +4 -17
  39. data/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h +37 -63
  40. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +306 -239
  41. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +444 -392
  42. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +538 -98
  43. data/src/core/ext/filters/client_channel/lb_policy_factory.cc +8 -0
  44. data/src/core/ext/filters/client_channel/lb_policy_factory.h +4 -0
  45. data/src/core/ext/filters/client_channel/method_params.h +4 -0
  46. data/src/core/ext/filters/client_channel/resolver.h +10 -0
  47. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +36 -19
  48. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +320 -0
  49. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +62 -9
  50. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +49 -294
  51. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +537 -0
  52. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +112 -87
  53. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +17 -2
  54. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +6 -5
  55. data/src/core/ext/filters/{load_reporting/server_load_reporting_filter.h → client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc} +7 -8
  56. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +29 -0
  57. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +32 -15
  58. data/src/core/ext/filters/client_channel/retry_throttle.h +4 -0
  59. data/src/core/ext/filters/client_channel/subchannel.cc +58 -15
  60. data/src/core/ext/filters/client_channel/subchannel.h +11 -0
  61. data/src/core/ext/filters/deadline/deadline_filter.cc +18 -15
  62. data/src/core/ext/filters/deadline/deadline_filter.h +5 -5
  63. data/src/core/ext/filters/http/client/http_client_filter.cc +10 -9
  64. data/src/core/ext/filters/http/client_authority_filter.cc +6 -5
  65. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +6 -6
  66. data/src/core/ext/filters/http/server/http_server_filter.cc +123 -131
  67. data/src/core/ext/filters/http/server/http_server_filter.h +1 -1
  68. data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +1 -1
  69. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +1 -1
  70. data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +3 -2
  71. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +9 -8
  72. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +97 -48
  73. data/src/core/ext/transport/chttp2/transport/flow_control.cc +10 -7
  74. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +3 -3
  75. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +12 -8
  76. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -3
  77. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -2
  78. data/src/core/ext/transport/chttp2/transport/hpack_table.cc +2 -2
  79. data/src/core/ext/transport/chttp2/transport/parsing.cc +14 -12
  80. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -3
  81. data/src/core/ext/transport/chttp2/transport/writing.cc +32 -27
  82. data/src/core/ext/transport/inproc/inproc_transport.cc +87 -49
  83. data/src/core/lib/channel/channel_args.cc +28 -0
  84. data/src/core/lib/channel/channel_args.h +4 -0
  85. data/src/core/lib/channel/channel_stack.cc +22 -29
  86. data/src/core/lib/channel/channel_stack.h +2 -2
  87. data/src/core/lib/channel/channel_stack_builder.cc +0 -3
  88. data/src/core/lib/channel/channel_stack_builder.h +0 -2
  89. data/src/core/lib/channel/channel_trace.cc +28 -63
  90. data/src/core/lib/channel/channel_trace.h +13 -17
  91. data/src/core/lib/channel/channelz.cc +153 -0
  92. data/src/core/lib/channel/channelz.h +133 -0
  93. data/src/core/lib/channel/channelz_registry.cc +145 -0
  94. data/src/core/lib/channel/channelz_registry.h +120 -0
  95. data/src/core/lib/channel/connected_channel.cc +8 -1
  96. data/src/core/lib/channel/handshaker.cc +71 -0
  97. data/src/core/lib/channel/handshaker.h +4 -0
  98. data/src/core/lib/debug/stats.h +7 -0
  99. data/src/core/lib/debug/stats_data.cc +5 -0
  100. data/src/core/lib/debug/stats_data.h +120 -0
  101. data/src/core/lib/debug/trace.cc +2 -1
  102. data/src/core/lib/debug/trace.h +12 -1
  103. data/src/core/lib/gpr/alloc.h +28 -0
  104. data/src/core/lib/gpr/arena.cc +38 -45
  105. data/src/core/lib/gpr/log.cc +8 -2
  106. data/src/core/lib/gpr/log_android.cc +4 -0
  107. data/src/core/lib/gpr/log_linux.cc +4 -0
  108. data/src/core/lib/gpr/log_posix.cc +4 -0
  109. data/src/core/lib/gpr/log_windows.cc +5 -0
  110. data/src/core/lib/gpr/string.cc +28 -0
  111. data/src/core/lib/gpr/string.h +10 -0
  112. data/src/core/lib/gprpp/abstract.h +5 -2
  113. data/src/core/lib/gprpp/fork.cc +268 -0
  114. data/src/core/lib/gprpp/fork.h +88 -0
  115. data/src/core/lib/gprpp/inlined_vector.h +87 -37
  116. data/src/core/lib/gprpp/memory.h +12 -0
  117. data/src/core/lib/gprpp/mutex_lock.h +42 -0
  118. data/src/core/lib/gprpp/orphanable.h +10 -12
  119. data/src/core/lib/gprpp/ref_counted.h +10 -12
  120. data/src/core/lib/gprpp/ref_counted_ptr.h +65 -8
  121. data/src/core/lib/gprpp/thd.h +0 -3
  122. data/src/core/lib/gprpp/thd_posix.cc +5 -54
  123. data/src/core/lib/gprpp/thd_windows.cc +0 -7
  124. data/src/core/lib/http/httpcli_security_connector.cc +1 -3
  125. data/src/core/lib/iomgr/call_combiner.cc +13 -13
  126. data/src/core/lib/iomgr/call_combiner.h +84 -1
  127. data/src/core/lib/iomgr/closure.h +6 -5
  128. data/src/core/lib/iomgr/combiner.cc +30 -13
  129. data/src/core/lib/iomgr/combiner.h +1 -1
  130. data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -2
  131. data/src/core/lib/iomgr/error.cc +12 -0
  132. data/src/core/lib/iomgr/error.h +5 -0
  133. data/src/core/lib/iomgr/ev_epoll1_linux.cc +138 -51
  134. data/src/core/lib/iomgr/ev_epollex_linux.cc +276 -93
  135. data/src/core/lib/iomgr/ev_epollsig_linux.cc +58 -50
  136. data/src/core/lib/iomgr/ev_poll_posix.cc +163 -42
  137. data/src/core/lib/iomgr/ev_posix.cc +88 -24
  138. data/src/core/lib/iomgr/ev_posix.h +48 -12
  139. data/src/core/lib/iomgr/exec_ctx.cc +15 -9
  140. data/src/core/lib/iomgr/exec_ctx.h +48 -20
  141. data/src/core/lib/iomgr/executor.cc +274 -142
  142. data/src/core/lib/iomgr/executor.h +82 -16
  143. data/src/core/lib/iomgr/fork_posix.cc +42 -19
  144. data/src/core/lib/iomgr/iocp_windows.cc +9 -4
  145. data/src/core/lib/iomgr/iomgr.cc +2 -0
  146. data/src/core/lib/iomgr/iomgr.h +5 -0
  147. data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
  148. data/src/core/lib/iomgr/is_epollexclusive_available.cc +1 -0
  149. data/src/core/lib/iomgr/lockfree_event.cc +5 -1
  150. data/src/core/lib/iomgr/polling_entity.cc +11 -2
  151. data/src/core/lib/iomgr/pollset_custom.cc +2 -2
  152. data/src/core/lib/iomgr/port.h +51 -1
  153. data/src/core/lib/iomgr/resolve_address.h +1 -1
  154. data/src/core/lib/iomgr/resolve_address_posix.cc +4 -3
  155. data/src/core/lib/iomgr/resolve_address_windows.cc +3 -2
  156. data/src/core/lib/iomgr/resource_quota.cc +89 -12
  157. data/src/core/lib/iomgr/resource_quota.h +16 -0
  158. data/src/core/lib/iomgr/sockaddr_posix.h +1 -1
  159. data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
  160. data/src/core/lib/iomgr/socket_mutator.cc +1 -1
  161. data/src/core/lib/iomgr/socket_mutator.h +1 -1
  162. data/src/core/lib/iomgr/socket_utils.h +9 -0
  163. data/src/core/lib/iomgr/socket_utils_common_posix.cc +29 -1
  164. data/src/core/lib/iomgr/socket_utils_linux.cc +0 -1
  165. data/src/core/lib/iomgr/socket_utils_posix.cc +2 -3
  166. data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
  167. data/src/core/lib/iomgr/socket_utils_uv.cc +4 -0
  168. data/src/core/lib/iomgr/socket_utils_windows.cc +4 -0
  169. data/src/core/lib/iomgr/socket_windows.cc +33 -0
  170. data/src/core/lib/iomgr/socket_windows.h +6 -0
  171. data/src/core/lib/iomgr/tcp_client_custom.cc +5 -5
  172. data/src/core/lib/iomgr/tcp_client_posix.cc +10 -11
  173. data/src/core/lib/iomgr/tcp_custom.cc +11 -11
  174. data/src/core/lib/iomgr/tcp_posix.cc +49 -36
  175. data/src/core/lib/iomgr/tcp_server_custom.cc +5 -5
  176. data/src/core/lib/iomgr/tcp_server_posix.cc +16 -36
  177. data/src/core/lib/iomgr/tcp_server_utils_posix.h +1 -1
  178. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +17 -5
  179. data/src/core/lib/iomgr/tcp_server_windows.cc +1 -0
  180. data/src/core/lib/iomgr/tcp_uv.cc +3 -0
  181. data/src/core/lib/iomgr/tcp_windows.cc +18 -2
  182. data/src/core/lib/iomgr/tcp_windows.h +2 -0
  183. data/src/core/lib/iomgr/timer.h +4 -3
  184. data/src/core/lib/iomgr/timer_generic.cc +133 -51
  185. data/src/core/lib/iomgr/timer_manager.cc +12 -14
  186. data/src/core/lib/iomgr/timer_uv.cc +3 -0
  187. data/src/core/lib/iomgr/udp_server.cc +106 -52
  188. data/src/core/lib/iomgr/udp_server.h +8 -4
  189. data/src/core/lib/json/json.cc +12 -1
  190. data/src/core/lib/json/json.h +5 -0
  191. data/src/core/lib/profiling/basic_timers.cc +1 -0
  192. data/src/core/lib/security/context/security_context.cc +8 -8
  193. data/src/core/lib/security/context/security_context.h +6 -2
  194. data/src/core/lib/security/credentials/alts/alts_credentials.h +0 -20
  195. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +3 -2
  196. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +7 -7
  197. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +1 -38
  198. data/src/core/lib/security/credentials/credentials.h +1 -0
  199. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +89 -115
  200. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +16 -0
  201. data/src/core/lib/security/credentials/jwt/json_token.h +2 -0
  202. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +2 -0
  203. data/src/core/lib/security/credentials/local/local_credentials.cc +77 -0
  204. data/src/core/lib/security/credentials/local/local_credentials.h +40 -0
  205. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +11 -7
  206. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +1 -1
  207. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +17 -3
  208. data/src/core/lib/security/security_connector/alts_security_connector.cc +2 -1
  209. data/src/core/lib/security/security_connector/load_system_roots.h +29 -0
  210. data/src/core/lib/{gpr/fork.h → security/security_connector/load_system_roots_fallback.cc} +10 -13
  211. data/src/core/lib/security/security_connector/load_system_roots_linux.cc +165 -0
  212. data/src/core/lib/security/security_connector/load_system_roots_linux.h +44 -0
  213. data/src/core/lib/security/security_connector/local_security_connector.cc +245 -0
  214. data/src/core/lib/security/security_connector/local_security_connector.h +58 -0
  215. data/src/core/lib/security/security_connector/security_connector.cc +79 -32
  216. data/src/core/lib/security/security_connector/security_connector.h +5 -3
  217. data/src/core/lib/security/transport/client_auth_filter.cc +5 -5
  218. data/src/core/lib/security/transport/secure_endpoint.cc +2 -2
  219. data/src/core/lib/security/transport/security_handshaker.cc +7 -2
  220. data/src/core/lib/security/transport/server_auth_filter.cc +4 -7
  221. data/src/core/lib/security/util/json_util.cc +4 -0
  222. data/src/core/lib/slice/slice.cc +6 -2
  223. data/src/core/lib/slice/slice_buffer.cc +27 -7
  224. data/src/core/lib/slice/slice_hash_table.h +4 -0
  225. data/src/core/lib/slice/slice_weak_hash_table.h +4 -0
  226. data/src/core/lib/surface/call.cc +119 -58
  227. data/src/core/lib/surface/call.h +7 -0
  228. data/src/core/lib/surface/channel.cc +50 -18
  229. data/src/core/lib/surface/channel.h +4 -0
  230. data/src/core/lib/surface/completion_queue.cc +153 -18
  231. data/src/core/lib/surface/completion_queue.h +20 -2
  232. data/src/core/lib/surface/completion_queue_factory.cc +13 -4
  233. data/src/core/lib/surface/init.cc +7 -8
  234. data/src/core/lib/surface/init.h +0 -1
  235. data/src/core/lib/surface/server.cc +16 -0
  236. data/src/core/lib/surface/version.cc +1 -1
  237. data/src/core/lib/transport/bdp_estimator.cc +3 -3
  238. data/src/core/lib/transport/bdp_estimator.h +2 -2
  239. data/src/core/lib/transport/byte_stream.cc +1 -1
  240. data/src/core/lib/transport/connectivity_state.cc +6 -7
  241. data/src/core/lib/transport/service_config.cc +2 -2
  242. data/src/core/lib/transport/service_config.h +3 -3
  243. data/src/core/lib/transport/transport.cc +22 -10
  244. data/src/core/lib/transport/transport.h +18 -18
  245. data/src/core/lib/transport/transport_op_string.cc +1 -8
  246. data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -4
  247. data/src/core/tsi/alts/crypt/aes_gcm.cc +2 -0
  248. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +19 -7
  249. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +10 -0
  250. data/src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.h +2 -2
  251. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +38 -3
  252. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +3 -0
  253. data/src/core/tsi/alts/handshaker/altscontext.pb.c +0 -1
  254. data/src/core/tsi/alts/handshaker/altscontext.pb.h +1 -2
  255. data/src/core/tsi/alts/handshaker/handshaker.pb.c +0 -1
  256. data/src/core/tsi/alts/handshaker/handshaker.pb.h +1 -2
  257. data/src/core/tsi/alts/handshaker/transport_security_common.pb.c +0 -1
  258. data/src/core/tsi/alts/handshaker/transport_security_common.pb.h +1 -1
  259. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +2 -2
  260. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +47 -1
  261. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +3 -1
  262. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +12 -11
  263. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +7 -2
  264. data/src/core/tsi/fake_transport_security.cc +1 -0
  265. data/src/core/tsi/grpc_shadow_boringssl.h +3006 -0
  266. data/src/core/tsi/local_transport_security.cc +209 -0
  267. data/src/core/tsi/local_transport_security.h +51 -0
  268. data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -0
  269. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +5 -5
  270. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +6 -0
  271. data/src/core/tsi/ssl_transport_security.cc +245 -116
  272. data/src/core/tsi/ssl_types.h +2 -0
  273. data/src/core/tsi/transport_security.cc +14 -0
  274. data/src/core/tsi/transport_security.h +2 -0
  275. data/src/core/tsi/transport_security_interface.h +11 -1
  276. data/src/ruby/bin/math_client.rb +17 -9
  277. data/src/ruby/ext/grpc/extconf.rb +1 -26
  278. data/src/ruby/ext/grpc/rb_channel_credentials.c +3 -3
  279. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +42 -16
  280. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +65 -26
  281. data/src/ruby/lib/grpc/generic/active_call.rb +19 -23
  282. data/src/ruby/lib/grpc/generic/rpc_server.rb +2 -1
  283. data/src/ruby/lib/grpc/version.rb +1 -1
  284. data/src/ruby/pb/generate_proto_ruby.sh +7 -1
  285. data/src/ruby/pb/grpc/health/v1/health_services_pb.rb +4 -1
  286. data/src/ruby/spec/call_credentials_spec.rb +1 -1
  287. data/src/ruby/spec/call_spec.rb +1 -1
  288. data/src/ruby/spec/channel_credentials_spec.rb +1 -1
  289. data/src/ruby/spec/channel_spec.rb +1 -1
  290. data/src/ruby/spec/client_auth_spec.rb +1 -12
  291. data/src/ruby/spec/client_server_spec.rb +1 -1
  292. data/src/ruby/spec/compression_options_spec.rb +1 -1
  293. data/src/ruby/spec/error_sanity_spec.rb +1 -1
  294. data/src/ruby/spec/generic/client_stub_spec.rb +16 -4
  295. data/src/ruby/spec/generic/rpc_desc_spec.rb +1 -1
  296. data/src/ruby/spec/generic/rpc_server_pool_spec.rb +1 -1
  297. data/src/ruby/spec/generic/service_spec.rb +1 -1
  298. data/src/ruby/spec/google_rpc_status_utils_spec.rb +1 -12
  299. data/src/ruby/spec/pb/duplicate/codegen_spec.rb +1 -0
  300. data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
  301. data/src/ruby/spec/server_credentials_spec.rb +1 -1
  302. data/src/ruby/spec/server_spec.rb +1 -1
  303. data/src/ruby/spec/spec_helper.rb +1 -0
  304. data/src/ruby/spec/support/services.rb +1 -1
  305. data/src/ruby/spec/time_consts_spec.rb +1 -1
  306. data/third_party/address_sorting/address_sorting.c +17 -11
  307. data/third_party/address_sorting/address_sorting_windows.c +43 -3
  308. data/third_party/address_sorting/include/address_sorting/address_sorting.h +3 -0
  309. data/third_party/boringssl/crypto/asn1/a_int.c +33 -28
  310. data/third_party/boringssl/crypto/asn1/a_mbstr.c +24 -22
  311. data/third_party/boringssl/crypto/asn1/a_utf8.c +13 -11
  312. data/third_party/boringssl/crypto/asn1/asn1_locl.h +3 -0
  313. data/third_party/boringssl/crypto/asn1/tasn_dec.c +40 -19
  314. data/third_party/boringssl/crypto/bio/fd.c +1 -0
  315. data/third_party/boringssl/crypto/bio/file.c +2 -0
  316. data/third_party/boringssl/crypto/bn_extra/convert.c +6 -5
  317. data/third_party/boringssl/crypto/bytestring/ber.c +1 -4
  318. data/third_party/boringssl/crypto/bytestring/cbb.c +116 -16
  319. data/third_party/boringssl/crypto/bytestring/cbs.c +151 -20
  320. data/third_party/boringssl/crypto/cipher_extra/e_aesccm.c +203 -0
  321. data/third_party/boringssl/crypto/cipher_extra/e_rc2.c +2 -0
  322. data/third_party/boringssl/crypto/cipher_extra/e_tls.c +1 -2
  323. data/third_party/boringssl/crypto/cpu-aarch64-fuchsia.c +55 -0
  324. data/third_party/boringssl/crypto/cpu-aarch64-linux.c +2 -1
  325. data/third_party/boringssl/crypto/dsa/dsa.c +16 -54
  326. data/third_party/boringssl/crypto/ec_extra/ec_asn1.c +9 -10
  327. data/third_party/boringssl/crypto/ecdh/ecdh.c +4 -3
  328. data/third_party/boringssl/crypto/fipsmodule/bcm.c +11 -542
  329. data/third_party/boringssl/crypto/fipsmodule/bn/add.c +57 -112
  330. data/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.c +4 -3
  331. data/third_party/boringssl/crypto/fipsmodule/bn/bn.c +128 -70
  332. data/third_party/boringssl/crypto/fipsmodule/bn/bytes.c +32 -71
  333. data/third_party/boringssl/crypto/fipsmodule/bn/cmp.c +64 -118
  334. data/third_party/boringssl/crypto/fipsmodule/bn/div.c +284 -122
  335. data/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.c +31 -65
  336. data/third_party/boringssl/crypto/fipsmodule/bn/gcd.c +274 -218
  337. data/third_party/boringssl/crypto/fipsmodule/bn/generic.c +2 -1
  338. data/third_party/boringssl/crypto/fipsmodule/bn/internal.h +187 -27
  339. data/third_party/boringssl/crypto/fipsmodule/bn/jacobi.c +1 -1
  340. data/third_party/boringssl/crypto/fipsmodule/bn/montgomery.c +124 -81
  341. data/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.c +8 -30
  342. data/third_party/boringssl/crypto/fipsmodule/bn/mul.c +321 -347
  343. data/third_party/boringssl/crypto/fipsmodule/bn/prime.c +326 -66
  344. data/third_party/boringssl/crypto/fipsmodule/bn/random.c +77 -25
  345. data/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.c +199 -222
  346. data/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +27 -47
  347. data/third_party/boringssl/crypto/fipsmodule/bn/shift.c +155 -96
  348. data/third_party/boringssl/crypto/fipsmodule/bn/sqrt.c +1 -1
  349. data/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.c +10 -10
  350. data/third_party/boringssl/crypto/fipsmodule/des/internal.h +2 -0
  351. data/third_party/boringssl/crypto/fipsmodule/ec/ec.c +78 -47
  352. data/third_party/boringssl/crypto/fipsmodule/ec/ec_key.c +99 -163
  353. data/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.c +3 -10
  354. data/third_party/boringssl/crypto/fipsmodule/ec/internal.h +44 -23
  355. data/third_party/boringssl/crypto/fipsmodule/ec/oct.c +59 -90
  356. data/third_party/boringssl/crypto/fipsmodule/ec/p224-64.c +38 -65
  357. data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64-table.h +5378 -5418
  358. data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.c +17 -26
  359. data/third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.h +15 -11
  360. data/third_party/boringssl/crypto/fipsmodule/ec/simple.c +45 -51
  361. data/third_party/boringssl/crypto/fipsmodule/ec/{util-64.c → util.c} +0 -5
  362. data/third_party/boringssl/crypto/fipsmodule/ec/wnaf.c +144 -264
  363. data/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.c +78 -62
  364. data/third_party/boringssl/crypto/fipsmodule/modes/ccm.c +256 -0
  365. data/third_party/boringssl/crypto/fipsmodule/modes/internal.h +36 -32
  366. data/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.c +9 -7
  367. data/third_party/boringssl/crypto/fipsmodule/rsa/blinding.c +16 -40
  368. data/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +1 -6
  369. data/third_party/boringssl/crypto/fipsmodule/rsa/rsa.c +57 -39
  370. data/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.c +309 -142
  371. data/third_party/boringssl/crypto/fipsmodule/self_check/self_check.c +581 -0
  372. data/third_party/boringssl/crypto/fipsmodule/tls/internal.h +39 -0
  373. data/third_party/boringssl/crypto/fipsmodule/tls/kdf.c +165 -0
  374. data/third_party/boringssl/crypto/internal.h +65 -2
  375. data/third_party/boringssl/crypto/mem.c +0 -2
  376. data/third_party/boringssl/crypto/obj/obj.c +6 -73
  377. data/third_party/boringssl/crypto/thread_pthread.c +35 -5
  378. data/third_party/boringssl/crypto/x509/a_strex.c +11 -11
  379. data/third_party/boringssl/crypto/x509/vpm_int.h +1 -0
  380. data/third_party/boringssl/crypto/x509/x509_vfy.c +4 -0
  381. data/third_party/boringssl/crypto/x509/x509_vpm.c +44 -22
  382. data/third_party/boringssl/crypto/x509/x_name.c +13 -0
  383. data/third_party/boringssl/include/openssl/aead.h +10 -0
  384. data/third_party/boringssl/include/openssl/asn1.h +2 -3
  385. data/third_party/boringssl/include/openssl/base.h +5 -14
  386. data/third_party/boringssl/include/openssl/bio.h +1 -1
  387. data/third_party/boringssl/include/openssl/bn.h +62 -18
  388. data/third_party/boringssl/include/openssl/bytestring.h +53 -28
  389. data/third_party/boringssl/include/openssl/crypto.h +4 -0
  390. data/third_party/boringssl/include/openssl/ec.h +10 -4
  391. data/third_party/boringssl/include/openssl/ec_key.h +7 -6
  392. data/third_party/boringssl/include/openssl/err.h +9 -9
  393. data/third_party/boringssl/include/openssl/evp.h +1 -1
  394. data/third_party/boringssl/include/openssl/rsa.h +35 -10
  395. data/third_party/boringssl/include/openssl/ssl.h +167 -19
  396. data/third_party/boringssl/include/openssl/ssl3.h +0 -1
  397. data/third_party/boringssl/include/openssl/stack.h +1 -1
  398. data/third_party/boringssl/include/openssl/tls1.h +10 -2
  399. data/third_party/boringssl/include/openssl/x509.h +4 -0
  400. data/third_party/boringssl/include/openssl/x509v3.h +1 -0
  401. data/third_party/boringssl/ssl/d1_both.cc +16 -2
  402. data/third_party/boringssl/ssl/dtls_method.cc +1 -1
  403. data/third_party/boringssl/ssl/handoff.cc +285 -0
  404. data/third_party/boringssl/ssl/handshake.cc +26 -12
  405. data/third_party/boringssl/ssl/handshake_client.cc +101 -95
  406. data/third_party/boringssl/ssl/handshake_server.cc +14 -2
  407. data/third_party/boringssl/ssl/internal.h +132 -79
  408. data/third_party/boringssl/ssl/s3_both.cc +2 -2
  409. data/third_party/boringssl/ssl/s3_lib.cc +3 -1
  410. data/third_party/boringssl/ssl/s3_pkt.cc +0 -18
  411. data/third_party/boringssl/ssl/ssl_aead_ctx.cc +1 -4
  412. data/third_party/boringssl/ssl/ssl_asn1.cc +47 -43
  413. data/third_party/boringssl/ssl/ssl_cipher.cc +12 -8
  414. data/third_party/boringssl/ssl/ssl_key_share.cc +3 -1
  415. data/third_party/boringssl/ssl/ssl_lib.cc +83 -14
  416. data/third_party/boringssl/ssl/ssl_privkey.cc +6 -0
  417. data/third_party/boringssl/ssl/ssl_stat.cc +6 -6
  418. data/third_party/boringssl/ssl/ssl_versions.cc +12 -85
  419. data/third_party/boringssl/ssl/ssl_x509.cc +59 -61
  420. data/third_party/boringssl/ssl/t1_enc.cc +73 -124
  421. data/third_party/boringssl/ssl/t1_lib.cc +367 -41
  422. data/third_party/boringssl/ssl/tls13_both.cc +8 -0
  423. data/third_party/boringssl/ssl/tls13_client.cc +98 -184
  424. data/third_party/boringssl/ssl/tls13_enc.cc +88 -158
  425. data/third_party/boringssl/ssl/tls13_server.cc +91 -137
  426. data/third_party/boringssl/ssl/tls_method.cc +0 -17
  427. data/third_party/boringssl/ssl/tls_record.cc +1 -10
  428. data/third_party/boringssl/third_party/fiat/curve25519.c +921 -2753
  429. data/third_party/boringssl/third_party/fiat/curve25519_tables.h +7880 -0
  430. data/third_party/boringssl/third_party/fiat/internal.h +32 -20
  431. data/third_party/boringssl/third_party/fiat/p256.c +1824 -0
  432. metadata +86 -71
  433. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +0 -253
  434. data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +0 -222
  435. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +0 -71
  436. data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.h +0 -61
  437. data/src/core/lib/channel/channel_trace_registry.cc +0 -80
  438. data/src/core/lib/channel/channel_trace_registry.h +0 -43
  439. data/src/core/lib/gpr/fork.cc +0 -78
  440. data/src/core/tsi/transport_security_adapter.cc +0 -235
  441. data/src/core/tsi/transport_security_adapter.h +0 -41
  442. data/src/ruby/bin/apis/google/protobuf/empty.rb +0 -29
  443. data/src/ruby/bin/apis/pubsub_demo.rb +0 -241
  444. data/src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb +0 -159
  445. data/src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb +0 -88
  446. data/src/ruby/pb/test/client.rb +0 -764
  447. data/src/ruby/pb/test/server.rb +0 -252
  448. data/src/ruby/spec/pb/package_with_underscore/checker_spec.rb +0 -54
  449. data/src/ruby/spec/pb/package_with_underscore/data.proto +0 -23
  450. data/src/ruby/spec/pb/package_with_underscore/service.proto +0 -23
  451. data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +0 -247
  452. data/third_party/boringssl/crypto/fipsmodule/ec/p256-64.c +0 -1674
@@ -29,6 +29,8 @@
29
29
 
30
30
  #include <grpc/support/port_platform.h>
31
31
 
32
+ #include "src/core/tsi/grpc_shadow_boringssl.h"
33
+
32
34
  #include <openssl/ssl.h>
33
35
 
34
36
  #ifdef OPENSSL_IS_BORINGSSL
@@ -136,6 +136,7 @@ tsi_result tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker* self,
136
136
  return TSI_INVALID_ARGUMENT;
137
137
  }
138
138
  if (self->frame_protector_created) return TSI_FAILED_PRECONDITION;
139
+ if (self->handshake_shutdown) return TSI_HANDSHAKE_SHUTDOWN;
139
140
  if (self->vtable->get_bytes_to_send_to_peer == nullptr)
140
141
  return TSI_UNIMPLEMENTED;
141
142
  return self->vtable->get_bytes_to_send_to_peer(self, bytes, bytes_size);
@@ -149,6 +150,7 @@ tsi_result tsi_handshaker_process_bytes_from_peer(tsi_handshaker* self,
149
150
  return TSI_INVALID_ARGUMENT;
150
151
  }
151
152
  if (self->frame_protector_created) return TSI_FAILED_PRECONDITION;
153
+ if (self->handshake_shutdown) return TSI_HANDSHAKE_SHUTDOWN;
152
154
  if (self->vtable->process_bytes_from_peer == nullptr)
153
155
  return TSI_UNIMPLEMENTED;
154
156
  return self->vtable->process_bytes_from_peer(self, bytes, bytes_size);
@@ -157,6 +159,7 @@ tsi_result tsi_handshaker_process_bytes_from_peer(tsi_handshaker* self,
157
159
  tsi_result tsi_handshaker_get_result(tsi_handshaker* self) {
158
160
  if (self == nullptr || self->vtable == nullptr) return TSI_INVALID_ARGUMENT;
159
161
  if (self->frame_protector_created) return TSI_FAILED_PRECONDITION;
162
+ if (self->handshake_shutdown) return TSI_HANDSHAKE_SHUTDOWN;
160
163
  if (self->vtable->get_result == nullptr) return TSI_UNIMPLEMENTED;
161
164
  return self->vtable->get_result(self);
162
165
  }
@@ -167,6 +170,7 @@ tsi_result tsi_handshaker_extract_peer(tsi_handshaker* self, tsi_peer* peer) {
167
170
  }
168
171
  memset(peer, 0, sizeof(tsi_peer));
169
172
  if (self->frame_protector_created) return TSI_FAILED_PRECONDITION;
173
+ if (self->handshake_shutdown) return TSI_HANDSHAKE_SHUTDOWN;
170
174
  if (tsi_handshaker_get_result(self) != TSI_OK) {
171
175
  return TSI_FAILED_PRECONDITION;
172
176
  }
@@ -182,6 +186,7 @@ tsi_result tsi_handshaker_create_frame_protector(
182
186
  return TSI_INVALID_ARGUMENT;
183
187
  }
184
188
  if (self->frame_protector_created) return TSI_FAILED_PRECONDITION;
189
+ if (self->handshake_shutdown) return TSI_HANDSHAKE_SHUTDOWN;
185
190
  if (tsi_handshaker_get_result(self) != TSI_OK) return TSI_FAILED_PRECONDITION;
186
191
  if (self->vtable->create_frame_protector == nullptr) return TSI_UNIMPLEMENTED;
187
192
  result = self->vtable->create_frame_protector(self, max_protected_frame_size,
@@ -199,12 +204,21 @@ tsi_result tsi_handshaker_next(
199
204
  tsi_handshaker_on_next_done_cb cb, void* user_data) {
200
205
  if (self == nullptr || self->vtable == nullptr) return TSI_INVALID_ARGUMENT;
201
206
  if (self->handshaker_result_created) return TSI_FAILED_PRECONDITION;
207
+ if (self->handshake_shutdown) return TSI_HANDSHAKE_SHUTDOWN;
202
208
  if (self->vtable->next == nullptr) return TSI_UNIMPLEMENTED;
203
209
  return self->vtable->next(self, received_bytes, received_bytes_size,
204
210
  bytes_to_send, bytes_to_send_size,
205
211
  handshaker_result, cb, user_data);
206
212
  }
207
213
 
214
+ void tsi_handshaker_shutdown(tsi_handshaker* self) {
215
+ if (self == nullptr || self->vtable == nullptr) return;
216
+ self->handshake_shutdown = true;
217
+ if (self->vtable->shutdown != nullptr) {
218
+ self->vtable->shutdown(self);
219
+ }
220
+ }
221
+
208
222
  void tsi_handshaker_destroy(tsi_handshaker* self) {
209
223
  if (self == nullptr) return;
210
224
  self->vtable->destroy(self);
@@ -73,12 +73,14 @@ typedef struct {
73
73
  size_t* bytes_to_send_size,
74
74
  tsi_handshaker_result** handshaker_result,
75
75
  tsi_handshaker_on_next_done_cb cb, void* user_data);
76
+ void (*shutdown)(tsi_handshaker* self);
76
77
  } tsi_handshaker_vtable;
77
78
 
78
79
  struct tsi_handshaker {
79
80
  const tsi_handshaker_vtable* vtable;
80
81
  bool frame_protector_created;
81
82
  bool handshaker_result_created;
83
+ bool handshake_shutdown;
82
84
  };
83
85
 
84
86
  /* Base for tsi_handshaker_result implementations.
@@ -42,7 +42,8 @@ typedef enum {
42
42
  TSI_PROTOCOL_FAILURE = 10,
43
43
  TSI_HANDSHAKE_IN_PROGRESS = 11,
44
44
  TSI_OUT_OF_RESOURCES = 12,
45
- TSI_ASYNC = 13
45
+ TSI_ASYNC = 13,
46
+ TSI_HANDSHAKE_SHUTDOWN = 14,
46
47
  } tsi_result;
47
48
 
48
49
  typedef enum {
@@ -332,6 +333,8 @@ void tsi_handshaker_result_destroy(tsi_handshaker_result* self);
332
333
  ------------------------------------------------------------------------ */
333
334
  typedef struct tsi_handshaker tsi_handshaker;
334
335
 
336
+ /* TODO(jiangtaoli2016): Cleans up deprecated methods when we are ready. */
337
+
335
338
  /* TO BE DEPRECATED SOON. Use tsi_handshaker_next instead.
336
339
  Gets bytes that need to be sent to the peer.
337
340
  - bytes is the buffer that will be written with the data to be sent to the
@@ -440,6 +443,13 @@ tsi_result tsi_handshaker_next(
440
443
  size_t* bytes_to_send_size, tsi_handshaker_result** handshaker_result,
441
444
  tsi_handshaker_on_next_done_cb cb, void* user_data);
442
445
 
446
+ /* This method shuts down a TSI handshake that is in progress.
447
+ *
448
+ * This method will be invoked when TSI handshake should be terminated before
449
+ * being finished in order to free any resources being used.
450
+ */
451
+ void tsi_handshaker_shutdown(tsi_handshaker* self);
452
+
443
453
  /* This method releases the tsi_handshaker object. After this method is called,
444
454
  no other method can be called on the object. */
445
455
  void tsi_handshaker_destroy(tsi_handshaker* self);
@@ -27,15 +27,26 @@ $LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir)
27
27
  require 'grpc'
28
28
  require 'math_services_pb'
29
29
  require 'optparse'
30
+ require 'logger'
30
31
 
31
32
  include GRPC::Core::TimeConsts
32
33
 
34
+ module StdoutLogger
35
+ def logger
36
+ LOGGER
37
+ end
38
+
39
+ LOGGER = Logger.new(STDOUT)
40
+ end
41
+
42
+ GRPC.extend(StdoutLogger)
43
+
33
44
  def do_div(stub)
34
45
  GRPC.logger.info('request_response')
35
46
  GRPC.logger.info('----------------')
36
47
  req = Math::DivArgs.new(dividend: 7, divisor: 3)
37
48
  GRPC.logger.info("div(7/3): req=#{req.inspect}")
38
- resp = stub.div(req, timeout: INFINITE_FUTURE)
49
+ resp = stub.div(req)
39
50
  GRPC.logger.info("Answer: #{resp.inspect}")
40
51
  GRPC.logger.info('----------------')
41
52
  end
@@ -56,7 +67,7 @@ def do_fib(stub)
56
67
  GRPC.logger.info('----------------')
57
68
  req = Math::FibArgs.new(limit: 11)
58
69
  GRPC.logger.info("fib(11): req=#{req.inspect}")
59
- resp = stub.fib(req, timeout: INFINITE_FUTURE)
70
+ resp = stub.fib(req)
60
71
  resp.each do |r|
61
72
  GRPC.logger.info("Answer: #{r.inspect}")
62
73
  end
@@ -71,7 +82,7 @@ def do_div_many(stub)
71
82
  reqs << Math::DivArgs.new(dividend: 5, divisor: 2)
72
83
  reqs << Math::DivArgs.new(dividend: 7, divisor: 2)
73
84
  GRPC.logger.info("div(7/3), div(5/2), div(7/2): reqs=#{reqs.inspect}")
74
- resp = stub.div_many(reqs, timeout: INFINITE_FUTURE)
85
+ resp = stub.div_many(reqs)
75
86
  resp.each do |r|
76
87
  GRPC.logger.info("Answer: #{r.inspect}")
77
88
  end
@@ -107,19 +118,16 @@ def main
107
118
 
108
119
  # The Math::Math:: module occurs because the service has the same name as its
109
120
  # package. That practice should be avoided by defining real services.
110
-
111
- p options
112
121
  if options['secure']
113
122
  stub_opts = {
114
123
  :creds => test_creds,
115
- GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.fr'
124
+ GRPC::Core::Channel::SSL_TARGET => 'foo.test.google.fr',
125
+ timeout: INFINITE_FUTURE,
116
126
  }
117
- p stub_opts
118
- p options['host']
119
127
  stub = Math::Math::Stub.new(options['host'], **stub_opts)
120
128
  GRPC.logger.info("... connecting securely on #{options['host']}")
121
129
  else
122
- stub = Math::Math::Stub.new(options['host'])
130
+ stub = Math::Math::Stub.new(options['host'], :this_channel_is_insecure, timeout: INFINITE_FUTURE)
123
131
  GRPC.logger.info("... connecting insecurely on #{options['host']}")
124
132
  end
125
133
 
@@ -15,31 +15,6 @@
15
15
  require 'etc'
16
16
  require 'mkmf'
17
17
 
18
- LIBDIR = RbConfig::CONFIG['libdir']
19
- INCLUDEDIR = RbConfig::CONFIG['includedir']
20
-
21
- HEADER_DIRS = [
22
- # Search /opt/local (Mac source install)
23
- '/opt/local/include',
24
-
25
- # Search /usr/local (Source install)
26
- '/usr/local/include',
27
-
28
- # Check the ruby install locations
29
- INCLUDEDIR
30
- ]
31
-
32
- LIB_DIRS = [
33
- # Search /opt/local (Mac source install)
34
- '/opt/local/lib',
35
-
36
- # Search /usr/local (Source install)
37
- '/usr/local/lib',
38
-
39
- # Check the ruby install locations
40
- LIBDIR
41
- ]
42
-
43
18
  windows = RUBY_PLATFORM =~ /mingw|mswin/
44
19
  bsd = RUBY_PLATFORM =~ /bsd/
45
20
 
@@ -110,7 +85,7 @@ if grpc_config == 'opt'
110
85
  o.puts i
111
86
  end
112
87
  o.puts
113
- o.puts 'strip:'
88
+ o.puts 'strip: $(DLLIB)'
114
89
  o.puts "\t$(ECHO) Stripping $(DLLIB)"
115
90
  o.puts "\t$(Q) #{strip_tool} $(DLLIB)"
116
91
  end
@@ -159,12 +159,12 @@ static VALUE grpc_rb_channel_credentials_init(int argc, VALUE* argv,
159
159
  pem_root_certs_cstr = RSTRING_PTR(pem_root_certs);
160
160
  }
161
161
  if (pem_private_key == Qnil && pem_cert_chain == Qnil) {
162
- creds = grpc_ssl_credentials_create(pem_root_certs_cstr, NULL, NULL);
162
+ creds = grpc_ssl_credentials_create(pem_root_certs_cstr, NULL, NULL, NULL);
163
163
  } else {
164
164
  key_cert_pair.private_key = RSTRING_PTR(pem_private_key);
165
165
  key_cert_pair.cert_chain = RSTRING_PTR(pem_cert_chain);
166
- creds =
167
- grpc_ssl_credentials_create(pem_root_certs_cstr, &key_cert_pair, NULL);
166
+ creds = grpc_ssl_credentials_create(pem_root_certs_cstr, &key_cert_pair,
167
+ NULL, NULL);
168
168
  }
169
169
  if (creds == NULL) {
170
170
  rb_raise(rb_eRuntimeError, "could not create a credentials, not sure why");
@@ -38,11 +38,13 @@ grpc_call_details_destroy_type grpc_call_details_destroy_import;
38
38
  grpc_register_plugin_type grpc_register_plugin_import;
39
39
  grpc_init_type grpc_init_import;
40
40
  grpc_shutdown_type grpc_shutdown_import;
41
+ grpc_is_initialized_type grpc_is_initialized_import;
41
42
  grpc_version_string_type grpc_version_string_import;
42
43
  grpc_g_stands_for_type grpc_g_stands_for_import;
43
44
  grpc_completion_queue_factory_lookup_type grpc_completion_queue_factory_lookup_import;
44
45
  grpc_completion_queue_create_for_next_type grpc_completion_queue_create_for_next_import;
45
46
  grpc_completion_queue_create_for_pluck_type grpc_completion_queue_create_for_pluck_import;
47
+ grpc_completion_queue_create_for_callback_type grpc_completion_queue_create_for_callback_import;
46
48
  grpc_completion_queue_create_type grpc_completion_queue_create_import;
47
49
  grpc_completion_queue_next_type grpc_completion_queue_next_import;
48
50
  grpc_completion_queue_pluck_type grpc_completion_queue_pluck_import;
@@ -65,11 +67,10 @@ grpc_census_call_set_context_type grpc_census_call_set_context_import;
65
67
  grpc_census_call_get_context_type grpc_census_call_get_context_import;
66
68
  grpc_channel_get_target_type grpc_channel_get_target_import;
67
69
  grpc_channel_get_info_type grpc_channel_get_info_import;
70
+ grpc_channel_reset_connect_backoff_type grpc_channel_reset_connect_backoff_import;
68
71
  grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
69
72
  grpc_lame_client_channel_create_type grpc_lame_client_channel_create_import;
70
73
  grpc_channel_destroy_type grpc_channel_destroy_import;
71
- grpc_channel_get_trace_type grpc_channel_get_trace_import;
72
- grpc_channel_get_uuid_type grpc_channel_get_uuid_import;
73
74
  grpc_call_cancel_type grpc_call_cancel_import;
74
75
  grpc_call_cancel_with_status_type grpc_call_cancel_with_status_import;
75
76
  grpc_call_ref_type grpc_call_ref_import;
@@ -93,7 +94,10 @@ grpc_resource_quota_create_type grpc_resource_quota_create_import;
93
94
  grpc_resource_quota_ref_type grpc_resource_quota_ref_import;
94
95
  grpc_resource_quota_unref_type grpc_resource_quota_unref_import;
95
96
  grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
97
+ grpc_resource_quota_set_max_threads_type grpc_resource_quota_set_max_threads_import;
96
98
  grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import;
99
+ grpc_channelz_get_top_channels_type grpc_channelz_get_top_channels_import;
100
+ grpc_channelz_get_channel_type grpc_channelz_get_channel_import;
97
101
  grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
98
102
  grpc_server_add_insecure_channel_from_fd_type grpc_server_add_insecure_channel_from_fd_import;
99
103
  grpc_use_signal_type grpc_use_signal_import;
@@ -138,6 +142,14 @@ grpc_ssl_server_credentials_create_with_options_type grpc_ssl_server_credentials
138
142
  grpc_server_add_secure_http2_port_type grpc_server_add_secure_http2_port_import;
139
143
  grpc_call_set_credentials_type grpc_call_set_credentials_import;
140
144
  grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
145
+ grpc_alts_credentials_client_options_create_type grpc_alts_credentials_client_options_create_import;
146
+ grpc_alts_credentials_server_options_create_type grpc_alts_credentials_server_options_create_import;
147
+ grpc_alts_credentials_client_options_add_target_service_account_type grpc_alts_credentials_client_options_add_target_service_account_import;
148
+ grpc_alts_credentials_options_destroy_type grpc_alts_credentials_options_destroy_import;
149
+ grpc_alts_credentials_create_type grpc_alts_credentials_create_import;
150
+ grpc_alts_server_credentials_create_type grpc_alts_server_credentials_create_import;
151
+ grpc_local_credentials_create_type grpc_local_credentials_create_import;
152
+ grpc_local_server_credentials_create_type grpc_local_server_credentials_create_import;
141
153
  grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
142
154
  grpc_raw_compressed_byte_buffer_create_type grpc_raw_compressed_byte_buffer_create_import;
143
155
  grpc_byte_buffer_copy_type grpc_byte_buffer_copy_import;
@@ -148,6 +160,13 @@ grpc_byte_buffer_reader_destroy_type grpc_byte_buffer_reader_destroy_import;
148
160
  grpc_byte_buffer_reader_next_type grpc_byte_buffer_reader_next_import;
149
161
  grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_import;
150
162
  grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
163
+ gpr_log_severity_string_type gpr_log_severity_string_import;
164
+ gpr_log_type gpr_log_import;
165
+ gpr_should_log_type gpr_should_log_import;
166
+ gpr_log_message_type gpr_log_message_import;
167
+ gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
168
+ gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
169
+ gpr_set_log_function_type gpr_set_log_function_import;
151
170
  grpc_slice_ref_type grpc_slice_ref_import;
152
171
  grpc_slice_unref_type grpc_slice_unref_import;
153
172
  grpc_slice_copy_type grpc_slice_copy_import;
@@ -206,12 +225,6 @@ gpr_set_allocation_functions_type gpr_set_allocation_functions_import;
206
225
  gpr_get_allocation_functions_type gpr_get_allocation_functions_import;
207
226
  gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
208
227
  gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
209
- gpr_log_severity_string_type gpr_log_severity_string_import;
210
- gpr_log_type gpr_log_import;
211
- gpr_log_message_type gpr_log_message_import;
212
- gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
213
- gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
214
- gpr_set_log_function_type gpr_set_log_function_import;
215
228
  gpr_format_message_type gpr_format_message_import;
216
229
  gpr_strdup_type gpr_strdup_import;
217
230
  gpr_asprintf_type gpr_asprintf_import;
@@ -279,11 +292,13 @@ void grpc_rb_load_imports(HMODULE library) {
279
292
  grpc_register_plugin_import = (grpc_register_plugin_type) GetProcAddress(library, "grpc_register_plugin");
280
293
  grpc_init_import = (grpc_init_type) GetProcAddress(library, "grpc_init");
281
294
  grpc_shutdown_import = (grpc_shutdown_type) GetProcAddress(library, "grpc_shutdown");
295
+ grpc_is_initialized_import = (grpc_is_initialized_type) GetProcAddress(library, "grpc_is_initialized");
282
296
  grpc_version_string_import = (grpc_version_string_type) GetProcAddress(library, "grpc_version_string");
283
297
  grpc_g_stands_for_import = (grpc_g_stands_for_type) GetProcAddress(library, "grpc_g_stands_for");
284
298
  grpc_completion_queue_factory_lookup_import = (grpc_completion_queue_factory_lookup_type) GetProcAddress(library, "grpc_completion_queue_factory_lookup");
285
299
  grpc_completion_queue_create_for_next_import = (grpc_completion_queue_create_for_next_type) GetProcAddress(library, "grpc_completion_queue_create_for_next");
286
300
  grpc_completion_queue_create_for_pluck_import = (grpc_completion_queue_create_for_pluck_type) GetProcAddress(library, "grpc_completion_queue_create_for_pluck");
301
+ grpc_completion_queue_create_for_callback_import = (grpc_completion_queue_create_for_callback_type) GetProcAddress(library, "grpc_completion_queue_create_for_callback");
287
302
  grpc_completion_queue_create_import = (grpc_completion_queue_create_type) GetProcAddress(library, "grpc_completion_queue_create");
288
303
  grpc_completion_queue_next_import = (grpc_completion_queue_next_type) GetProcAddress(library, "grpc_completion_queue_next");
289
304
  grpc_completion_queue_pluck_import = (grpc_completion_queue_pluck_type) GetProcAddress(library, "grpc_completion_queue_pluck");
@@ -306,11 +321,10 @@ void grpc_rb_load_imports(HMODULE library) {
306
321
  grpc_census_call_get_context_import = (grpc_census_call_get_context_type) GetProcAddress(library, "grpc_census_call_get_context");
307
322
  grpc_channel_get_target_import = (grpc_channel_get_target_type) GetProcAddress(library, "grpc_channel_get_target");
308
323
  grpc_channel_get_info_import = (grpc_channel_get_info_type) GetProcAddress(library, "grpc_channel_get_info");
324
+ grpc_channel_reset_connect_backoff_import = (grpc_channel_reset_connect_backoff_type) GetProcAddress(library, "grpc_channel_reset_connect_backoff");
309
325
  grpc_insecure_channel_create_import = (grpc_insecure_channel_create_type) GetProcAddress(library, "grpc_insecure_channel_create");
310
326
  grpc_lame_client_channel_create_import = (grpc_lame_client_channel_create_type) GetProcAddress(library, "grpc_lame_client_channel_create");
311
327
  grpc_channel_destroy_import = (grpc_channel_destroy_type) GetProcAddress(library, "grpc_channel_destroy");
312
- grpc_channel_get_trace_import = (grpc_channel_get_trace_type) GetProcAddress(library, "grpc_channel_get_trace");
313
- grpc_channel_get_uuid_import = (grpc_channel_get_uuid_type) GetProcAddress(library, "grpc_channel_get_uuid");
314
328
  grpc_call_cancel_import = (grpc_call_cancel_type) GetProcAddress(library, "grpc_call_cancel");
315
329
  grpc_call_cancel_with_status_import = (grpc_call_cancel_with_status_type) GetProcAddress(library, "grpc_call_cancel_with_status");
316
330
  grpc_call_ref_import = (grpc_call_ref_type) GetProcAddress(library, "grpc_call_ref");
@@ -334,7 +348,10 @@ void grpc_rb_load_imports(HMODULE library) {
334
348
  grpc_resource_quota_ref_import = (grpc_resource_quota_ref_type) GetProcAddress(library, "grpc_resource_quota_ref");
335
349
  grpc_resource_quota_unref_import = (grpc_resource_quota_unref_type) GetProcAddress(library, "grpc_resource_quota_unref");
336
350
  grpc_resource_quota_resize_import = (grpc_resource_quota_resize_type) GetProcAddress(library, "grpc_resource_quota_resize");
351
+ grpc_resource_quota_set_max_threads_import = (grpc_resource_quota_set_max_threads_type) GetProcAddress(library, "grpc_resource_quota_set_max_threads");
337
352
  grpc_resource_quota_arg_vtable_import = (grpc_resource_quota_arg_vtable_type) GetProcAddress(library, "grpc_resource_quota_arg_vtable");
353
+ grpc_channelz_get_top_channels_import = (grpc_channelz_get_top_channels_type) GetProcAddress(library, "grpc_channelz_get_top_channels");
354
+ grpc_channelz_get_channel_import = (grpc_channelz_get_channel_type) GetProcAddress(library, "grpc_channelz_get_channel");
338
355
  grpc_insecure_channel_create_from_fd_import = (grpc_insecure_channel_create_from_fd_type) GetProcAddress(library, "grpc_insecure_channel_create_from_fd");
339
356
  grpc_server_add_insecure_channel_from_fd_import = (grpc_server_add_insecure_channel_from_fd_type) GetProcAddress(library, "grpc_server_add_insecure_channel_from_fd");
340
357
  grpc_use_signal_import = (grpc_use_signal_type) GetProcAddress(library, "grpc_use_signal");
@@ -379,6 +396,14 @@ void grpc_rb_load_imports(HMODULE library) {
379
396
  grpc_server_add_secure_http2_port_import = (grpc_server_add_secure_http2_port_type) GetProcAddress(library, "grpc_server_add_secure_http2_port");
380
397
  grpc_call_set_credentials_import = (grpc_call_set_credentials_type) GetProcAddress(library, "grpc_call_set_credentials");
381
398
  grpc_server_credentials_set_auth_metadata_processor_import = (grpc_server_credentials_set_auth_metadata_processor_type) GetProcAddress(library, "grpc_server_credentials_set_auth_metadata_processor");
399
+ grpc_alts_credentials_client_options_create_import = (grpc_alts_credentials_client_options_create_type) GetProcAddress(library, "grpc_alts_credentials_client_options_create");
400
+ grpc_alts_credentials_server_options_create_import = (grpc_alts_credentials_server_options_create_type) GetProcAddress(library, "grpc_alts_credentials_server_options_create");
401
+ grpc_alts_credentials_client_options_add_target_service_account_import = (grpc_alts_credentials_client_options_add_target_service_account_type) GetProcAddress(library, "grpc_alts_credentials_client_options_add_target_service_account");
402
+ grpc_alts_credentials_options_destroy_import = (grpc_alts_credentials_options_destroy_type) GetProcAddress(library, "grpc_alts_credentials_options_destroy");
403
+ grpc_alts_credentials_create_import = (grpc_alts_credentials_create_type) GetProcAddress(library, "grpc_alts_credentials_create");
404
+ grpc_alts_server_credentials_create_import = (grpc_alts_server_credentials_create_type) GetProcAddress(library, "grpc_alts_server_credentials_create");
405
+ grpc_local_credentials_create_import = (grpc_local_credentials_create_type) GetProcAddress(library, "grpc_local_credentials_create");
406
+ grpc_local_server_credentials_create_import = (grpc_local_server_credentials_create_type) GetProcAddress(library, "grpc_local_server_credentials_create");
382
407
  grpc_raw_byte_buffer_create_import = (grpc_raw_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_byte_buffer_create");
383
408
  grpc_raw_compressed_byte_buffer_create_import = (grpc_raw_compressed_byte_buffer_create_type) GetProcAddress(library, "grpc_raw_compressed_byte_buffer_create");
384
409
  grpc_byte_buffer_copy_import = (grpc_byte_buffer_copy_type) GetProcAddress(library, "grpc_byte_buffer_copy");
@@ -389,6 +414,13 @@ void grpc_rb_load_imports(HMODULE library) {
389
414
  grpc_byte_buffer_reader_next_import = (grpc_byte_buffer_reader_next_type) GetProcAddress(library, "grpc_byte_buffer_reader_next");
390
415
  grpc_byte_buffer_reader_readall_import = (grpc_byte_buffer_reader_readall_type) GetProcAddress(library, "grpc_byte_buffer_reader_readall");
391
416
  grpc_raw_byte_buffer_from_reader_import = (grpc_raw_byte_buffer_from_reader_type) GetProcAddress(library, "grpc_raw_byte_buffer_from_reader");
417
+ gpr_log_severity_string_import = (gpr_log_severity_string_type) GetProcAddress(library, "gpr_log_severity_string");
418
+ gpr_log_import = (gpr_log_type) GetProcAddress(library, "gpr_log");
419
+ gpr_should_log_import = (gpr_should_log_type) GetProcAddress(library, "gpr_should_log");
420
+ gpr_log_message_import = (gpr_log_message_type) GetProcAddress(library, "gpr_log_message");
421
+ gpr_set_log_verbosity_import = (gpr_set_log_verbosity_type) GetProcAddress(library, "gpr_set_log_verbosity");
422
+ gpr_log_verbosity_init_import = (gpr_log_verbosity_init_type) GetProcAddress(library, "gpr_log_verbosity_init");
423
+ gpr_set_log_function_import = (gpr_set_log_function_type) GetProcAddress(library, "gpr_set_log_function");
392
424
  grpc_slice_ref_import = (grpc_slice_ref_type) GetProcAddress(library, "grpc_slice_ref");
393
425
  grpc_slice_unref_import = (grpc_slice_unref_type) GetProcAddress(library, "grpc_slice_unref");
394
426
  grpc_slice_copy_import = (grpc_slice_copy_type) GetProcAddress(library, "grpc_slice_copy");
@@ -447,12 +479,6 @@ void grpc_rb_load_imports(HMODULE library) {
447
479
  gpr_get_allocation_functions_import = (gpr_get_allocation_functions_type) GetProcAddress(library, "gpr_get_allocation_functions");
448
480
  gpr_cpu_num_cores_import = (gpr_cpu_num_cores_type) GetProcAddress(library, "gpr_cpu_num_cores");
449
481
  gpr_cpu_current_cpu_import = (gpr_cpu_current_cpu_type) GetProcAddress(library, "gpr_cpu_current_cpu");
450
- gpr_log_severity_string_import = (gpr_log_severity_string_type) GetProcAddress(library, "gpr_log_severity_string");
451
- gpr_log_import = (gpr_log_type) GetProcAddress(library, "gpr_log");
452
- gpr_log_message_import = (gpr_log_message_type) GetProcAddress(library, "gpr_log_message");
453
- gpr_set_log_verbosity_import = (gpr_set_log_verbosity_type) GetProcAddress(library, "gpr_set_log_verbosity");
454
- gpr_log_verbosity_init_import = (gpr_log_verbosity_init_type) GetProcAddress(library, "gpr_log_verbosity_init");
455
- gpr_set_log_function_import = (gpr_set_log_function_type) GetProcAddress(library, "gpr_set_log_function");
456
482
  gpr_format_message_import = (gpr_format_message_type) GetProcAddress(library, "gpr_format_message");
457
483
  gpr_strdup_import = (gpr_strdup_type) GetProcAddress(library, "gpr_strdup");
458
484
  gpr_asprintf_import = (gpr_asprintf_type) GetProcAddress(library, "gpr_asprintf");
@@ -30,11 +30,11 @@
30
30
  #include <grpc/grpc_posix.h>
31
31
  #include <grpc/grpc_security.h>
32
32
  #include <grpc/impl/codegen/byte_buffer.h>
33
+ #include <grpc/impl/codegen/log.h>
33
34
  #include <grpc/slice.h>
34
35
  #include <grpc/slice_buffer.h>
35
36
  #include <grpc/support/alloc.h>
36
37
  #include <grpc/support/cpu.h>
37
- #include <grpc/support/log.h>
38
38
  #include <grpc/support/log_windows.h>
39
39
  #include <grpc/support/string_util.h>
40
40
  #include <grpc/support/sync.h>
@@ -89,6 +89,9 @@ extern grpc_init_type grpc_init_import;
89
89
  typedef void(*grpc_shutdown_type)(void);
90
90
  extern grpc_shutdown_type grpc_shutdown_import;
91
91
  #define grpc_shutdown grpc_shutdown_import
92
+ typedef int(*grpc_is_initialized_type)(void);
93
+ extern grpc_is_initialized_type grpc_is_initialized_import;
94
+ #define grpc_is_initialized grpc_is_initialized_import
92
95
  typedef const char*(*grpc_version_string_type)(void);
93
96
  extern grpc_version_string_type grpc_version_string_import;
94
97
  #define grpc_version_string grpc_version_string_import
@@ -104,6 +107,9 @@ extern grpc_completion_queue_create_for_next_type grpc_completion_queue_create_f
104
107
  typedef grpc_completion_queue*(*grpc_completion_queue_create_for_pluck_type)(void* reserved);
105
108
  extern grpc_completion_queue_create_for_pluck_type grpc_completion_queue_create_for_pluck_import;
106
109
  #define grpc_completion_queue_create_for_pluck grpc_completion_queue_create_for_pluck_import
110
+ typedef grpc_completion_queue*(*grpc_completion_queue_create_for_callback_type)(void* shutdown_callback, void* reserved);
111
+ extern grpc_completion_queue_create_for_callback_type grpc_completion_queue_create_for_callback_import;
112
+ #define grpc_completion_queue_create_for_callback grpc_completion_queue_create_for_callback_import
107
113
  typedef grpc_completion_queue*(*grpc_completion_queue_create_type)(const grpc_completion_queue_factory* factory, const grpc_completion_queue_attributes* attributes, void* reserved);
108
114
  extern grpc_completion_queue_create_type grpc_completion_queue_create_import;
109
115
  #define grpc_completion_queue_create grpc_completion_queue_create_import
@@ -170,6 +176,9 @@ extern grpc_channel_get_target_type grpc_channel_get_target_import;
170
176
  typedef void(*grpc_channel_get_info_type)(grpc_channel* channel, const grpc_channel_info* channel_info);
171
177
  extern grpc_channel_get_info_type grpc_channel_get_info_import;
172
178
  #define grpc_channel_get_info grpc_channel_get_info_import
179
+ typedef void(*grpc_channel_reset_connect_backoff_type)(grpc_channel* channel);
180
+ extern grpc_channel_reset_connect_backoff_type grpc_channel_reset_connect_backoff_import;
181
+ #define grpc_channel_reset_connect_backoff grpc_channel_reset_connect_backoff_import
173
182
  typedef grpc_channel*(*grpc_insecure_channel_create_type)(const char* target, const grpc_channel_args* args, void* reserved);
174
183
  extern grpc_insecure_channel_create_type grpc_insecure_channel_create_import;
175
184
  #define grpc_insecure_channel_create grpc_insecure_channel_create_import
@@ -179,12 +188,6 @@ extern grpc_lame_client_channel_create_type grpc_lame_client_channel_create_impo
179
188
  typedef void(*grpc_channel_destroy_type)(grpc_channel* channel);
180
189
  extern grpc_channel_destroy_type grpc_channel_destroy_import;
181
190
  #define grpc_channel_destroy grpc_channel_destroy_import
182
- typedef char*(*grpc_channel_get_trace_type)(grpc_channel* channel);
183
- extern grpc_channel_get_trace_type grpc_channel_get_trace_import;
184
- #define grpc_channel_get_trace grpc_channel_get_trace_import
185
- typedef intptr_t(*grpc_channel_get_uuid_type)(grpc_channel* channel);
186
- extern grpc_channel_get_uuid_type grpc_channel_get_uuid_import;
187
- #define grpc_channel_get_uuid grpc_channel_get_uuid_import
188
191
  typedef grpc_call_error(*grpc_call_cancel_type)(grpc_call* call, void* reserved);
189
192
  extern grpc_call_cancel_type grpc_call_cancel_import;
190
193
  #define grpc_call_cancel grpc_call_cancel_import
@@ -254,9 +257,18 @@ extern grpc_resource_quota_unref_type grpc_resource_quota_unref_import;
254
257
  typedef void(*grpc_resource_quota_resize_type)(grpc_resource_quota* resource_quota, size_t new_size);
255
258
  extern grpc_resource_quota_resize_type grpc_resource_quota_resize_import;
256
259
  #define grpc_resource_quota_resize grpc_resource_quota_resize_import
260
+ typedef void(*grpc_resource_quota_set_max_threads_type)(grpc_resource_quota* resource_quota, int new_max_threads);
261
+ extern grpc_resource_quota_set_max_threads_type grpc_resource_quota_set_max_threads_import;
262
+ #define grpc_resource_quota_set_max_threads grpc_resource_quota_set_max_threads_import
257
263
  typedef const grpc_arg_pointer_vtable*(*grpc_resource_quota_arg_vtable_type)(void);
258
264
  extern grpc_resource_quota_arg_vtable_type grpc_resource_quota_arg_vtable_import;
259
265
  #define grpc_resource_quota_arg_vtable grpc_resource_quota_arg_vtable_import
266
+ typedef char*(*grpc_channelz_get_top_channels_type)(intptr_t start_channel_id);
267
+ extern grpc_channelz_get_top_channels_type grpc_channelz_get_top_channels_import;
268
+ #define grpc_channelz_get_top_channels grpc_channelz_get_top_channels_import
269
+ typedef char*(*grpc_channelz_get_channel_type)(intptr_t channel_id);
270
+ extern grpc_channelz_get_channel_type grpc_channelz_get_channel_import;
271
+ #define grpc_channelz_get_channel grpc_channelz_get_channel_import
260
272
  typedef grpc_channel*(*grpc_insecure_channel_create_from_fd_type)(const char* target, int fd, const grpc_channel_args* args);
261
273
  extern grpc_insecure_channel_create_from_fd_type grpc_insecure_channel_create_from_fd_import;
262
274
  #define grpc_insecure_channel_create_from_fd grpc_insecure_channel_create_from_fd_import
@@ -317,7 +329,7 @@ extern grpc_google_default_credentials_create_type grpc_google_default_credentia
317
329
  typedef void(*grpc_set_ssl_roots_override_callback_type)(grpc_ssl_roots_override_callback cb);
318
330
  extern grpc_set_ssl_roots_override_callback_type grpc_set_ssl_roots_override_callback_import;
319
331
  #define grpc_set_ssl_roots_override_callback grpc_set_ssl_roots_override_callback_import
320
- typedef grpc_channel_credentials*(*grpc_ssl_credentials_create_type)(const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pair, void* reserved);
332
+ typedef grpc_channel_credentials*(*grpc_ssl_credentials_create_type)(const char* pem_root_certs, grpc_ssl_pem_key_cert_pair* pem_key_cert_pair, const verify_peer_options* verify_options, void* reserved);
321
333
  extern grpc_ssl_credentials_create_type grpc_ssl_credentials_create_import;
322
334
  #define grpc_ssl_credentials_create grpc_ssl_credentials_create_import
323
335
  typedef void(*grpc_call_credentials_release_type)(grpc_call_credentials* creds);
@@ -389,6 +401,30 @@ extern grpc_call_set_credentials_type grpc_call_set_credentials_import;
389
401
  typedef void(*grpc_server_credentials_set_auth_metadata_processor_type)(grpc_server_credentials* creds, grpc_auth_metadata_processor processor);
390
402
  extern grpc_server_credentials_set_auth_metadata_processor_type grpc_server_credentials_set_auth_metadata_processor_import;
391
403
  #define grpc_server_credentials_set_auth_metadata_processor grpc_server_credentials_set_auth_metadata_processor_import
404
+ typedef grpc_alts_credentials_options*(*grpc_alts_credentials_client_options_create_type)();
405
+ extern grpc_alts_credentials_client_options_create_type grpc_alts_credentials_client_options_create_import;
406
+ #define grpc_alts_credentials_client_options_create grpc_alts_credentials_client_options_create_import
407
+ typedef grpc_alts_credentials_options*(*grpc_alts_credentials_server_options_create_type)();
408
+ extern grpc_alts_credentials_server_options_create_type grpc_alts_credentials_server_options_create_import;
409
+ #define grpc_alts_credentials_server_options_create grpc_alts_credentials_server_options_create_import
410
+ typedef void(*grpc_alts_credentials_client_options_add_target_service_account_type)(grpc_alts_credentials_options* options, const char* service_account);
411
+ extern grpc_alts_credentials_client_options_add_target_service_account_type grpc_alts_credentials_client_options_add_target_service_account_import;
412
+ #define grpc_alts_credentials_client_options_add_target_service_account grpc_alts_credentials_client_options_add_target_service_account_import
413
+ typedef void(*grpc_alts_credentials_options_destroy_type)(grpc_alts_credentials_options* options);
414
+ extern grpc_alts_credentials_options_destroy_type grpc_alts_credentials_options_destroy_import;
415
+ #define grpc_alts_credentials_options_destroy grpc_alts_credentials_options_destroy_import
416
+ typedef grpc_channel_credentials*(*grpc_alts_credentials_create_type)(const grpc_alts_credentials_options* options);
417
+ extern grpc_alts_credentials_create_type grpc_alts_credentials_create_import;
418
+ #define grpc_alts_credentials_create grpc_alts_credentials_create_import
419
+ typedef grpc_server_credentials*(*grpc_alts_server_credentials_create_type)(const grpc_alts_credentials_options* options);
420
+ extern grpc_alts_server_credentials_create_type grpc_alts_server_credentials_create_import;
421
+ #define grpc_alts_server_credentials_create grpc_alts_server_credentials_create_import
422
+ typedef grpc_channel_credentials*(*grpc_local_credentials_create_type)(grpc_local_connect_type type);
423
+ extern grpc_local_credentials_create_type grpc_local_credentials_create_import;
424
+ #define grpc_local_credentials_create grpc_local_credentials_create_import
425
+ typedef grpc_server_credentials*(*grpc_local_server_credentials_create_type)(grpc_local_connect_type type);
426
+ extern grpc_local_server_credentials_create_type grpc_local_server_credentials_create_import;
427
+ #define grpc_local_server_credentials_create grpc_local_server_credentials_create_import
392
428
  typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_create_type)(grpc_slice* slices, size_t nslices);
393
429
  extern grpc_raw_byte_buffer_create_type grpc_raw_byte_buffer_create_import;
394
430
  #define grpc_raw_byte_buffer_create grpc_raw_byte_buffer_create_import
@@ -419,6 +455,27 @@ extern grpc_byte_buffer_reader_readall_type grpc_byte_buffer_reader_readall_impo
419
455
  typedef grpc_byte_buffer*(*grpc_raw_byte_buffer_from_reader_type)(grpc_byte_buffer_reader* reader);
420
456
  extern grpc_raw_byte_buffer_from_reader_type grpc_raw_byte_buffer_from_reader_import;
421
457
  #define grpc_raw_byte_buffer_from_reader grpc_raw_byte_buffer_from_reader_import
458
+ typedef const char*(*gpr_log_severity_string_type)(gpr_log_severity severity);
459
+ extern gpr_log_severity_string_type gpr_log_severity_string_import;
460
+ #define gpr_log_severity_string gpr_log_severity_string_import
461
+ typedef void(*gpr_log_type)(const char* file, int line, gpr_log_severity severity, const char* format, ...) GPR_PRINT_FORMAT_CHECK(4, 5);
462
+ extern gpr_log_type gpr_log_import;
463
+ #define gpr_log gpr_log_import
464
+ typedef int(*gpr_should_log_type)(gpr_log_severity severity);
465
+ extern gpr_should_log_type gpr_should_log_import;
466
+ #define gpr_should_log gpr_should_log_import
467
+ typedef void(*gpr_log_message_type)(const char* file, int line, gpr_log_severity severity, const char* message);
468
+ extern gpr_log_message_type gpr_log_message_import;
469
+ #define gpr_log_message gpr_log_message_import
470
+ typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
471
+ extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
472
+ #define gpr_set_log_verbosity gpr_set_log_verbosity_import
473
+ typedef void(*gpr_log_verbosity_init_type)(void);
474
+ extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
475
+ #define gpr_log_verbosity_init gpr_log_verbosity_init_import
476
+ typedef void(*gpr_set_log_function_type)(gpr_log_func func);
477
+ extern gpr_set_log_function_type gpr_set_log_function_import;
478
+ #define gpr_set_log_function gpr_set_log_function_import
422
479
  typedef grpc_slice(*grpc_slice_ref_type)(grpc_slice s);
423
480
  extern grpc_slice_ref_type grpc_slice_ref_import;
424
481
  #define grpc_slice_ref grpc_slice_ref_import
@@ -593,24 +650,6 @@ extern gpr_cpu_num_cores_type gpr_cpu_num_cores_import;
593
650
  typedef unsigned(*gpr_cpu_current_cpu_type)(void);
594
651
  extern gpr_cpu_current_cpu_type gpr_cpu_current_cpu_import;
595
652
  #define gpr_cpu_current_cpu gpr_cpu_current_cpu_import
596
- typedef const char*(*gpr_log_severity_string_type)(gpr_log_severity severity);
597
- extern gpr_log_severity_string_type gpr_log_severity_string_import;
598
- #define gpr_log_severity_string gpr_log_severity_string_import
599
- typedef void(*gpr_log_type)(const char* file, int line, gpr_log_severity severity, const char* format, ...) GPR_PRINT_FORMAT_CHECK(4, 5);
600
- extern gpr_log_type gpr_log_import;
601
- #define gpr_log gpr_log_import
602
- typedef void(*gpr_log_message_type)(const char* file, int line, gpr_log_severity severity, const char* message);
603
- extern gpr_log_message_type gpr_log_message_import;
604
- #define gpr_log_message gpr_log_message_import
605
- typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity min_severity_to_print);
606
- extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
607
- #define gpr_set_log_verbosity gpr_set_log_verbosity_import
608
- typedef void(*gpr_log_verbosity_init_type)(void);
609
- extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
610
- #define gpr_log_verbosity_init gpr_log_verbosity_init_import
611
- typedef void(*gpr_set_log_function_type)(gpr_log_func func);
612
- extern gpr_set_log_function_type gpr_set_log_function_import;
613
- #define gpr_set_log_function gpr_set_log_function_import
614
653
  typedef char*(*gpr_format_message_type)(int messageid);
615
654
  extern gpr_format_message_type gpr_format_message_import;
616
655
  #define gpr_format_message gpr_format_message_import