awesome-grpc-that-works 0.12.2 → 0.14.0.dev

Sign up to get free protection for your applications and to get access to all the features.
Files changed (724) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/Makefile +5783 -22121
  4. data/include/grpc/byte_buffer.h +2 -83
  5. data/include/grpc/census.h +173 -121
  6. data/include/grpc/compression.h +14 -38
  7. data/include/grpc/grpc.h +85 -434
  8. data/include/grpc/grpc_security.h +76 -46
  9. data/include/grpc/grpc_zookeeper.h +1 -1
  10. data/include/grpc/impl/codegen/alloc.h +74 -0
  11. data/include/grpc/impl/codegen/atm.h +92 -0
  12. data/include/grpc/impl/codegen/atm_gcc_atomic.h +72 -0
  13. data/include/grpc/impl/codegen/atm_gcc_sync.h +87 -0
  14. data/include/grpc/impl/codegen/atm_win32.h +125 -0
  15. data/include/grpc/impl/codegen/byte_buffer.h +121 -0
  16. data/include/grpc/impl/codegen/compression_types.h +73 -0
  17. data/include/grpc/impl/codegen/connectivity_state.h +59 -0
  18. data/include/grpc/impl/codegen/grpc_types.h +378 -0
  19. data/include/grpc/impl/codegen/log.h +110 -0
  20. data/include/grpc/impl/codegen/port_platform.h +370 -0
  21. data/include/grpc/impl/codegen/propagation_bits.h +67 -0
  22. data/include/grpc/impl/codegen/slice.h +182 -0
  23. data/include/grpc/impl/codegen/slice_buffer.h +105 -0
  24. data/include/grpc/impl/codegen/status.h +163 -0
  25. data/include/grpc/impl/codegen/sync.h +316 -0
  26. data/include/grpc/impl/codegen/sync_generic.h +55 -0
  27. data/{src/core/census/context.h → include/grpc/impl/codegen/sync_posix.h} +11 -11
  28. data/include/grpc/impl/codegen/sync_win32.h +49 -0
  29. data/include/grpc/impl/codegen/time.h +130 -0
  30. data/include/grpc/status.h +2 -126
  31. data/include/grpc/support/alloc.h +2 -35
  32. data/include/grpc/support/atm.h +2 -55
  33. data/include/grpc/support/atm_gcc_atomic.h +5 -38
  34. data/include/grpc/support/atm_gcc_sync.h +2 -50
  35. data/include/grpc/support/atm_win32.h +2 -88
  36. data/include/grpc/support/avl.h +10 -9
  37. data/include/grpc/support/cmdline.h +15 -13
  38. data/include/grpc/support/cpu.h +5 -3
  39. data/include/grpc/support/histogram.h +23 -20
  40. data/include/grpc/support/host_port.h +5 -3
  41. data/include/grpc/support/log.h +2 -71
  42. data/include/grpc/support/log_win32.h +2 -2
  43. data/include/grpc/support/port_platform.h +2 -319
  44. data/include/grpc/support/slice.h +2 -145
  45. data/include/grpc/support/slice_buffer.h +2 -65
  46. data/include/grpc/support/string_util.h +3 -3
  47. data/include/grpc/support/subprocess.h +8 -6
  48. data/include/grpc/support/sync.h +2 -278
  49. data/include/grpc/support/sync_generic.h +2 -18
  50. data/include/grpc/support/sync_posix.h +2 -10
  51. data/include/grpc/support/sync_win32.h +2 -12
  52. data/include/grpc/support/thd.h +11 -11
  53. data/include/grpc/support/time.h +2 -91
  54. data/include/grpc/support/tls.h +1 -1
  55. data/include/grpc/support/tls_gcc.h +1 -1
  56. data/include/grpc/support/tls_msvc.h +1 -1
  57. data/include/grpc/support/tls_pthread.h +2 -2
  58. data/include/grpc/support/useful.h +3 -1
  59. data/src/boringssl/err_data.c +1252 -0
  60. data/src/core/census/context.c +471 -8
  61. data/src/core/census/grpc_filter.c +5 -5
  62. data/src/core/census/initialize.c +4 -7
  63. data/src/core/census/mlog.c +600 -0
  64. data/src/core/census/mlog.h +95 -0
  65. data/src/core/census/operation.c +2 -2
  66. data/src/core/census/placeholders.c +109 -0
  67. data/src/core/census/rpc_metric_id.h +6 -6
  68. data/src/core/census/tracing.c +1 -1
  69. data/src/core/channel/channel_args.c +71 -9
  70. data/src/core/channel/channel_args.h +7 -1
  71. data/src/core/channel/channel_stack.c +1 -1
  72. data/src/core/channel/client_channel.c +33 -30
  73. data/src/core/channel/client_uchannel.c +3 -3
  74. data/src/core/channel/compress_filter.c +8 -8
  75. data/src/core/channel/http_client_filter.c +4 -4
  76. data/src/core/channel/http_server_filter.c +11 -11
  77. data/src/core/channel/subchannel_call_holder.c +11 -11
  78. data/src/core/client_config/connector.c +3 -2
  79. data/src/core/client_config/connector.h +2 -2
  80. data/src/core/client_config/lb_policies/load_balancer_api.c +163 -0
  81. data/src/core/client_config/lb_policies/load_balancer_api.h +85 -0
  82. data/src/core/client_config/lb_policies/pick_first.c +57 -40
  83. data/src/core/client_config/lb_policies/round_robin.c +14 -15
  84. data/src/core/client_config/lb_policy.c +3 -3
  85. data/src/core/client_config/lb_policy.h +3 -2
  86. data/src/core/client_config/resolvers/dns_resolver.c +3 -3
  87. data/src/core/client_config/resolvers/sockaddr_resolver.c +5 -5
  88. data/src/core/client_config/subchannel.c +84 -39
  89. data/src/core/client_config/subchannel.h +15 -6
  90. data/src/core/client_config/subchannel_index.c +261 -0
  91. data/src/core/client_config/subchannel_index.h +77 -0
  92. data/src/core/compression/{algorithm.c → compression_algorithm.c} +3 -3
  93. data/src/core/httpcli/format_request.c +1 -1
  94. data/src/core/httpcli/httpcli.c +18 -16
  95. data/src/core/httpcli/httpcli.h +3 -2
  96. data/src/core/httpcli/httpcli_security_connector.c +9 -10
  97. data/src/core/httpcli/parser.c +7 -7
  98. data/src/core/httpcli/parser.h +1 -1
  99. data/src/core/iomgr/closure.c +7 -7
  100. data/src/core/iomgr/closure.h +6 -5
  101. data/src/core/iomgr/exec_ctx.c +12 -8
  102. data/src/core/iomgr/exec_ctx.h +12 -5
  103. data/src/core/iomgr/executor.c +4 -4
  104. data/src/core/iomgr/executor.h +2 -2
  105. data/src/core/iomgr/fd_posix.c +32 -19
  106. data/src/core/iomgr/fd_posix.h +7 -4
  107. data/src/core/iomgr/iocp_windows.c +7 -9
  108. data/src/core/iomgr/iomgr.c +2 -2
  109. data/src/core/iomgr/pollset.h +9 -10
  110. data/src/core/iomgr/pollset_multipoller_with_epoll.c +71 -5
  111. data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +9 -5
  112. data/src/core/iomgr/pollset_posix.c +44 -49
  113. data/src/core/iomgr/pollset_posix.h +14 -8
  114. data/src/core/iomgr/pollset_set.h +3 -9
  115. data/src/core/iomgr/pollset_set_posix.c +23 -3
  116. data/src/core/iomgr/pollset_set_posix.h +2 -18
  117. data/src/core/iomgr/pollset_set_windows.c +3 -3
  118. data/src/core/iomgr/pollset_set_windows.h +2 -2
  119. data/src/core/iomgr/pollset_windows.c +29 -37
  120. data/src/core/iomgr/pollset_windows.h +1 -5
  121. data/src/core/iomgr/resolve_address_posix.c +2 -2
  122. data/src/core/iomgr/resolve_address_windows.c +2 -2
  123. data/src/core/iomgr/sockaddr_utils.c +6 -6
  124. data/src/core/iomgr/sockaddr_win32.h +1 -6
  125. data/src/core/iomgr/tcp_client_posix.c +14 -12
  126. data/src/core/iomgr/tcp_client_windows.c +4 -4
  127. data/src/core/iomgr/tcp_posix.c +18 -10
  128. data/src/core/iomgr/tcp_posix.h +7 -1
  129. data/src/core/iomgr/tcp_server.h +40 -20
  130. data/src/core/iomgr/tcp_server_posix.c +106 -49
  131. data/src/core/iomgr/tcp_server_windows.c +98 -49
  132. data/src/core/iomgr/tcp_windows.c +11 -15
  133. data/src/core/iomgr/timer.c +10 -11
  134. data/src/core/iomgr/timer.h +22 -2
  135. data/src/core/iomgr/timer_heap.c +10 -10
  136. data/src/core/iomgr/timer_heap.h +2 -2
  137. data/src/core/iomgr/udp_server.c +7 -16
  138. data/src/core/iomgr/udp_server.h +2 -9
  139. data/src/core/iomgr/workqueue.h +2 -4
  140. data/src/core/iomgr/workqueue_posix.c +4 -3
  141. data/src/core/iomgr/workqueue_posix.h +3 -1
  142. data/src/core/json/json_reader.c +11 -12
  143. data/src/core/json/json_reader.h +4 -4
  144. data/src/core/json/json_string.c +19 -19
  145. data/src/core/json/json_writer.c +7 -9
  146. data/src/core/profiling/basic_timers.c +1 -1
  147. data/src/core/proto/grpc/lb/v0/load_balancer.pb.c +119 -0
  148. data/src/core/proto/grpc/lb/v0/load_balancer.pb.h +182 -0
  149. data/src/core/security/{base64.c → b64.c} +10 -10
  150. data/src/core/security/{base64.h → b64.h} +1 -1
  151. data/src/core/security/client_auth_filter.c +4 -5
  152. data/src/core/security/credentials.c +17 -10
  153. data/src/core/security/credentials.h +3 -3
  154. data/src/core/security/google_default_credentials.c +27 -22
  155. data/src/core/security/handshake.c +21 -12
  156. data/src/core/security/handshake.h +2 -1
  157. data/src/core/security/json_token.c +14 -8
  158. data/src/core/security/jwt_verifier.c +4 -3
  159. data/src/core/security/secure_endpoint.c +16 -16
  160. data/src/core/security/security_connector.c +131 -81
  161. data/src/core/security/security_connector.h +47 -27
  162. data/src/core/security/security_context.c +8 -3
  163. data/src/core/security/server_auth_filter.c +5 -5
  164. data/src/core/security/server_secure_chttp2.c +36 -37
  165. data/src/core/statistics/census_interface.h +2 -2
  166. data/src/core/statistics/census_rpc_stats.h +3 -3
  167. data/src/core/support/alloc.c +1 -1
  168. data/src/core/support/avl.c +2 -2
  169. data/src/core/support/cpu_posix.c +2 -2
  170. data/src/core/support/env_linux.c +28 -1
  171. data/src/core/support/env_win32.c +15 -7
  172. data/src/core/support/histogram.c +5 -5
  173. data/src/core/support/{file.c → load_file.c} +2 -2
  174. data/src/core/support/{file.h → load_file.h} +4 -12
  175. data/src/core/support/log_posix.c +1 -1
  176. data/src/core/support/log_win32.c +4 -3
  177. data/src/core/support/murmur_hash.c +11 -11
  178. data/src/core/support/murmur_hash.h +1 -1
  179. data/src/core/support/slice.c +11 -11
  180. data/src/core/support/slice_buffer.c +6 -6
  181. data/src/core/support/stack_lockfree.c +20 -10
  182. data/src/core/support/string.c +15 -15
  183. data/src/core/support/string.h +5 -5
  184. data/src/core/support/string_win32.c +5 -5
  185. data/src/core/support/subprocess_windows.c +141 -0
  186. data/src/core/support/sync.c +4 -4
  187. data/src/core/support/sync_posix.c +2 -2
  188. data/src/core/support/sync_win32.c +10 -5
  189. data/src/core/support/time.c +29 -29
  190. data/src/core/support/time_posix.c +15 -6
  191. data/src/core/support/time_precise.c +2 -2
  192. data/src/core/support/time_win32.c +18 -9
  193. data/src/core/support/tls_pthread.c +1 -1
  194. data/src/core/support/tmpfile.h +55 -0
  195. data/src/core/support/{file_posix.c → tmpfile_posix.c} +2 -2
  196. data/src/core/support/{file_win32.c → tmpfile_win32.c} +2 -2
  197. data/src/core/support/wrap_memcpy.c +53 -0
  198. data/src/core/surface/alarm.c +84 -0
  199. data/src/core/surface/byte_buffer_reader.c +1 -1
  200. data/src/core/surface/call.c +175 -116
  201. data/src/core/surface/call.h +2 -2
  202. data/src/core/surface/call_test_only.h +2 -2
  203. data/src/core/surface/channel.c +9 -9
  204. data/src/core/surface/channel.h +1 -1
  205. data/src/core/surface/channel_connectivity.c +3 -3
  206. data/src/core/surface/channel_create.c +4 -4
  207. data/src/core/surface/channel_ping.c +2 -2
  208. data/src/core/surface/completion_queue.c +84 -53
  209. data/src/core/surface/completion_queue.h +1 -1
  210. data/src/core/surface/init.c +11 -5
  211. data/src/core/surface/lame_client.c +2 -3
  212. data/src/core/surface/secure_channel_create.c +9 -10
  213. data/src/core/surface/server.c +30 -30
  214. data/src/core/surface/server_chttp2.c +8 -8
  215. data/src/core/surface/server_create.c +1 -4
  216. data/src/core/surface/validate_metadata.c +4 -4
  217. data/src/core/surface/version.c +2 -2
  218. data/src/core/transport/byte_stream.c +8 -6
  219. data/src/core/transport/byte_stream.h +6 -5
  220. data/src/core/transport/chttp2/bin_encoder.c +29 -29
  221. data/src/core/transport/chttp2/frame_data.c +29 -26
  222. data/src/core/transport/chttp2/frame_data.h +6 -6
  223. data/src/core/transport/chttp2/frame_goaway.c +30 -30
  224. data/src/core/transport/chttp2/frame_goaway.h +6 -6
  225. data/src/core/transport/chttp2/frame_ping.c +6 -6
  226. data/src/core/transport/chttp2/frame_ping.h +5 -5
  227. data/src/core/transport/chttp2/frame_rst_stream.c +18 -19
  228. data/src/core/transport/chttp2/frame_rst_stream.h +4 -4
  229. data/src/core/transport/chttp2/frame_settings.c +30 -30
  230. data/src/core/transport/chttp2/frame_settings.h +13 -13
  231. data/src/core/transport/chttp2/frame_window_update.c +17 -18
  232. data/src/core/transport/chttp2/frame_window_update.h +5 -7
  233. data/src/core/transport/chttp2/hpack_encoder.c +69 -73
  234. data/src/core/transport/chttp2/hpack_encoder.h +16 -16
  235. data/src/core/transport/chttp2/hpack_parser.c +167 -167
  236. data/src/core/transport/chttp2/hpack_parser.h +16 -16
  237. data/src/core/transport/chttp2/hpack_table.c +13 -13
  238. data/src/core/transport/chttp2/hpack_table.h +11 -11
  239. data/src/core/transport/chttp2/internal.h +103 -87
  240. data/src/core/transport/chttp2/parsing.c +25 -25
  241. data/src/core/transport/chttp2/stream_lists.c +38 -1
  242. data/src/core/transport/chttp2/stream_map.c +13 -14
  243. data/src/core/transport/chttp2/stream_map.h +6 -7
  244. data/src/core/transport/chttp2/timeout_encoding.c +19 -16
  245. data/src/core/transport/chttp2/varint.c +8 -9
  246. data/src/core/transport/chttp2/varint.h +7 -8
  247. data/src/core/transport/chttp2/writing.c +25 -22
  248. data/src/core/transport/chttp2_transport.c +147 -100
  249. data/src/core/transport/connectivity_state.c +6 -6
  250. data/src/core/transport/metadata.c +18 -18
  251. data/src/core/transport/metadata.h +5 -5
  252. data/src/core/transport/static_metadata.c +32 -33
  253. data/src/core/transport/static_metadata.h +8 -8
  254. data/src/core/transport/transport.c +6 -5
  255. data/src/core/transport/transport.h +17 -1
  256. data/src/core/tsi/fake_transport_security.c +7 -7
  257. data/src/core/tsi/ssl_transport_security.c +6 -4
  258. data/src/core/{iomgr/timer_internal.h → tsi/ssl_types.h} +19 -25
  259. data/src/ruby/ext/grpc/extconf.rb +52 -14
  260. data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -1
  261. data/src/ruby/ext/grpc/rb_call.c +7 -3
  262. data/src/ruby/ext/grpc/rb_call_credentials.c +4 -0
  263. data/src/ruby/ext/grpc/rb_channel.c +4 -2
  264. data/src/ruby/ext/grpc/rb_channel_args.c +3 -1
  265. data/src/ruby/ext/grpc/rb_channel_credentials.c +3 -1
  266. data/src/ruby/ext/grpc/rb_completion_queue.c +3 -1
  267. data/src/ruby/ext/grpc/rb_event_thread.c +5 -0
  268. data/src/ruby/ext/grpc/rb_grpc.c +28 -19
  269. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +562 -0
  270. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +846 -0
  271. data/src/ruby/ext/grpc/rb_loader.c +72 -0
  272. data/src/ruby/ext/grpc/rb_loader.h +40 -0
  273. data/src/ruby/ext/grpc/rb_server.c +3 -1
  274. data/src/ruby/ext/grpc/rb_server_credentials.c +4 -2
  275. data/src/ruby/lib/grpc/core/time_consts.rb +2 -2
  276. data/src/ruby/lib/grpc/errors.rb +2 -2
  277. data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
  278. data/src/ruby/lib/grpc/generic/rpc_desc.rb +1 -1
  279. data/src/ruby/lib/grpc/generic/rpc_server.rb +1 -1
  280. data/src/ruby/lib/grpc/grpc.rb +34 -0
  281. data/src/ruby/lib/grpc/version.rb +1 -1
  282. data/src/ruby/pb/README.md +2 -2
  283. data/src/ruby/pb/generate_proto_ruby.sh +2 -2
  284. data/src/ruby/pb/grpc/health/checker.rb +11 -11
  285. data/src/ruby/pb/grpc/health/v1/health.rb +28 -0
  286. data/src/ruby/pb/grpc/health/{v1alpha → v1}/health_services.rb +4 -4
  287. data/src/ruby/spec/client_server_spec.rb +2 -1
  288. data/src/ruby/spec/pb/health/checker_spec.rb +23 -37
  289. data/third_party/boringssl/crypto/aes/aes.c +1142 -0
  290. data/third_party/boringssl/crypto/aes/internal.h +87 -0
  291. data/third_party/boringssl/crypto/aes/mode_wrappers.c +108 -0
  292. data/third_party/boringssl/crypto/asn1/a_bitstr.c +255 -0
  293. data/third_party/boringssl/crypto/asn1/a_bool.c +112 -0
  294. data/third_party/boringssl/crypto/asn1/a_bytes.c +317 -0
  295. data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +286 -0
  296. data/third_party/boringssl/crypto/asn1/a_dup.c +103 -0
  297. data/third_party/boringssl/crypto/asn1/a_enum.c +183 -0
  298. data/third_party/boringssl/crypto/asn1/a_gentm.c +255 -0
  299. data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +154 -0
  300. data/third_party/boringssl/crypto/asn1/a_int.c +456 -0
  301. data/third_party/boringssl/crypto/asn1/a_mbstr.c +390 -0
  302. data/third_party/boringssl/crypto/asn1/a_object.c +412 -0
  303. data/third_party/boringssl/crypto/asn1/a_octet.c +70 -0
  304. data/third_party/boringssl/crypto/asn1/a_print.c +119 -0
  305. data/third_party/boringssl/crypto/asn1/a_strnid.c +286 -0
  306. data/third_party/boringssl/crypto/asn1/a_time.c +221 -0
  307. data/third_party/boringssl/crypto/asn1/a_type.c +160 -0
  308. data/third_party/boringssl/crypto/asn1/a_utctm.c +342 -0
  309. data/third_party/boringssl/crypto/asn1/a_utf8.c +210 -0
  310. data/third_party/boringssl/crypto/asn1/asn1_lib.c +510 -0
  311. data/third_party/boringssl/crypto/asn1/asn1_locl.h +73 -0
  312. data/third_party/boringssl/crypto/asn1/asn1_par.c +444 -0
  313. data/third_party/boringssl/crypto/asn1/asn_pack.c +104 -0
  314. data/third_party/boringssl/crypto/asn1/bio_asn1.c +496 -0
  315. data/third_party/boringssl/crypto/asn1/bio_ndef.c +254 -0
  316. data/third_party/boringssl/crypto/asn1/f_enum.c +206 -0
  317. data/third_party/boringssl/crypto/asn1/f_int.c +210 -0
  318. data/third_party/boringssl/crypto/asn1/f_string.c +204 -0
  319. data/third_party/boringssl/crypto/asn1/t_bitst.c +102 -0
  320. data/third_party/boringssl/crypto/asn1/t_pkey.c +112 -0
  321. data/third_party/boringssl/crypto/asn1/tasn_dec.c +1342 -0
  322. data/third_party/boringssl/crypto/asn1/tasn_enc.c +695 -0
  323. data/third_party/boringssl/crypto/asn1/tasn_fre.c +264 -0
  324. data/third_party/boringssl/crypto/asn1/tasn_new.c +398 -0
  325. data/third_party/boringssl/crypto/asn1/tasn_prn.c +642 -0
  326. data/third_party/boringssl/crypto/asn1/tasn_typ.c +137 -0
  327. data/third_party/boringssl/crypto/asn1/tasn_utl.c +266 -0
  328. data/third_party/boringssl/crypto/asn1/x_bignum.c +143 -0
  329. data/third_party/boringssl/crypto/asn1/x_long.c +182 -0
  330. data/third_party/boringssl/crypto/base64/base64.c +478 -0
  331. data/third_party/boringssl/crypto/bio/bio.c +608 -0
  332. data/third_party/boringssl/crypto/bio/bio_mem.c +327 -0
  333. data/third_party/boringssl/crypto/bio/buffer.c +496 -0
  334. data/third_party/boringssl/crypto/bio/connect.c +544 -0
  335. data/third_party/boringssl/crypto/bio/fd.c +270 -0
  336. data/third_party/boringssl/crypto/bio/file.c +349 -0
  337. data/third_party/boringssl/crypto/bio/hexdump.c +192 -0
  338. data/third_party/boringssl/crypto/bio/internal.h +108 -0
  339. data/third_party/boringssl/crypto/bio/pair.c +803 -0
  340. data/third_party/boringssl/crypto/bio/printf.c +119 -0
  341. data/third_party/boringssl/crypto/bio/socket.c +195 -0
  342. data/third_party/boringssl/crypto/bio/socket_helper.c +113 -0
  343. data/third_party/boringssl/crypto/bn/add.c +377 -0
  344. data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +599 -0
  345. data/third_party/boringssl/crypto/bn/bn.c +341 -0
  346. data/third_party/boringssl/crypto/bn/bn_asn1.c +93 -0
  347. data/third_party/boringssl/crypto/bn/cmp.c +200 -0
  348. data/third_party/boringssl/crypto/bn/convert.c +597 -0
  349. data/third_party/boringssl/crypto/bn/ctx.c +311 -0
  350. data/third_party/boringssl/crypto/bn/div.c +625 -0
  351. data/third_party/boringssl/crypto/bn/exponentiation.c +1544 -0
  352. data/third_party/boringssl/crypto/bn/gcd.c +711 -0
  353. data/third_party/boringssl/crypto/bn/generic.c +1019 -0
  354. data/third_party/boringssl/crypto/bn/internal.h +294 -0
  355. data/third_party/boringssl/crypto/bn/kronecker.c +175 -0
  356. data/third_party/boringssl/crypto/bn/montgomery.c +561 -0
  357. data/third_party/boringssl/crypto/bn/mul.c +888 -0
  358. data/third_party/boringssl/crypto/bn/prime.c +845 -0
  359. data/third_party/boringssl/crypto/bn/random.c +326 -0
  360. data/third_party/boringssl/crypto/bn/rsaz_exp.c +326 -0
  361. data/third_party/boringssl/crypto/bn/rsaz_exp.h +56 -0
  362. data/third_party/boringssl/crypto/bn/shift.c +299 -0
  363. data/third_party/boringssl/crypto/bn/sqrt.c +505 -0
  364. data/third_party/boringssl/crypto/buf/buf.c +235 -0
  365. data/third_party/boringssl/crypto/bytestring/ber.c +221 -0
  366. data/third_party/boringssl/crypto/bytestring/cbb.c +411 -0
  367. data/third_party/boringssl/crypto/bytestring/cbs.c +415 -0
  368. data/third_party/boringssl/crypto/bytestring/internal.h +46 -0
  369. data/third_party/boringssl/crypto/chacha/chacha_generic.c +140 -0
  370. data/third_party/boringssl/crypto/chacha/chacha_vec.c +323 -0
  371. data/third_party/boringssl/crypto/cipher/aead.c +167 -0
  372. data/third_party/boringssl/crypto/cipher/cipher.c +652 -0
  373. data/third_party/boringssl/crypto/cipher/derive_key.c +154 -0
  374. data/third_party/boringssl/crypto/cipher/e_aes.c +1767 -0
  375. data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +311 -0
  376. data/third_party/boringssl/crypto/cipher/e_des.c +207 -0
  377. data/third_party/boringssl/crypto/cipher/e_null.c +85 -0
  378. data/third_party/boringssl/crypto/cipher/e_rc2.c +443 -0
  379. data/third_party/boringssl/crypto/cipher/e_rc4.c +87 -0
  380. data/third_party/boringssl/crypto/cipher/e_ssl3.c +463 -0
  381. data/third_party/boringssl/crypto/cipher/e_tls.c +673 -0
  382. data/third_party/boringssl/crypto/cipher/internal.h +164 -0
  383. data/third_party/boringssl/crypto/cipher/tls_cbc.c +495 -0
  384. data/third_party/boringssl/crypto/cmac/cmac.c +239 -0
  385. data/third_party/boringssl/crypto/conf/conf.c +778 -0
  386. data/third_party/boringssl/crypto/conf/conf_def.h +127 -0
  387. data/third_party/boringssl/crypto/conf/internal.h +31 -0
  388. data/third_party/boringssl/crypto/cpu-arm.c +199 -0
  389. data/third_party/boringssl/crypto/cpu-intel.c +261 -0
  390. data/third_party/boringssl/crypto/crypto.c +140 -0
  391. data/third_party/boringssl/crypto/curve25519/curve25519.c +4897 -0
  392. data/third_party/boringssl/crypto/des/des.c +771 -0
  393. data/third_party/boringssl/crypto/des/internal.h +212 -0
  394. data/third_party/boringssl/crypto/dh/check.c +180 -0
  395. data/third_party/boringssl/crypto/dh/dh.c +463 -0
  396. data/third_party/boringssl/crypto/dh/dh_asn1.c +84 -0
  397. data/third_party/boringssl/crypto/dh/internal.h +80 -0
  398. data/third_party/boringssl/crypto/dh/params.c +301 -0
  399. data/third_party/boringssl/crypto/digest/digest.c +248 -0
  400. data/third_party/boringssl/crypto/digest/digests.c +321 -0
  401. data/third_party/boringssl/crypto/digest/internal.h +112 -0
  402. data/third_party/boringssl/crypto/digest/md32_common.h +322 -0
  403. data/third_party/boringssl/crypto/directory.h +66 -0
  404. data/third_party/boringssl/crypto/directory_posix.c +108 -0
  405. data/third_party/boringssl/crypto/directory_win.c +144 -0
  406. data/third_party/boringssl/crypto/dsa/dsa.c +908 -0
  407. data/third_party/boringssl/crypto/dsa/dsa_asn1.c +150 -0
  408. data/third_party/boringssl/crypto/dsa/internal.h +78 -0
  409. data/third_party/boringssl/crypto/ec/ec.c +889 -0
  410. data/third_party/boringssl/crypto/ec/ec_asn1.c +586 -0
  411. data/third_party/boringssl/crypto/ec/ec_key.c +482 -0
  412. data/third_party/boringssl/crypto/ec/ec_montgomery.c +280 -0
  413. data/third_party/boringssl/crypto/ec/internal.h +318 -0
  414. data/third_party/boringssl/crypto/ec/oct.c +416 -0
  415. data/third_party/boringssl/crypto/ec/p224-64.c +1305 -0
  416. data/third_party/boringssl/crypto/ec/p256-64.c +1878 -0
  417. data/third_party/boringssl/crypto/ec/p256-x86_64-table.h +9548 -0
  418. data/third_party/boringssl/crypto/ec/p256-x86_64.c +596 -0
  419. data/third_party/boringssl/crypto/ec/simple.c +1313 -0
  420. data/third_party/boringssl/crypto/ec/util-64.c +183 -0
  421. data/third_party/boringssl/crypto/ec/wnaf.c +449 -0
  422. data/third_party/boringssl/crypto/ecdh/ecdh.c +153 -0
  423. data/third_party/boringssl/crypto/ecdsa/ecdsa.c +496 -0
  424. data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +240 -0
  425. data/third_party/boringssl/crypto/engine/engine.c +96 -0
  426. data/third_party/boringssl/crypto/err/err.c +756 -0
  427. data/third_party/boringssl/crypto/evp/algorithm.c +153 -0
  428. data/third_party/boringssl/crypto/evp/digestsign.c +159 -0
  429. data/third_party/boringssl/crypto/evp/evp.c +411 -0
  430. data/third_party/boringssl/crypto/evp/evp_asn1.c +179 -0
  431. data/third_party/boringssl/crypto/evp/evp_ctx.c +477 -0
  432. data/third_party/boringssl/crypto/evp/internal.h +278 -0
  433. data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +588 -0
  434. data/third_party/boringssl/crypto/evp/p_ec.c +283 -0
  435. data/third_party/boringssl/crypto/evp/p_ec_asn1.c +562 -0
  436. data/third_party/boringssl/crypto/evp/p_rsa.c +596 -0
  437. data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +737 -0
  438. data/third_party/boringssl/crypto/evp/pbkdf.c +151 -0
  439. data/third_party/boringssl/crypto/evp/sign.c +151 -0
  440. data/third_party/boringssl/crypto/ex_data.c +294 -0
  441. data/third_party/boringssl/crypto/hkdf/hkdf.c +89 -0
  442. data/third_party/boringssl/crypto/hmac/hmac.c +213 -0
  443. data/third_party/boringssl/crypto/internal.h +532 -0
  444. data/third_party/boringssl/crypto/lhash/lhash.c +346 -0
  445. data/third_party/boringssl/crypto/md4/md4.c +225 -0
  446. data/third_party/boringssl/crypto/md5/md5.c +275 -0
  447. data/third_party/boringssl/crypto/mem.c +200 -0
  448. data/third_party/boringssl/crypto/modes/cbc.c +216 -0
  449. data/third_party/boringssl/crypto/modes/cfb.c +231 -0
  450. data/third_party/boringssl/crypto/modes/ctr.c +226 -0
  451. data/third_party/boringssl/crypto/modes/gcm.c +1252 -0
  452. data/third_party/boringssl/crypto/modes/internal.h +370 -0
  453. data/third_party/boringssl/crypto/modes/ofb.c +108 -0
  454. data/third_party/boringssl/crypto/obj/obj.c +664 -0
  455. data/third_party/boringssl/crypto/obj/obj_dat.h +5257 -0
  456. data/third_party/boringssl/crypto/obj/obj_xref.c +124 -0
  457. data/third_party/boringssl/crypto/obj/obj_xref.h +96 -0
  458. data/third_party/boringssl/crypto/pem/pem_all.c +281 -0
  459. data/third_party/boringssl/crypto/pem/pem_info.c +404 -0
  460. data/third_party/boringssl/crypto/pem/pem_lib.c +835 -0
  461. data/third_party/boringssl/crypto/pem/pem_oth.c +89 -0
  462. data/third_party/boringssl/crypto/pem/pem_pk8.c +244 -0
  463. data/third_party/boringssl/crypto/pem/pem_pkey.c +312 -0
  464. data/third_party/boringssl/crypto/pem/pem_x509.c +65 -0
  465. data/third_party/boringssl/crypto/pem/pem_xaux.c +66 -0
  466. data/third_party/boringssl/crypto/pkcs8/internal.h +83 -0
  467. data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +150 -0
  468. data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +440 -0
  469. data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +85 -0
  470. data/third_party/boringssl/crypto/pkcs8/pkcs8.c +1217 -0
  471. data/third_party/boringssl/crypto/poly1305/poly1305.c +331 -0
  472. data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +301 -0
  473. data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +892 -0
  474. data/third_party/boringssl/crypto/rand/internal.h +32 -0
  475. data/third_party/boringssl/crypto/rand/rand.c +239 -0
  476. data/third_party/boringssl/crypto/rand/urandom.c +223 -0
  477. data/third_party/boringssl/crypto/rand/windows.c +56 -0
  478. data/third_party/boringssl/crypto/rc4/rc4.c +283 -0
  479. data/third_party/boringssl/crypto/refcount_c11.c +67 -0
  480. data/third_party/boringssl/crypto/refcount_lock.c +53 -0
  481. data/third_party/boringssl/crypto/rsa/blinding.c +462 -0
  482. data/third_party/boringssl/crypto/rsa/internal.h +164 -0
  483. data/third_party/boringssl/crypto/rsa/padding.c +711 -0
  484. data/third_party/boringssl/crypto/rsa/rsa.c +808 -0
  485. data/third_party/boringssl/crypto/rsa/rsa_asn1.c +473 -0
  486. data/third_party/boringssl/crypto/rsa/rsa_impl.c +1138 -0
  487. data/third_party/boringssl/crypto/sha/sha1.c +337 -0
  488. data/third_party/boringssl/crypto/sha/sha256.c +327 -0
  489. data/third_party/boringssl/crypto/sha/sha512.c +607 -0
  490. data/third_party/boringssl/crypto/stack/stack.c +386 -0
  491. data/third_party/boringssl/crypto/test/scoped_types.h +137 -0
  492. data/third_party/boringssl/crypto/test/test_util.h +35 -0
  493. data/third_party/boringssl/crypto/thread.c +101 -0
  494. data/third_party/boringssl/crypto/thread_none.c +55 -0
  495. data/third_party/boringssl/crypto/thread_pthread.c +167 -0
  496. data/third_party/boringssl/crypto/thread_win.c +282 -0
  497. data/third_party/boringssl/crypto/time_support.c +212 -0
  498. data/third_party/boringssl/crypto/x509/a_digest.c +97 -0
  499. data/third_party/boringssl/crypto/x509/a_sign.c +136 -0
  500. data/third_party/boringssl/crypto/x509/a_strex.c +564 -0
  501. data/third_party/boringssl/crypto/x509/a_verify.c +133 -0
  502. data/third_party/boringssl/crypto/x509/asn1_gen.c +873 -0
  503. data/third_party/boringssl/crypto/x509/by_dir.c +491 -0
  504. data/third_party/boringssl/crypto/x509/by_file.c +295 -0
  505. data/third_party/boringssl/crypto/x509/charmap.h +15 -0
  506. data/third_party/boringssl/crypto/x509/i2d_pr.c +84 -0
  507. data/third_party/boringssl/crypto/x509/pkcs7.c +353 -0
  508. data/third_party/boringssl/crypto/x509/t_crl.c +129 -0
  509. data/third_party/boringssl/crypto/x509/t_req.c +246 -0
  510. data/third_party/boringssl/crypto/x509/t_x509.c +500 -0
  511. data/third_party/boringssl/crypto/x509/t_x509a.c +109 -0
  512. data/third_party/boringssl/crypto/x509/vpm_int.h +70 -0
  513. data/third_party/boringssl/crypto/x509/x509.c +152 -0
  514. data/third_party/boringssl/crypto/x509/x509_att.c +353 -0
  515. data/third_party/boringssl/crypto/x509/x509_cmp.c +490 -0
  516. data/third_party/boringssl/crypto/x509/x509_d2.c +105 -0
  517. data/third_party/boringssl/crypto/x509/x509_def.c +88 -0
  518. data/third_party/boringssl/crypto/x509/x509_ext.c +206 -0
  519. data/third_party/boringssl/crypto/x509/x509_lu.c +738 -0
  520. data/third_party/boringssl/crypto/x509/x509_obj.c +191 -0
  521. data/third_party/boringssl/crypto/x509/x509_r2x.c +113 -0
  522. data/third_party/boringssl/crypto/x509/x509_req.c +315 -0
  523. data/third_party/boringssl/crypto/x509/x509_set.c +154 -0
  524. data/third_party/boringssl/crypto/x509/x509_trs.c +304 -0
  525. data/third_party/boringssl/crypto/x509/x509_txt.c +209 -0
  526. data/third_party/boringssl/crypto/x509/x509_v3.c +271 -0
  527. data/third_party/boringssl/crypto/x509/x509_vfy.c +2456 -0
  528. data/third_party/boringssl/crypto/x509/x509_vpm.c +672 -0
  529. data/third_party/boringssl/crypto/x509/x509cset.c +172 -0
  530. data/third_party/boringssl/crypto/x509/x509name.c +381 -0
  531. data/third_party/boringssl/crypto/x509/x509rset.c +80 -0
  532. data/third_party/boringssl/crypto/x509/x509spki.c +135 -0
  533. data/third_party/boringssl/crypto/x509/x509type.c +128 -0
  534. data/third_party/boringssl/crypto/x509/x_algor.c +154 -0
  535. data/third_party/boringssl/crypto/x509/x_all.c +547 -0
  536. data/third_party/boringssl/crypto/x509/x_attrib.c +117 -0
  537. data/third_party/boringssl/crypto/x509/x_crl.c +560 -0
  538. data/third_party/boringssl/crypto/x509/x_exten.c +75 -0
  539. data/third_party/boringssl/crypto/x509/x_info.c +95 -0
  540. data/third_party/boringssl/crypto/x509/x_name.c +538 -0
  541. data/third_party/boringssl/crypto/x509/x_pkey.c +100 -0
  542. data/third_party/boringssl/crypto/x509/x_pubkey.c +384 -0
  543. data/third_party/boringssl/crypto/x509/x_req.c +112 -0
  544. data/third_party/boringssl/crypto/x509/x_sig.c +69 -0
  545. data/third_party/boringssl/crypto/x509/x_spki.c +78 -0
  546. data/third_party/boringssl/crypto/x509/x_val.c +69 -0
  547. data/third_party/boringssl/crypto/x509/x_x509.c +227 -0
  548. data/third_party/boringssl/crypto/x509/x_x509a.c +197 -0
  549. data/third_party/boringssl/crypto/x509v3/ext_dat.h +129 -0
  550. data/third_party/boringssl/crypto/x509v3/pcy_cache.c +299 -0
  551. data/third_party/boringssl/crypto/x509v3/pcy_data.c +137 -0
  552. data/third_party/boringssl/crypto/x509v3/pcy_int.h +212 -0
  553. data/third_party/boringssl/crypto/x509v3/pcy_lib.c +165 -0
  554. data/third_party/boringssl/crypto/x509v3/pcy_map.c +133 -0
  555. data/third_party/boringssl/crypto/x509v3/pcy_node.c +197 -0
  556. data/third_party/boringssl/crypto/x509v3/pcy_tree.c +876 -0
  557. data/third_party/boringssl/crypto/x509v3/v3_akey.c +212 -0
  558. data/third_party/boringssl/crypto/x509v3/v3_akeya.c +71 -0
  559. data/third_party/boringssl/crypto/x509v3/v3_alt.c +622 -0
  560. data/third_party/boringssl/crypto/x509v3/v3_bcons.c +126 -0
  561. data/third_party/boringssl/crypto/x509v3/v3_bitst.c +141 -0
  562. data/third_party/boringssl/crypto/x509v3/v3_conf.c +459 -0
  563. data/third_party/boringssl/crypto/x509v3/v3_cpols.c +475 -0
  564. data/third_party/boringssl/crypto/x509v3/v3_crld.c +616 -0
  565. data/third_party/boringssl/crypto/x509v3/v3_enum.c +98 -0
  566. data/third_party/boringssl/crypto/x509v3/v3_extku.c +145 -0
  567. data/third_party/boringssl/crypto/x509v3/v3_genn.c +252 -0
  568. data/third_party/boringssl/crypto/x509v3/v3_ia5.c +117 -0
  569. data/third_party/boringssl/crypto/x509v3/v3_info.c +200 -0
  570. data/third_party/boringssl/crypto/x509v3/v3_int.c +87 -0
  571. data/third_party/boringssl/crypto/x509v3/v3_lib.c +335 -0
  572. data/third_party/boringssl/crypto/x509v3/v3_ncons.c +510 -0
  573. data/third_party/boringssl/crypto/x509v3/v3_pci.c +335 -0
  574. data/third_party/boringssl/crypto/x509v3/v3_pcia.c +56 -0
  575. data/third_party/boringssl/crypto/x509v3/v3_pcons.c +142 -0
  576. data/third_party/boringssl/crypto/x509v3/v3_pku.c +109 -0
  577. data/third_party/boringssl/crypto/x509v3/v3_pmaps.c +156 -0
  578. data/third_party/boringssl/crypto/x509v3/v3_prn.c +207 -0
  579. data/third_party/boringssl/crypto/x509v3/v3_purp.c +805 -0
  580. data/third_party/boringssl/crypto/x509v3/v3_skey.c +148 -0
  581. data/third_party/boringssl/crypto/x509v3/v3_sxnet.c +266 -0
  582. data/third_party/boringssl/crypto/x509v3/v3_utl.c +1322 -0
  583. data/third_party/boringssl/include/openssl/aead.h +346 -0
  584. data/third_party/boringssl/include/openssl/aes.h +158 -0
  585. data/third_party/boringssl/include/openssl/arm_arch.h +127 -0
  586. data/third_party/boringssl/include/openssl/asn1.h +1168 -0
  587. data/third_party/boringssl/include/openssl/asn1_mac.h +75 -0
  588. data/third_party/boringssl/include/openssl/asn1t.h +906 -0
  589. data/third_party/boringssl/include/openssl/base.h +261 -0
  590. data/third_party/boringssl/include/openssl/base64.h +184 -0
  591. data/third_party/boringssl/include/openssl/bio.h +902 -0
  592. data/third_party/boringssl/include/openssl/blowfish.h +93 -0
  593. data/third_party/boringssl/include/openssl/bn.h +885 -0
  594. data/third_party/boringssl/include/openssl/buf.h +118 -0
  595. data/third_party/boringssl/include/openssl/buffer.h +18 -0
  596. data/third_party/boringssl/include/openssl/bytestring.h +360 -0
  597. data/third_party/boringssl/include/openssl/cast.h +96 -0
  598. data/third_party/boringssl/include/openssl/chacha.h +37 -0
  599. data/third_party/boringssl/include/openssl/cipher.h +571 -0
  600. data/third_party/boringssl/include/openssl/cmac.h +76 -0
  601. data/third_party/boringssl/include/openssl/conf.h +145 -0
  602. data/third_party/boringssl/include/openssl/cpu.h +184 -0
  603. data/third_party/boringssl/include/openssl/crypto.h +68 -0
  604. data/third_party/boringssl/include/openssl/curve25519.h +88 -0
  605. data/third_party/boringssl/include/openssl/des.h +177 -0
  606. data/third_party/boringssl/include/openssl/dh.h +238 -0
  607. data/third_party/boringssl/include/openssl/digest.h +258 -0
  608. data/third_party/boringssl/include/openssl/dsa.h +343 -0
  609. data/third_party/boringssl/include/openssl/dtls1.h +16 -0
  610. data/third_party/boringssl/include/openssl/ec.h +355 -0
  611. data/third_party/boringssl/include/openssl/ec_key.h +280 -0
  612. data/third_party/boringssl/include/openssl/ecdh.h +102 -0
  613. data/third_party/boringssl/include/openssl/ecdsa.h +206 -0
  614. data/third_party/boringssl/include/openssl/engine.h +98 -0
  615. data/third_party/boringssl/include/openssl/err.h +487 -0
  616. data/third_party/boringssl/include/openssl/evp.h +750 -0
  617. data/third_party/boringssl/include/openssl/ex_data.h +213 -0
  618. data/third_party/boringssl/include/openssl/hkdf.h +44 -0
  619. data/third_party/boringssl/include/openssl/hmac.h +160 -0
  620. data/third_party/boringssl/include/openssl/lhash.h +192 -0
  621. data/third_party/boringssl/include/openssl/lhash_macros.h +132 -0
  622. data/third_party/boringssl/include/openssl/md4.h +102 -0
  623. data/third_party/boringssl/include/openssl/md5.h +107 -0
  624. data/third_party/boringssl/include/openssl/mem.h +140 -0
  625. data/third_party/boringssl/include/openssl/obj.h +198 -0
  626. data/third_party/boringssl/include/openssl/obj_mac.h +4140 -0
  627. data/third_party/boringssl/include/openssl/objects.h +18 -0
  628. data/third_party/boringssl/include/openssl/opensslfeatures.h +60 -0
  629. data/third_party/boringssl/include/openssl/opensslv.h +18 -0
  630. data/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  631. data/third_party/boringssl/include/openssl/pem.h +521 -0
  632. data/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  633. data/third_party/boringssl/include/openssl/pkcs7.h +16 -0
  634. data/third_party/boringssl/include/openssl/pkcs8.h +220 -0
  635. data/third_party/boringssl/include/openssl/poly1305.h +51 -0
  636. data/third_party/boringssl/include/openssl/pqueue.h +146 -0
  637. data/third_party/boringssl/include/openssl/rand.h +113 -0
  638. data/third_party/boringssl/include/openssl/rc4.h +90 -0
  639. data/third_party/boringssl/include/openssl/rsa.h +637 -0
  640. data/third_party/boringssl/include/openssl/safestack.h +16 -0
  641. data/third_party/boringssl/include/openssl/sha.h +256 -0
  642. data/third_party/boringssl/include/openssl/srtp.h +18 -0
  643. data/third_party/boringssl/include/openssl/ssl.h +4466 -0
  644. data/third_party/boringssl/include/openssl/ssl3.h +441 -0
  645. data/third_party/boringssl/include/openssl/stack.h +298 -0
  646. data/third_party/boringssl/include/openssl/stack_macros.h +4190 -0
  647. data/third_party/boringssl/include/openssl/thread.h +173 -0
  648. data/third_party/boringssl/include/openssl/time_support.h +90 -0
  649. data/third_party/boringssl/include/openssl/tls1.h +653 -0
  650. data/third_party/boringssl/include/openssl/type_check.h +91 -0
  651. data/third_party/boringssl/include/openssl/x509.h +1258 -0
  652. data/third_party/boringssl/include/openssl/x509_vfy.h +611 -0
  653. data/third_party/boringssl/include/openssl/x509v3.h +798 -0
  654. data/third_party/boringssl/ssl/custom_extensions.c +257 -0
  655. data/third_party/boringssl/ssl/d1_both.c +880 -0
  656. data/third_party/boringssl/ssl/d1_clnt.c +566 -0
  657. data/third_party/boringssl/ssl/d1_lib.c +340 -0
  658. data/third_party/boringssl/ssl/d1_meth.c +130 -0
  659. data/third_party/boringssl/ssl/d1_pkt.c +578 -0
  660. data/third_party/boringssl/ssl/d1_srtp.c +234 -0
  661. data/third_party/boringssl/ssl/d1_srvr.c +485 -0
  662. data/third_party/boringssl/ssl/dtls_record.c +308 -0
  663. data/third_party/boringssl/ssl/internal.h +1276 -0
  664. data/third_party/boringssl/ssl/pqueue/pqueue.c +197 -0
  665. data/third_party/boringssl/ssl/s3_both.c +571 -0
  666. data/third_party/boringssl/ssl/s3_clnt.c +2241 -0
  667. data/third_party/boringssl/ssl/s3_enc.c +494 -0
  668. data/third_party/boringssl/ssl/s3_lib.c +587 -0
  669. data/third_party/boringssl/ssl/s3_meth.c +166 -0
  670. data/third_party/boringssl/ssl/s3_pkt.c +732 -0
  671. data/third_party/boringssl/ssl/s3_srvr.c +2536 -0
  672. data/third_party/boringssl/ssl/ssl_aead_ctx.c +300 -0
  673. data/third_party/boringssl/ssl/ssl_asn1.c +718 -0
  674. data/third_party/boringssl/ssl/ssl_buffer.c +319 -0
  675. data/third_party/boringssl/ssl/ssl_cert.c +539 -0
  676. data/third_party/boringssl/ssl/ssl_cipher.c +2003 -0
  677. data/third_party/boringssl/ssl/ssl_file.c +633 -0
  678. data/third_party/boringssl/ssl/ssl_lib.c +2653 -0
  679. data/third_party/boringssl/ssl/ssl_rsa.c +423 -0
  680. data/third_party/boringssl/ssl/ssl_session.c +764 -0
  681. data/third_party/boringssl/ssl/ssl_stat.c +591 -0
  682. data/third_party/boringssl/ssl/t1_enc.c +708 -0
  683. data/third_party/boringssl/ssl/t1_lib.c +2905 -0
  684. data/third_party/boringssl/ssl/test/async_bio.h +45 -0
  685. data/third_party/boringssl/ssl/test/packeted_bio.h +44 -0
  686. data/third_party/boringssl/ssl/test/scoped_types.h +28 -0
  687. data/third_party/boringssl/ssl/test/test_config.h +108 -0
  688. data/third_party/boringssl/ssl/tls_record.c +342 -0
  689. data/third_party/nanopb/pb.h +547 -0
  690. data/third_party/nanopb/pb_common.c +97 -0
  691. data/third_party/nanopb/pb_common.h +42 -0
  692. data/third_party/nanopb/pb_decode.c +1319 -0
  693. data/third_party/nanopb/pb_decode.h +149 -0
  694. data/third_party/nanopb/pb_encode.c +690 -0
  695. data/third_party/nanopb/pb_encode.h +154 -0
  696. data/third_party/zlib/adler32.c +179 -0
  697. data/third_party/zlib/compress.c +80 -0
  698. data/third_party/zlib/crc32.c +425 -0
  699. data/third_party/zlib/crc32.h +441 -0
  700. data/third_party/zlib/deflate.c +1967 -0
  701. data/third_party/zlib/deflate.h +346 -0
  702. data/third_party/zlib/gzclose.c +25 -0
  703. data/third_party/zlib/gzguts.h +209 -0
  704. data/third_party/zlib/gzlib.c +634 -0
  705. data/third_party/zlib/gzread.c +594 -0
  706. data/third_party/zlib/gzwrite.c +577 -0
  707. data/third_party/zlib/infback.c +640 -0
  708. data/third_party/zlib/inffast.c +340 -0
  709. data/third_party/zlib/inffast.h +11 -0
  710. data/third_party/zlib/inffixed.h +94 -0
  711. data/third_party/zlib/inflate.c +1512 -0
  712. data/third_party/zlib/inflate.h +122 -0
  713. data/third_party/zlib/inftrees.c +306 -0
  714. data/third_party/zlib/inftrees.h +62 -0
  715. data/third_party/zlib/trees.c +1226 -0
  716. data/third_party/zlib/trees.h +128 -0
  717. data/third_party/zlib/uncompr.c +59 -0
  718. data/third_party/zlib/zconf.h +511 -0
  719. data/third_party/zlib/zlib.h +1768 -0
  720. data/third_party/zlib/zutil.c +324 -0
  721. data/third_party/zlib/zutil.h +253 -0
  722. metadata +504 -20
  723. data/Rakefile +0 -63
  724. data/src/ruby/pb/grpc/health/v1alpha/health.rb +0 -29
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  *
3
- * Copyright 2015, Google Inc.
3
+ * Copyright 2015-2016, Google Inc.
4
4
  * All rights reserved.
