awesome-grpc-that-works 0.12.2 → 0.14.0.dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/Makefile +5783 -22121
- data/include/grpc/byte_buffer.h +2 -83
- data/include/grpc/census.h +173 -121
- data/include/grpc/compression.h +14 -38
- data/include/grpc/grpc.h +85 -434
- data/include/grpc/grpc_security.h +76 -46
- data/include/grpc/grpc_zookeeper.h +1 -1
- data/include/grpc/impl/codegen/alloc.h +74 -0
- data/include/grpc/impl/codegen/atm.h +92 -0
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +72 -0
- data/include/grpc/impl/codegen/atm_gcc_sync.h +87 -0
- data/include/grpc/impl/codegen/atm_win32.h +125 -0
- data/include/grpc/impl/codegen/byte_buffer.h +121 -0
- data/include/grpc/impl/codegen/compression_types.h +73 -0
- data/include/grpc/impl/codegen/connectivity_state.h +59 -0
- data/include/grpc/impl/codegen/grpc_types.h +378 -0
- data/include/grpc/impl/codegen/log.h +110 -0
- data/include/grpc/impl/codegen/port_platform.h +370 -0
- data/include/grpc/impl/codegen/propagation_bits.h +67 -0
- data/include/grpc/impl/codegen/slice.h +182 -0
- data/include/grpc/impl/codegen/slice_buffer.h +105 -0
- data/include/grpc/impl/codegen/status.h +163 -0
- data/include/grpc/impl/codegen/sync.h +316 -0
- data/include/grpc/impl/codegen/sync_generic.h +55 -0
- data/{src/core/census/context.h → include/grpc/impl/codegen/sync_posix.h} +11 -11
- data/include/grpc/impl/codegen/sync_win32.h +49 -0
- data/include/grpc/impl/codegen/time.h +130 -0
- data/include/grpc/status.h +2 -126
- data/include/grpc/support/alloc.h +2 -35
- data/include/grpc/support/atm.h +2 -55
- data/include/grpc/support/atm_gcc_atomic.h +5 -38
- data/include/grpc/support/atm_gcc_sync.h +2 -50
- data/include/grpc/support/atm_win32.h +2 -88
- data/include/grpc/support/avl.h +10 -9
- data/include/grpc/support/cmdline.h +15 -13
- data/include/grpc/support/cpu.h +5 -3
- data/include/grpc/support/histogram.h +23 -20
- data/include/grpc/support/host_port.h +5 -3
- data/include/grpc/support/log.h +2 -71
- data/include/grpc/support/log_win32.h +2 -2
- data/include/grpc/support/port_platform.h +2 -319
- data/include/grpc/support/slice.h +2 -145
- data/include/grpc/support/slice_buffer.h +2 -65
- data/include/grpc/support/string_util.h +3 -3
- data/include/grpc/support/subprocess.h +8 -6
- data/include/grpc/support/sync.h +2 -278
- data/include/grpc/support/sync_generic.h +2 -18
- data/include/grpc/support/sync_posix.h +2 -10
- data/include/grpc/support/sync_win32.h +2 -12
- data/include/grpc/support/thd.h +11 -11
- data/include/grpc/support/time.h +2 -91
- data/include/grpc/support/tls.h +1 -1
- data/include/grpc/support/tls_gcc.h +1 -1
- data/include/grpc/support/tls_msvc.h +1 -1
- data/include/grpc/support/tls_pthread.h +2 -2
- data/include/grpc/support/useful.h +3 -1
- data/src/boringssl/err_data.c +1252 -0
- data/src/core/census/context.c +471 -8
- data/src/core/census/grpc_filter.c +5 -5
- data/src/core/census/initialize.c +4 -7
- data/src/core/census/mlog.c +600 -0
- data/src/core/census/mlog.h +95 -0
- data/src/core/census/operation.c +2 -2
- data/src/core/census/placeholders.c +109 -0
- data/src/core/census/rpc_metric_id.h +6 -6
- data/src/core/census/tracing.c +1 -1
- data/src/core/channel/channel_args.c +71 -9
- data/src/core/channel/channel_args.h +7 -1
- data/src/core/channel/channel_stack.c +1 -1
- data/src/core/channel/client_channel.c +33 -30
- data/src/core/channel/client_uchannel.c +3 -3
- data/src/core/channel/compress_filter.c +8 -8
- data/src/core/channel/http_client_filter.c +4 -4
- data/src/core/channel/http_server_filter.c +11 -11
- data/src/core/channel/subchannel_call_holder.c +11 -11
- data/src/core/client_config/connector.c +3 -2
- data/src/core/client_config/connector.h +2 -2
- data/src/core/client_config/lb_policies/load_balancer_api.c +163 -0
- data/src/core/client_config/lb_policies/load_balancer_api.h +85 -0
- data/src/core/client_config/lb_policies/pick_first.c +57 -40
- data/src/core/client_config/lb_policies/round_robin.c +14 -15
- data/src/core/client_config/lb_policy.c +3 -3
- data/src/core/client_config/lb_policy.h +3 -2
- data/src/core/client_config/resolvers/dns_resolver.c +3 -3
- data/src/core/client_config/resolvers/sockaddr_resolver.c +5 -5
- data/src/core/client_config/subchannel.c +84 -39
- data/src/core/client_config/subchannel.h +15 -6
- data/src/core/client_config/subchannel_index.c +261 -0
- data/src/core/client_config/subchannel_index.h +77 -0
- data/src/core/compression/{algorithm.c → compression_algorithm.c} +3 -3
- data/src/core/httpcli/format_request.c +1 -1
- data/src/core/httpcli/httpcli.c +18 -16
- data/src/core/httpcli/httpcli.h +3 -2
- data/src/core/httpcli/httpcli_security_connector.c +9 -10
- data/src/core/httpcli/parser.c +7 -7
- data/src/core/httpcli/parser.h +1 -1
- data/src/core/iomgr/closure.c +7 -7
- data/src/core/iomgr/closure.h +6 -5
- data/src/core/iomgr/exec_ctx.c +12 -8
- data/src/core/iomgr/exec_ctx.h +12 -5
- data/src/core/iomgr/executor.c +4 -4
- data/src/core/iomgr/executor.h +2 -2
- data/src/core/iomgr/fd_posix.c +32 -19
- data/src/core/iomgr/fd_posix.h +7 -4
- data/src/core/iomgr/iocp_windows.c +7 -9
- data/src/core/iomgr/iomgr.c +2 -2
- data/src/core/iomgr/pollset.h +9 -10
- data/src/core/iomgr/pollset_multipoller_with_epoll.c +71 -5
- data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +9 -5
- data/src/core/iomgr/pollset_posix.c +44 -49
- data/src/core/iomgr/pollset_posix.h +14 -8
- data/src/core/iomgr/pollset_set.h +3 -9
- data/src/core/iomgr/pollset_set_posix.c +23 -3
- data/src/core/iomgr/pollset_set_posix.h +2 -18
- data/src/core/iomgr/pollset_set_windows.c +3 -3
- data/src/core/iomgr/pollset_set_windows.h +2 -2
- data/src/core/iomgr/pollset_windows.c +29 -37
- data/src/core/iomgr/pollset_windows.h +1 -5
- data/src/core/iomgr/resolve_address_posix.c +2 -2
- data/src/core/iomgr/resolve_address_windows.c +2 -2
- data/src/core/iomgr/sockaddr_utils.c +6 -6
- data/src/core/iomgr/sockaddr_win32.h +1 -6
- data/src/core/iomgr/tcp_client_posix.c +14 -12
- data/src/core/iomgr/tcp_client_windows.c +4 -4
- data/src/core/iomgr/tcp_posix.c +18 -10
- data/src/core/iomgr/tcp_posix.h +7 -1
- data/src/core/iomgr/tcp_server.h +40 -20
- data/src/core/iomgr/tcp_server_posix.c +106 -49
- data/src/core/iomgr/tcp_server_windows.c +98 -49
- data/src/core/iomgr/tcp_windows.c +11 -15
- data/src/core/iomgr/timer.c +10 -11
- data/src/core/iomgr/timer.h +22 -2
- data/src/core/iomgr/timer_heap.c +10 -10
- data/src/core/iomgr/timer_heap.h +2 -2
- data/src/core/iomgr/udp_server.c +7 -16
- data/src/core/iomgr/udp_server.h +2 -9
- data/src/core/iomgr/workqueue.h +2 -4
- data/src/core/iomgr/workqueue_posix.c +4 -3
- data/src/core/iomgr/workqueue_posix.h +3 -1
- data/src/core/json/json_reader.c +11 -12
- data/src/core/json/json_reader.h +4 -4
- data/src/core/json/json_string.c +19 -19
- data/src/core/json/json_writer.c +7 -9
- data/src/core/profiling/basic_timers.c +1 -1
- data/src/core/proto/grpc/lb/v0/load_balancer.pb.c +119 -0
- data/src/core/proto/grpc/lb/v0/load_balancer.pb.h +182 -0
- data/src/core/security/{base64.c → b64.c} +10 -10
- data/src/core/security/{base64.h → b64.h} +1 -1
- data/src/core/security/client_auth_filter.c +4 -5
- data/src/core/security/credentials.c +17 -10
- data/src/core/security/credentials.h +3 -3
- data/src/core/security/google_default_credentials.c +27 -22
- data/src/core/security/handshake.c +21 -12
- data/src/core/security/handshake.h +2 -1
- data/src/core/security/json_token.c +14 -8
- data/src/core/security/jwt_verifier.c +4 -3
- data/src/core/security/secure_endpoint.c +16 -16
- data/src/core/security/security_connector.c +131 -81
- data/src/core/security/security_connector.h +47 -27
- data/src/core/security/security_context.c +8 -3
- data/src/core/security/server_auth_filter.c +5 -5
- data/src/core/security/server_secure_chttp2.c +36 -37
- data/src/core/statistics/census_interface.h +2 -2
- data/src/core/statistics/census_rpc_stats.h +3 -3
- data/src/core/support/alloc.c +1 -1
- data/src/core/support/avl.c +2 -2
- data/src/core/support/cpu_posix.c +2 -2
- data/src/core/support/env_linux.c +28 -1
- data/src/core/support/env_win32.c +15 -7
- data/src/core/support/histogram.c +5 -5
- data/src/core/support/{file.c → load_file.c} +2 -2
- data/src/core/support/{file.h → load_file.h} +4 -12
- data/src/core/support/log_posix.c +1 -1
- data/src/core/support/log_win32.c +4 -3
- data/src/core/support/murmur_hash.c +11 -11
- data/src/core/support/murmur_hash.h +1 -1
- data/src/core/support/slice.c +11 -11
- data/src/core/support/slice_buffer.c +6 -6
- data/src/core/support/stack_lockfree.c +20 -10
- data/src/core/support/string.c +15 -15
- data/src/core/support/string.h +5 -5
- data/src/core/support/string_win32.c +5 -5
- data/src/core/support/subprocess_windows.c +141 -0
- data/src/core/support/sync.c +4 -4
- data/src/core/support/sync_posix.c +2 -2
- data/src/core/support/sync_win32.c +10 -5
- data/src/core/support/time.c +29 -29
- data/src/core/support/time_posix.c +15 -6
- data/src/core/support/time_precise.c +2 -2
- data/src/core/support/time_win32.c +18 -9
- data/src/core/support/tls_pthread.c +1 -1
- data/src/core/support/tmpfile.h +55 -0
- data/src/core/support/{file_posix.c → tmpfile_posix.c} +2 -2
- data/src/core/support/{file_win32.c → tmpfile_win32.c} +2 -2
- data/src/core/support/wrap_memcpy.c +53 -0
- data/src/core/surface/alarm.c +84 -0
- data/src/core/surface/byte_buffer_reader.c +1 -1
- data/src/core/surface/call.c +175 -116
- data/src/core/surface/call.h +2 -2
- data/src/core/surface/call_test_only.h +2 -2
- data/src/core/surface/channel.c +9 -9
- data/src/core/surface/channel.h +1 -1
- data/src/core/surface/channel_connectivity.c +3 -3
- data/src/core/surface/channel_create.c +4 -4
- data/src/core/surface/channel_ping.c +2 -2
- data/src/core/surface/completion_queue.c +84 -53
- data/src/core/surface/completion_queue.h +1 -1
- data/src/core/surface/init.c +11 -5
- data/src/core/surface/lame_client.c +2 -3
- data/src/core/surface/secure_channel_create.c +9 -10
- data/src/core/surface/server.c +30 -30
- data/src/core/surface/server_chttp2.c +8 -8
- data/src/core/surface/server_create.c +1 -4
- data/src/core/surface/validate_metadata.c +4 -4
- data/src/core/surface/version.c +2 -2
- data/src/core/transport/byte_stream.c +8 -6
- data/src/core/transport/byte_stream.h +6 -5
- data/src/core/transport/chttp2/bin_encoder.c +29 -29
- data/src/core/transport/chttp2/frame_data.c +29 -26
- data/src/core/transport/chttp2/frame_data.h +6 -6
- data/src/core/transport/chttp2/frame_goaway.c +30 -30
- data/src/core/transport/chttp2/frame_goaway.h +6 -6
- data/src/core/transport/chttp2/frame_ping.c +6 -6
- data/src/core/transport/chttp2/frame_ping.h +5 -5
- data/src/core/transport/chttp2/frame_rst_stream.c +18 -19
- data/src/core/transport/chttp2/frame_rst_stream.h +4 -4
- data/src/core/transport/chttp2/frame_settings.c +30 -30
- data/src/core/transport/chttp2/frame_settings.h +13 -13
- data/src/core/transport/chttp2/frame_window_update.c +17 -18
- data/src/core/transport/chttp2/frame_window_update.h +5 -7
- data/src/core/transport/chttp2/hpack_encoder.c +69 -73
- data/src/core/transport/chttp2/hpack_encoder.h +16 -16
- data/src/core/transport/chttp2/hpack_parser.c +167 -167
- data/src/core/transport/chttp2/hpack_parser.h +16 -16
- data/src/core/transport/chttp2/hpack_table.c +13 -13
- data/src/core/transport/chttp2/hpack_table.h +11 -11
- data/src/core/transport/chttp2/internal.h +103 -87
- data/src/core/transport/chttp2/parsing.c +25 -25
- data/src/core/transport/chttp2/stream_lists.c +38 -1
- data/src/core/transport/chttp2/stream_map.c +13 -14
- data/src/core/transport/chttp2/stream_map.h +6 -7
- data/src/core/transport/chttp2/timeout_encoding.c +19 -16
- data/src/core/transport/chttp2/varint.c +8 -9
- data/src/core/transport/chttp2/varint.h +7 -8
- data/src/core/transport/chttp2/writing.c +25 -22
- data/src/core/transport/chttp2_transport.c +147 -100
- data/src/core/transport/connectivity_state.c +6 -6
- data/src/core/transport/metadata.c +18 -18
- data/src/core/transport/metadata.h +5 -5
- data/src/core/transport/static_metadata.c +32 -33
- data/src/core/transport/static_metadata.h +8 -8
- data/src/core/transport/transport.c +6 -5
- data/src/core/transport/transport.h +17 -1
- data/src/core/tsi/fake_transport_security.c +7 -7
- data/src/core/tsi/ssl_transport_security.c +6 -4
- data/src/core/{iomgr/timer_internal.h → tsi/ssl_types.h} +19 -25
- data/src/ruby/ext/grpc/extconf.rb +52 -14
- data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -1
- data/src/ruby/ext/grpc/rb_call.c +7 -3
- data/src/ruby/ext/grpc/rb_call_credentials.c +4 -0
- data/src/ruby/ext/grpc/rb_channel.c +4 -2
- data/src/ruby/ext/grpc/rb_channel_args.c +3 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.c +3 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +3 -1
- data/src/ruby/ext/grpc/rb_event_thread.c +5 -0
- data/src/ruby/ext/grpc/rb_grpc.c +28 -19
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +562 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +846 -0
- data/src/ruby/ext/grpc/rb_loader.c +72 -0
- data/src/ruby/ext/grpc/rb_loader.h +40 -0
- data/src/ruby/ext/grpc/rb_server.c +3 -1
- data/src/ruby/ext/grpc/rb_server_credentials.c +4 -2
- data/src/ruby/lib/grpc/core/time_consts.rb +2 -2
- data/src/ruby/lib/grpc/errors.rb +2 -2
- data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_server.rb +1 -1
- data/src/ruby/lib/grpc/grpc.rb +34 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/README.md +2 -2
- data/src/ruby/pb/generate_proto_ruby.sh +2 -2
- data/src/ruby/pb/grpc/health/checker.rb +11 -11
- data/src/ruby/pb/grpc/health/v1/health.rb +28 -0
- data/src/ruby/pb/grpc/health/{v1alpha → v1}/health_services.rb +4 -4
- data/src/ruby/spec/client_server_spec.rb +2 -1
- data/src/ruby/spec/pb/health/checker_spec.rb +23 -37
- data/third_party/boringssl/crypto/aes/aes.c +1142 -0
- data/third_party/boringssl/crypto/aes/internal.h +87 -0
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +108 -0
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +255 -0
- data/third_party/boringssl/crypto/asn1/a_bool.c +112 -0
- data/third_party/boringssl/crypto/asn1/a_bytes.c +317 -0
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +286 -0
- data/third_party/boringssl/crypto/asn1/a_dup.c +103 -0
- data/third_party/boringssl/crypto/asn1/a_enum.c +183 -0
- data/third_party/boringssl/crypto/asn1/a_gentm.c +255 -0
- data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +154 -0
- data/third_party/boringssl/crypto/asn1/a_int.c +456 -0
- data/third_party/boringssl/crypto/asn1/a_mbstr.c +390 -0
- data/third_party/boringssl/crypto/asn1/a_object.c +412 -0
- data/third_party/boringssl/crypto/asn1/a_octet.c +70 -0
- data/third_party/boringssl/crypto/asn1/a_print.c +119 -0
- data/third_party/boringssl/crypto/asn1/a_strnid.c +286 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +221 -0
- data/third_party/boringssl/crypto/asn1/a_type.c +160 -0
- data/third_party/boringssl/crypto/asn1/a_utctm.c +342 -0
- data/third_party/boringssl/crypto/asn1/a_utf8.c +210 -0
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +510 -0
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +73 -0
- data/third_party/boringssl/crypto/asn1/asn1_par.c +444 -0
- data/third_party/boringssl/crypto/asn1/asn_pack.c +104 -0
- data/third_party/boringssl/crypto/asn1/bio_asn1.c +496 -0
- data/third_party/boringssl/crypto/asn1/bio_ndef.c +254 -0
- data/third_party/boringssl/crypto/asn1/f_enum.c +206 -0
- data/third_party/boringssl/crypto/asn1/f_int.c +210 -0
- data/third_party/boringssl/crypto/asn1/f_string.c +204 -0
- data/third_party/boringssl/crypto/asn1/t_bitst.c +102 -0
- data/third_party/boringssl/crypto/asn1/t_pkey.c +112 -0
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +1342 -0
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +695 -0
- data/third_party/boringssl/crypto/asn1/tasn_fre.c +264 -0
- data/third_party/boringssl/crypto/asn1/tasn_new.c +398 -0
- data/third_party/boringssl/crypto/asn1/tasn_prn.c +642 -0
- data/third_party/boringssl/crypto/asn1/tasn_typ.c +137 -0
- data/third_party/boringssl/crypto/asn1/tasn_utl.c +266 -0
- data/third_party/boringssl/crypto/asn1/x_bignum.c +143 -0
- data/third_party/boringssl/crypto/asn1/x_long.c +182 -0
- data/third_party/boringssl/crypto/base64/base64.c +478 -0
- data/third_party/boringssl/crypto/bio/bio.c +608 -0
- data/third_party/boringssl/crypto/bio/bio_mem.c +327 -0
- data/third_party/boringssl/crypto/bio/buffer.c +496 -0
- data/third_party/boringssl/crypto/bio/connect.c +544 -0
- data/third_party/boringssl/crypto/bio/fd.c +270 -0
- data/third_party/boringssl/crypto/bio/file.c +349 -0
- data/third_party/boringssl/crypto/bio/hexdump.c +192 -0
- data/third_party/boringssl/crypto/bio/internal.h +108 -0
- data/third_party/boringssl/crypto/bio/pair.c +803 -0
- data/third_party/boringssl/crypto/bio/printf.c +119 -0
- data/third_party/boringssl/crypto/bio/socket.c +195 -0
- data/third_party/boringssl/crypto/bio/socket_helper.c +113 -0
- data/third_party/boringssl/crypto/bn/add.c +377 -0
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +599 -0
- data/third_party/boringssl/crypto/bn/bn.c +341 -0
- data/third_party/boringssl/crypto/bn/bn_asn1.c +93 -0
- data/third_party/boringssl/crypto/bn/cmp.c +200 -0
- data/third_party/boringssl/crypto/bn/convert.c +597 -0
- data/third_party/boringssl/crypto/bn/ctx.c +311 -0
- data/third_party/boringssl/crypto/bn/div.c +625 -0
- data/third_party/boringssl/crypto/bn/exponentiation.c +1544 -0
- data/third_party/boringssl/crypto/bn/gcd.c +711 -0
- data/third_party/boringssl/crypto/bn/generic.c +1019 -0
- data/third_party/boringssl/crypto/bn/internal.h +294 -0
- data/third_party/boringssl/crypto/bn/kronecker.c +175 -0
- data/third_party/boringssl/crypto/bn/montgomery.c +561 -0
- data/third_party/boringssl/crypto/bn/mul.c +888 -0
- data/third_party/boringssl/crypto/bn/prime.c +845 -0
- data/third_party/boringssl/crypto/bn/random.c +326 -0
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +326 -0
- data/third_party/boringssl/crypto/bn/rsaz_exp.h +56 -0
- data/third_party/boringssl/crypto/bn/shift.c +299 -0
- data/third_party/boringssl/crypto/bn/sqrt.c +505 -0
- data/third_party/boringssl/crypto/buf/buf.c +235 -0
- data/third_party/boringssl/crypto/bytestring/ber.c +221 -0
- data/third_party/boringssl/crypto/bytestring/cbb.c +411 -0
- data/third_party/boringssl/crypto/bytestring/cbs.c +415 -0
- data/third_party/boringssl/crypto/bytestring/internal.h +46 -0
- data/third_party/boringssl/crypto/chacha/chacha_generic.c +140 -0
- data/third_party/boringssl/crypto/chacha/chacha_vec.c +323 -0
- data/third_party/boringssl/crypto/cipher/aead.c +167 -0
- data/third_party/boringssl/crypto/cipher/cipher.c +652 -0
- data/third_party/boringssl/crypto/cipher/derive_key.c +154 -0
- data/third_party/boringssl/crypto/cipher/e_aes.c +1767 -0
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +311 -0
- data/third_party/boringssl/crypto/cipher/e_des.c +207 -0
- data/third_party/boringssl/crypto/cipher/e_null.c +85 -0
- data/third_party/boringssl/crypto/cipher/e_rc2.c +443 -0
- data/third_party/boringssl/crypto/cipher/e_rc4.c +87 -0
- data/third_party/boringssl/crypto/cipher/e_ssl3.c +463 -0
- data/third_party/boringssl/crypto/cipher/e_tls.c +673 -0
- data/third_party/boringssl/crypto/cipher/internal.h +164 -0
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +495 -0
- data/third_party/boringssl/crypto/cmac/cmac.c +239 -0
- data/third_party/boringssl/crypto/conf/conf.c +778 -0
- data/third_party/boringssl/crypto/conf/conf_def.h +127 -0
- data/third_party/boringssl/crypto/conf/internal.h +31 -0
- data/third_party/boringssl/crypto/cpu-arm.c +199 -0
- data/third_party/boringssl/crypto/cpu-intel.c +261 -0
- data/third_party/boringssl/crypto/crypto.c +140 -0
- data/third_party/boringssl/crypto/curve25519/curve25519.c +4897 -0
- data/third_party/boringssl/crypto/des/des.c +771 -0
- data/third_party/boringssl/crypto/des/internal.h +212 -0
- data/third_party/boringssl/crypto/dh/check.c +180 -0
- data/third_party/boringssl/crypto/dh/dh.c +463 -0
- data/third_party/boringssl/crypto/dh/dh_asn1.c +84 -0
- data/third_party/boringssl/crypto/dh/internal.h +80 -0
- data/third_party/boringssl/crypto/dh/params.c +301 -0
- data/third_party/boringssl/crypto/digest/digest.c +248 -0
- data/third_party/boringssl/crypto/digest/digests.c +321 -0
- data/third_party/boringssl/crypto/digest/internal.h +112 -0
- data/third_party/boringssl/crypto/digest/md32_common.h +322 -0
- data/third_party/boringssl/crypto/directory.h +66 -0
- data/third_party/boringssl/crypto/directory_posix.c +108 -0
- data/third_party/boringssl/crypto/directory_win.c +144 -0
- data/third_party/boringssl/crypto/dsa/dsa.c +908 -0
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +150 -0
- data/third_party/boringssl/crypto/dsa/internal.h +78 -0
- data/third_party/boringssl/crypto/ec/ec.c +889 -0
- data/third_party/boringssl/crypto/ec/ec_asn1.c +586 -0
- data/third_party/boringssl/crypto/ec/ec_key.c +482 -0
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +280 -0
- data/third_party/boringssl/crypto/ec/internal.h +318 -0
- data/third_party/boringssl/crypto/ec/oct.c +416 -0
- data/third_party/boringssl/crypto/ec/p224-64.c +1305 -0
- data/third_party/boringssl/crypto/ec/p256-64.c +1878 -0
- data/third_party/boringssl/crypto/ec/p256-x86_64-table.h +9548 -0
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +596 -0
- data/third_party/boringssl/crypto/ec/simple.c +1313 -0
- data/third_party/boringssl/crypto/ec/util-64.c +183 -0
- data/third_party/boringssl/crypto/ec/wnaf.c +449 -0
- data/third_party/boringssl/crypto/ecdh/ecdh.c +153 -0
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +496 -0
- data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +240 -0
- data/third_party/boringssl/crypto/engine/engine.c +96 -0
- data/third_party/boringssl/crypto/err/err.c +756 -0
- data/third_party/boringssl/crypto/evp/algorithm.c +153 -0
- data/third_party/boringssl/crypto/evp/digestsign.c +159 -0
- data/third_party/boringssl/crypto/evp/evp.c +411 -0
- data/third_party/boringssl/crypto/evp/evp_asn1.c +179 -0
- data/third_party/boringssl/crypto/evp/evp_ctx.c +477 -0
- data/third_party/boringssl/crypto/evp/internal.h +278 -0
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +588 -0
- data/third_party/boringssl/crypto/evp/p_ec.c +283 -0
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +562 -0
- data/third_party/boringssl/crypto/evp/p_rsa.c +596 -0
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +737 -0
- data/third_party/boringssl/crypto/evp/pbkdf.c +151 -0
- data/third_party/boringssl/crypto/evp/sign.c +151 -0
- data/third_party/boringssl/crypto/ex_data.c +294 -0
- data/third_party/boringssl/crypto/hkdf/hkdf.c +89 -0
- data/third_party/boringssl/crypto/hmac/hmac.c +213 -0
- data/third_party/boringssl/crypto/internal.h +532 -0
- data/third_party/boringssl/crypto/lhash/lhash.c +346 -0
- data/third_party/boringssl/crypto/md4/md4.c +225 -0
- data/third_party/boringssl/crypto/md5/md5.c +275 -0
- data/third_party/boringssl/crypto/mem.c +200 -0
- data/third_party/boringssl/crypto/modes/cbc.c +216 -0
- data/third_party/boringssl/crypto/modes/cfb.c +231 -0
- data/third_party/boringssl/crypto/modes/ctr.c +226 -0
- data/third_party/boringssl/crypto/modes/gcm.c +1252 -0
- data/third_party/boringssl/crypto/modes/internal.h +370 -0
- data/third_party/boringssl/crypto/modes/ofb.c +108 -0
- data/third_party/boringssl/crypto/obj/obj.c +664 -0
- data/third_party/boringssl/crypto/obj/obj_dat.h +5257 -0
- data/third_party/boringssl/crypto/obj/obj_xref.c +124 -0
- data/third_party/boringssl/crypto/obj/obj_xref.h +96 -0
- data/third_party/boringssl/crypto/pem/pem_all.c +281 -0
- data/third_party/boringssl/crypto/pem/pem_info.c +404 -0
- data/third_party/boringssl/crypto/pem/pem_lib.c +835 -0
- data/third_party/boringssl/crypto/pem/pem_oth.c +89 -0
- data/third_party/boringssl/crypto/pem/pem_pk8.c +244 -0
- data/third_party/boringssl/crypto/pem/pem_pkey.c +312 -0
- data/third_party/boringssl/crypto/pem/pem_x509.c +65 -0
- data/third_party/boringssl/crypto/pem/pem_xaux.c +66 -0
- data/third_party/boringssl/crypto/pkcs8/internal.h +83 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +150 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +440 -0
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +85 -0
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +1217 -0
- data/third_party/boringssl/crypto/poly1305/poly1305.c +331 -0
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +301 -0
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +892 -0
- data/third_party/boringssl/crypto/rand/internal.h +32 -0
- data/third_party/boringssl/crypto/rand/rand.c +239 -0
- data/third_party/boringssl/crypto/rand/urandom.c +223 -0
- data/third_party/boringssl/crypto/rand/windows.c +56 -0
- data/third_party/boringssl/crypto/rc4/rc4.c +283 -0
- data/third_party/boringssl/crypto/refcount_c11.c +67 -0
- data/third_party/boringssl/crypto/refcount_lock.c +53 -0
- data/third_party/boringssl/crypto/rsa/blinding.c +462 -0
- data/third_party/boringssl/crypto/rsa/internal.h +164 -0
- data/third_party/boringssl/crypto/rsa/padding.c +711 -0
- data/third_party/boringssl/crypto/rsa/rsa.c +808 -0
- data/third_party/boringssl/crypto/rsa/rsa_asn1.c +473 -0
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +1138 -0
- data/third_party/boringssl/crypto/sha/sha1.c +337 -0
- data/third_party/boringssl/crypto/sha/sha256.c +327 -0
- data/third_party/boringssl/crypto/sha/sha512.c +607 -0
- data/third_party/boringssl/crypto/stack/stack.c +386 -0
- data/third_party/boringssl/crypto/test/scoped_types.h +137 -0
- data/third_party/boringssl/crypto/test/test_util.h +35 -0
- data/third_party/boringssl/crypto/thread.c +101 -0
- data/third_party/boringssl/crypto/thread_none.c +55 -0
- data/third_party/boringssl/crypto/thread_pthread.c +167 -0
- data/third_party/boringssl/crypto/thread_win.c +282 -0
- data/third_party/boringssl/crypto/time_support.c +212 -0
- data/third_party/boringssl/crypto/x509/a_digest.c +97 -0
- data/third_party/boringssl/crypto/x509/a_sign.c +136 -0
- data/third_party/boringssl/crypto/x509/a_strex.c +564 -0
- data/third_party/boringssl/crypto/x509/a_verify.c +133 -0
- data/third_party/boringssl/crypto/x509/asn1_gen.c +873 -0
- data/third_party/boringssl/crypto/x509/by_dir.c +491 -0
- data/third_party/boringssl/crypto/x509/by_file.c +295 -0
- data/third_party/boringssl/crypto/x509/charmap.h +15 -0
- data/third_party/boringssl/crypto/x509/i2d_pr.c +84 -0
- data/third_party/boringssl/crypto/x509/pkcs7.c +353 -0
- data/third_party/boringssl/crypto/x509/t_crl.c +129 -0
- data/third_party/boringssl/crypto/x509/t_req.c +246 -0
- data/third_party/boringssl/crypto/x509/t_x509.c +500 -0
- data/third_party/boringssl/crypto/x509/t_x509a.c +109 -0
- data/third_party/boringssl/crypto/x509/vpm_int.h +70 -0
- data/third_party/boringssl/crypto/x509/x509.c +152 -0
- data/third_party/boringssl/crypto/x509/x509_att.c +353 -0
- data/third_party/boringssl/crypto/x509/x509_cmp.c +490 -0
- data/third_party/boringssl/crypto/x509/x509_d2.c +105 -0
- data/third_party/boringssl/crypto/x509/x509_def.c +88 -0
- data/third_party/boringssl/crypto/x509/x509_ext.c +206 -0
- data/third_party/boringssl/crypto/x509/x509_lu.c +738 -0
- data/third_party/boringssl/crypto/x509/x509_obj.c +191 -0
- data/third_party/boringssl/crypto/x509/x509_r2x.c +113 -0
- data/third_party/boringssl/crypto/x509/x509_req.c +315 -0
- data/third_party/boringssl/crypto/x509/x509_set.c +154 -0
- data/third_party/boringssl/crypto/x509/x509_trs.c +304 -0
- data/third_party/boringssl/crypto/x509/x509_txt.c +209 -0
- data/third_party/boringssl/crypto/x509/x509_v3.c +271 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +2456 -0
- data/third_party/boringssl/crypto/x509/x509_vpm.c +672 -0
- data/third_party/boringssl/crypto/x509/x509cset.c +172 -0
- data/third_party/boringssl/crypto/x509/x509name.c +381 -0
- data/third_party/boringssl/crypto/x509/x509rset.c +80 -0
- data/third_party/boringssl/crypto/x509/x509spki.c +135 -0
- data/third_party/boringssl/crypto/x509/x509type.c +128 -0
- data/third_party/boringssl/crypto/x509/x_algor.c +154 -0
- data/third_party/boringssl/crypto/x509/x_all.c +547 -0
- data/third_party/boringssl/crypto/x509/x_attrib.c +117 -0
- data/third_party/boringssl/crypto/x509/x_crl.c +560 -0
- data/third_party/boringssl/crypto/x509/x_exten.c +75 -0
- data/third_party/boringssl/crypto/x509/x_info.c +95 -0
- data/third_party/boringssl/crypto/x509/x_name.c +538 -0
- data/third_party/boringssl/crypto/x509/x_pkey.c +100 -0
- data/third_party/boringssl/crypto/x509/x_pubkey.c +384 -0
- data/third_party/boringssl/crypto/x509/x_req.c +112 -0
- data/third_party/boringssl/crypto/x509/x_sig.c +69 -0
- data/third_party/boringssl/crypto/x509/x_spki.c +78 -0
- data/third_party/boringssl/crypto/x509/x_val.c +69 -0
- data/third_party/boringssl/crypto/x509/x_x509.c +227 -0
- data/third_party/boringssl/crypto/x509/x_x509a.c +197 -0
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +129 -0
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +299 -0
- data/third_party/boringssl/crypto/x509v3/pcy_data.c +137 -0
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +212 -0
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +165 -0
- data/third_party/boringssl/crypto/x509v3/pcy_map.c +133 -0
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +197 -0
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +876 -0
- data/third_party/boringssl/crypto/x509v3/v3_akey.c +212 -0
- data/third_party/boringssl/crypto/x509v3/v3_akeya.c +71 -0
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +622 -0
- data/third_party/boringssl/crypto/x509v3/v3_bcons.c +126 -0
- data/third_party/boringssl/crypto/x509v3/v3_bitst.c +141 -0
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +459 -0
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +475 -0
- data/third_party/boringssl/crypto/x509v3/v3_crld.c +616 -0
- data/third_party/boringssl/crypto/x509v3/v3_enum.c +98 -0
- data/third_party/boringssl/crypto/x509v3/v3_extku.c +145 -0
- data/third_party/boringssl/crypto/x509v3/v3_genn.c +252 -0
- data/third_party/boringssl/crypto/x509v3/v3_ia5.c +117 -0
- data/third_party/boringssl/crypto/x509v3/v3_info.c +200 -0
- data/third_party/boringssl/crypto/x509v3/v3_int.c +87 -0
- data/third_party/boringssl/crypto/x509v3/v3_lib.c +335 -0
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +510 -0
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +335 -0
- data/third_party/boringssl/crypto/x509v3/v3_pcia.c +56 -0
- data/third_party/boringssl/crypto/x509v3/v3_pcons.c +142 -0
- data/third_party/boringssl/crypto/x509v3/v3_pku.c +109 -0
- data/third_party/boringssl/crypto/x509v3/v3_pmaps.c +156 -0
- data/third_party/boringssl/crypto/x509v3/v3_prn.c +207 -0
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +805 -0
- data/third_party/boringssl/crypto/x509v3/v3_skey.c +148 -0
- data/third_party/boringssl/crypto/x509v3/v3_sxnet.c +266 -0
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +1322 -0
- data/third_party/boringssl/include/openssl/aead.h +346 -0
- data/third_party/boringssl/include/openssl/aes.h +158 -0
- data/third_party/boringssl/include/openssl/arm_arch.h +127 -0
- data/third_party/boringssl/include/openssl/asn1.h +1168 -0
- data/third_party/boringssl/include/openssl/asn1_mac.h +75 -0
- data/third_party/boringssl/include/openssl/asn1t.h +906 -0
- data/third_party/boringssl/include/openssl/base.h +261 -0
- data/third_party/boringssl/include/openssl/base64.h +184 -0
- data/third_party/boringssl/include/openssl/bio.h +902 -0
- data/third_party/boringssl/include/openssl/blowfish.h +93 -0
- data/third_party/boringssl/include/openssl/bn.h +885 -0
- data/third_party/boringssl/include/openssl/buf.h +118 -0
- data/third_party/boringssl/include/openssl/buffer.h +18 -0
- data/third_party/boringssl/include/openssl/bytestring.h +360 -0
- data/third_party/boringssl/include/openssl/cast.h +96 -0
- data/third_party/boringssl/include/openssl/chacha.h +37 -0
- data/third_party/boringssl/include/openssl/cipher.h +571 -0
- data/third_party/boringssl/include/openssl/cmac.h +76 -0
- data/third_party/boringssl/include/openssl/conf.h +145 -0
- data/third_party/boringssl/include/openssl/cpu.h +184 -0
- data/third_party/boringssl/include/openssl/crypto.h +68 -0
- data/third_party/boringssl/include/openssl/curve25519.h +88 -0
- data/third_party/boringssl/include/openssl/des.h +177 -0
- data/third_party/boringssl/include/openssl/dh.h +238 -0
- data/third_party/boringssl/include/openssl/digest.h +258 -0
- data/third_party/boringssl/include/openssl/dsa.h +343 -0
- data/third_party/boringssl/include/openssl/dtls1.h +16 -0
- data/third_party/boringssl/include/openssl/ec.h +355 -0
- data/third_party/boringssl/include/openssl/ec_key.h +280 -0
- data/third_party/boringssl/include/openssl/ecdh.h +102 -0
- data/third_party/boringssl/include/openssl/ecdsa.h +206 -0
- data/third_party/boringssl/include/openssl/engine.h +98 -0
- data/third_party/boringssl/include/openssl/err.h +487 -0
- data/third_party/boringssl/include/openssl/evp.h +750 -0
- data/third_party/boringssl/include/openssl/ex_data.h +213 -0
- data/third_party/boringssl/include/openssl/hkdf.h +44 -0
- data/third_party/boringssl/include/openssl/hmac.h +160 -0
- data/third_party/boringssl/include/openssl/lhash.h +192 -0
- data/third_party/boringssl/include/openssl/lhash_macros.h +132 -0
- data/third_party/boringssl/include/openssl/md4.h +102 -0
- data/third_party/boringssl/include/openssl/md5.h +107 -0
- data/third_party/boringssl/include/openssl/mem.h +140 -0
- data/third_party/boringssl/include/openssl/obj.h +198 -0
- data/third_party/boringssl/include/openssl/obj_mac.h +4140 -0
- data/third_party/boringssl/include/openssl/objects.h +18 -0
- data/third_party/boringssl/include/openssl/opensslfeatures.h +60 -0
- data/third_party/boringssl/include/openssl/opensslv.h +18 -0
- data/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
- data/third_party/boringssl/include/openssl/pem.h +521 -0
- data/third_party/boringssl/include/openssl/pkcs12.h +18 -0
- data/third_party/boringssl/include/openssl/pkcs7.h +16 -0
- data/third_party/boringssl/include/openssl/pkcs8.h +220 -0
- data/third_party/boringssl/include/openssl/poly1305.h +51 -0
- data/third_party/boringssl/include/openssl/pqueue.h +146 -0
- data/third_party/boringssl/include/openssl/rand.h +113 -0
- data/third_party/boringssl/include/openssl/rc4.h +90 -0
- data/third_party/boringssl/include/openssl/rsa.h +637 -0
- data/third_party/boringssl/include/openssl/safestack.h +16 -0
- data/third_party/boringssl/include/openssl/sha.h +256 -0
- data/third_party/boringssl/include/openssl/srtp.h +18 -0
- data/third_party/boringssl/include/openssl/ssl.h +4466 -0
- data/third_party/boringssl/include/openssl/ssl3.h +441 -0
- data/third_party/boringssl/include/openssl/stack.h +298 -0
- data/third_party/boringssl/include/openssl/stack_macros.h +4190 -0
- data/third_party/boringssl/include/openssl/thread.h +173 -0
- data/third_party/boringssl/include/openssl/time_support.h +90 -0
- data/third_party/boringssl/include/openssl/tls1.h +653 -0
- data/third_party/boringssl/include/openssl/type_check.h +91 -0
- data/third_party/boringssl/include/openssl/x509.h +1258 -0
- data/third_party/boringssl/include/openssl/x509_vfy.h +611 -0
- data/third_party/boringssl/include/openssl/x509v3.h +798 -0
- data/third_party/boringssl/ssl/custom_extensions.c +257 -0
- data/third_party/boringssl/ssl/d1_both.c +880 -0
- data/third_party/boringssl/ssl/d1_clnt.c +566 -0
- data/third_party/boringssl/ssl/d1_lib.c +340 -0
- data/third_party/boringssl/ssl/d1_meth.c +130 -0
- data/third_party/boringssl/ssl/d1_pkt.c +578 -0
- data/third_party/boringssl/ssl/d1_srtp.c +234 -0
- data/third_party/boringssl/ssl/d1_srvr.c +485 -0
- data/third_party/boringssl/ssl/dtls_record.c +308 -0
- data/third_party/boringssl/ssl/internal.h +1276 -0
- data/third_party/boringssl/ssl/pqueue/pqueue.c +197 -0
- data/third_party/boringssl/ssl/s3_both.c +571 -0
- data/third_party/boringssl/ssl/s3_clnt.c +2241 -0
- data/third_party/boringssl/ssl/s3_enc.c +494 -0
- data/third_party/boringssl/ssl/s3_lib.c +587 -0
- data/third_party/boringssl/ssl/s3_meth.c +166 -0
- data/third_party/boringssl/ssl/s3_pkt.c +732 -0
- data/third_party/boringssl/ssl/s3_srvr.c +2536 -0
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +300 -0
- data/third_party/boringssl/ssl/ssl_asn1.c +718 -0
- data/third_party/boringssl/ssl/ssl_buffer.c +319 -0
- data/third_party/boringssl/ssl/ssl_cert.c +539 -0
- data/third_party/boringssl/ssl/ssl_cipher.c +2003 -0
- data/third_party/boringssl/ssl/ssl_file.c +633 -0
- data/third_party/boringssl/ssl/ssl_lib.c +2653 -0
- data/third_party/boringssl/ssl/ssl_rsa.c +423 -0
- data/third_party/boringssl/ssl/ssl_session.c +764 -0
- data/third_party/boringssl/ssl/ssl_stat.c +591 -0
- data/third_party/boringssl/ssl/t1_enc.c +708 -0
- data/third_party/boringssl/ssl/t1_lib.c +2905 -0
- data/third_party/boringssl/ssl/test/async_bio.h +45 -0
- data/third_party/boringssl/ssl/test/packeted_bio.h +44 -0
- data/third_party/boringssl/ssl/test/scoped_types.h +28 -0
- data/third_party/boringssl/ssl/test/test_config.h +108 -0
- data/third_party/boringssl/ssl/tls_record.c +342 -0
- data/third_party/nanopb/pb.h +547 -0
- data/third_party/nanopb/pb_common.c +97 -0
- data/third_party/nanopb/pb_common.h +42 -0
- data/third_party/nanopb/pb_decode.c +1319 -0
- data/third_party/nanopb/pb_decode.h +149 -0
- data/third_party/nanopb/pb_encode.c +690 -0
- data/third_party/nanopb/pb_encode.h +154 -0
- data/third_party/zlib/adler32.c +179 -0
- data/third_party/zlib/compress.c +80 -0
- data/third_party/zlib/crc32.c +425 -0
- data/third_party/zlib/crc32.h +441 -0
- data/third_party/zlib/deflate.c +1967 -0
- data/third_party/zlib/deflate.h +346 -0
- data/third_party/zlib/gzclose.c +25 -0
- data/third_party/zlib/gzguts.h +209 -0
- data/third_party/zlib/gzlib.c +634 -0
- data/third_party/zlib/gzread.c +594 -0
- data/third_party/zlib/gzwrite.c +577 -0
- data/third_party/zlib/infback.c +640 -0
- data/third_party/zlib/inffast.c +340 -0
- data/third_party/zlib/inffast.h +11 -0
- data/third_party/zlib/inffixed.h +94 -0
- data/third_party/zlib/inflate.c +1512 -0
- data/third_party/zlib/inflate.h +122 -0
- data/third_party/zlib/inftrees.c +306 -0
- data/third_party/zlib/inftrees.h +62 -0
- data/third_party/zlib/trees.c +1226 -0
- data/third_party/zlib/trees.h +128 -0
- data/third_party/zlib/uncompr.c +59 -0
- data/third_party/zlib/zconf.h +511 -0
- data/third_party/zlib/zlib.h +1768 -0
- data/third_party/zlib/zutil.c +324 -0
- data/third_party/zlib/zutil.h +253 -0
- metadata +504 -20
- data/Rakefile +0 -63
- data/src/ruby/pb/grpc/health/v1alpha/health.rb +0 -29
data/include/grpc/compression.h
CHANGED
@@ -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/
|
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(
|
75
|
-
|
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(
|
80
|
-
|
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
|
86
|
-
|
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
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
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
|
-
|
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,
|
473
|
-
|
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,
|
499
|
-
|
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
|
510
|
-
|
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(
|
528
|
-
|
529
|
-
|
530
|
-
|
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
|
-
|
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,
|
541
|
-
|
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,
|
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,
|
561
|
-
|
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
|
-
|
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(
|
593
|
-
|
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(
|
598
|
-
|
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
|
624
|
-
|
625
|
-
|
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
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
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,
|
654
|
-
|
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,
|
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
|
-
|
678
|
-
|
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,
|
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
|
-
|
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
|
}
|