grpc 1.9.1 → 1.10.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +2654 -953
- data/etc/roots.pem +282 -683
- data/include/grpc/compression.h +9 -26
- data/include/grpc/grpc.h +10 -24
- data/include/grpc/grpc_security.h +7 -1
- data/include/grpc/impl/codegen/compression_types.h +5 -62
- data/include/grpc/impl/codegen/grpc_types.h +10 -6
- data/include/grpc/module.modulemap +1 -10
- data/include/grpc/support/alloc.h +3 -2
- data/include/grpc/support/log.h +1 -2
- data/{src/core/lib/gpr/thd_internal.h → include/grpc/support/thd_id.h} +23 -9
- data/src/boringssl/err_data.c +550 -496
- data/src/core/ext/census/grpc_context.cc +2 -1
- data/src/core/ext/filters/client_channel/backup_poller.cc +5 -4
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +7 -7
- data/src/core/ext/filters/client_channel/client_channel.cc +162 -172
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +4 -2
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +10 -10
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +18 -14
- data/src/core/ext/filters/client_channel/http_proxy.cc +3 -1
- data/src/core/ext/filters/client_channel/lb_policy.cc +21 -105
- data/src/core/ext/filters/client_channel/lb_policy.h +166 -170
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +41 -36
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1452 -1459
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +3 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +7 -8
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +27 -27
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +279 -304
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +358 -330
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.cc +30 -41
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +7 -14
- data/src/core/ext/filters/client_channel/lb_policy_factory.cc +8 -21
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +23 -27
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +58 -33
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +25 -12
- data/src/core/ext/filters/client_channel/parse_address.cc +10 -8
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver.cc +6 -52
- data/src/core/ext/filters/client_channel/resolver.h +98 -55
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +266 -237
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +31 -27
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +244 -207
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +161 -148
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +47 -31
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +126 -126
- data/src/core/ext/filters/client_channel/resolver_factory.h +33 -32
- data/src/core/ext/filters/client_channel/resolver_registry.cc +110 -90
- data/src/core/ext/filters/client_channel/resolver_registry.h +49 -36
- data/src/core/ext/filters/client_channel/retry_throttle.cc +29 -22
- data/src/core/ext/filters/client_channel/subchannel.cc +173 -173
- data/src/core/ext/filters/client_channel/subchannel.h +38 -45
- data/src/core/ext/filters/client_channel/subchannel_index.cc +44 -40
- data/src/core/ext/filters/client_channel/uri_parser.cc +3 -3
- data/src/core/ext/filters/deadline/deadline_filter.cc +27 -18
- data/src/core/ext/filters/http/client/http_client_filter.cc +26 -23
- data/src/core/ext/filters/http/http_filters_plugin.cc +3 -2
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +78 -110
- data/src/core/ext/filters/http/server/http_server_filter.cc +29 -26
- data/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +9 -11
- data/src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc +2 -1
- data/src/core/ext/filters/max_age/max_age_filter.cc +14 -14
- data/src/core/ext/filters/message_size/message_size_filter.cc +20 -18
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +4 -4
- data/src/core/ext/filters/workarounds/workaround_utils.cc +4 -4
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -10
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +4 -4
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +11 -12
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +16 -13
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +36 -9
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +3 -0
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +17 -14
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -145
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +16 -14
- data/src/core/ext/transport/chttp2/transport/flow_control.h +8 -7
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +35 -33
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +27 -25
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +12 -12
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +16 -15
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +19 -19
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +11 -11
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +23 -22
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +35 -35
- data/src/core/ext/transport/chttp2/transport/hpack_table.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +1 -1
- data/src/core/ext/transport/chttp2/transport/parsing.cc +35 -39
- data/src/core/ext/transport/chttp2/transport/stream_map.cc +8 -7
- data/src/core/ext/transport/chttp2/transport/varint.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +18 -18
- data/src/core/ext/transport/inproc/inproc_transport.cc +43 -23
- data/src/core/lib/{gpr → avl}/avl.cc +61 -57
- data/{include/grpc/support → src/core/lib/avl}/avl.h +25 -35
- data/src/core/lib/backoff/backoff.cc +6 -5
- data/src/core/lib/channel/channel_args.cc +23 -109
- data/src/core/lib/channel/channel_args.h +5 -31
- data/src/core/lib/channel/channel_stack.cc +11 -8
- data/src/core/lib/channel/channel_stack_builder.cc +10 -7
- data/src/core/lib/channel/connected_channel.cc +18 -17
- data/src/core/lib/channel/handshaker.cc +8 -8
- data/src/core/lib/channel/handshaker_registry.cc +3 -2
- data/src/core/lib/compression/algorithm_metadata.h +13 -6
- data/src/core/lib/compression/compression.cc +72 -183
- data/src/core/lib/compression/compression_internal.cc +274 -0
- data/src/core/lib/compression/compression_internal.h +86 -0
- data/src/core/lib/compression/message_compress.cc +15 -15
- data/src/core/lib/compression/message_compress.h +4 -3
- data/src/core/lib/compression/stream_compression_gzip.cc +8 -8
- data/src/core/lib/compression/stream_compression_identity.cc +1 -1
- data/src/core/lib/debug/stats.cc +10 -8
- data/src/core/lib/debug/stats_data.cc +2 -1
- data/src/core/lib/debug/trace.cc +3 -3
- data/src/core/lib/gpr/alloc.cc +7 -11
- data/src/core/lib/gpr/arena.cc +34 -12
- data/src/core/lib/gpr/atm.cc +2 -1
- data/src/core/lib/gpr/cpu_linux.cc +3 -3
- data/src/core/lib/gpr/cpu_posix.cc +2 -1
- data/src/core/lib/gpr/env.h +1 -1
- data/src/core/lib/gpr/env_linux.cc +1 -1
- data/src/core/lib/gpr/env_windows.cc +4 -4
- data/src/core/lib/gpr/fork.cc +16 -2
- data/src/core/lib/gpr/host_port.cc +5 -4
- data/{include/grpc/support → src/core/lib/gpr}/host_port.h +5 -13
- data/src/core/lib/gpr/log.cc +5 -4
- data/src/core/lib/gpr/log_linux.cc +1 -1
- data/src/core/lib/gpr/mpscq.cc +1 -0
- data/src/core/lib/gpr/murmur_hash.cc +4 -4
- data/src/core/lib/gpr/string.cc +19 -16
- data/src/core/lib/gpr/string_posix.cc +3 -3
- data/src/core/lib/gpr/sync_posix.cc +5 -9
- data/src/core/lib/gpr/thd.cc +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/thd.h +20 -28
- data/src/core/lib/gpr/thd_posix.cc +6 -4
- data/src/core/lib/gpr/thd_windows.cc +3 -1
- data/src/core/lib/gpr/time.cc +6 -4
- data/src/core/lib/gpr/time_posix.cc +2 -2
- data/{include/grpc/support → src/core/lib/gpr}/tls.h +6 -6
- data/{include/grpc/support → src/core/lib/gpr}/tls_gcc.h +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/tls_msvc.h +3 -3
- data/src/core/lib/gpr/tls_pthread.cc +1 -1
- data/{include/grpc/support → src/core/lib/gpr}/tls_pthread.h +3 -3
- data/{include/grpc/support → src/core/lib/gpr}/useful.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/abstract.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/atomic.h +5 -5
- data/src/core/lib/{gpr++ → gprpp}/atomic_with_atm.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/atomic_with_std.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/debug_location.h +3 -3
- data/src/core/lib/{gpr++ → gprpp}/inlined_vector.h +44 -22
- data/src/core/lib/{gpr++ → gprpp}/manual_constructor.h +2 -2
- data/src/core/lib/{gpr++ → gprpp}/memory.h +14 -5
- data/src/core/lib/{gpr++ → gprpp}/orphanable.h +39 -14
- data/src/core/lib/{gpr++ → gprpp}/ref_counted.h +42 -10
- data/src/core/lib/{gpr++ → gprpp}/ref_counted_ptr.h +18 -8
- data/src/core/lib/http/format_request.cc +3 -3
- data/src/core/lib/http/httpcli.cc +6 -7
- data/src/core/lib/http/httpcli_security_connector.cc +10 -10
- data/src/core/lib/http/parser.cc +16 -12
- data/src/core/lib/iomgr/call_combiner.cc +12 -13
- data/src/core/lib/iomgr/closure.h +4 -6
- data/src/core/lib/iomgr/combiner.cc +10 -21
- data/src/core/lib/iomgr/error.cc +50 -55
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +41 -52
- data/src/core/lib/iomgr/ev_epollex_linux.cc +80 -28
- data/src/core/lib/iomgr/ev_epollsig_linux.cc +23 -30
- data/src/core/lib/iomgr/ev_poll_posix.cc +52 -46
- data/src/core/lib/iomgr/ev_posix.cc +47 -6
- data/src/core/lib/iomgr/exec_ctx.cc +10 -10
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +16 -13
- data/src/core/lib/iomgr/fork_posix.cc +1 -3
- data/src/core/lib/iomgr/gethostname_host_name_max.cc +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +1 -2
- data/src/core/lib/iomgr/iomgr.cc +2 -2
- data/src/core/lib/iomgr/iomgr_uv.cc +2 -0
- data/src/core/lib/iomgr/iomgr_uv.h +1 -1
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +5 -4
- data/src/core/lib/iomgr/load_file.cc +3 -3
- data/src/core/lib/iomgr/pollset_windows.cc +1 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +10 -9
- data/src/core/lib/iomgr/resolve_address_uv.cc +2 -2
- data/src/core/lib/iomgr/resolve_address_windows.cc +3 -2
- data/src/core/lib/iomgr/resource_quota.cc +36 -34
- data/src/core/lib/iomgr/sockaddr_utils.cc +39 -23
- data/src/core/lib/iomgr/socket_factory_posix.cc +5 -5
- data/src/core/lib/iomgr/socket_mutator.cc +7 -7
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +7 -4
- data/src/core/lib/iomgr/socket_utils_linux.cc +3 -2
- data/src/core/lib/iomgr/tcp_client_posix.cc +7 -6
- data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
- data/src/core/lib/iomgr/tcp_posix.cc +47 -55
- data/src/core/lib/iomgr/tcp_server_posix.cc +12 -10
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -5
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -3
- data/src/core/lib/iomgr/tcp_windows.cc +1 -1
- data/src/core/lib/iomgr/timer_generic.cc +16 -14
- data/src/core/lib/iomgr/timer_heap.cc +8 -7
- data/src/core/lib/iomgr/timer_manager.cc +4 -3
- data/src/core/lib/iomgr/udp_server.cc +24 -16
- data/src/core/lib/iomgr/unix_sockets_posix.cc +15 -10
- data/src/core/lib/iomgr/wakeup_fd_cv.cc +6 -5
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +1 -2
- data/src/core/lib/json/json.cc +1 -1
- data/src/core/lib/json/json_reader.cc +8 -6
- data/src/core/lib/json/json_string.cc +19 -18
- data/src/core/lib/json/json_writer.cc +10 -8
- data/src/core/lib/profiling/basic_timers.cc +1 -1
- data/src/core/lib/profiling/timers.h +3 -20
- data/src/core/lib/security/context/security_context.cc +16 -14
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +17 -14
- data/src/core/lib/security/credentials/credentials.cc +9 -8
- data/src/core/lib/security/credentials/credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials_metadata.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +12 -13
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +7 -4
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -3
- data/src/core/lib/security/credentials/jwt/json_token.cc +4 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -7
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +21 -18
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +23 -18
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +11 -7
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +22 -21
- data/src/core/lib/security/{transport → security_connector}/security_connector.cc +46 -43
- data/src/core/lib/security/{transport → security_connector}/security_connector.h +3 -3
- data/src/core/lib/security/transport/client_auth_filter.cc +32 -34
- data/src/core/lib/security/transport/lb_targets_info.cc +7 -5
- data/src/core/lib/security/transport/secure_endpoint.cc +21 -21
- data/src/core/lib/security/transport/security_handshaker.cc +19 -18
- data/src/core/lib/security/transport/security_handshaker.h +1 -1
- data/src/core/lib/security/transport/server_auth_filter.cc +21 -21
- data/src/core/lib/slice/b64.cc +19 -16
- data/src/core/lib/slice/percent_encoding.cc +5 -5
- data/src/core/lib/slice/slice.cc +35 -33
- data/src/core/lib/slice/slice_buffer.cc +16 -14
- data/src/core/lib/slice/slice_hash_table.cc +3 -2
- data/src/core/lib/slice/slice_intern.cc +21 -25
- data/src/core/lib/slice/slice_string_helpers.cc +45 -9
- data/src/core/lib/slice/slice_string_helpers.h +6 -0
- data/src/core/lib/surface/byte_buffer.cc +2 -2
- data/src/core/lib/surface/byte_buffer_reader.cc +6 -3
- data/src/core/lib/surface/call.cc +171 -260
- data/src/core/lib/surface/call_test_only.h +1 -13
- data/src/core/lib/surface/channel.cc +20 -43
- data/src/core/lib/surface/channel_init.cc +7 -7
- data/src/core/lib/surface/channel_ping.cc +2 -2
- data/src/core/lib/surface/completion_queue.cc +69 -75
- data/src/core/lib/surface/init.cc +4 -5
- data/src/core/lib/surface/init_secure.cc +1 -1
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/server.cc +64 -59
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +6 -5
- data/src/core/lib/transport/byte_stream.cc +23 -14
- data/src/core/lib/transport/byte_stream.h +1 -1
- data/src/core/lib/transport/connectivity_state.cc +9 -13
- data/src/core/lib/transport/error_utils.cc +10 -7
- data/src/core/lib/transport/metadata.cc +27 -26
- data/src/core/lib/transport/metadata.h +1 -1
- data/src/core/lib/transport/pid_controller.cc +2 -1
- data/src/core/lib/transport/service_config.cc +5 -5
- data/src/core/lib/transport/static_metadata.cc +225 -222
- data/src/core/lib/transport/static_metadata.h +77 -76
- data/src/core/lib/transport/timeout_encoding.cc +3 -2
- data/src/core/lib/transport/transport.cc +6 -5
- data/src/core/lib/transport/transport_op_string.cc +0 -1
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -4
- data/src/core/tsi/alts_transport_security.cc +61 -0
- data/src/core/tsi/{gts_transport_security.h → alts_transport_security.h} +16 -8
- data/src/core/tsi/fake_transport_security.cc +59 -43
- data/src/core/tsi/ssl_transport_security.cc +122 -107
- data/src/core/tsi/transport_security.cc +3 -3
- data/src/core/tsi/transport_security_adapter.cc +16 -10
- data/src/ruby/bin/apis/pubsub_demo.rb +1 -1
- data/src/ruby/ext/grpc/rb_channel.c +3 -4
- data/src/ruby/ext/grpc/rb_compression_options.c +13 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -76
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +8 -120
- data/src/ruby/ext/grpc/rb_server.c +52 -28
- data/src/ruby/lib/grpc/generic/rpc_server.rb +7 -4
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/test/client.rb +1 -1
- data/src/ruby/pb/test/server.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +4 -2
- data/src/ruby/spec/generic/active_call_spec.rb +2 -1
- data/src/ruby/spec/generic/client_stub_spec.rb +32 -8
- data/src/ruby/spec/server_spec.rb +26 -7
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +7 -2
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +15 -0
- data/third_party/boringssl/crypto/asn1/a_gentm.c +1 -1
- data/third_party/boringssl/crypto/asn1/a_print.c +0 -28
- data/third_party/boringssl/crypto/asn1/a_strnid.c +3 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +17 -9
- data/third_party/boringssl/crypto/asn1/a_utctm.c +1 -1
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +5 -49
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +1 -1
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +9 -9
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +0 -6
- data/third_party/boringssl/crypto/asn1/time_support.c +5 -5
- data/third_party/boringssl/crypto/base64/base64.c +65 -43
- data/third_party/boringssl/crypto/bio/bio.c +134 -110
- data/third_party/boringssl/crypto/bio/bio_mem.c +9 -9
- data/third_party/boringssl/crypto/bio/connect.c +17 -17
- data/third_party/boringssl/crypto/bio/fd.c +2 -1
- data/third_party/boringssl/crypto/bio/file.c +14 -14
- data/third_party/boringssl/crypto/bio/hexdump.c +15 -16
- data/third_party/boringssl/crypto/bio/internal.h +14 -14
- data/third_party/boringssl/crypto/bio/pair.c +45 -45
- data/third_party/boringssl/crypto/bio/printf.c +6 -10
- data/third_party/boringssl/crypto/{bn → bn_extra}/bn_asn1.c +9 -9
- data/third_party/boringssl/crypto/{bn → bn_extra}/convert.c +18 -223
- data/third_party/boringssl/crypto/buf/buf.c +20 -44
- data/third_party/boringssl/crypto/bytestring/ber.c +35 -35
- data/third_party/boringssl/crypto/bytestring/cbb.c +24 -24
- data/third_party/boringssl/crypto/bytestring/cbs.c +33 -37
- data/third_party/boringssl/crypto/bytestring/internal.h +38 -38
- data/third_party/boringssl/crypto/chacha/chacha.c +7 -7
- data/third_party/boringssl/crypto/{asn1/t_bitst.c → cipher_extra/cipher_extra.c} +49 -38
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/derive_key.c +0 -2
- data/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c +281 -0
- data/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c +867 -0
- data/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c +326 -0
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_null.c +0 -1
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc2.c +22 -10
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_rc4.c +0 -0
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_ssl3.c +120 -64
- data/third_party/boringssl/crypto/{cipher → cipher_extra}/e_tls.c +220 -141
- data/third_party/boringssl/crypto/{asn1/x_bignum.c → cipher_extra/internal.h} +61 -86
- data/third_party/boringssl/crypto/cipher_extra/tls_cbc.c +482 -0
- data/third_party/boringssl/crypto/cmac/cmac.c +20 -20
- data/third_party/boringssl/crypto/conf/conf.c +32 -20
- data/third_party/boringssl/crypto/conf/internal.h +3 -3
- data/third_party/boringssl/crypto/cpu-aarch64-linux.c +5 -5
- data/third_party/boringssl/crypto/cpu-arm-linux.c +44 -41
- data/third_party/boringssl/crypto/cpu-intel.c +68 -43
- data/third_party/boringssl/crypto/cpu-ppc64le.c +5 -7
- data/third_party/boringssl/crypto/crypto.c +54 -32
- data/third_party/boringssl/crypto/curve25519/curve25519.c +269 -269
- data/third_party/boringssl/crypto/curve25519/internal.h +28 -8
- data/third_party/boringssl/crypto/curve25519/spake25519.c +180 -106
- data/third_party/boringssl/crypto/curve25519/x25519-x86_64.c +9 -9
- data/third_party/boringssl/crypto/dh/check.c +33 -34
- data/third_party/boringssl/crypto/dh/dh.c +72 -36
- data/third_party/boringssl/crypto/dh/dh_asn1.c +1 -1
- data/third_party/boringssl/crypto/dh/params.c +1 -161
- data/third_party/boringssl/crypto/digest_extra/digest_extra.c +240 -0
- data/third_party/boringssl/crypto/dsa/dsa.c +127 -87
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +1 -1
- data/third_party/boringssl/crypto/{ec → ec_extra}/ec_asn1.c +83 -70
- data/third_party/boringssl/crypto/ecdh/ecdh.c +1 -1
- data/third_party/boringssl/crypto/{ecdsa → ecdsa_extra}/ecdsa_asn1.c +86 -31
- data/third_party/boringssl/crypto/engine/engine.c +6 -6
- data/third_party/boringssl/crypto/err/err.c +197 -106
- data/third_party/boringssl/crypto/err/internal.h +58 -0
- data/third_party/boringssl/crypto/evp/digestsign.c +86 -14
- data/third_party/boringssl/crypto/evp/evp.c +6 -11
- data/third_party/boringssl/crypto/evp/evp_asn1.c +17 -17
- data/third_party/boringssl/crypto/evp/evp_ctx.c +15 -11
- data/third_party/boringssl/crypto/evp/internal.h +66 -51
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +11 -11
- data/third_party/boringssl/crypto/evp/p_ec.c +10 -8
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +11 -12
- data/third_party/boringssl/crypto/evp/p_ed25519.c +71 -0
- data/third_party/boringssl/crypto/evp/p_ed25519_asn1.c +190 -0
- data/third_party/boringssl/crypto/evp/p_rsa.c +50 -95
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +28 -18
- data/third_party/boringssl/crypto/evp/pbkdf.c +49 -56
- data/third_party/boringssl/crypto/evp/print.c +5 -36
- data/third_party/boringssl/crypto/evp/scrypt.c +209 -0
- data/third_party/boringssl/crypto/ex_data.c +15 -45
- data/third_party/boringssl/crypto/fipsmodule/aes/internal.h +100 -0
- data/third_party/boringssl/crypto/fipsmodule/bcm.c +679 -0
- data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/internal.h +40 -27
- data/third_party/boringssl/crypto/{bn → fipsmodule/bn}/rsaz_exp.h +0 -0
- data/third_party/boringssl/crypto/{cipher → fipsmodule/cipher}/internal.h +34 -67
- data/third_party/boringssl/crypto/fipsmodule/delocate.h +88 -0
- data/third_party/boringssl/crypto/{des → fipsmodule/des}/internal.h +18 -4
- data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/internal.h +18 -18
- data/third_party/boringssl/crypto/{digest → fipsmodule/digest}/md32_common.h +58 -64
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/internal.h +58 -52
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64-table.h +11 -11
- data/third_party/boringssl/crypto/{ec → fipsmodule/ec}/p256-x86_64.h +32 -32
- data/third_party/boringssl/crypto/{rand/internal.h → fipsmodule/is_fips.c} +10 -15
- data/third_party/boringssl/crypto/{modes → fipsmodule/modes}/internal.h +112 -119
- data/third_party/boringssl/crypto/fipsmodule/rand/internal.h +92 -0
- data/third_party/boringssl/crypto/{rsa → fipsmodule/rsa}/internal.h +36 -49
- data/third_party/boringssl/crypto/hkdf/hkdf.c +6 -6
- data/third_party/boringssl/crypto/internal.h +301 -233
- data/third_party/boringssl/crypto/lhash/lhash.c +26 -45
- data/third_party/boringssl/crypto/mem.c +76 -33
- data/third_party/boringssl/crypto/obj/obj.c +44 -28
- data/third_party/boringssl/crypto/obj/obj_dat.h +102 -34
- data/third_party/boringssl/crypto/obj/obj_xref.c +6 -6
- data/third_party/boringssl/crypto/pem/pem_info.c +3 -5
- data/third_party/boringssl/crypto/pem/pem_lib.c +1 -6
- data/third_party/boringssl/crypto/pem/pem_pk8.c +1 -0
- data/third_party/boringssl/crypto/pem/pem_pkey.c +1 -1
- data/third_party/boringssl/crypto/pem/pem_xaux.c +0 -2
- data/third_party/boringssl/crypto/pkcs7/internal.h +49 -0
- data/third_party/boringssl/crypto/pkcs7/pkcs7.c +166 -0
- data/third_party/boringssl/crypto/{x509/pkcs7.c → pkcs7/pkcs7_x509.c} +27 -147
- data/third_party/boringssl/crypto/pkcs8/internal.h +34 -16
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +120 -39
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +144 -857
- data/third_party/boringssl/crypto/pkcs8/pkcs8_x509.c +789 -0
- data/third_party/boringssl/crypto/poly1305/internal.h +4 -3
- data/third_party/boringssl/crypto/poly1305/poly1305.c +14 -14
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +11 -11
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +41 -41
- data/third_party/boringssl/crypto/pool/internal.h +2 -2
- data/third_party/boringssl/crypto/pool/pool.c +15 -15
- data/third_party/boringssl/crypto/{rand → rand_extra}/deterministic.c +7 -7
- data/third_party/boringssl/crypto/rand_extra/forkunsafe.c +46 -0
- data/third_party/boringssl/crypto/{rand → rand_extra}/fuchsia.c +7 -7
- data/third_party/boringssl/crypto/rand_extra/rand_extra.c +70 -0
- data/third_party/boringssl/crypto/{rand → rand_extra}/windows.c +5 -5
- data/third_party/boringssl/crypto/refcount_c11.c +2 -2
- data/third_party/boringssl/crypto/refcount_lock.c +1 -1
- data/third_party/boringssl/crypto/{rsa → rsa_extra}/rsa_asn1.c +12 -120
- data/third_party/boringssl/crypto/stack/stack.c +13 -13
- data/third_party/boringssl/crypto/thread_none.c +1 -1
- data/third_party/boringssl/crypto/thread_pthread.c +1 -1
- data/third_party/boringssl/crypto/thread_win.c +40 -40
- data/third_party/boringssl/crypto/x509/a_sign.c +5 -12
- data/third_party/boringssl/crypto/x509/a_verify.c +6 -18
- data/third_party/boringssl/crypto/x509/algorithm.c +22 -6
- data/third_party/boringssl/crypto/x509/asn1_gen.c +30 -7
- data/third_party/boringssl/crypto/x509/by_dir.c +2 -2
- data/third_party/boringssl/crypto/x509/by_file.c +2 -2
- data/third_party/boringssl/crypto/x509/rsa_pss.c +5 -5
- data/third_party/boringssl/crypto/x509/t_x509.c +2 -1
- data/third_party/boringssl/crypto/x509/x509_def.c +5 -0
- data/third_party/boringssl/crypto/x509/x509_lu.c +35 -4
- data/third_party/boringssl/crypto/x509/x509_set.c +10 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +20 -17
- data/third_party/boringssl/crypto/x509/x_name.c +13 -16
- data/third_party/boringssl/crypto/x509/x_x509.c +3 -3
- data/third_party/boringssl/crypto/x509/x_x509a.c +0 -7
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +8 -0
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +2 -2
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +0 -9
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +1 -1
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +25 -15
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +21 -11
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +9 -3
- data/third_party/boringssl/crypto/x509v3/v3_info.c +22 -14
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +27 -11
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +0 -33
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +4 -4
- data/third_party/boringssl/include/openssl/aead.h +280 -191
- data/third_party/boringssl/include/openssl/aes.h +50 -50
- data/third_party/boringssl/include/openssl/arm_arch.h +12 -12
- data/third_party/boringssl/include/openssl/asn1.h +14 -77
- data/third_party/boringssl/include/openssl/asn1t.h +11 -15
- data/third_party/boringssl/include/openssl/base.h +78 -51
- data/third_party/boringssl/include/openssl/base64.h +68 -68
- data/third_party/boringssl/include/openssl/bio.h +472 -406
- data/third_party/boringssl/include/openssl/blowfish.h +1 -1
- data/third_party/boringssl/include/openssl/bn.h +454 -435
- data/third_party/boringssl/include/openssl/buf.h +27 -27
- data/third_party/boringssl/include/openssl/bytestring.h +282 -267
- data/third_party/boringssl/include/openssl/cast.h +2 -2
- data/third_party/boringssl/include/openssl/chacha.h +5 -5
- data/third_party/boringssl/include/openssl/cipher.h +209 -200
- data/third_party/boringssl/include/openssl/cmac.h +27 -27
- data/third_party/boringssl/include/openssl/conf.h +49 -46
- data/third_party/boringssl/include/openssl/cpu.h +60 -45
- data/third_party/boringssl/include/openssl/crypto.h +59 -35
- data/third_party/boringssl/include/openssl/curve25519.h +97 -92
- data/third_party/boringssl/include/openssl/des.h +25 -25
- data/third_party/boringssl/include/openssl/dh.h +98 -97
- data/third_party/boringssl/include/openssl/digest.h +143 -114
- data/third_party/boringssl/include/openssl/dsa.h +217 -202
- data/third_party/boringssl/include/openssl/ec.h +132 -131
- data/third_party/boringssl/include/openssl/ec_key.h +132 -128
- data/third_party/boringssl/include/openssl/ecdh.h +9 -9
- data/third_party/boringssl/include/openssl/ecdsa.h +66 -66
- data/third_party/boringssl/include/openssl/engine.h +38 -38
- data/third_party/boringssl/include/openssl/err.h +189 -219
- data/third_party/boringssl/include/openssl/evp.h +473 -397
- data/third_party/boringssl/include/openssl/ex_data.h +46 -56
- data/third_party/boringssl/include/openssl/hkdf.h +17 -17
- data/third_party/boringssl/include/openssl/hmac.h +55 -43
- data/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
- data/third_party/boringssl/include/openssl/lhash.h +67 -67
- data/third_party/boringssl/include/openssl/lhash_macros.h +4 -4
- data/third_party/boringssl/include/openssl/md4.h +14 -14
- data/third_party/boringssl/include/openssl/md5.h +14 -14
- data/third_party/boringssl/include/openssl/mem.h +39 -33
- data/third_party/boringssl/include/openssl/nid.h +43 -0
- data/third_party/boringssl/include/openssl/obj.h +93 -87
- data/third_party/boringssl/include/openssl/opensslconf.h +8 -1
- data/third_party/boringssl/include/openssl/pem.h +2 -122
- data/third_party/boringssl/include/openssl/pkcs7.h +68 -2
- data/third_party/boringssl/include/openssl/pkcs8.h +81 -66
- data/third_party/boringssl/include/openssl/poly1305.h +11 -11
- data/third_party/boringssl/include/openssl/pool.h +29 -25
- data/third_party/boringssl/include/openssl/rand.h +48 -45
- data/third_party/boringssl/include/openssl/rc4.h +9 -9
- data/third_party/boringssl/include/openssl/ripemd.h +13 -13
- data/third_party/boringssl/include/openssl/rsa.h +371 -340
- data/third_party/boringssl/include/openssl/sha.h +71 -71
- data/third_party/boringssl/include/openssl/span.h +191 -0
- data/third_party/boringssl/include/openssl/ssl.h +2639 -2519
- data/third_party/boringssl/include/openssl/ssl3.h +39 -122
- data/third_party/boringssl/include/openssl/stack.h +355 -164
- data/third_party/boringssl/include/openssl/thread.h +43 -43
- data/third_party/boringssl/include/openssl/tls1.h +60 -63
- data/third_party/boringssl/include/openssl/type_check.h +10 -14
- data/third_party/boringssl/include/openssl/x509.h +41 -116
- data/third_party/boringssl/include/openssl/x509_vfy.h +17 -25
- data/third_party/boringssl/include/openssl/x509v3.h +27 -21
- data/third_party/boringssl/ssl/{bio_ssl.c → bio_ssl.cc} +9 -5
- data/third_party/boringssl/ssl/{custom_extensions.c → custom_extensions.cc} +19 -12
- data/third_party/boringssl/ssl/{d1_both.c → d1_both.cc} +224 -193
- data/third_party/boringssl/ssl/{d1_lib.c → d1_lib.cc} +86 -79
- data/third_party/boringssl/ssl/{d1_pkt.c → d1_pkt.cc} +55 -87
- data/third_party/boringssl/ssl/{d1_srtp.c → d1_srtp.cc} +12 -16
- data/third_party/boringssl/ssl/{dtls_method.c → dtls_method.cc} +33 -50
- data/third_party/boringssl/ssl/{dtls_record.c → dtls_record.cc} +76 -64
- data/third_party/boringssl/ssl/handshake.cc +547 -0
- data/third_party/boringssl/ssl/handshake_client.cc +1828 -0
- data/third_party/boringssl/ssl/handshake_server.cc +1672 -0
- data/third_party/boringssl/ssl/internal.h +2027 -1280
- data/third_party/boringssl/ssl/s3_both.cc +603 -0
- data/third_party/boringssl/ssl/{s3_lib.c → s3_lib.cc} +22 -10
- data/third_party/boringssl/ssl/{s3_pkt.c → s3_pkt.cc} +171 -75
- data/third_party/boringssl/ssl/ssl_aead_ctx.cc +415 -0
- data/third_party/boringssl/ssl/{ssl_asn1.c → ssl_asn1.cc} +257 -261
- data/third_party/boringssl/ssl/{ssl_buffer.c → ssl_buffer.cc} +81 -97
- data/third_party/boringssl/ssl/{ssl_cert.c → ssl_cert.cc} +304 -414
- data/third_party/boringssl/ssl/{ssl_cipher.c → ssl_cipher.cc} +427 -505
- data/third_party/boringssl/ssl/{ssl_file.c → ssl_file.cc} +24 -16
- data/third_party/boringssl/ssl/ssl_key_share.cc +245 -0
- data/third_party/boringssl/ssl/{ssl_lib.c → ssl_lib.cc} +665 -828
- data/third_party/boringssl/ssl/ssl_privkey.cc +518 -0
- data/third_party/boringssl/ssl/{ssl_session.c → ssl_session.cc} +596 -471
- data/third_party/boringssl/ssl/{ssl_stat.c → ssl_stat.cc} +5 -224
- data/third_party/boringssl/ssl/{ssl_transcript.c → ssl_transcript.cc} +117 -140
- data/third_party/boringssl/ssl/ssl_versions.cc +439 -0
- data/third_party/boringssl/ssl/{ssl_x509.c → ssl_x509.cc} +751 -267
- data/third_party/boringssl/ssl/{t1_enc.c → t1_enc.cc} +120 -161
- data/third_party/boringssl/ssl/{t1_lib.c → t1_lib.cc} +859 -966
- data/third_party/boringssl/ssl/{tls13_both.c → tls13_both.cc} +202 -284
- data/third_party/boringssl/ssl/tls13_client.cc +842 -0
- data/third_party/boringssl/ssl/{tls13_enc.c → tls13_enc.cc} +108 -90
- data/third_party/boringssl/ssl/tls13_server.cc +967 -0
- data/third_party/boringssl/ssl/{tls_method.c → tls_method.cc} +94 -73
- data/third_party/boringssl/ssl/tls_record.cc +675 -0
- metadata +117 -168
- data/include/grpc/support/cmdline.h +0 -88
- data/include/grpc/support/subprocess.h +0 -44
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +0 -29
- data/src/core/ext/filters/client_channel/resolver_factory.cc +0 -40
- data/src/core/lib/gpr/cmdline.cc +0 -330
- data/src/core/lib/gpr/subprocess_posix.cc +0 -99
- data/src/core/lib/gpr/subprocess_windows.cc +0 -126
- data/src/core/lib/surface/alarm.cc +0 -137
- data/src/core/lib/surface/alarm_internal.h +0 -40
- data/src/core/tsi/gts_transport_security.cc +0 -40
- data/third_party/boringssl/crypto/aes/aes.c +0 -1142
- data/third_party/boringssl/crypto/aes/internal.h +0 -87
- data/third_party/boringssl/crypto/aes/key_wrap.c +0 -138
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +0 -112
- data/third_party/boringssl/crypto/asn1/x_long.c +0 -200
- data/third_party/boringssl/crypto/bn/add.c +0 -377
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +0 -532
- data/third_party/boringssl/crypto/bn/bn.c +0 -365
- data/third_party/boringssl/crypto/bn/cmp.c +0 -239
- data/third_party/boringssl/crypto/bn/ctx.c +0 -313
- data/third_party/boringssl/crypto/bn/div.c +0 -728
- data/third_party/boringssl/crypto/bn/exponentiation.c +0 -1240
- data/third_party/boringssl/crypto/bn/gcd.c +0 -635
- data/third_party/boringssl/crypto/bn/generic.c +0 -707
- data/third_party/boringssl/crypto/bn/kronecker.c +0 -176
- data/third_party/boringssl/crypto/bn/montgomery.c +0 -409
- data/third_party/boringssl/crypto/bn/montgomery_inv.c +0 -207
- data/third_party/boringssl/crypto/bn/mul.c +0 -871
- data/third_party/boringssl/crypto/bn/prime.c +0 -861
- data/third_party/boringssl/crypto/bn/random.c +0 -343
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +0 -254
- data/third_party/boringssl/crypto/bn/shift.c +0 -307
- data/third_party/boringssl/crypto/bn/sqrt.c +0 -506
- data/third_party/boringssl/crypto/cipher/aead.c +0 -156
- data/third_party/boringssl/crypto/cipher/cipher.c +0 -657
- data/third_party/boringssl/crypto/cipher/e_aes.c +0 -1771
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +0 -276
- data/third_party/boringssl/crypto/cipher/e_des.c +0 -205
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +0 -482
- data/third_party/boringssl/crypto/des/des.c +0 -771
- data/third_party/boringssl/crypto/digest/digest.c +0 -251
- data/third_party/boringssl/crypto/digest/digests.c +0 -358
- data/third_party/boringssl/crypto/ec/ec.c +0 -847
- data/third_party/boringssl/crypto/ec/ec_key.c +0 -479
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +0 -303
- data/third_party/boringssl/crypto/ec/oct.c +0 -416
- data/third_party/boringssl/crypto/ec/p224-64.c +0 -1143
- data/third_party/boringssl/crypto/ec/p256-64.c +0 -1701
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +0 -561
- data/third_party/boringssl/crypto/ec/simple.c +0 -1118
- data/third_party/boringssl/crypto/ec/util-64.c +0 -109
- data/third_party/boringssl/crypto/ec/wnaf.c +0 -458
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +0 -479
- data/third_party/boringssl/crypto/hmac/hmac.c +0 -215
- data/third_party/boringssl/crypto/md4/md4.c +0 -236
- data/third_party/boringssl/crypto/md5/md5.c +0 -285
- data/third_party/boringssl/crypto/modes/cbc.c +0 -212
- data/third_party/boringssl/crypto/modes/cfb.c +0 -230
- data/third_party/boringssl/crypto/modes/ctr.c +0 -219
- data/third_party/boringssl/crypto/modes/gcm.c +0 -1071
- data/third_party/boringssl/crypto/modes/ofb.c +0 -95
- data/third_party/boringssl/crypto/modes/polyval.c +0 -94
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +0 -85
- data/third_party/boringssl/crypto/rand/rand.c +0 -244
- data/third_party/boringssl/crypto/rand/urandom.c +0 -335
- data/third_party/boringssl/crypto/rsa/blinding.c +0 -265
- data/third_party/boringssl/crypto/rsa/padding.c +0 -708
- data/third_party/boringssl/crypto/rsa/rsa.c +0 -830
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +0 -1100
- data/third_party/boringssl/crypto/sha/sha1-altivec.c +0 -346
- data/third_party/boringssl/crypto/sha/sha1.c +0 -355
- data/third_party/boringssl/crypto/sha/sha256.c +0 -329
- data/third_party/boringssl/crypto/sha/sha512.c +0 -609
- data/third_party/boringssl/crypto/x509/x509type.c +0 -126
- data/third_party/boringssl/include/openssl/stack_macros.h +0 -3987
- data/third_party/boringssl/ssl/handshake_client.c +0 -1883
- data/third_party/boringssl/ssl/handshake_server.c +0 -1950
- data/third_party/boringssl/ssl/s3_both.c +0 -895
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +0 -335
- data/third_party/boringssl/ssl/ssl_ecdh.c +0 -465
- data/third_party/boringssl/ssl/ssl_privkey.c +0 -683
- data/third_party/boringssl/ssl/ssl_privkey_cc.cc +0 -76
- data/third_party/boringssl/ssl/tls13_client.c +0 -712
- data/third_party/boringssl/ssl/tls13_server.c +0 -680
- data/third_party/boringssl/ssl/tls_record.c +0 -556
@@ -21,7 +21,7 @@
|
|
21
21
|
|
22
22
|
#include <grpc/grpc.h>
|
23
23
|
|
24
|
-
/** Return the compression algorithm from \a call.
|
24
|
+
/** Return the message compression algorithm from \a call.
|
25
25
|
*
|
26
26
|
* \warning This function should \b only be used in test code. */
|
27
27
|
grpc_compression_algorithm grpc_call_test_only_get_compression_algorithm(
|
@@ -38,16 +38,4 @@ uint32_t grpc_call_test_only_get_message_flags(grpc_call* call);
|
|
38
38
|
* To be indexed by grpc_compression_algorithm enum values. */
|
39
39
|
uint32_t grpc_call_test_only_get_encodings_accepted_by_peer(grpc_call* call);
|
40
40
|
|
41
|
-
/** Returns a bitset for the stream encodings (stream compression algorithms)
|
42
|
-
* supported by \a call's peer.
|
43
|
-
*
|
44
|
-
* To be indexed by grpc_stream_compression_algorithm enum values. */
|
45
|
-
uint32_t grpc_call_test_only_get_stream_encodings_accepted_by_peer(
|
46
|
-
grpc_call* call);
|
47
|
-
|
48
|
-
/** Returns the incoming stream compression algorithm (content-encoding header)
|
49
|
-
* received by a call. */
|
50
|
-
grpc_stream_compression_algorithm
|
51
|
-
grpc_call_test_only_get_incoming_stream_encodings(grpc_call* call);
|
52
|
-
|
53
41
|
#endif /* GRPC_CORE_LIB_SURFACE_CALL_TEST_ONLY_H */
|
@@ -85,7 +85,7 @@ grpc_channel* grpc_channel_create_with_builder(
|
|
85
85
|
}
|
86
86
|
grpc_error* error = grpc_channel_stack_builder_finish(
|
87
87
|
builder, sizeof(grpc_channel), 1, destroy_channel, nullptr,
|
88
|
-
(
|
88
|
+
reinterpret_cast<void**>(&channel));
|
89
89
|
if (error != GRPC_ERROR_NONE) {
|
90
90
|
gpr_log(GPR_ERROR, "channel stack builder failed: %s",
|
91
91
|
grpc_error_string(error));
|
@@ -142,49 +142,22 @@ grpc_channel* grpc_channel_create_with_builder(
|
|
142
142
|
GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL)) {
|
143
143
|
channel->compression_options.default_level.is_set = true;
|
144
144
|
channel->compression_options.default_level.level =
|
145
|
-
(
|
145
|
+
static_cast<grpc_compression_level>(grpc_channel_arg_get_integer(
|
146
146
|
&args->args[i],
|
147
147
|
{GRPC_COMPRESS_LEVEL_NONE, GRPC_COMPRESS_LEVEL_NONE,
|
148
|
-
GRPC_COMPRESS_LEVEL_COUNT - 1});
|
149
|
-
} else if (0 == strcmp(args->args[i].key,
|
150
|
-
GRPC_STREAM_COMPRESSION_CHANNEL_DEFAULT_LEVEL)) {
|
151
|
-
channel->compression_options.default_stream_compression_level.is_set =
|
152
|
-
true;
|
153
|
-
channel->compression_options.default_stream_compression_level.level =
|
154
|
-
(grpc_stream_compression_level)grpc_channel_arg_get_integer(
|
155
|
-
&args->args[i],
|
156
|
-
{GRPC_STREAM_COMPRESS_LEVEL_NONE, GRPC_STREAM_COMPRESS_LEVEL_NONE,
|
157
|
-
GRPC_STREAM_COMPRESS_LEVEL_COUNT - 1});
|
148
|
+
GRPC_COMPRESS_LEVEL_COUNT - 1}));
|
158
149
|
} else if (0 == strcmp(args->args[i].key,
|
159
150
|
GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM)) {
|
160
151
|
channel->compression_options.default_algorithm.is_set = true;
|
161
152
|
channel->compression_options.default_algorithm.algorithm =
|
162
|
-
(
|
153
|
+
static_cast<grpc_compression_algorithm>(grpc_channel_arg_get_integer(
|
163
154
|
&args->args[i], {GRPC_COMPRESS_NONE, GRPC_COMPRESS_NONE,
|
164
|
-
GRPC_COMPRESS_ALGORITHMS_COUNT - 1});
|
165
|
-
} else if (0 == strcmp(args->args[i].key,
|
166
|
-
GRPC_STREAM_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM)) {
|
167
|
-
channel->compression_options.default_stream_compression_algorithm.is_set =
|
168
|
-
true;
|
169
|
-
channel->compression_options.default_stream_compression_algorithm
|
170
|
-
.algorithm =
|
171
|
-
(grpc_stream_compression_algorithm)grpc_channel_arg_get_integer(
|
172
|
-
&args->args[i],
|
173
|
-
{GRPC_STREAM_COMPRESS_NONE, GRPC_STREAM_COMPRESS_NONE,
|
174
|
-
GRPC_STREAM_COMPRESS_ALGORITHMS_COUNT - 1});
|
155
|
+
GRPC_COMPRESS_ALGORITHMS_COUNT - 1}));
|
175
156
|
} else if (0 ==
|
176
157
|
strcmp(args->args[i].key,
|
177
158
|
GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET)) {
|
178
159
|
channel->compression_options.enabled_algorithms_bitset =
|
179
|
-
(
|
180
|
-
0x1; /* always support no compression */
|
181
|
-
} else if (0 ==
|
182
|
-
strcmp(
|
183
|
-
args->args[i].key,
|
184
|
-
GRPC_STREAM_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET)) {
|
185
|
-
channel->compression_options
|
186
|
-
.enabled_stream_compression_algorithms_bitset =
|
187
|
-
(uint32_t)args->args[i].value.integer |
|
160
|
+
static_cast<uint32_t>(args->args[i].value.integer) |
|
188
161
|
0x1; /* always support no compression */
|
189
162
|
}
|
190
163
|
}
|
@@ -217,26 +190,29 @@ size_t grpc_channel_get_call_size_estimate(grpc_channel* channel) {
|
|
217
190
|
(which is common) - which tends to help most allocators reuse memory
|
218
191
|
2. a small amount of allowed growth over the estimate without hitting
|
219
192
|
the arena size doubling case, reducing overall memory usage */
|
220
|
-
return (
|
193
|
+
return (static_cast<size_t>(
|
194
|
+
gpr_atm_no_barrier_load(&channel->call_size_estimate)) +
|
221
195
|
2 * ROUND_UP_SIZE) &
|
222
|
-
~
|
196
|
+
~static_cast<size_t>(ROUND_UP_SIZE - 1);
|
223
197
|
}
|
224
198
|
|
225
199
|
void grpc_channel_update_call_size_estimate(grpc_channel* channel,
|
226
200
|
size_t size) {
|
227
|
-
size_t cur =
|
201
|
+
size_t cur = static_cast<size_t>(
|
202
|
+
gpr_atm_no_barrier_load(&channel->call_size_estimate));
|
228
203
|
if (cur < size) {
|
229
204
|
/* size grew: update estimate */
|
230
|
-
gpr_atm_no_barrier_cas(&channel->call_size_estimate,
|
231
|
-
(
|
205
|
+
gpr_atm_no_barrier_cas(&channel->call_size_estimate,
|
206
|
+
static_cast<gpr_atm>(cur),
|
207
|
+
static_cast<gpr_atm>(size));
|
232
208
|
/* if we lose: never mind, something else will likely update soon enough */
|
233
209
|
} else if (cur == size) {
|
234
210
|
/* no change: holding pattern */
|
235
211
|
} else if (cur > 0) {
|
236
212
|
/* size shrank: decrease estimate */
|
237
213
|
gpr_atm_no_barrier_cas(
|
238
|
-
&channel->call_size_estimate, (
|
239
|
-
|
214
|
+
&channel->call_size_estimate, static_cast<gpr_atm>(cur),
|
215
|
+
static_cast<gpr_atm>(GPR_MIN(cur - 1, (255 * cur + size) / 256)));
|
240
216
|
/* if we lose: never mind, something else will likely update soon enough */
|
241
217
|
}
|
242
218
|
}
|
@@ -324,7 +300,8 @@ grpc_call* grpc_channel_create_pollset_set_call(
|
|
324
300
|
|
325
301
|
void* grpc_channel_register_call(grpc_channel* channel, const char* method,
|
326
302
|
const char* host, void* reserved) {
|
327
|
-
registered_call* rc =
|
303
|
+
registered_call* rc =
|
304
|
+
static_cast<registered_call*>(gpr_malloc(sizeof(registered_call)));
|
328
305
|
GRPC_API_TRACE(
|
329
306
|
"grpc_channel_register_call(channel=%p, method=%s, host=%s, reserved=%p)",
|
330
307
|
4, (channel, method, host, reserved));
|
@@ -351,7 +328,7 @@ grpc_call* grpc_channel_create_registered_call(
|
|
351
328
|
grpc_channel* channel, grpc_call* parent_call, uint32_t propagation_mask,
|
352
329
|
grpc_completion_queue* completion_queue, void* registered_call_handle,
|
353
330
|
gpr_timespec deadline, void* reserved) {
|
354
|
-
registered_call* rc = (
|
331
|
+
registered_call* rc = static_cast<registered_call*>(registered_call_handle);
|
355
332
|
GRPC_API_TRACE(
|
356
333
|
"grpc_channel_create_registered_call("
|
357
334
|
"channel=%p, parent_call=%p, propagation_mask=%x, completion_queue=%p, "
|
@@ -389,7 +366,7 @@ void grpc_channel_internal_unref(grpc_channel* c REF_ARG) {
|
|
389
366
|
}
|
390
367
|
|
391
368
|
static void destroy_channel(void* arg, grpc_error* error) {
|
392
|
-
grpc_channel* channel = (
|
369
|
+
grpc_channel* channel = static_cast<grpc_channel*>(arg);
|
393
370
|
grpc_channel_stack_destroy(CHANNEL_STACK_FROM_CHANNEL(channel));
|
394
371
|
while (channel->registered_calls) {
|
395
372
|
registered_call* rc = channel->registered_calls;
|
@@ -19,7 +19,6 @@
|
|
19
19
|
#include "src/core/lib/surface/channel_init.h"
|
20
20
|
|
21
21
|
#include <grpc/support/alloc.h>
|
22
|
-
#include <grpc/support/useful.h>
|
23
22
|
|
24
23
|
typedef struct stage_slot {
|
25
24
|
grpc_channel_init_stage fn;
|
@@ -53,9 +52,9 @@ void grpc_channel_init_register_stage(grpc_channel_stack_type type,
|
|
53
52
|
GPR_ASSERT(!g_finalized);
|
54
53
|
if (g_slots[type].cap_slots == g_slots[type].num_slots) {
|
55
54
|
g_slots[type].cap_slots = GPR_MAX(8, 3 * g_slots[type].cap_slots / 2);
|
56
|
-
g_slots[type].slots =
|
57
|
-
g_slots[type].slots,
|
58
|
-
|
55
|
+
g_slots[type].slots = static_cast<stage_slot*>(
|
56
|
+
gpr_realloc(g_slots[type].slots,
|
57
|
+
g_slots[type].cap_slots * sizeof(*g_slots[type].slots)));
|
59
58
|
}
|
60
59
|
stage_slot* s = &g_slots[type].slots[g_slots[type].num_slots++];
|
61
60
|
s->insertion_order = g_slots[type].num_slots;
|
@@ -65,8 +64,8 @@ void grpc_channel_init_register_stage(grpc_channel_stack_type type,
|
|
65
64
|
}
|
66
65
|
|
67
66
|
static int compare_slots(const void* a, const void* b) {
|
68
|
-
const stage_slot* sa =
|
69
|
-
const stage_slot* sb =
|
67
|
+
const stage_slot* sa = static_cast<const stage_slot*>(a);
|
68
|
+
const stage_slot* sb = static_cast<const stage_slot*>(b);
|
70
69
|
|
71
70
|
int c = GPR_ICMP(sa->priority, sb->priority);
|
72
71
|
if (c != 0) return c;
|
@@ -85,7 +84,8 @@ void grpc_channel_init_finalize(void) {
|
|
85
84
|
void grpc_channel_init_shutdown(void) {
|
86
85
|
for (int i = 0; i < GRPC_NUM_CHANNEL_STACK_TYPES; i++) {
|
87
86
|
gpr_free(g_slots[i].slots);
|
88
|
-
g_slots[i].slots =
|
87
|
+
g_slots[i].slots =
|
88
|
+
static_cast<stage_slot*>((void*)static_cast<uintptr_t>(0xdeadbeef));
|
89
89
|
}
|
90
90
|
}
|
91
91
|
|
@@ -38,7 +38,7 @@ static void ping_destroy(void* arg, grpc_cq_completion* storage) {
|
|
38
38
|
}
|
39
39
|
|
40
40
|
static void ping_done(void* arg, grpc_error* error) {
|
41
|
-
ping_result* pr = (
|
41
|
+
ping_result* pr = static_cast<ping_result*>(arg);
|
42
42
|
grpc_cq_end_op(pr->cq, pr->tag, GRPC_ERROR_REF(error), ping_destroy, pr,
|
43
43
|
&pr->completion_storage);
|
44
44
|
}
|
@@ -48,7 +48,7 @@ void grpc_channel_ping(grpc_channel* channel, grpc_completion_queue* cq,
|
|
48
48
|
GRPC_API_TRACE("grpc_channel_ping(channel=%p, cq=%p, tag=%p, reserved=%p)", 4,
|
49
49
|
(channel, cq, tag, reserved));
|
50
50
|
grpc_transport_op* op = grpc_make_transport_op(nullptr);
|
51
|
-
ping_result* pr = (
|
51
|
+
ping_result* pr = static_cast<ping_result*>(gpr_malloc(sizeof(*pr)));
|
52
52
|
grpc_channel_element* top_elem =
|
53
53
|
grpc_channel_stack_element(grpc_channel_get_channel_stack(channel), 0);
|
54
54
|
grpc_core::ExecCtx exec_ctx;
|
@@ -28,11 +28,11 @@
|
|
28
28
|
#include <grpc/support/log.h>
|
29
29
|
#include <grpc/support/string_util.h>
|
30
30
|
#include <grpc/support/time.h>
|
31
|
-
#include <grpc/support/tls.h>
|
32
31
|
|
33
32
|
#include "src/core/lib/debug/stats.h"
|
34
33
|
#include "src/core/lib/gpr/spinlock.h"
|
35
34
|
#include "src/core/lib/gpr/string.h"
|
35
|
+
#include "src/core/lib/gpr/tls.h"
|
36
36
|
#include "src/core/lib/iomgr/pollset.h"
|
37
37
|
#include "src/core/lib/iomgr/timer.h"
|
38
38
|
#include "src/core/lib/profiling/timers.h"
|
@@ -88,24 +88,24 @@ static size_t non_polling_poller_size(void) {
|
|
88
88
|
}
|
89
89
|
|
90
90
|
static void non_polling_poller_init(grpc_pollset* pollset, gpr_mu** mu) {
|
91
|
-
non_polling_poller* npp = (
|
91
|
+
non_polling_poller* npp = reinterpret_cast<non_polling_poller*>(pollset);
|
92
92
|
gpr_mu_init(&npp->mu);
|
93
93
|
*mu = &npp->mu;
|
94
94
|
}
|
95
95
|
|
96
96
|
static void non_polling_poller_destroy(grpc_pollset* pollset) {
|
97
|
-
non_polling_poller* npp = (
|
97
|
+
non_polling_poller* npp = reinterpret_cast<non_polling_poller*>(pollset);
|
98
98
|
gpr_mu_destroy(&npp->mu);
|
99
99
|
}
|
100
100
|
|
101
101
|
static grpc_error* non_polling_poller_work(grpc_pollset* pollset,
|
102
102
|
grpc_pollset_worker** worker,
|
103
103
|
grpc_millis deadline) {
|
104
|
-
non_polling_poller* npp = (
|
104
|
+
non_polling_poller* npp = reinterpret_cast<non_polling_poller*>(pollset);
|
105
105
|
if (npp->shutdown) return GRPC_ERROR_NONE;
|
106
106
|
non_polling_worker w;
|
107
107
|
gpr_cv_init(&w.cv);
|
108
|
-
if (worker != nullptr) *worker = (
|
108
|
+
if (worker != nullptr) *worker = reinterpret_cast<grpc_pollset_worker*>(&w);
|
109
109
|
if (npp->root == nullptr) {
|
110
110
|
npp->root = w.next = w.prev = &w;
|
111
111
|
} else {
|
@@ -138,11 +138,12 @@ static grpc_error* non_polling_poller_work(grpc_pollset* pollset,
|
|
138
138
|
|
139
139
|
static grpc_error* non_polling_poller_kick(
|
140
140
|
grpc_pollset* pollset, grpc_pollset_worker* specific_worker) {
|
141
|
-
non_polling_poller* p = (
|
141
|
+
non_polling_poller* p = reinterpret_cast<non_polling_poller*>(pollset);
|
142
142
|
if (specific_worker == nullptr)
|
143
|
-
specific_worker = (
|
143
|
+
specific_worker = reinterpret_cast<grpc_pollset_worker*>(p->root);
|
144
144
|
if (specific_worker != nullptr) {
|
145
|
-
non_polling_worker* w =
|
145
|
+
non_polling_worker* w =
|
146
|
+
reinterpret_cast<non_polling_worker*>(specific_worker);
|
146
147
|
if (!w->kicked) {
|
147
148
|
w->kicked = true;
|
148
149
|
gpr_cv_signal(&w->cv);
|
@@ -153,7 +154,7 @@ static grpc_error* non_polling_poller_kick(
|
|
153
154
|
|
154
155
|
static void non_polling_poller_shutdown(grpc_pollset* pollset,
|
155
156
|
grpc_closure* closure) {
|
156
|
-
non_polling_poller* p = (
|
157
|
+
non_polling_poller* p = reinterpret_cast<non_polling_poller*>(pollset);
|
157
158
|
GPR_ASSERT(closure != nullptr);
|
158
159
|
p->shutdown = closure;
|
159
160
|
if (p->root == nullptr) {
|
@@ -354,10 +355,10 @@ int grpc_completion_queue_thread_local_cache_flush(grpc_completion_queue* cq,
|
|
354
355
|
(grpc_completion_queue*)gpr_tls_get(&g_cached_cq) == cq) {
|
355
356
|
*tag = storage->tag;
|
356
357
|
grpc_core::ExecCtx exec_ctx;
|
357
|
-
*ok = (storage->next &
|
358
|
+
*ok = (storage->next & static_cast<uintptr_t>(1)) == 1;
|
358
359
|
storage->done(storage->done_arg, storage);
|
359
360
|
ret = 1;
|
360
|
-
cq_next_data* cqd =
|
361
|
+
cq_next_data* cqd = static_cast<cq_next_data*> DATA_FROM_CQ(cq);
|
361
362
|
if (gpr_atm_full_fetch_add(&cqd->pending_events, -1) == 1) {
|
362
363
|
GRPC_CQ_INTERNAL_REF(cq, "shutting_down");
|
363
364
|
gpr_mu_lock(cq->mu);
|
@@ -383,7 +384,7 @@ static void cq_event_queue_destroy(grpc_cq_event_queue* q) {
|
|
383
384
|
}
|
384
385
|
|
385
386
|
static bool cq_event_queue_push(grpc_cq_event_queue* q, grpc_cq_completion* c) {
|
386
|
-
gpr_mpscq_push(&q->queue, (
|
387
|
+
gpr_mpscq_push(&q->queue, reinterpret_cast<gpr_mpscq_node*>(c));
|
387
388
|
return gpr_atm_no_barrier_fetch_add(&q->num_queue_items, 1) == 0;
|
388
389
|
}
|
389
390
|
|
@@ -395,7 +396,8 @@ static grpc_cq_completion* cq_event_queue_pop(grpc_cq_event_queue* q) {
|
|
395
396
|
GRPC_STATS_INC_CQ_EV_QUEUE_TRYLOCK_SUCCESSES();
|
396
397
|
|
397
398
|
bool is_empty = false;
|
398
|
-
c =
|
399
|
+
c = reinterpret_cast<grpc_cq_completion*>(
|
400
|
+
gpr_mpscq_pop_and_check_end(&q->queue, &is_empty));
|
399
401
|
gpr_spinlock_unlock(&q->queue_lock);
|
400
402
|
|
401
403
|
if (c == nullptr && !is_empty) {
|
@@ -415,15 +417,15 @@ static grpc_cq_completion* cq_event_queue_pop(grpc_cq_event_queue* q) {
|
|
415
417
|
/* Note: The counter is not incremented/decremented atomically with push/pop.
|
416
418
|
* The count is only eventually consistent */
|
417
419
|
static long cq_event_queue_num_items(grpc_cq_event_queue* q) {
|
418
|
-
return (
|
420
|
+
return static_cast<long>(gpr_atm_no_barrier_load(&q->num_queue_items));
|
419
421
|
}
|
420
422
|
|
421
423
|
grpc_completion_queue* grpc_completion_queue_create_internal(
|
422
424
|
grpc_cq_completion_type completion_type,
|
423
425
|
grpc_cq_polling_type polling_type) {
|
424
|
-
|
426
|
+
GPR_TIMER_SCOPE("grpc_completion_queue_create_internal", 0);
|
425
427
|
|
426
|
-
|
428
|
+
grpc_completion_queue* cq;
|
427
429
|
|
428
430
|
GRPC_API_TRACE(
|
429
431
|
"grpc_completion_queue_create_internal(completion_type=%d, "
|
@@ -437,9 +439,9 @@ grpc_completion_queue* grpc_completion_queue_create_internal(
|
|
437
439
|
grpc_core::ExecCtx exec_ctx;
|
438
440
|
GRPC_STATS_INC_CQS_CREATED();
|
439
441
|
|
440
|
-
cq =
|
441
|
-
|
442
|
-
|
442
|
+
cq = static_cast<grpc_completion_queue*>(
|
443
|
+
gpr_zalloc(sizeof(grpc_completion_queue) + vtable->data_size +
|
444
|
+
poller_vtable->size()));
|
443
445
|
|
444
446
|
cq->vtable = vtable;
|
445
447
|
cq->poller_vtable = poller_vtable;
|
@@ -452,14 +454,11 @@ grpc_completion_queue* grpc_completion_queue_create_internal(
|
|
452
454
|
|
453
455
|
GRPC_CLOSURE_INIT(&cq->pollset_shutdown_done, on_pollset_shutdown_done, cq,
|
454
456
|
grpc_schedule_on_exec_ctx);
|
455
|
-
|
456
|
-
GPR_TIMER_END("grpc_completion_queue_create_internal", 0);
|
457
|
-
|
458
457
|
return cq;
|
459
458
|
}
|
460
459
|
|
461
460
|
static void cq_init_next(void* ptr) {
|
462
|
-
cq_next_data* cqd = (
|
461
|
+
cq_next_data* cqd = static_cast<cq_next_data*>(ptr);
|
463
462
|
/* Initial count is dropped by grpc_completion_queue_shutdown */
|
464
463
|
gpr_atm_no_barrier_store(&cqd->pending_events, 1);
|
465
464
|
cqd->shutdown_called = false;
|
@@ -468,13 +467,13 @@ static void cq_init_next(void* ptr) {
|
|
468
467
|
}
|
469
468
|
|
470
469
|
static void cq_destroy_next(void* ptr) {
|
471
|
-
cq_next_data* cqd = (
|
470
|
+
cq_next_data* cqd = static_cast<cq_next_data*>(ptr);
|
472
471
|
GPR_ASSERT(cq_event_queue_num_items(&cqd->queue) == 0);
|
473
472
|
cq_event_queue_destroy(&cqd->queue);
|
474
473
|
}
|
475
474
|
|
476
475
|
static void cq_init_pluck(void* ptr) {
|
477
|
-
cq_pluck_data* cqd = (
|
476
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*>(ptr);
|
478
477
|
/* Initial count is dropped by grpc_completion_queue_shutdown */
|
479
478
|
gpr_atm_no_barrier_store(&cqd->pending_events, 1);
|
480
479
|
cqd->completed_tail = &cqd->completed_head;
|
@@ -486,7 +485,7 @@ static void cq_init_pluck(void* ptr) {
|
|
486
485
|
}
|
487
486
|
|
488
487
|
static void cq_destroy_pluck(void* ptr) {
|
489
|
-
cq_pluck_data* cqd = (
|
488
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*>(ptr);
|
490
489
|
GPR_ASSERT(cqd->completed_head.next == (uintptr_t)&cqd->completed_head);
|
491
490
|
}
|
492
491
|
|
@@ -518,7 +517,7 @@ void grpc_cq_internal_ref(grpc_completion_queue* cq) {
|
|
518
517
|
}
|
519
518
|
|
520
519
|
static void on_pollset_shutdown_done(void* arg, grpc_error* error) {
|
521
|
-
grpc_completion_queue* cq = (
|
520
|
+
grpc_completion_queue* cq = static_cast<grpc_completion_queue*>(arg);
|
522
521
|
GRPC_CQ_INTERNAL_UNREF(cq, "pollset_destroy");
|
523
522
|
}
|
524
523
|
|
@@ -551,7 +550,7 @@ static void cq_check_tag(grpc_completion_queue* cq, void* tag, bool lock_cq) {
|
|
551
550
|
gpr_mu_lock(cq->mu);
|
552
551
|
}
|
553
552
|
|
554
|
-
for (int i = 0; i < (
|
553
|
+
for (int i = 0; i < static_cast<int>(cq->outstanding_tag_count); i++) {
|
555
554
|
if (cq->outstanding_tags[i] == tag) {
|
556
555
|
cq->outstanding_tag_count--;
|
557
556
|
GPR_SWAP(void*, cq->outstanding_tags[i],
|
@@ -590,12 +589,12 @@ static bool atm_inc_if_nonzero(gpr_atm* counter) {
|
|
590
589
|
}
|
591
590
|
|
592
591
|
static bool cq_begin_op_for_next(grpc_completion_queue* cq, void* tag) {
|
593
|
-
cq_next_data* cqd =
|
592
|
+
cq_next_data* cqd = static_cast<cq_next_data*> DATA_FROM_CQ(cq);
|
594
593
|
return atm_inc_if_nonzero(&cqd->pending_events);
|
595
594
|
}
|
596
595
|
|
597
596
|
static bool cq_begin_op_for_pluck(grpc_completion_queue* cq, void* tag) {
|
598
|
-
cq_pluck_data* cqd =
|
597
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*> DATA_FROM_CQ(cq);
|
599
598
|
return atm_inc_if_nonzero(&cqd->pending_events);
|
600
599
|
}
|
601
600
|
|
@@ -604,9 +603,9 @@ bool grpc_cq_begin_op(grpc_completion_queue* cq, void* tag) {
|
|
604
603
|
gpr_mu_lock(cq->mu);
|
605
604
|
if (cq->outstanding_tag_count == cq->outstanding_tag_capacity) {
|
606
605
|
cq->outstanding_tag_capacity = GPR_MAX(4, 2 * cq->outstanding_tag_capacity);
|
607
|
-
cq->outstanding_tags = (
|
606
|
+
cq->outstanding_tags = static_cast<void**>(gpr_realloc(
|
608
607
|
cq->outstanding_tags,
|
609
|
-
sizeof(*cq->outstanding_tags) * cq->outstanding_tag_capacity);
|
608
|
+
sizeof(*cq->outstanding_tags) * cq->outstanding_tag_capacity));
|
610
609
|
}
|
611
610
|
cq->outstanding_tags[cq->outstanding_tag_count++] = tag;
|
612
611
|
gpr_mu_unlock(cq->mu);
|
@@ -622,7 +621,7 @@ static void cq_end_op_for_next(grpc_completion_queue* cq, void* tag,
|
|
622
621
|
void (*done)(void* done_arg,
|
623
622
|
grpc_cq_completion* storage),
|
624
623
|
void* done_arg, grpc_cq_completion* storage) {
|
625
|
-
|
624
|
+
GPR_TIMER_SCOPE("cq_end_op_for_next", 0);
|
626
625
|
|
627
626
|
if (grpc_api_trace.enabled() ||
|
628
627
|
(grpc_trace_operation_failures.enabled() && error != GRPC_ERROR_NONE)) {
|
@@ -635,13 +634,13 @@ static void cq_end_op_for_next(grpc_completion_queue* cq, void* tag,
|
|
635
634
|
gpr_log(GPR_ERROR, "Operation failed: tag=%p, error=%s", tag, errmsg);
|
636
635
|
}
|
637
636
|
}
|
638
|
-
cq_next_data* cqd =
|
637
|
+
cq_next_data* cqd = static_cast<cq_next_data*> DATA_FROM_CQ(cq);
|
639
638
|
int is_success = (error == GRPC_ERROR_NONE);
|
640
639
|
|
641
640
|
storage->tag = tag;
|
642
641
|
storage->done = done;
|
643
642
|
storage->done_arg = done_arg;
|
644
|
-
storage->next =
|
643
|
+
storage->next = static_cast<uintptr_t>(is_success);
|
645
644
|
|
646
645
|
cq_check_tag(cq, tag, true); /* Used in debug builds only */
|
647
646
|
|
@@ -691,8 +690,6 @@ static void cq_end_op_for_next(grpc_completion_queue* cq, void* tag,
|
|
691
690
|
}
|
692
691
|
}
|
693
692
|
|
694
|
-
GPR_TIMER_END("cq_end_op_for_next", 0);
|
695
|
-
|
696
693
|
GRPC_ERROR_UNREF(error);
|
697
694
|
}
|
698
695
|
|
@@ -704,10 +701,10 @@ static void cq_end_op_for_pluck(grpc_completion_queue* cq, void* tag,
|
|
704
701
|
void (*done)(void* done_arg,
|
705
702
|
grpc_cq_completion* storage),
|
706
703
|
void* done_arg, grpc_cq_completion* storage) {
|
707
|
-
|
708
|
-
int is_success = (error == GRPC_ERROR_NONE);
|
704
|
+
GPR_TIMER_SCOPE("cq_end_op_for_pluck", 0);
|
709
705
|
|
710
|
-
|
706
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*> DATA_FROM_CQ(cq);
|
707
|
+
int is_success = (error == GRPC_ERROR_NONE);
|
711
708
|
|
712
709
|
if (grpc_api_trace.enabled() ||
|
713
710
|
(grpc_trace_operation_failures.enabled() && error != GRPC_ERROR_NONE)) {
|
@@ -724,7 +721,8 @@ static void cq_end_op_for_pluck(grpc_completion_queue* cq, void* tag,
|
|
724
721
|
storage->tag = tag;
|
725
722
|
storage->done = done;
|
726
723
|
storage->done_arg = done_arg;
|
727
|
-
storage->next =
|
724
|
+
storage->next =
|
725
|
+
((uintptr_t)&cqd->completed_head) | (static_cast<uintptr_t>(is_success));
|
728
726
|
|
729
727
|
gpr_mu_lock(cq->mu);
|
730
728
|
cq_check_tag(cq, tag, false); /* Used in debug builds only */
|
@@ -732,7 +730,7 @@ static void cq_end_op_for_pluck(grpc_completion_queue* cq, void* tag,
|
|
732
730
|
/* Add to the list of completions */
|
733
731
|
gpr_atm_no_barrier_fetch_add(&cqd->things_queued_ever, 1);
|
734
732
|
cqd->completed_tail->next =
|
735
|
-
((uintptr_t)storage) | (1u &
|
733
|
+
((uintptr_t)storage) | (1u & cqd->completed_tail->next);
|
736
734
|
cqd->completed_tail = storage;
|
737
735
|
|
738
736
|
if (gpr_atm_full_fetch_add(&cqd->pending_events, -1) == 1) {
|
@@ -760,8 +758,6 @@ static void cq_end_op_for_pluck(grpc_completion_queue* cq, void* tag,
|
|
760
758
|
}
|
761
759
|
}
|
762
760
|
|
763
|
-
GPR_TIMER_END("cq_end_op_for_pluck", 0);
|
764
|
-
|
765
761
|
GRPC_ERROR_UNREF(error);
|
766
762
|
}
|
767
763
|
|
@@ -785,9 +781,10 @@ class ExecCtxNext : public grpc_core::ExecCtx {
|
|
785
781
|
ExecCtxNext(void* arg) : ExecCtx(0), check_ready_to_finish_arg_(arg) {}
|
786
782
|
|
787
783
|
bool CheckReadyToFinish() override {
|
788
|
-
cq_is_finished_arg* a =
|
784
|
+
cq_is_finished_arg* a =
|
785
|
+
static_cast<cq_is_finished_arg*>(check_ready_to_finish_arg_);
|
789
786
|
grpc_completion_queue* cq = a->cq;
|
790
|
-
cq_next_data* cqd =
|
787
|
+
cq_next_data* cqd = static_cast<cq_next_data*> DATA_FROM_CQ(cq);
|
791
788
|
GPR_ASSERT(a->stolen_completion == nullptr);
|
792
789
|
|
793
790
|
gpr_atm current_last_seen_things_queued_ever =
|
@@ -840,10 +837,10 @@ static void dump_pending_tags(grpc_completion_queue* cq) {}
|
|
840
837
|
|
841
838
|
static grpc_event cq_next(grpc_completion_queue* cq, gpr_timespec deadline,
|
842
839
|
void* reserved) {
|
843
|
-
|
844
|
-
cq_next_data* cqd = (cq_next_data*)DATA_FROM_CQ(cq);
|
840
|
+
GPR_TIMER_SCOPE("grpc_completion_queue_next", 0);
|
845
841
|
|
846
|
-
|
842
|
+
grpc_event ret;
|
843
|
+
cq_next_data* cqd = static_cast<cq_next_data*> DATA_FROM_CQ(cq);
|
847
844
|
|
848
845
|
GRPC_API_TRACE(
|
849
846
|
"grpc_completion_queue_next("
|
@@ -958,8 +955,6 @@ static grpc_event cq_next(grpc_completion_queue* cq, gpr_timespec deadline,
|
|
958
955
|
|
959
956
|
GPR_ASSERT(is_finished_arg.stolen_completion == nullptr);
|
960
957
|
|
961
|
-
GPR_TIMER_END("grpc_completion_queue_next", 0);
|
962
|
-
|
963
958
|
return ret;
|
964
959
|
}
|
965
960
|
|
@@ -970,7 +965,7 @@ static grpc_event cq_next(grpc_completion_queue* cq, gpr_timespec deadline,
|
|
970
965
|
- grpc_completion_queue_shutdown() MUST have been called before calling
|
971
966
|
this function */
|
972
967
|
static void cq_finish_shutdown_next(grpc_completion_queue* cq) {
|
973
|
-
cq_next_data* cqd =
|
968
|
+
cq_next_data* cqd = static_cast<cq_next_data*> DATA_FROM_CQ(cq);
|
974
969
|
|
975
970
|
GPR_ASSERT(cqd->shutdown_called);
|
976
971
|
GPR_ASSERT(gpr_atm_no_barrier_load(&cqd->pending_events) == 0);
|
@@ -979,7 +974,7 @@ static void cq_finish_shutdown_next(grpc_completion_queue* cq) {
|
|
979
974
|
}
|
980
975
|
|
981
976
|
static void cq_shutdown_next(grpc_completion_queue* cq) {
|
982
|
-
cq_next_data* cqd =
|
977
|
+
cq_next_data* cqd = static_cast<cq_next_data*> DATA_FROM_CQ(cq);
|
983
978
|
|
984
979
|
/* Need an extra ref for cq here because:
|
985
980
|
* We call cq_finish_shutdown_next() below, that would call pollset shutdown.
|
@@ -1012,7 +1007,7 @@ grpc_event grpc_completion_queue_next(grpc_completion_queue* cq,
|
|
1012
1007
|
|
1013
1008
|
static int add_plucker(grpc_completion_queue* cq, void* tag,
|
1014
1009
|
grpc_pollset_worker** worker) {
|
1015
|
-
cq_pluck_data* cqd =
|
1010
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*> DATA_FROM_CQ(cq);
|
1016
1011
|
if (cqd->num_pluckers == GRPC_MAX_COMPLETION_QUEUE_PLUCKERS) {
|
1017
1012
|
return 0;
|
1018
1013
|
}
|
@@ -1024,7 +1019,7 @@ static int add_plucker(grpc_completion_queue* cq, void* tag,
|
|
1024
1019
|
|
1025
1020
|
static void del_plucker(grpc_completion_queue* cq, void* tag,
|
1026
1021
|
grpc_pollset_worker** worker) {
|
1027
|
-
cq_pluck_data* cqd =
|
1022
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*> DATA_FROM_CQ(cq);
|
1028
1023
|
for (int i = 0; i < cqd->num_pluckers; i++) {
|
1029
1024
|
if (cqd->pluckers[i].tag == tag && cqd->pluckers[i].worker == worker) {
|
1030
1025
|
cqd->num_pluckers--;
|
@@ -1040,9 +1035,10 @@ class ExecCtxPluck : public grpc_core::ExecCtx {
|
|
1040
1035
|
ExecCtxPluck(void* arg) : ExecCtx(0), check_ready_to_finish_arg_(arg) {}
|
1041
1036
|
|
1042
1037
|
bool CheckReadyToFinish() override {
|
1043
|
-
cq_is_finished_arg* a =
|
1038
|
+
cq_is_finished_arg* a =
|
1039
|
+
static_cast<cq_is_finished_arg*>(check_ready_to_finish_arg_);
|
1044
1040
|
grpc_completion_queue* cq = a->cq;
|
1045
|
-
cq_pluck_data* cqd =
|
1041
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*> DATA_FROM_CQ(cq);
|
1046
1042
|
|
1047
1043
|
GPR_ASSERT(a->stolen_completion == nullptr);
|
1048
1044
|
gpr_atm current_last_seen_things_queued_ever =
|
@@ -1054,10 +1050,12 @@ class ExecCtxPluck : public grpc_core::ExecCtx {
|
|
1054
1050
|
gpr_atm_no_barrier_load(&cqd->things_queued_ever);
|
1055
1051
|
grpc_cq_completion* c;
|
1056
1052
|
grpc_cq_completion* prev = &cqd->completed_head;
|
1057
|
-
while ((c = (grpc_cq_completion*)(prev->next &
|
1053
|
+
while ((c = (grpc_cq_completion*)(prev->next &
|
1054
|
+
~static_cast<uintptr_t>(1))) !=
|
1058
1055
|
&cqd->completed_head) {
|
1059
1056
|
if (c->tag == a->tag) {
|
1060
|
-
prev->next = (prev->next & (
|
1057
|
+
prev->next = (prev->next & static_cast<uintptr_t>(1)) |
|
1058
|
+
(c->next & ~static_cast<uintptr_t>(1));
|
1061
1059
|
if (c == cqd->completed_tail) {
|
1062
1060
|
cqd->completed_tail = prev;
|
1063
1061
|
}
|
@@ -1078,13 +1076,13 @@ class ExecCtxPluck : public grpc_core::ExecCtx {
|
|
1078
1076
|
|
1079
1077
|
static grpc_event cq_pluck(grpc_completion_queue* cq, void* tag,
|
1080
1078
|
gpr_timespec deadline, void* reserved) {
|
1079
|
+
GPR_TIMER_SCOPE("grpc_completion_queue_pluck", 0);
|
1080
|
+
|
1081
1081
|
grpc_event ret;
|
1082
1082
|
grpc_cq_completion* c;
|
1083
1083
|
grpc_cq_completion* prev;
|
1084
1084
|
grpc_pollset_worker* worker = nullptr;
|
1085
|
-
cq_pluck_data* cqd =
|
1086
|
-
|
1087
|
-
GPR_TIMER_BEGIN("grpc_completion_queue_pluck", 0);
|
1085
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*> DATA_FROM_CQ(cq);
|
1088
1086
|
|
1089
1087
|
if (grpc_cq_pluck_trace.enabled()) {
|
1090
1088
|
GRPC_API_TRACE(
|
@@ -1124,10 +1122,12 @@ static grpc_event cq_pluck(grpc_completion_queue* cq, void* tag,
|
|
1124
1122
|
break;
|
1125
1123
|
}
|
1126
1124
|
prev = &cqd->completed_head;
|
1127
|
-
while (
|
1128
|
-
|
1125
|
+
while (
|
1126
|
+
(c = (grpc_cq_completion*)(prev->next & ~static_cast<uintptr_t>(1))) !=
|
1127
|
+
&cqd->completed_head) {
|
1129
1128
|
if (c->tag == tag) {
|
1130
|
-
prev->next = (prev->next & (
|
1129
|
+
prev->next = (prev->next & static_cast<uintptr_t>(1)) |
|
1130
|
+
(c->next & ~static_cast<uintptr_t>(1));
|
1131
1131
|
if (c == cqd->completed_tail) {
|
1132
1132
|
cqd->completed_tail = prev;
|
1133
1133
|
}
|
@@ -1191,8 +1191,6 @@ done:
|
|
1191
1191
|
|
1192
1192
|
GPR_ASSERT(is_finished_arg.stolen_completion == nullptr);
|
1193
1193
|
|
1194
|
-
GPR_TIMER_END("grpc_completion_queue_pluck", 0);
|
1195
|
-
|
1196
1194
|
return ret;
|
1197
1195
|
}
|
1198
1196
|
|
@@ -1202,7 +1200,7 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue* cq, void* tag,
|
|
1202
1200
|
}
|
1203
1201
|
|
1204
1202
|
static void cq_finish_shutdown_pluck(grpc_completion_queue* cq) {
|
1205
|
-
cq_pluck_data* cqd =
|
1203
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*> DATA_FROM_CQ(cq);
|
1206
1204
|
|
1207
1205
|
GPR_ASSERT(cqd->shutdown_called);
|
1208
1206
|
GPR_ASSERT(!gpr_atm_no_barrier_load(&cqd->shutdown));
|
@@ -1214,7 +1212,7 @@ static void cq_finish_shutdown_pluck(grpc_completion_queue* cq) {
|
|
1214
1212
|
/* NOTE: This function is almost exactly identical to cq_shutdown_next() but
|
1215
1213
|
* merging them is a bit tricky and probably not worth it */
|
1216
1214
|
static void cq_shutdown_pluck(grpc_completion_queue* cq) {
|
1217
|
-
cq_pluck_data* cqd =
|
1215
|
+
cq_pluck_data* cqd = static_cast<cq_pluck_data*> DATA_FROM_CQ(cq);
|
1218
1216
|
|
1219
1217
|
/* Need an extra ref for cq here because:
|
1220
1218
|
* We call cq_finish_shutdown_pluck() below, that would call pollset shutdown.
|
@@ -1240,23 +1238,19 @@ static void cq_shutdown_pluck(grpc_completion_queue* cq) {
|
|
1240
1238
|
/* Shutdown simply drops a ref that we reserved at creation time; if we drop
|
1241
1239
|
to zero here, then enter shutdown mode and wake up any waiters */
|
1242
1240
|
void grpc_completion_queue_shutdown(grpc_completion_queue* cq) {
|
1241
|
+
GPR_TIMER_SCOPE("grpc_completion_queue_shutdown", 0);
|
1243
1242
|
grpc_core::ExecCtx exec_ctx;
|
1244
|
-
GPR_TIMER_BEGIN("grpc_completion_queue_shutdown", 0);
|
1245
1243
|
GRPC_API_TRACE("grpc_completion_queue_shutdown(cq=%p)", 1, (cq));
|
1246
1244
|
cq->vtable->shutdown(cq);
|
1247
|
-
|
1248
|
-
GPR_TIMER_END("grpc_completion_queue_shutdown", 0);
|
1249
1245
|
}
|
1250
1246
|
|
1251
1247
|
void grpc_completion_queue_destroy(grpc_completion_queue* cq) {
|
1248
|
+
GPR_TIMER_SCOPE("grpc_completion_queue_destroy", 0);
|
1252
1249
|
GRPC_API_TRACE("grpc_completion_queue_destroy(cq=%p)", 1, (cq));
|
1253
|
-
GPR_TIMER_BEGIN("grpc_completion_queue_destroy", 0);
|
1254
1250
|
grpc_completion_queue_shutdown(cq);
|
1255
1251
|
|
1256
1252
|
grpc_core::ExecCtx exec_ctx;
|
1257
1253
|
GRPC_CQ_INTERNAL_UNREF(cq, "destroy");
|
1258
|
-
|
1259
|
-
GPR_TIMER_END("grpc_completion_queue_destroy", 0);
|
1260
1254
|
}
|
1261
1255
|
|
1262
1256
|
grpc_pollset* grpc_cq_pollset(grpc_completion_queue* cq) {
|