5
5
  *
6
6
  * Redistribution and use in source and binary forms, with or without
@@ -36,67 +36,43 @@
36
36
 
37
37
  #include <stdlib.h>
38
38
 
39
- #include <grpc/support/port_platform.h>
39
+ #include <grpc/impl/codegen/port_platform.h>
40
+ #include <grpc/impl/codegen/compression_types.h>
40
41
 
41
42
  #ifdef __cplusplus
42
43
  extern "C" {
43
44
  #endif
44
45
 
45
- /** To be used in channel arguments */
46
- #define GRPC_COMPRESSION_ALGORITHM_ARG "grpc.compression_algorithm"
47
- #define GRPC_COMPRESSION_ALGORITHM_STATE_ARG "grpc.compression_algorithm_state"
48
-
49
- /* The various compression algorithms supported by GRPC */
50
- typedef enum {
51
- GRPC_COMPRESS_NONE = 0,
52
- GRPC_COMPRESS_DEFLATE,
53
- GRPC_COMPRESS_GZIP,
54
- /* TODO(ctiller): snappy */
55
- GRPC_COMPRESS_ALGORITHMS_COUNT
56
- } grpc_compression_algorithm;
57
-
58
- typedef enum {
59
- GRPC_COMPRESS_LEVEL_NONE = 0,
60
- GRPC_COMPRESS_LEVEL_LOW,
61
- GRPC_COMPRESS_LEVEL_MED,
62
- GRPC_COMPRESS_LEVEL_HIGH,
63
- GRPC_COMPRESS_LEVEL_COUNT
64
- } grpc_compression_level;
65
-
66
- typedef struct grpc_compression_options {
67
- gpr_uint32 enabled_algorithms_bitset; /**< All algs are enabled by default */
68
- grpc_compression_algorithm default_compression_algorithm; /**< for channel */
69
- } grpc_compression_options;
70
-
71
46
  /** Parses the first \a name_length bytes of \a name as a
72
47
  * grpc_compression_algorithm instance, updating \a algorithm. Returns 1 upon
73
48
  * success, 0 otherwise. */
74
- int grpc_compression_algorithm_parse(const char *name, size_t name_length,
75
- grpc_compression_algorithm *algorithm);
49
+ GRPCAPI int grpc_compression_algorithm_parse(
50
+ const char *name, size_t name_length,
51
+ grpc_compression_algorithm *algorithm);
76
52
 
77
53
  /** Updates \a name with the encoding name corresponding to a valid \a
78
54
  * algorithm. Returns 1 upon success, 0 otherwise. */
79
- int grpc_compression_algorithm_name(grpc_compression_algorithm algorithm,
80
- char **name);
55
+ GRPCAPI int grpc_compression_algorithm_name(
56
+ grpc_compression_algorithm algorithm, char **name);
81
57
 
82
58
  /** Returns the compression algorithm corresponding to \a level.
83
59
  *
84
60
  * It abort()s for unknown levels . */
85
- grpc_compression_algorithm grpc_compression_algorithm_for_level(
86
- grpc_compression_level level);
61
+ GRPCAPI grpc_compression_algorithm
62
+ grpc_compression_algorithm_for_level(grpc_compression_level level);
87
63
 
88
- void grpc_compression_options_init(grpc_compression_options *opts);
64
+ GRPCAPI void grpc_compression_options_init(grpc_compression_options *opts);
89
65
 
90
66
  /** Mark \a algorithm as enabled in \a opts. */
91
- void grpc_compression_options_enable_algorithm(
67
+ GRPCAPI void grpc_compression_options_enable_algorithm(
92
68
  grpc_compression_options *opts, grpc_compression_algorithm algorithm);
93
69
 
94
70
  /** Mark \a algorithm as disabled in \a opts. */
95
- void grpc_compression_options_disable_algorithm(
71
+ GRPCAPI void grpc_compression_options_disable_algorithm(
96
72
  grpc_compression_options *opts, grpc_compression_algorithm algorithm);
97
73
 
98
74
  /** Returns true if \a algorithm is marked as enabled in \a opts. */
99
- int grpc_compression_options_is_algorithm_enabled(
75
+ GRPCAPI int grpc_compression_options_is_algorithm_enabled(
100
76
  const grpc_compression_options *opts, grpc_compression_algorithm algorithm);
101
77
 
102
78
  #ifdef __cplusplus
data/include/grpc/grpc.h CHANGED
@@ -40,6 +40,9 @@
40
40
  #include <grpc/byte_buffer.h>
41
41
  #include <grpc/support/slice.h>
42
42
  #include <grpc/support/time.h>
43
+ #include <grpc/impl/codegen/connectivity_state.h>
44
+ #include <grpc/impl/codegen/propagation_bits.h>
45
+ #include <grpc/impl/codegen/grpc_types.h>
43
46
 
44
47
  #ifdef __cplusplus
45
48
  extern "C" {
@@ -52,348 +55,11 @@ extern "C" {
52
55
  * functionality lives in grpc_security.h.
53
56
  */
54
57
 
55
- /** Completion Queues enable notification of the completion of asynchronous
56
- actions. */
57
- typedef struct grpc_completion_queue grpc_completion_queue;
58
-
59
- /** An alarm associated with a completion queue. */
60
- typedef struct grpc_alarm grpc_alarm;
61
-
62
- /** The Channel interface allows creation of Call objects. */
63
- typedef struct grpc_channel grpc_channel;
64
-
65
- /** A server listens to some port and responds to request calls */
66
- typedef struct grpc_server grpc_server;
67
-
68
- /** A Call represents an RPC. When created, it is in a configuration state
69
- allowing properties to be set until it is invoked. After invoke, the Call
70
- can have messages written to it and read from it. */
71
- typedef struct grpc_call grpc_call;
72
-
73
- /** Type specifier for grpc_arg */
74
- typedef enum {
75
- GRPC_ARG_STRING,
76
- GRPC_ARG_INTEGER,
77
- GRPC_ARG_POINTER
78
- } grpc_arg_type;
79
-
80
- /** A single argument... each argument has a key and a value
81
-
82
- A note on naming keys:
83
- Keys are namespaced into groups, usually grouped by library, and are
84
- keys for module XYZ are named XYZ.key1, XYZ.key2, etc. Module names must
85
- be restricted to the regex [A-Za-z][_A-Za-z0-9]{,15}.
86
- Key names must be restricted to the regex [A-Za-z][_A-Za-z0-9]{,47}.
87
-
88
- GRPC core library keys are prefixed by grpc.
89
-
90
- Library authors are strongly encouraged to \#define symbolic constants for
91
- their keys so that it's possible to change them in the future. */
92
- typedef struct {
93
- grpc_arg_type type;
94
- char *key;
95
- union {
96
- char *string;
97
- int integer;
98
- struct {
99
- void *p;
100
- void *(*copy)(void *p);
101
- void (*destroy)(void *p);
102
- } pointer;
103
- } value;
104
- } grpc_arg;
105
-
106
- /** An array of arguments that can be passed around.
107
-
108
- Used to set optional channel-level configuration.
109
- These configuration options are modelled as key-value pairs as defined
110
- by grpc_arg; keys are strings to allow easy backwards-compatible extension
111
- by arbitrary parties.
112
- All evaluation is performed at channel creation time (i.e. the values in
113
- this structure need only live through the creation invocation). */
114
- typedef struct {
115
- size_t num_args;
116
- grpc_arg *args;
117
- } grpc_channel_args;
118
-
119
- /* Channel argument keys: */
120
- /** Enable census for tracing and stats collection */
121
- #define GRPC_ARG_ENABLE_CENSUS "grpc.census"
122
- /** Maximum number of concurrent incoming streams to allow on a http2
123
- connection */
124
- #define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"
125
- /** Maximum message length that the channel can receive */
126
- #define GRPC_ARG_MAX_MESSAGE_LENGTH "grpc.max_message_length"
127
- /** Initial sequence number for http2 transports */
128
- #define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
129
- "grpc.http2.initial_sequence_number"
130
- /** Amount to read ahead on individual streams. Defaults to 64kb, larger
131
- values can help throughput on high-latency connections.
132
- NOTE: at some point we'd like to auto-tune this, and this parameter
133
- will become a no-op. */
134
- #define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES "grpc.http2.lookahead_bytes"
135
- /** How much memory to use for hpack decoding */
136
- #define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER \
137
- "grpc.http2.hpack_table_size.decoder"
138
- /** How much memory to use for hpack encoding */
139
- #define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \
140
- "grpc.http2.hpack_table_size.encoder"
141
- /** Default authority to pass if none specified on call construction */
142
- #define GRPC_ARG_DEFAULT_AUTHORITY "grpc.default_authority"
143
- /** Primary user agent: goes at the start of the user-agent metadata
144
- sent on each request */
145
- #define GRPC_ARG_PRIMARY_USER_AGENT_STRING "grpc.primary_user_agent"
146
- /** Secondary user agent: goes at the end of the user-agent metadata
147
- sent on each request */
148
- #define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent"
149
- /* The caller of the secure_channel_create functions may override the target
150
- name used for SSL host name checking using this channel argument which is of
151
- type GRPC_ARG_STRING. This *should* be used for testing only.
152
- If this argument is not specified, the name used for SSL host name checking
153
- will be the target parameter (assuming that the secure channel is an SSL
154
- channel). If this parameter is specified and the underlying is not an SSL
155
- channel, it will just be ignored. */
156
- #define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override"
157
-
158
- /** Connectivity state of a channel. */
159
- typedef enum {
160
- /** channel is idle */
161
- GRPC_CHANNEL_IDLE,
162
- /** channel is connecting */
163
- GRPC_CHANNEL_CONNECTING,
164
- /** channel is ready for work */
165
- GRPC_CHANNEL_READY,
166
- /** channel has seen a failure but expects to recover */
167
- GRPC_CHANNEL_TRANSIENT_FAILURE,
168
- /** channel has seen a failure that it cannot recover from */
169
- GRPC_CHANNEL_FATAL_FAILURE
170
- } grpc_connectivity_state;
171
-
172
- /** Result of a grpc call. If the caller satisfies the prerequisites of a
173
- particular operation, the grpc_call_error returned will be GRPC_CALL_OK.
174
- Receiving any other value listed here is an indication of a bug in the
175
- caller. */
176
- typedef enum grpc_call_error {
177
- /** everything went ok */
178
- GRPC_CALL_OK = 0,
179
- /** something failed, we don't know what */
180
- GRPC_CALL_ERROR,
181
- /** this method is not available on the server */
182
- GRPC_CALL_ERROR_NOT_ON_SERVER,
183
- /** this method is not available on the client */
184
- GRPC_CALL_ERROR_NOT_ON_CLIENT,
185
- /** this method must be called before server_accept */
186
- GRPC_CALL_ERROR_ALREADY_ACCEPTED,
187
- /** this method must be called before invoke */
188
- GRPC_CALL_ERROR_ALREADY_INVOKED,
189
- /** this method must be called after invoke */
190
- GRPC_CALL_ERROR_NOT_INVOKED,
191
- /** this call is already finished
192
- (writes_done or write_status has already been called) */
193
- GRPC_CALL_ERROR_ALREADY_FINISHED,
194
- /** there is already an outstanding read/write operation on the call */
195
- GRPC_CALL_ERROR_TOO_MANY_OPERATIONS,
196
- /** the flags value was illegal for this call */
197
- GRPC_CALL_ERROR_INVALID_FLAGS,
198
- /** invalid metadata was passed to this call */
199
- GRPC_CALL_ERROR_INVALID_METADATA,
200
- /** invalid message was passed to this call */
201
- GRPC_CALL_ERROR_INVALID_MESSAGE,
202
- /** completion queue for notification has not been registered with the
203
- server */
204
- GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE,
205
- /** this batch of operations leads to more operations than allowed */
206
- GRPC_CALL_ERROR_BATCH_TOO_BIG
207
- } grpc_call_error;
208
-
209
- /* Write Flags: */
210
- /** Hint that the write may be buffered and need not go out on the wire
211
- immediately. GRPC is free to buffer the message until the next non-buffered
212
- write, or until writes_done, but it need not buffer completely or at all. */
213
- #define GRPC_WRITE_BUFFER_HINT (0x00000001u)
214
- /** Force compression to be disabled for a particular write
215
- (start_write/add_metadata). Illegal on invoke/accept. */
216
- #define GRPC_WRITE_NO_COMPRESS (0x00000002u)
217
- /** Mask of all valid flags. */
218
- #define GRPC_WRITE_USED_MASK (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)
219
-
220
- /** A single metadata element */
221
- typedef struct grpc_metadata {
222
- const char *key;
223
- const char *value;
224
- size_t value_length;
225
- gpr_uint32 flags;
226
-
227
- /** The following fields are reserved for grpc internal use.
228
- There is no need to initialize them, and they will be set to garbage
229
- during calls to grpc. */
230
- struct {
231
- void *obfuscated[4];
232
- } internal_data;
233
- } grpc_metadata;
234
-
235
- /** The type of completion (for grpc_event) */
236
- typedef enum grpc_completion_type {
237
- /** Shutting down */
238
- GRPC_QUEUE_SHUTDOWN,
239
- /** No event before timeout */
240
- GRPC_QUEUE_TIMEOUT,
241
- /** Operation completion */
242
- GRPC_OP_COMPLETE
243
- } grpc_completion_type;
244
-
245
- /** The result of an operation.
246
-
247
- Returned by a completion queue when the operation started with tag. */
248
- typedef struct grpc_event {
249
- /** The type of the completion. */
250
- grpc_completion_type type;
251
- /** non-zero if the operation was successful, 0 upon failure.
252
- Only GRPC_OP_COMPLETE can succeed or fail. */
253
- int success;
254
- /** The tag passed to grpc_call_start_batch etc to start this operation.
255
- Only GRPC_OP_COMPLETE has a tag. */
256
- void *tag;
257
- } grpc_event;
258
-
259
- typedef struct {
260
- size_t count;
261
- size_t capacity;
262
- grpc_metadata *metadata;
263
- } grpc_metadata_array;
264
-
265
- void grpc_metadata_array_init(grpc_metadata_array *array);
266
- void grpc_metadata_array_destroy(grpc_metadata_array *array);
267
-
268
- typedef struct {
269
- char *method;
270
- size_t method_capacity;
271
- char *host;
272
- size_t host_capacity;
273
- gpr_timespec deadline;
274
- void *reserved;
275
- } grpc_call_details;
276
-
277
- void grpc_call_details_init(grpc_call_details *details);
278
- void grpc_call_details_destroy(grpc_call_details *details);
279
-
280
- typedef enum {
281
- /** Send initial metadata: one and only one instance MUST be sent for each
282
- call, unless the call was cancelled - in which case this can be skipped.
283
- This op completes after all bytes of metadata have been accepted by
284
- outgoing flow control. */
285
- GRPC_OP_SEND_INITIAL_METADATA = 0,
286
- /** Send a message: 0 or more of these operations can occur for each call.
287
- This op completes after all bytes for the message have been accepted by
288
- outgoing flow control. */
289
- GRPC_OP_SEND_MESSAGE,
290
- /** Send a close from the client: one and only one instance MUST be sent from
291
- the client, unless the call was cancelled - in which case this can be
292
- skipped.
293
- This op completes after all bytes for the call (including the close)
294
- have passed outgoing flow control. */
295
- GRPC_OP_SEND_CLOSE_FROM_CLIENT,
296
- /** Send status from the server: one and only one instance MUST be sent from
297
- the server unless the call was cancelled - in which case this can be
298
- skipped.
299
- This op completes after all bytes for the call (including the status)
300
- have passed outgoing flow control. */
301
- GRPC_OP_SEND_STATUS_FROM_SERVER,
302
- /** Receive initial metadata: one and only one MUST be made on the client,
303
- must not be made on the server.
304
- This op completes after all initial metadata has been read from the
305
- peer. */
306
- GRPC_OP_RECV_INITIAL_METADATA,
307
- /** Receive a message: 0 or more of these operations can occur for each call.
308
- This op completes after all bytes of the received message have been
309
- read, or after a half-close has been received on this call. */
310
- GRPC_OP_RECV_MESSAGE,
311
- /** Receive status on the client: one and only one must be made on the client.
312
- This operation always succeeds, meaning ops paired with this operation
313
- will also appear to succeed, even though they may not have. In that case
314
- the status will indicate some failure.
315
- This op completes after all activity on the call has completed. */
316
- GRPC_OP_RECV_STATUS_ON_CLIENT,
317
- /** Receive close on the server: one and only one must be made on the
318
- server.
319
- This op completes after the close has been received by the server. */
320
- GRPC_OP_RECV_CLOSE_ON_SERVER
321
- } grpc_op_type;
322
-
323
- /** Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT
324
- which has no arguments) */
325
- typedef struct grpc_op {
326
- /** Operation type, as defined by grpc_op_type */
327
- grpc_op_type op;
328
- /** Write flags bitset for grpc_begin_messages */
329
- gpr_uint32 flags;
330
- /** Reserved for future usage */
331
- void *reserved;
332
- union {
333
- /** Reserved for future usage */
334
- struct {
335
- void *reserved[8];
336
- } reserved;
337
- struct {
338
- size_t count;
339
- grpc_metadata *metadata;
340
- } send_initial_metadata;
341
- grpc_byte_buffer *send_message;
342
- struct {
343
- size_t trailing_metadata_count;
344
- grpc_metadata *trailing_metadata;
345
- grpc_status_code status;
346
- const char *status_details;
347
- } send_status_from_server;
348
- /** ownership of the array is with the caller, but ownership of the elements
349
- stays with the call object (ie key, value members are owned by the call
350
- object, recv_initial_metadata->array is owned by the caller).
351
- After the operation completes, call grpc_metadata_array_destroy on this
352
- value, or reuse it in a future op. */
353
- grpc_metadata_array *recv_initial_metadata;
354
- /** ownership of the byte buffer is moved to the caller; the caller must
355
- call grpc_byte_buffer_destroy on this value, or reuse it in a future op.
356
- */
357
- grpc_byte_buffer **recv_message;
358
- struct {
359
- /** ownership of the array is with the caller, but ownership of the
360
- elements stays with the call object (ie key, value members are owned
361
- by the call object, trailing_metadata->array is owned by the caller).
362
- After the operation completes, call grpc_metadata_array_destroy on
363
- this
364
- value, or reuse it in a future op. */
365
- grpc_metadata_array *trailing_metadata;
366
- grpc_status_code *status;
367
- /** status_details is a buffer owned by the application before the op
368
- completes and after the op has completed. During the operation
369
- status_details may be reallocated to a size larger than
370
- *status_details_capacity, in which case *status_details_capacity will
371
- be updated with the new array capacity.
372
-
373
- Pre-allocating space:
374
- size_t my_capacity = 8;
375
- char *my_details = gpr_malloc(my_capacity);
376
- x.status_details = &my_details;
377
- x.status_details_capacity = &my_capacity;
378
-
379
- Not pre-allocating space:
380
- size_t my_capacity = 0;
381
- char *my_details = NULL;
382
- x.status_details = &my_details;
383
- x.status_details_capacity = &my_capacity;
384
-
385
- After the call:
386
- gpr_free(my_details); */
387
- char **status_details;
388
- size_t *status_details_capacity;
389
- } recv_status_on_client;
390
- struct {
391
- /** out argument, set to 1 if the call failed in any way (seen as a
392
- cancellation on the server), or 0 if the call succeeded */
393
- int *cancelled;
394
- } recv_close_on_server;
395
- } data;
396
- } grpc_op;
58
+ GRPCAPI void grpc_metadata_array_init(grpc_metadata_array *array);
59
+ GRPCAPI void grpc_metadata_array_destroy(grpc_metadata_array *array);
60
+
61
+ GRPCAPI void grpc_call_details_init(grpc_call_details *details);
62
+ GRPCAPI void grpc_call_details_destroy(grpc_call_details *details);
397
63
 
398
64
  /** Registers a plugin to be initialized and destroyed with the library.
399
65
 
@@ -403,27 +69,7 @@ typedef struct grpc_op {
403
69
  (and hence so will \a init and \a destroy).
404
70
  It is safe to pass NULL to either argument. Plugins are destroyed in
405
71
  the reverse order they were initialized. */
406
- void grpc_register_plugin(void (*init)(void), void (*destroy)(void));
407
-
408
- /* Propagation bits: this can be bitwise or-ed to form propagation_mask for
409
- * grpc_call */
410
- /** Propagate deadline */
411
- #define GRPC_PROPAGATE_DEADLINE ((gpr_uint32)1)
412
- /** Propagate census context */
413
- #define GRPC_PROPAGATE_CENSUS_STATS_CONTEXT ((gpr_uint32)2)
414
- #define GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT ((gpr_uint32)4)
415
- /** Propagate cancellation */
416
- #define GRPC_PROPAGATE_CANCELLATION ((gpr_uint32)8)
417
-
418
- /* Default propagation mask: clients of the core API are encouraged to encode
419
- deltas from this in their implementations... ie write:
420
- GRPC_PROPAGATE_DEFAULTS & ~GRPC_PROPAGATE_DEADLINE to disable deadline
421
- propagation. Doing so gives flexibility in the future to define new
422
- propagation types that are default inherited or not. */
423
- #define GRPC_PROPAGATE_DEFAULTS \
424
- ((gpr_uint32)(( \
425
- 0xffff | GRPC_PROPAGATE_DEADLINE | GRPC_PROPAGATE_CENSUS_STATS_CONTEXT | \
426
- GRPC_PROPAGATE_CENSUS_TRACING_CONTEXT | GRPC_PROPAGATE_CANCELLATION)))
72
+ GRPCAPI void grpc_register_plugin(void (*init)(void), void (*destroy)(void));
427
73
 
428
74
  /** Initialize the grpc library.
429
75
 
@@ -431,7 +77,7 @@ void grpc_register_plugin(void (*init)(void), void (*destroy)(void));
431
77
  (To avoid overhead, little checking is done, and some things may work. We
432
78
  do not warrant that they will continue to do so in future revisions of this
433
79
  library). */
434
- void grpc_init(void);
80
+ GRPCAPI void grpc_init(void);
435
81
 
436
82
  /** Shut down the grpc library.
437
83
 
@@ -439,13 +85,13 @@ void grpc_init(void);
439
85
  executing within the grpc library.
440
86
  Prior to calling, all application owned grpc objects must have been
441
87
  destroyed. */
442
- void grpc_shutdown(void);
88
+ GRPCAPI void grpc_shutdown(void);
443
89
 
444
90
  /** Return a string representing the current version of grpc */
445
- const char *grpc_version_string(void);
91
+ GRPCAPI const char *grpc_version_string(void);
446
92
 
447
93
  /** Create a completion queue */
448
- grpc_completion_queue *grpc_completion_queue_create(void *reserved);
94
+ GRPCAPI grpc_completion_queue *grpc_completion_queue_create(void *reserved);
449
95
 
450
96
  /** Blocks until an event is available, the completion queue is being shut down,
451
97
  or deadline is reached.
@@ -455,8 +101,9 @@ grpc_completion_queue *grpc_completion_queue_create(void *reserved);
455
101
 
456
102
  Callers must not call grpc_completion_queue_next and
457
103
  grpc_completion_queue_pluck simultaneously on the same completion queue. */
458
- grpc_event grpc_completion_queue_next(grpc_completion_queue *cq,
459
- gpr_timespec deadline, void *reserved);
104
+ GRPCAPI grpc_event grpc_completion_queue_next(grpc_completion_queue *cq,
105
+ gpr_timespec deadline,
106
+ void *reserved);
460
107
 
461
108
  /** Blocks until an event with tag 'tag' is available, the completion queue is
462
109
  being shutdown or deadline is reached.
@@ -469,8 +116,9 @@ grpc_event grpc_completion_queue_next(grpc_completion_queue *cq,
469
116
 
470
117
  Completion queues support a maximum of GRPC_MAX_COMPLETION_QUEUE_PLUCKERS
471
118
  concurrently executing plucks at any time. */
472
- grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag,
473
- gpr_timespec deadline, void *reserved);
119
+ GRPCAPI grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq,
120
+ void *tag, gpr_timespec deadline,
121
+ void *reserved);
474
122
 
475
123
  /** Maximum number of outstanding grpc_completion_queue_pluck executions per
476
124
  completion queue */
@@ -483,11 +131,11 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag,
483
131
 
484
132
  After calling this function applications should ensure that no
485
133
  NEW work is added to be published on this completion queue. */
486
- void grpc_completion_queue_shutdown(grpc_completion_queue *cq);
134
+ GRPCAPI void grpc_completion_queue_shutdown(grpc_completion_queue *cq);
487
135
 
488
136
  /** Destroy a completion queue. The caller must ensure that the queue is
489
137
  drained and no threads are executing grpc_completion_queue_next */
490
- void grpc_completion_queue_destroy(grpc_completion_queue *cq);
138
+ GRPCAPI void grpc_completion_queue_destroy(grpc_completion_queue *cq);
491
139
 
492
140
  /** Create a completion queue alarm instance associated to \a cq.
493
141
  *
@@ -495,26 +143,27 @@ void grpc_completion_queue_destroy(grpc_completion_queue *cq);
495
143
  * grpc_alarm_cancel), an event with tag \a tag will be added to \a cq. If the
496
144
  * alarm expired, the event's success bit will be true, false otherwise (ie,
497
145
  * upon cancellation). */
498
- grpc_alarm *grpc_alarm_create(grpc_completion_queue *cq, gpr_timespec deadline,
499
- void *tag);
146
+ GRPCAPI grpc_alarm *grpc_alarm_create(grpc_completion_queue *cq,
147
+ gpr_timespec deadline, void *tag);
500
148
 
501
149
  /** Cancel a completion queue alarm. Calling this function over an alarm that
502
150
  * has already fired has no effect. */
503
- void grpc_alarm_cancel(grpc_alarm *alarm);
151
+ GRPCAPI void grpc_alarm_cancel(grpc_alarm *alarm);
504
152
 
505
153
  /** Destroy the given completion queue alarm, cancelling it in the process. */
506
- void grpc_alarm_destroy(grpc_alarm *alarm);
154
+ GRPCAPI void grpc_alarm_destroy(grpc_alarm *alarm);
507
155
 
508
156
  /** Check the connectivity state of a channel. */
509
- grpc_connectivity_state grpc_channel_check_connectivity_state(
510
- grpc_channel *channel, int try_to_connect);
157
+ GRPCAPI grpc_connectivity_state
158
+ grpc_channel_check_connectivity_state(grpc_channel *channel,
159
+ int try_to_connect);
511
160
 
512
161
  /** Watch for a change in connectivity state.
513
162
  Once the channel connectivity state is different from last_observed_state,
514
163
  tag will be enqueued on cq with success=1.
515
164
  If deadline expires BEFORE the state is changed, tag will be enqueued on cq
516
165
  with success=0. */
517
- void grpc_channel_watch_connectivity_state(
166
+ GRPCAPI void grpc_channel_watch_connectivity_state(
518
167
  grpc_channel *channel, grpc_connectivity_state last_observed_state,
519
168
  gpr_timespec deadline, grpc_completion_queue *cq, void *tag);
520
169
 
@@ -524,25 +173,24 @@ void grpc_channel_watch_connectivity_state(
524
173
  If parent_call is non-NULL, it must be a server-side call. It will be used
525
174
  to propagate properties from the server call to this new client call.
526
175
  */
527
- grpc_call *grpc_channel_create_call(grpc_channel *channel,
528
- grpc_call *parent_call,
529
- gpr_uint32 propagation_mask,
530
- grpc_completion_queue *completion_queue,
531
- const char *method, const char *host,
532
- gpr_timespec deadline, void *reserved);
176
+ GRPCAPI grpc_call *grpc_channel_create_call(
177
+ grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask,
178
+ grpc_completion_queue *completion_queue, const char *method,
179
+ const char *host, gpr_timespec deadline, void *reserved);
533
180
 
534
181
  /** Ping the channels peer (load balanced channels will select one sub-channel
535
182
  to ping); if the channel is not connected, posts a failed. */
536
- void grpc_channel_ping(grpc_channel *channel, grpc_completion_queue *cq,
537
- void *tag, void *reserved);
183
+ GRPCAPI void grpc_channel_ping(grpc_channel *channel, grpc_completion_queue *cq,
184
+ void *tag, void *reserved);
538
185
 
539
186
  /** Pre-register a method/host pair on a channel. */
540
- void *grpc_channel_register_call(grpc_channel *channel, const char *method,
541
- const char *host, void *reserved);
187
+ GRPCAPI void *grpc_channel_register_call(grpc_channel *channel,
188
+ const char *method, const char *host,
189
+ void *reserved);
542
190
 
543
191
  /** Create a call given a handle returned from grpc_channel_register_call */
544
- grpc_call *grpc_channel_create_registered_call(
545
- grpc_channel *channel, grpc_call *parent_call, gpr_uint32 propagation_mask,
192
+ GRPCAPI grpc_call *grpc_channel_create_registered_call(
193
+ grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask,
546
194
  grpc_completion_queue *completion_queue, void *registered_call_handle,
547
195
  gpr_timespec deadline, void *reserved);
548
196
 
@@ -557,8 +205,9 @@ grpc_call *grpc_channel_create_registered_call(
557
205
  needs to be synchronized. As an optimization, you may synchronize batches
558
206
  containing just send operations independently from batches containing just
559
207
  receive operations. */
560
- grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops,
561
- size_t nops, void *tag, void *reserved);
208
+ GRPCAPI grpc_call_error grpc_call_start_batch(grpc_call *call,
209
+ const grpc_op *ops, size_t nops,
210
+ void *tag, void *reserved);
562
211
 
563
212
  /** Returns a newly allocated string representing the endpoint to which this
564
213
  call is communicating with. The string is in the uri format accepted by
@@ -568,38 +217,36 @@ grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops,
568
217
  WARNING: this value is never authenticated or subject to any security
569
218
  related code. It must not be used for any authentication related
570
219
  functionality. Instead, use grpc_auth_context. */
571
- char *grpc_call_get_peer(grpc_call *call);
220
+ GRPCAPI char *grpc_call_get_peer(grpc_call *call);
572
221
 
573
222
  struct census_context;
574
223
 
575
224
  /* Set census context for a call; Must be called before first call to
576
225
  grpc_call_start_batch(). */
577
- void grpc_census_call_set_context(grpc_call *call,
578
- struct census_context *context);
226
+ GRPCAPI void grpc_census_call_set_context(grpc_call *call,
227
+ struct census_context *context);
579
228
 
580
229
  /* Retrieve the calls current census context. */
581
- struct census_context *grpc_census_call_get_context(grpc_call *call);
230
+ GRPCAPI struct census_context *grpc_census_call_get_context(grpc_call *call);
582
231
 
583
232
  /** Return a newly allocated string representing the target a channel was
584
233
  created for. */
585
- char *grpc_channel_get_target(grpc_channel *channel);
234
+ GRPCAPI char *grpc_channel_get_target(grpc_channel *channel);
586
235
 
587
236
  /** Create a client channel to 'target'. Additional channel level configuration
588
237
  MAY be provided by grpc_channel_args, though the expectation is that most
589
238
  clients will want to simply pass NULL. See grpc_channel_args definition for
590
239
  more on this. The data in 'args' need only live through the invocation of
591
240
  this function. */
592
- grpc_channel *grpc_insecure_channel_create(const char *target,
593
- const grpc_channel_args *args,
594
- void *reserved);
241
+ GRPCAPI grpc_channel *grpc_insecure_channel_create(
242
+ const char *target, const grpc_channel_args *args, void *reserved);
595
243
 
596
244
  /** Create a lame client: this client fails every operation attempted on it. */
597
- grpc_channel *grpc_lame_client_channel_create(const char *target,
598
- grpc_status_code error_code,
599
- const char *error_message);
245
+ GRPCAPI grpc_channel *grpc_lame_client_channel_create(
246
+ const char *target, grpc_status_code error_code, const char *error_message);
600
247
 
601
248
  /** Close and destroy a grpc channel */
602
- void grpc_channel_destroy(grpc_channel *channel);
249
+ GRPCAPI void grpc_channel_destroy(grpc_channel *channel);
603
250
 
604
251
  /* Error handling for grpc_call
605
252
  Most grpc_call functions return a grpc_error. If the error is not GRPC_OK
@@ -612,7 +259,7 @@ void grpc_channel_destroy(grpc_channel *channel);
612
259
  THREAD-SAFETY grpc_call_cancel and grpc_call_cancel_with_status
613
260
  are thread-safe, and can be called at any point before grpc_call_destroy
614
261
  is called.*/
615
- grpc_call_error grpc_call_cancel(grpc_call *call, void *reserved);
262
+ GRPCAPI grpc_call_error grpc_call_cancel(grpc_call *call, void *reserved);
616
263
 
617
264
  /** Called by clients to cancel an RPC on the server.
618
265
  Can be called multiple times, from any thread.
@@ -620,14 +267,13 @@ grpc_call_error grpc_call_cancel(grpc_call *call, void *reserved);
620
267
  and description passed in.
621
268
  Importantly, this function does not send status nor description to the
622
269
  remote endpoint. */
623
- grpc_call_error grpc_call_cancel_with_status(grpc_call *call,
624
- grpc_status_code status,
625
- const char *description,
626
- void *reserved);
270
+ GRPCAPI grpc_call_error
271
+ grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status,
272
+ const char *description, void *reserved);
627
273
 
628
274
  /** Destroy a call.
629
275
  THREAD SAFETY: grpc_call_destroy is thread-compatible */
630
- void grpc_call_destroy(grpc_call *call);
276
+ GRPCAPI void grpc_call_destroy(grpc_call *call);
631
277
 
632
278
  /** Request notification of a new call.
633
279
  Once a call is received, a notification tagged with \a tag_new is added to
@@ -637,11 +283,13 @@ void grpc_call_destroy(grpc_call *call);
637
283
  to \a cq_bound_to_call.
638
284
  Note that \a cq_for_notification must have been registered to the server via
639
285
  \a grpc_server_register_completion_queue. */
640
- grpc_call_error grpc_server_request_call(
641
- grpc_server *server, grpc_call **call, grpc_call_details *details,
642
- grpc_metadata_array *request_metadata,
643
- grpc_completion_queue *cq_bound_to_call,
644
- grpc_completion_queue *cq_for_notification, void *tag_new);
286
+ GRPCAPI grpc_call_error
287
+ grpc_server_request_call(grpc_server *server, grpc_call **call,
288
+ grpc_call_details *details,
289
+ grpc_metadata_array *request_metadata,
290
+ grpc_completion_queue *cq_bound_to_call,
291
+ grpc_completion_queue *cq_for_notification,
292
+ void *tag_new);
645
293
 
646
294
  /** Registers a method in the server.
647
295
  Methods to this (host, method) pair will not be reported by
@@ -650,13 +298,13 @@ grpc_call_error grpc_server_request_call(
650
298
  registered_method (as returned by this function).
651
299
  Must be called before grpc_server_start.
652
300
  Returns NULL on failure. */
653
- void *grpc_server_register_method(grpc_server *server, const char *method,
654
- const char *host);
301
+ GRPCAPI void *grpc_server_register_method(grpc_server *server,
302
+ const char *method, const char *host);
655
303
 
656
304
  /** Request notification of a new pre-registered call. 'cq_for_notification'
657
305
  must have been registered to the server via
658
306
  grpc_server_register_completion_queue. */
659
- grpc_call_error grpc_server_request_registered_call(
307
+ GRPCAPI grpc_call_error grpc_server_request_registered_call(
660
308
  grpc_server *server, void *registered_method, grpc_call **call,
661
309
  gpr_timespec *deadline, grpc_metadata_array *request_metadata,
662
310
  grpc_byte_buffer **optional_payload,
@@ -667,23 +315,25 @@ grpc_call_error grpc_server_request_registered_call(
667
315
  be specified with args. If no additional configuration is needed, args can
668
316
  be NULL. See grpc_channel_args for more. The data in 'args' need only live
669
317
  through the invocation of this function. */
670
- grpc_server *grpc_server_create(const grpc_channel_args *args, void *reserved);
318
+ GRPCAPI grpc_server *grpc_server_create(const grpc_channel_args *args,
319
+ void *reserved);
671
320
 
672
321
  /** Register a completion queue with the server. Must be done for any
673
322
  notification completion queue that is passed to grpc_server_request_*_call
674
323
  and to grpc_server_shutdown_and_notify. Must be performed prior to
675
324
  grpc_server_start. */
676
- void grpc_server_register_completion_queue(grpc_server *server,
677
- grpc_completion_queue *cq,
678
- void *reserved);
325
+ GRPCAPI void grpc_server_register_completion_queue(grpc_server *server,
326
+ grpc_completion_queue *cq,
327
+ void *reserved);
679
328
 
680
329
  /** Add a HTTP2 over plaintext over tcp listener.
681
330
  Returns bound port number on success, 0 on failure.
682
331
  REQUIRES: server not started */
683
- int grpc_server_add_insecure_http2_port(grpc_server *server, const char *addr);
332
+ GRPCAPI int grpc_server_add_insecure_http2_port(grpc_server *server,
333
+ const char *addr);
684
334
 
685
335
  /** Start a server - tells all listeners to start listening */
686
- void grpc_server_start(grpc_server *server);
336
+ GRPCAPI void grpc_server_start(grpc_server *server);
687
337
 
688
338
  /** Begin shutting down a server.
689
339
  After completion, no new calls or connections will be admitted.
@@ -692,18 +342,19 @@ void grpc_server_start(grpc_server *server);
692
342
  Shutdown is idempotent, and all tags will be notified at once if multiple
693
343
  grpc_server_shutdown_and_notify calls are made. 'cq' must have been
694
344
  registered to this server via grpc_server_register_completion_queue. */
695
- void grpc_server_shutdown_and_notify(grpc_server *server,
696
- grpc_completion_queue *cq, void *tag);
345
+ GRPCAPI void grpc_server_shutdown_and_notify(grpc_server *server,
346
+ grpc_completion_queue *cq,
347
+ void *tag);
697
348
 
698
349
  /** Cancel all in-progress calls.
699
350
  Only usable after shutdown. */
700
- void grpc_server_cancel_all_calls(grpc_server *server);
351
+ GRPCAPI void grpc_server_cancel_all_calls(grpc_server *server);
701
352
 
702
353
  /** Destroy a server.
703
354
  Shutdown must have completed beforehand (i.e. all tags generated by
704
355
  grpc_server_shutdown_and_notify must have been received, and at least
705
356
  one call to grpc_server_shutdown_and_notify must have been made). */
706
- void grpc_server_destroy(grpc_server *server);
357
+ GRPCAPI void grpc_server_destroy(grpc_server *server);
707
358
 
708
359
  /** Enable or disable a tracer.
709
360
 
@@ -713,17 +364,17 @@ void grpc_server_destroy(grpc_server *server);
713
364
 
714
365
  Use of this function is not strictly thread-safe, but the
715
366
  thread-safety issues raised by it should not be of concern. */
716
- int grpc_tracer_set_enabled(const char *name, int enabled);
367
+ GRPCAPI int grpc_tracer_set_enabled(const char *name, int enabled);
717
368
 
718
369
  /** Check whether a metadata key is legal (will be accepted by core) */
719
- int grpc_header_key_is_legal(const char *key, size_t length);
370
+ GRPCAPI int grpc_header_key_is_legal(const char *key, size_t length);
720
371
 
721
372
  /** Check whether a non-binary metadata value is legal (will be accepted by
722
373
  core) */
723
- int grpc_header_nonbin_value_is_legal(const char *value, size_t length);
374
+ GRPCAPI int grpc_header_nonbin_value_is_legal(const char *value, size_t length);
724
375
 
725
376
  /** Check whether a metadata key corresponds to a binary value */
726
- int grpc_is_binary_header(const char *key, size_t length);
377
+ GRPCAPI int grpc_is_binary_header(const char *key, size_t length);
727
378
 
728
379
  #ifdef __cplusplus
729
380
  }