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
@@ -0,0 +1,95 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
|
+
* All rights reserved.
|
5
|
+
*
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
7
|
+
* modification, are permitted provided that the following conditions are
|
8
|
+
* met:
|
9
|
+
*
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
12
|
+
* * Redistributions in binary form must reproduce the above
|
13
|
+
* copyright notice, this list of conditions and the following disclaimer
|
14
|
+
* in the documentation and/or other materials provided with the
|
15
|
+
* distribution.
|
16
|
+
* * Neither the name of Google Inc. nor the names of its
|
17
|
+
* contributors may be used to endorse or promote products derived from
|
18
|
+
* this software without specific prior written permission.
|
19
|
+
*
|
20
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
21
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
22
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
23
|
+
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
24
|
+
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
25
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
26
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
28
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
29
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
30
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
*
|
32
|
+
*/
|
33
|
+
|
34
|
+
/* A very fast in-memory log, optimized for multiple writers. */
|
35
|
+
|
36
|
+
#ifndef GRPC_INTERNAL_CORE_CENSUS_MLOG_H
|
37
|
+
#define GRPC_INTERNAL_CORE_CENSUS_MLOG_H
|
38
|
+
|
39
|
+
#include <grpc/support/port_platform.h>
|
40
|
+
#include <stddef.h>
|
41
|
+
|
42
|
+
/* Maximum record size, in bytes. */
|
43
|
+
#define CENSUS_LOG_2_MAX_RECORD_SIZE 14 /* 2^14 = 16KB */
|
44
|
+
#define CENSUS_LOG_MAX_RECORD_SIZE (1 << CENSUS_LOG_2_MAX_RECORD_SIZE)
|
45
|
+
|
46
|
+
/* Initialize the statistics logging subsystem with the given log size. A log
|
47
|
+
size of 0 will result in the smallest possible log for the platform
|
48
|
+
(approximately CENSUS_LOG_MAX_RECORD_SIZE * gpr_cpu_num_cores()). If
|
49
|
+
discard_old_records is non-zero, then new records will displace older ones
|
50
|
+
when the log is full. This function must be called before any other
|
51
|
+
census_log functions.
|
52
|
+
*/
|
53
|
+
void census_log_initialize(size_t size_in_mb, int discard_old_records);
|
54
|
+
|
55
|
+
/* Shutdown the logging subsystem. Caller must ensure that:
|
56
|
+
- no in progress or future call to any census_log functions
|
57
|
+
- no incomplete records
|
58
|
+
*/
|
59
|
+
void census_log_shutdown(void);
|
60
|
+
|
61
|
+
/* Allocates and returns a 'size' bytes record and marks it in use. A
|
62
|
+
subsequent census_log_end_write() marks the record complete. The
|
63
|
+
'bytes_written' census_log_end_write() argument must be <=
|
64
|
+
'size'. Returns NULL if out-of-space AND:
|
65
|
+
- log is configured to keep old records OR
|
66
|
+
- all blocks are pinned by incomplete records.
|
67
|
+
*/
|
68
|
+
void* census_log_start_write(size_t size);
|
69
|
+
|
70
|
+
void census_log_end_write(void* record, size_t bytes_written);
|
71
|
+
|
72
|
+
void census_log_init_reader(void);
|
73
|
+
|
74
|
+
/* census_log_read_next() iterates over blocks with data and for each block
|
75
|
+
returns a pointer to the first unread byte. The number of bytes that can be
|
76
|
+
read are returned in 'bytes_available'. Reader is expected to read all
|
77
|
+
available data. Reading the data consumes it i.e. it cannot be read again.
|
78
|
+
census_log_read_next() returns NULL if the end is reached i.e last block
|
79
|
+
is read. census_log_init_reader() starts the iteration or aborts the
|
80
|
+
current iteration.
|
81
|
+
*/
|
82
|
+
const void* census_log_read_next(size_t* bytes_available);
|
83
|
+
|
84
|
+
/* Returns estimated remaining space across all blocks, in bytes. If log is
|
85
|
+
configured to discard old records, returns total log space. Otherwise,
|
86
|
+
returns space available in empty blocks (partially filled blocks are
|
87
|
+
treated as full).
|
88
|
+
*/
|
89
|
+
size_t census_log_remaining_space(void);
|
90
|
+
|
91
|
+
/* Returns the number of times gprc_stats_log_start_write() failed due to
|
92
|
+
out-of-space. */
|
93
|
+
int64_t census_log_out_of_space_count(void);
|
94
|
+
|
95
|
+
#endif /* GRPC_INTERNAL_CORE_CENSUS_LOG_H */
|
data/src/core/census/operation.c
CHANGED
@@ -42,14 +42,14 @@ census_timestamp census_start_rpc_op_timestamp(void) {
|
|
42
42
|
}
|
43
43
|
|
44
44
|
census_context *census_start_client_rpc_op(
|
45
|
-
const census_context *context,
|
45
|
+
const census_context *context, int64_t rpc_name_id,
|
46
46
|
const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask,
|
47
47
|
const census_timestamp *start_time) {
|
48
48
|
return NULL;
|
49
49
|
}
|
50
50
|
|
51
51
|
census_context *census_start_server_rpc_op(
|
52
|
-
const char *buffer,
|
52
|
+
const char *buffer, int64_t rpc_name_id,
|
53
53
|
const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask,
|
54
54
|
census_timestamp *start_time) {
|
55
55
|
return NULL;
|
@@ -0,0 +1,109 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* Copyright 2016, Google Inc.
|
4
|
+
* All rights reserved.
|
5
|
+
*
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
7
|
+
* modification, are permitted provided that the following conditions are
|
8
|
+
* met:
|
9
|
+
*
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
12
|
+
* * Redistributions in binary form must reproduce the above
|
13
|
+
* copyright notice, this list of conditions and the following disclaimer
|
14
|
+
* in the documentation and/or other materials provided with the
|
15
|
+
* distribution.
|
16
|
+
* * Neither the name of Google Inc. nor the names of its
|
17
|
+
* contributors may be used to endorse or promote products derived from
|
18
|
+
* this software without specific prior written permission.
|
19
|
+
*
|
20
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
21
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
22
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
23
|
+
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
24
|
+
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
25
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
26
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
28
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
29
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
30
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
*
|
32
|
+
*/
|
33
|
+
|
34
|
+
#include <grpc/census.h>
|
35
|
+
|
36
|
+
#include <grpc/support/log.h>
|
37
|
+
|
38
|
+
/* Placeholders for the pending APIs */
|
39
|
+
|
40
|
+
int census_get_trace_record(census_trace_record *trace_record) {
|
41
|
+
(void)trace_record;
|
42
|
+
abort();
|
43
|
+
}
|
44
|
+
|
45
|
+
void census_record_values(census_context *context, census_value *values,
|
46
|
+
size_t nvalues) {
|
47
|
+
(void)context;
|
48
|
+
(void)values;
|
49
|
+
(void)nvalues;
|
50
|
+
abort();
|
51
|
+
}
|
52
|
+
|
53
|
+
void census_set_rpc_client_peer(census_context *context, const char *peer) {
|
54
|
+
(void)context;
|
55
|
+
(void)peer;
|
56
|
+
abort();
|
57
|
+
}
|
58
|
+
|
59
|
+
void census_trace_scan_end() { abort(); }
|
60
|
+
|
61
|
+
int census_trace_scan_start(int consume) {
|
62
|
+
(void)consume;
|
63
|
+
abort();
|
64
|
+
}
|
65
|
+
|
66
|
+
const census_aggregation *census_view_aggregrations(const census_view *view) {
|
67
|
+
(void)view;
|
68
|
+
abort();
|
69
|
+
}
|
70
|
+
|
71
|
+
census_view *census_view_create(uint32_t metric_id, const census_context *tags,
|
72
|
+
const census_aggregation *aggregations,
|
73
|
+
size_t naggregations) {
|
74
|
+
(void)metric_id;
|
75
|
+
(void)tags;
|
76
|
+
(void)aggregations;
|
77
|
+
(void)naggregations;
|
78
|
+
abort();
|
79
|
+
}
|
80
|
+
|
81
|
+
const census_context *census_view_tags(const census_view *view) {
|
82
|
+
(void)view;
|
83
|
+
abort();
|
84
|
+
}
|
85
|
+
|
86
|
+
void census_view_delete(census_view *view) {
|
87
|
+
(void)view;
|
88
|
+
abort();
|
89
|
+
}
|
90
|
+
|
91
|
+
const census_view_data *census_view_get_data(const census_view *view) {
|
92
|
+
(void)view;
|
93
|
+
abort();
|
94
|
+
}
|
95
|
+
|
96
|
+
size_t census_view_metric(const census_view *view) {
|
97
|
+
(void)view;
|
98
|
+
abort();
|
99
|
+
}
|
100
|
+
|
101
|
+
size_t census_view_naggregations(const census_view *view) {
|
102
|
+
(void)view;
|
103
|
+
abort();
|
104
|
+
}
|
105
|
+
|
106
|
+
void census_view_reset(census_view *view) {
|
107
|
+
(void)view;
|
108
|
+
abort();
|
109
|
+
}
|
@@ -36,16 +36,16 @@
|
|
36
36
|
|
37
37
|
/* Metric ID's used for RPC measurements. */
|
38
38
|
/* Count of client requests sent. */
|
39
|
-
#define CENSUS_METRIC_RPC_CLIENT_REQUESTS ((
|
39
|
+
#define CENSUS_METRIC_RPC_CLIENT_REQUESTS ((uint32_t)0)
|
40
40
|
/* Count of server requests sent. */
|
41
|
-
#define CENSUS_METRIC_RPC_SERVER_REQUESTS ((
|
41
|
+
#define CENSUS_METRIC_RPC_SERVER_REQUESTS ((uint32_t)1)
|
42
42
|
/* Client error counts. */
|
43
|
-
#define CENSUS_METRIC_RPC_CLIENT_ERRORS ((
|
43
|
+
#define CENSUS_METRIC_RPC_CLIENT_ERRORS ((uint32_t)2)
|
44
44
|
/* Server error counts. */
|
45
|
-
#define CENSUS_METRIC_RPC_SERVER_ERRORS ((
|
45
|
+
#define CENSUS_METRIC_RPC_SERVER_ERRORS ((uint32_t)3)
|
46
46
|
/* Client side request latency. */
|
47
|
-
#define CENSUS_METRIC_RPC_CLIENT_LATENCY ((
|
47
|
+
#define CENSUS_METRIC_RPC_CLIENT_LATENCY ((uint32_t)4)
|
48
48
|
/* Server side request latency. */
|
49
|
-
#define CENSUS_METRIC_RPC_SERVER_LATENCY ((
|
49
|
+
#define CENSUS_METRIC_RPC_SERVER_LATENCY ((uint32_t)5)
|
50
50
|
|
51
51
|
#endif /* CENSUS_RPC_METRIC_ID_H */
|
data/src/core/census/tracing.c
CHANGED
@@ -41,5 +41,5 @@ int census_trace_mask(const census_context *context) {
|
|
41
41
|
|
42
42
|
void census_set_trace_mask(int trace_mask) {}
|
43
43
|
|
44
|
-
void census_trace_print(census_context *context,
|
44
|
+
void census_trace_print(census_context *context, uint32_t type,
|
45
45
|
const char *buffer, size_t n) {}
|
@@ -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
|
@@ -35,7 +35,9 @@
|
|
35
35
|
#include "src/core/channel/channel_args.h"
|
36
36
|
#include "src/core/support/string.h"
|
37
37
|
|
38
|
+
#include <grpc/census.h>
|
38
39
|
#include <grpc/support/alloc.h>
|
40
|
+
#include <grpc/support/log.h>
|
39
41
|
#include <grpc/support/string_util.h>
|
40
42
|
#include <grpc/support/useful.h>
|
41
43
|
|
@@ -54,9 +56,8 @@ static grpc_arg copy_arg(const grpc_arg *src) {
|
|
54
56
|
break;
|
55
57
|
case GRPC_ARG_POINTER:
|
56
58
|
dst.value.pointer = src->value.pointer;
|
57
|
-
dst.value.pointer.p =
|
58
|
-
|
59
|
-
: src->value.pointer.p;
|
59
|
+
dst.value.pointer.p =
|
60
|
+
src->value.pointer.vtable->copy(src->value.pointer.p);
|
60
61
|
break;
|
61
62
|
}
|
62
63
|
return dst;
|
@@ -93,6 +94,58 @@ grpc_channel_args *grpc_channel_args_merge(const grpc_channel_args *a,
|
|
93
94
|
return grpc_channel_args_copy_and_add(a, b->args, b->num_args);
|
94
95
|
}
|
95
96
|
|
97
|
+
static int cmp_arg(const grpc_arg *a, const grpc_arg *b) {
|
98
|
+
int c = GPR_ICMP(a->type, b->type);
|
99
|
+
if (c != 0) return c;
|
100
|
+
c = strcmp(a->key, b->key);
|
101
|
+
if (c != 0) return c;
|
102
|
+
switch (a->type) {
|
103
|
+
case GRPC_ARG_STRING:
|
104
|
+
return strcmp(a->value.string, b->value.string);
|
105
|
+
case GRPC_ARG_INTEGER:
|
106
|
+
return GPR_ICMP(a->value.integer, b->value.integer);
|
107
|
+
case GRPC_ARG_POINTER:
|
108
|
+
c = GPR_ICMP(a->value.pointer.p, b->value.pointer.p);
|
109
|
+
if (c != 0) {
|
110
|
+
c = GPR_ICMP(a->value.pointer.vtable, b->value.pointer.vtable);
|
111
|
+
if (c == 0) {
|
112
|
+
c = a->value.pointer.vtable->cmp(a->value.pointer.p,
|
113
|
+
b->value.pointer.p);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
return c;
|
117
|
+
}
|
118
|
+
GPR_UNREACHABLE_CODE(return 0);
|
119
|
+
}
|
120
|
+
|
121
|
+
/* stabilizing comparison function: since channel_args ordering matters for
|
122
|
+
* keys with the same name, we need to preserve that ordering */
|
123
|
+
static int cmp_key_stable(const void *ap, const void *bp) {
|
124
|
+
const grpc_arg *const *a = ap;
|
125
|
+
const grpc_arg *const *b = bp;
|
126
|
+
int c = strcmp((*a)->key, (*b)->key);
|
127
|
+
if (c == 0) c = GPR_ICMP(*a, *b);
|
128
|
+
return c;
|
129
|
+
}
|
130
|
+
|
131
|
+
grpc_channel_args *grpc_channel_args_normalize(const grpc_channel_args *a) {
|
132
|
+
grpc_arg **args = gpr_malloc(sizeof(grpc_arg *) * a->num_args);
|
133
|
+
for (size_t i = 0; i < a->num_args; i++) {
|
134
|
+
args[i] = &a->args[i];
|
135
|
+
}
|
136
|
+
qsort(args, a->num_args, sizeof(grpc_arg *), cmp_key_stable);
|
137
|
+
|
138
|
+
grpc_channel_args *b = gpr_malloc(sizeof(grpc_channel_args));
|
139
|
+
b->num_args = a->num_args;
|
140
|
+
b->args = gpr_malloc(sizeof(grpc_arg) * b->num_args);
|
141
|
+
for (size_t i = 0; i < a->num_args; i++) {
|
142
|
+
b->args[i] = copy_arg(args[i]);
|
143
|
+
}
|
144
|
+
|
145
|
+
gpr_free(args);
|
146
|
+
return b;
|
147
|
+
}
|
148
|
+
|
96
149
|
void grpc_channel_args_destroy(grpc_channel_args *a) {
|
97
150
|
size_t i;
|
98
151
|
for (i = 0; i < a->num_args; i++) {
|
@@ -103,9 +156,7 @@ void grpc_channel_args_destroy(grpc_channel_args *a) {
|
|
103
156
|
case GRPC_ARG_INTEGER:
|
104
157
|
break;
|
105
158
|
case GRPC_ARG_POINTER:
|
106
|
-
|
107
|
-
a->args[i].value.pointer.destroy(a->args[i].value.pointer.p);
|
108
|
-
}
|
159
|
+
a->args[i].value.pointer.vtable->destroy(a->args[i].value.pointer.p);
|
109
160
|
break;
|
110
161
|
}
|
111
162
|
gpr_free(a->args[i].key);
|
@@ -119,10 +170,10 @@ int grpc_channel_args_is_census_enabled(const grpc_channel_args *a) {
|
|
119
170
|
if (a == NULL) return 0;
|
120
171
|
for (i = 0; i < a->num_args; i++) {
|
121
172
|
if (0 == strcmp(a->args[i].key, GRPC_ARG_ENABLE_CENSUS)) {
|
122
|
-
return a->args[i].value.integer != 0;
|
173
|
+
return a->args[i].value.integer != 0 && census_enabled();
|
123
174
|
}
|
124
175
|
}
|
125
|
-
return
|
176
|
+
return census_enabled();
|
126
177
|
}
|
127
178
|
|
128
179
|
grpc_compression_algorithm grpc_channel_args_get_compression_algorithm(
|
@@ -207,3 +258,14 @@ int grpc_channel_args_compression_algorithm_get_states(
|
|
207
258
|
return (1u << GRPC_COMPRESS_ALGORITHMS_COUNT) - 1; /* All algs. enabled */
|
208
259
|
}
|
209
260
|
}
|
261
|
+
|
262
|
+
int grpc_channel_args_compare(const grpc_channel_args *a,
|
263
|
+
const grpc_channel_args *b) {
|
264
|
+
int c = GPR_ICMP(a->num_args, b->num_args);
|
265
|
+
if (c != 0) return c;
|
266
|
+
for (size_t i = 0; i < a->num_args; i++) {
|
267
|
+
c = cmp_arg(&a->args[i], &b->args[i]);
|
268
|
+
if (c != 0) return c;
|
269
|
+
}
|
270
|
+
return 0;
|
271
|
+
}
|
@@ -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
|
@@ -40,6 +40,9 @@
|
|
40
40
|
/* Copy some arguments */
|
41
41
|
grpc_channel_args *grpc_channel_args_copy(const grpc_channel_args *src);
|
42
42
|
|
43
|
+
/* Copy some arguments, stably sorting keys */
|
44
|
+
grpc_channel_args *grpc_channel_args_normalize(const grpc_channel_args *a);
|
45
|
+
|
43
46
|
/** Copy some arguments and add the to_add parameter in the end.
|
44
47
|
If to_add is NULL, it is equivalent to call grpc_channel_args_copy. */
|
45
48
|
grpc_channel_args *grpc_channel_args_copy_and_add(const grpc_channel_args *src,
|
@@ -85,4 +88,7 @@ grpc_channel_args *grpc_channel_args_compression_algorithm_set_state(
|
|
85
88
|
int grpc_channel_args_compression_algorithm_get_states(
|
86
89
|
const grpc_channel_args *a);
|
87
90
|
|
91
|
+
int grpc_channel_args_compare(const grpc_channel_args *a,
|
92
|
+
const grpc_channel_args *b);
|
93
|
+
|
88
94
|
#endif /* GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_ARGS_H */
|
@@ -137,7 +137,7 @@ void grpc_channel_stack_init(grpc_exec_ctx *exec_ctx, int initial_refs,
|
|
137
137
|
}
|
138
138
|
|
139
139
|
GPR_ASSERT(user_data > (char *)stack);
|
140
|
-
GPR_ASSERT((
|
140
|
+
GPR_ASSERT((uintptr_t)(user_data - (char *)stack) ==
|
141
141
|
grpc_channel_stack_size(filters, filter_count));
|
142
142
|
|
143
143
|
stack->call_stack_size = call_size;
|
@@ -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
|
@@ -78,8 +78,8 @@ typedef struct client_channel_channel_data {
|
|
78
78
|
int exit_idle_when_lb_policy_arrives;
|
79
79
|
/** owning stack */
|
80
80
|
grpc_channel_stack *owning_stack;
|
81
|
-
/** interested parties */
|
82
|
-
grpc_pollset_set interested_parties;
|
81
|
+
/** interested parties (owned) */
|
82
|
+
grpc_pollset_set *interested_parties;
|
83
83
|
} channel_data;
|
84
84
|
|
85
85
|
/** We create one watcher for each new lb_policy that is returned from a
|
@@ -135,7 +135,7 @@ static void on_lb_policy_state_changed_locked(
|
|
135
135
|
}
|
136
136
|
|
137
137
|
static void on_lb_policy_state_changed(grpc_exec_ctx *exec_ctx, void *arg,
|
138
|
-
|
138
|
+
bool iomgr_success) {
|
139
139
|
lb_policy_connectivity_watcher *w = arg;
|
140
140
|
|
141
141
|
gpr_mu_lock(&w->chand->mu_config);
|
@@ -161,7 +161,7 @@ static void watch_lb_policy(grpc_exec_ctx *exec_ctx, channel_data *chand,
|
|
161
161
|
}
|
162
162
|
|
163
163
|
static void cc_on_config_changed(grpc_exec_ctx *exec_ctx, void *arg,
|
164
|
-
|
164
|
+
bool iomgr_success) {
|
165
165
|
channel_data *chand = arg;
|
166
166
|
grpc_lb_policy *lb_policy = NULL;
|
167
167
|
grpc_lb_policy *old_lb_policy;
|
@@ -183,15 +183,16 @@ static void cc_on_config_changed(grpc_exec_ctx *exec_ctx, void *arg,
|
|
183
183
|
chand->incoming_configuration = NULL;
|
184
184
|
|
185
185
|
if (lb_policy != NULL) {
|
186
|
-
grpc_pollset_set_add_pollset_set(exec_ctx,
|
187
|
-
|
186
|
+
grpc_pollset_set_add_pollset_set(exec_ctx, lb_policy->interested_parties,
|
187
|
+
chand->interested_parties);
|
188
188
|
}
|
189
189
|
|
190
190
|
gpr_mu_lock(&chand->mu_config);
|
191
191
|
old_lb_policy = chand->lb_policy;
|
192
192
|
chand->lb_policy = lb_policy;
|
193
193
|
if (lb_policy != NULL || chand->resolver == NULL /* disconnected */) {
|
194
|
-
grpc_exec_ctx_enqueue_list(exec_ctx, &chand->waiting_for_config_closures
|
194
|
+
grpc_exec_ctx_enqueue_list(exec_ctx, &chand->waiting_for_config_closures,
|
195
|
+
NULL);
|
195
196
|
}
|
196
197
|
if (lb_policy != NULL && chand->exit_idle_when_lb_policy_arrives) {
|
197
198
|
GRPC_LB_POLICY_REF(lb_policy, "exit_idle");
|
@@ -230,9 +231,8 @@ static void cc_on_config_changed(grpc_exec_ctx *exec_ctx, void *arg,
|
|
230
231
|
}
|
231
232
|
|
232
233
|
if (old_lb_policy != NULL) {
|
233
|
-
grpc_pollset_set_del_pollset_set(
|
234
|
-
|
235
|
-
&chand->interested_parties);
|
234
|
+
grpc_pollset_set_del_pollset_set(
|
235
|
+
exec_ctx, old_lb_policy->interested_parties, chand->interested_parties);
|
236
236
|
GRPC_LB_POLICY_UNREF(exec_ctx, old_lb_policy, "channel");
|
237
237
|
}
|
238
238
|
|
@@ -249,11 +249,11 @@ static void cc_start_transport_op(grpc_exec_ctx *exec_ctx,
|
|
249
249
|
channel_data *chand = elem->channel_data;
|
250
250
|
grpc_resolver *destroy_resolver = NULL;
|
251
251
|
|
252
|
-
grpc_exec_ctx_enqueue(exec_ctx, op->on_consumed,
|
252
|
+
grpc_exec_ctx_enqueue(exec_ctx, op->on_consumed, true, NULL);
|
253
253
|
|
254
254
|
GPR_ASSERT(op->set_accept_stream == NULL);
|
255
255
|
if (op->bind_pollset != NULL) {
|
256
|
-
grpc_pollset_set_add_pollset(exec_ctx,
|
256
|
+
grpc_pollset_set_add_pollset(exec_ctx, chand->interested_parties,
|
257
257
|
op->bind_pollset);
|
258
258
|
}
|
259
259
|
|
@@ -268,7 +268,7 @@ static void cc_start_transport_op(grpc_exec_ctx *exec_ctx,
|
|
268
268
|
|
269
269
|
if (op->send_ping != NULL) {
|
270
270
|
if (chand->lb_policy == NULL) {
|
271
|
-
grpc_exec_ctx_enqueue(exec_ctx, op->send_ping,
|
271
|
+
grpc_exec_ctx_enqueue(exec_ctx, op->send_ping, false, NULL);
|
272
272
|
} else {
|
273
273
|
grpc_lb_policy_ping_one(exec_ctx, chand->lb_policy, op->send_ping);
|
274
274
|
op->bind_pollset = NULL;
|
@@ -283,8 +283,8 @@ static void cc_start_transport_op(grpc_exec_ctx *exec_ctx,
|
|
283
283
|
chand->resolver = NULL;
|
284
284
|
if (chand->lb_policy != NULL) {
|
285
285
|
grpc_pollset_set_del_pollset_set(exec_ctx,
|
286
|
-
|
287
|
-
|
286
|
+
chand->lb_policy->interested_parties,
|
287
|
+
chand->interested_parties);
|
288
288
|
GRPC_LB_POLICY_UNREF(exec_ctx, chand->lb_policy, "channel");
|
289
289
|
chand->lb_policy = NULL;
|
290
290
|
}
|
@@ -310,15 +310,15 @@ static int cc_pick_subchannel(grpc_exec_ctx *exec_ctx, void *arg,
|
|
310
310
|
grpc_connected_subchannel **connected_subchannel,
|
311
311
|
grpc_closure *on_ready);
|
312
312
|
|
313
|
-
static void continue_picking(grpc_exec_ctx *exec_ctx, void *arg,
|
313
|
+
static void continue_picking(grpc_exec_ctx *exec_ctx, void *arg, bool success) {
|
314
314
|
continue_picking_args *cpa = arg;
|
315
315
|
if (!success) {
|
316
|
-
grpc_exec_ctx_enqueue(exec_ctx, cpa->on_ready,
|
316
|
+
grpc_exec_ctx_enqueue(exec_ctx, cpa->on_ready, false, NULL);
|
317
317
|
} else if (cpa->connected_subchannel == NULL) {
|
318
318
|
/* cancelled, do nothing */
|
319
319
|
} else if (cc_pick_subchannel(exec_ctx, cpa->elem, cpa->initial_metadata,
|
320
320
|
cpa->connected_subchannel, cpa->on_ready)) {
|
321
|
-
grpc_exec_ctx_enqueue(exec_ctx, cpa->on_ready,
|
321
|
+
grpc_exec_ctx_enqueue(exec_ctx, cpa->on_ready, true, NULL);
|
322
322
|
}
|
323
323
|
gpr_free(cpa);
|
324
324
|
}
|
@@ -346,17 +346,20 @@ static int cc_pick_subchannel(grpc_exec_ctx *exec_ctx, void *elemp,
|
|
346
346
|
cpa = closure->cb_arg;
|
347
347
|
if (cpa->connected_subchannel == connected_subchannel) {
|
348
348
|
cpa->connected_subchannel = NULL;
|
349
|
-
grpc_exec_ctx_enqueue(exec_ctx, cpa->on_ready,
|
349
|
+
grpc_exec_ctx_enqueue(exec_ctx, cpa->on_ready, false, NULL);
|
350
350
|
}
|
351
351
|
}
|
352
352
|
gpr_mu_unlock(&chand->mu_config);
|
353
353
|
return 1;
|
354
354
|
}
|
355
355
|
if (chand->lb_policy != NULL) {
|
356
|
-
|
357
|
-
|
358
|
-
|
356
|
+
grpc_lb_policy *lb_policy = chand->lb_policy;
|
357
|
+
int r;
|
358
|
+
GRPC_LB_POLICY_REF(lb_policy, "cc_pick_subchannel");
|
359
359
|
gpr_mu_unlock(&chand->mu_config);
|
360
|
+
r = grpc_lb_policy_pick(exec_ctx, lb_policy, calld->pollset,
|
361
|
+
initial_metadata, connected_subchannel, on_ready);
|
362
|
+
GRPC_LB_POLICY_UNREF(exec_ctx, lb_policy, "cc_pick_subchannel");
|
360
363
|
return r;
|
361
364
|
}
|
362
365
|
if (chand->resolver != NULL && !chand->started_resolving) {
|
@@ -407,7 +410,7 @@ static void init_channel_elem(grpc_exec_ctx *exec_ctx,
|
|
407
410
|
|
408
411
|
grpc_connectivity_state_init(&chand->state_tracker, GRPC_CHANNEL_IDLE,
|
409
412
|
"client_channel");
|
410
|
-
|
413
|
+
chand->interested_parties = grpc_pollset_set_create();
|
411
414
|
}
|
412
415
|
|
413
416
|
/* Destructor for channel_data */
|
@@ -421,12 +424,12 @@ static void destroy_channel_elem(grpc_exec_ctx *exec_ctx,
|
|
421
424
|
}
|
422
425
|
if (chand->lb_policy != NULL) {
|
423
426
|
grpc_pollset_set_del_pollset_set(exec_ctx,
|
424
|
-
|
425
|
-
|
427
|
+
chand->lb_policy->interested_parties,
|
428
|
+
chand->interested_parties);
|
426
429
|
GRPC_LB_POLICY_UNREF(exec_ctx, chand->lb_policy, "channel");
|
427
430
|
}
|
428
431
|
grpc_connectivity_state_destroy(exec_ctx, &chand->state_tracker);
|
429
|
-
grpc_pollset_set_destroy(
|
432
|
+
grpc_pollset_set_destroy(chand->interested_parties);
|
430
433
|
gpr_mu_destroy(&chand->mu_config);
|
431
434
|
}
|
432
435
|
|
@@ -494,10 +497,10 @@ typedef struct {
|
|
494
497
|
} external_connectivity_watcher;
|
495
498
|
|
496
499
|
static void on_external_watch_complete(grpc_exec_ctx *exec_ctx, void *arg,
|
497
|
-
|
500
|
+
bool iomgr_success) {
|
498
501
|
external_connectivity_watcher *w = arg;
|
499
502
|
grpc_closure *follow_up = w->on_complete;
|
500
|
-
grpc_pollset_set_del_pollset(exec_ctx,
|
503
|
+
grpc_pollset_set_del_pollset(exec_ctx, w->chand->interested_parties,
|
501
504
|
w->pollset);
|
502
505
|
GRPC_CHANNEL_STACK_UNREF(exec_ctx, w->chand->owning_stack,
|
503
506
|
"external_connectivity_watcher");
|
@@ -513,7 +516,7 @@ void grpc_client_channel_watch_connectivity_state(
|
|
513
516
|
w->chand = chand;
|
514
517
|
w->pollset = pollset;
|
515
518
|
w->on_complete = on_complete;
|
516
|
-
grpc_pollset_set_add_pollset(exec_ctx,
|
519
|
+
grpc_pollset_set_add_pollset(exec_ctx, chand->interested_parties, pollset);
|
517
520
|
grpc_closure_init(&w->my_closure, on_external_watch_complete, w);
|
518
521
|
GRPC_CHANNEL_STACK_REF(w->chand->owning_stack,
|
519
522
|
"external_connectivity_watcher");
|