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
@@ -143,7 +143,7 @@ typedef struct {
|
|
143
143
|
} wrapped_closure;
|
144
144
|
|
145
145
|
inline void closure_wrapper(void* arg, grpc_error* error) {
|
146
|
-
wrapped_closure* wc = (
|
146
|
+
wrapped_closure* wc = static_cast<wrapped_closure*>(arg);
|
147
147
|
grpc_iomgr_cb_func cb = wc->cb;
|
148
148
|
void* cb_arg = wc->cb_arg;
|
149
149
|
gpr_free(wc);
|
@@ -161,7 +161,7 @@ inline grpc_closure* grpc_closure_create(grpc_iomgr_cb_func cb, void* cb_arg,
|
|
161
161
|
grpc_closure_scheduler* scheduler) {
|
162
162
|
#endif
|
163
163
|
closure_impl::wrapped_closure* wc =
|
164
|
-
|
164
|
+
static_cast<closure_impl::wrapped_closure*>(gpr_malloc(sizeof(*wc)));
|
165
165
|
wc->cb = cb;
|
166
166
|
wc->cb_arg = cb_arg;
|
167
167
|
#ifndef NDEBUG
|
@@ -247,7 +247,7 @@ inline void grpc_closure_run(const char* file, int line, grpc_closure* c,
|
|
247
247
|
#else
|
248
248
|
inline void grpc_closure_run(grpc_closure* c, grpc_error* error) {
|
249
249
|
#endif
|
250
|
-
|
250
|
+
GPR_TIMER_SCOPE("grpc_closure_run", 0);
|
251
251
|
if (c != nullptr) {
|
252
252
|
#ifndef NDEBUG
|
253
253
|
c->file_initiated = file;
|
@@ -259,7 +259,6 @@ inline void grpc_closure_run(grpc_closure* c, grpc_error* error) {
|
|
259
259
|
} else {
|
260
260
|
GRPC_ERROR_UNREF(error);
|
261
261
|
}
|
262
|
-
GPR_TIMER_END("grpc_closure_run", 0);
|
263
262
|
}
|
264
263
|
|
265
264
|
/** Run a closure directly. Caller ensures that no locks are being held above.
|
@@ -278,7 +277,7 @@ inline void grpc_closure_sched(const char* file, int line, grpc_closure* c,
|
|
278
277
|
#else
|
279
278
|
inline void grpc_closure_sched(grpc_closure* c, grpc_error* error) {
|
280
279
|
#endif
|
281
|
-
|
280
|
+
GPR_TIMER_SCOPE("grpc_closure_sched", 0);
|
282
281
|
if (c != nullptr) {
|
283
282
|
#ifndef NDEBUG
|
284
283
|
if (c->scheduled) {
|
@@ -299,7 +298,6 @@ inline void grpc_closure_sched(grpc_closure* c, grpc_error* error) {
|
|
299
298
|
} else {
|
300
299
|
GRPC_ERROR_UNREF(error);
|
301
300
|
}
|
302
|
-
GPR_TIMER_END("grpc_closure_sched", 0);
|
303
301
|
}
|
304
302
|
|
305
303
|
/** Schedule a closure to be run. Does not need to be run from a safe point. */
|
@@ -72,7 +72,7 @@ static const grpc_closure_scheduler_vtable finally_scheduler = {
|
|
72
72
|
static void offload(void* arg, grpc_error* error);
|
73
73
|
|
74
74
|
grpc_combiner* grpc_combiner_create(void) {
|
75
|
-
grpc_combiner* lock = (
|
75
|
+
grpc_combiner* lock = static_cast<grpc_combiner*>(gpr_zalloc(sizeof(*lock)));
|
76
76
|
gpr_ref_init(&lock->refs, 1);
|
77
77
|
lock->scheduler.vtable = &scheduler;
|
78
78
|
lock->finally_scheduler.vtable = &finally_scheduler;
|
@@ -153,8 +153,8 @@ static void push_first_on_exec_ctx(grpc_combiner* lock) {
|
|
153
153
|
offsetof(grpc_combiner, scheduler_name)))
|
154
154
|
|
155
155
|
static void combiner_exec(grpc_closure* cl, grpc_error* error) {
|
156
|
+
GPR_TIMER_SCOPE("combiner.execute", 0);
|
156
157
|
GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_ITEMS();
|
157
|
-
GPR_TIMER_BEGIN("combiner.execute", 0);
|
158
158
|
grpc_combiner* lock = COMBINER_FROM_CLOSURE_SCHEDULER(cl, scheduler);
|
159
159
|
gpr_atm last = gpr_atm_full_fetch_add(&lock->state, STATE_ELEM_COUNT_LOW_BIT);
|
160
160
|
GRPC_COMBINER_TRACE(gpr_log(GPR_DEBUG,
|
@@ -181,7 +181,6 @@ static void combiner_exec(grpc_closure* cl, grpc_error* error) {
|
|
181
181
|
assert(cl->cb);
|
182
182
|
cl->error_data.error = error;
|
183
183
|
gpr_mpscq_push(&lock->queue, &cl->next_data.atm_next);
|
184
|
-
GPR_TIMER_END("combiner.execute", 0);
|
185
184
|
}
|
186
185
|
|
187
186
|
static void move_next() {
|
@@ -195,7 +194,7 @@ static void move_next() {
|
|
195
194
|
}
|
196
195
|
|
197
196
|
static void offload(void* arg, grpc_error* error) {
|
198
|
-
grpc_combiner* lock = (
|
197
|
+
grpc_combiner* lock = static_cast<grpc_combiner*>(arg);
|
199
198
|
push_last_on_exec_ctx(lock);
|
200
199
|
}
|
201
200
|
|
@@ -207,11 +206,10 @@ static void queue_offload(grpc_combiner* lock) {
|
|
207
206
|
}
|
208
207
|
|
209
208
|
bool grpc_combiner_continue_exec_ctx() {
|
210
|
-
|
209
|
+
GPR_TIMER_SCOPE("combiner.continue_exec_ctx", 0);
|
211
210
|
grpc_combiner* lock =
|
212
211
|
grpc_core::ExecCtx::Get()->combiner_data()->active_combiner;
|
213
212
|
if (lock == nullptr) {
|
214
|
-
GPR_TIMER_END("combiner.continue_exec_ctx", 0);
|
215
213
|
return false;
|
216
214
|
}
|
217
215
|
|
@@ -233,7 +231,6 @@ bool grpc_combiner_continue_exec_ctx() {
|
|
233
231
|
// this execution context wants to move on: schedule remaining work to be
|
234
232
|
// picked up on the executor
|
235
233
|
queue_offload(lock);
|
236
|
-
GPR_TIMER_END("combiner.continue_exec_ctx", 0);
|
237
234
|
return true;
|
238
235
|
}
|
239
236
|
|
@@ -249,25 +246,23 @@ bool grpc_combiner_continue_exec_ctx() {
|
|
249
246
|
// go off and do something else for a while (and come back later)
|
250
247
|
GPR_TIMER_MARK("delay_busy", 0);
|
251
248
|
queue_offload(lock);
|
252
|
-
GPR_TIMER_END("combiner.continue_exec_ctx", 0);
|
253
249
|
return true;
|
254
250
|
}
|
255
|
-
|
256
|
-
grpc_closure* cl = (
|
251
|
+
GPR_TIMER_SCOPE("combiner.exec1", 0);
|
252
|
+
grpc_closure* cl = reinterpret_cast<grpc_closure*>(n);
|
257
253
|
grpc_error* cl_err = cl->error_data.error;
|
258
254
|
#ifndef NDEBUG
|
259
255
|
cl->scheduled = false;
|
260
256
|
#endif
|
261
257
|
cl->cb(cl->cb_arg, cl_err);
|
262
258
|
GRPC_ERROR_UNREF(cl_err);
|
263
|
-
GPR_TIMER_END("combiner.exec1", 0);
|
264
259
|
} else {
|
265
260
|
grpc_closure* c = lock->final_list.head;
|
266
261
|
GPR_ASSERT(c != nullptr);
|
267
262
|
grpc_closure_list_init(&lock->final_list);
|
268
263
|
int loops = 0;
|
269
264
|
while (c != nullptr) {
|
270
|
-
|
265
|
+
GPR_TIMER_SCOPE("combiner.exec_1final", 0);
|
271
266
|
GRPC_COMBINER_TRACE(
|
272
267
|
gpr_log(GPR_DEBUG, "C:%p execute_final[%d] c=%p", lock, loops, c));
|
273
268
|
grpc_closure* next = c->next_data.next;
|
@@ -278,7 +273,6 @@ bool grpc_combiner_continue_exec_ctx() {
|
|
278
273
|
c->cb(c->cb_arg, error);
|
279
274
|
GRPC_ERROR_UNREF(error);
|
280
275
|
c = next;
|
281
|
-
GPR_TIMER_END("combiner.exec_1final", 0);
|
282
276
|
}
|
283
277
|
}
|
284
278
|
|
@@ -308,41 +302,36 @@ bool grpc_combiner_continue_exec_ctx() {
|
|
308
302
|
break;
|
309
303
|
case OLD_STATE_WAS(false, 1):
|
310
304
|
// had one count, one unorphaned --> unlocked unorphaned
|
311
|
-
GPR_TIMER_END("combiner.continue_exec_ctx", 0);
|
312
305
|
return true;
|
313
306
|
case OLD_STATE_WAS(true, 1):
|
314
307
|
// and one count, one orphaned --> unlocked and orphaned
|
315
308
|
really_destroy(lock);
|
316
|
-
GPR_TIMER_END("combiner.continue_exec_ctx", 0);
|
317
309
|
return true;
|
318
310
|
case OLD_STATE_WAS(false, 0):
|
319
311
|
case OLD_STATE_WAS(true, 0):
|
320
312
|
// these values are illegal - representing an already unlocked or
|
321
313
|
// deleted lock
|
322
|
-
GPR_TIMER_END("combiner.continue_exec_ctx", 0);
|
323
314
|
GPR_UNREACHABLE_CODE(return true);
|
324
315
|
}
|
325
316
|
push_first_on_exec_ctx(lock);
|
326
|
-
GPR_TIMER_END("combiner.continue_exec_ctx", 0);
|
327
317
|
return true;
|
328
318
|
}
|
329
319
|
|
330
320
|
static void enqueue_finally(void* closure, grpc_error* error);
|
331
321
|
|
332
322
|
static void combiner_finally_exec(grpc_closure* closure, grpc_error* error) {
|
323
|
+
GPR_TIMER_SCOPE("combiner.execute_finally", 0);
|
333
324
|
GRPC_STATS_INC_COMBINER_LOCKS_SCHEDULED_FINAL_ITEMS();
|
334
325
|
grpc_combiner* lock =
|
335
326
|
COMBINER_FROM_CLOSURE_SCHEDULER(closure, finally_scheduler);
|
336
327
|
GRPC_COMBINER_TRACE(gpr_log(
|
337
328
|
GPR_DEBUG, "C:%p grpc_combiner_execute_finally c=%p; ac=%p", lock,
|
338
329
|
closure, grpc_core::ExecCtx::Get()->combiner_data()->active_combiner));
|
339
|
-
GPR_TIMER_BEGIN("combiner.execute_finally", 0);
|
340
330
|
if (grpc_core::ExecCtx::Get()->combiner_data()->active_combiner != lock) {
|
341
331
|
GPR_TIMER_MARK("slowpath", 0);
|
342
332
|
GRPC_CLOSURE_SCHED(GRPC_CLOSURE_CREATE(enqueue_finally, closure,
|
343
333
|
grpc_combiner_scheduler(lock)),
|
344
334
|
error);
|
345
|
-
GPR_TIMER_END("combiner.execute_finally", 0);
|
346
335
|
return;
|
347
336
|
}
|
348
337
|
|
@@ -350,11 +339,11 @@ static void combiner_finally_exec(grpc_closure* closure, grpc_error* error) {
|
|
350
339
|
gpr_atm_full_fetch_add(&lock->state, STATE_ELEM_COUNT_LOW_BIT);
|
351
340
|
}
|
352
341
|
grpc_closure_list_append(&lock->final_list, closure, error);
|
353
|
-
GPR_TIMER_END("combiner.execute_finally", 0);
|
354
342
|
}
|
355
343
|
|
356
344
|
static void enqueue_finally(void* closure, grpc_error* error) {
|
357
|
-
combiner_finally_exec((
|
345
|
+
combiner_finally_exec(static_cast<grpc_closure*>(closure),
|
346
|
+
GRPC_ERROR_REF(error));
|
358
347
|
}
|
359
348
|
|
360
349
|
grpc_closure_scheduler* grpc_combiner_scheduler(grpc_combiner* combiner) {
|
data/src/core/lib/iomgr/error.cc
CHANGED
@@ -26,13 +26,13 @@
|
|
26
26
|
#include <grpc/support/alloc.h>
|
27
27
|
#include <grpc/support/log.h>
|
28
28
|
#include <grpc/support/string_util.h>
|
29
|
-
#include <grpc/support/useful.h>
|
30
29
|
|
31
30
|
#ifdef GPR_WINDOWS
|
32
31
|
#include <grpc/support/log_windows.h>
|
33
32
|
#endif
|
34
33
|
|
35
34
|
#include "src/core/lib/debug/trace.h"
|
35
|
+
#include "src/core/lib/gpr/useful.h"
|
36
36
|
#include "src/core/lib/iomgr/error_internal.h"
|
37
37
|
#include "src/core/lib/profiling/timers.h"
|
38
38
|
#include "src/core/lib/slice/slice_internal.h"
|
@@ -148,7 +148,8 @@ grpc_error* grpc_error_ref(grpc_error* err) {
|
|
148
148
|
static void unref_errs(grpc_error* err) {
|
149
149
|
uint8_t slot = err->first_err;
|
150
150
|
while (slot != UINT8_MAX) {
|
151
|
-
grpc_linked_error* lerr =
|
151
|
+
grpc_linked_error* lerr =
|
152
|
+
reinterpret_cast<grpc_linked_error*>(err->arena + slot);
|
152
153
|
GRPC_ERROR_UNREF(lerr->err);
|
153
154
|
GPR_ASSERT(err->last_err == slot ? lerr->next == UINT8_MAX
|
154
155
|
: lerr->next != UINT8_MAX);
|
@@ -162,7 +163,7 @@ static void unref_strs(grpc_error* err) {
|
|
162
163
|
for (size_t which = 0; which < GRPC_ERROR_STR_MAX; ++which) {
|
163
164
|
uint8_t slot = err->strs[which];
|
164
165
|
if (slot != UINT8_MAX) {
|
165
|
-
unref_slice(*
|
166
|
+
unref_slice(*reinterpret_cast<grpc_slice*>(err->arena + slot));
|
166
167
|
}
|
167
168
|
}
|
168
169
|
}
|
@@ -198,18 +199,18 @@ void grpc_error_unref(grpc_error* err) {
|
|
198
199
|
|
199
200
|
static uint8_t get_placement(grpc_error** err, size_t size) {
|
200
201
|
GPR_ASSERT(*err);
|
201
|
-
uint8_t slots =
|
202
|
+
uint8_t slots = static_cast<uint8_t>(size / sizeof(intptr_t));
|
202
203
|
if ((*err)->arena_size + slots > (*err)->arena_capacity) {
|
203
|
-
(*err)->arena_capacity =
|
204
|
-
|
204
|
+
(*err)->arena_capacity = static_cast<uint8_t> GPR_MIN(
|
205
|
+
UINT8_MAX - 1, (3 * (*err)->arena_capacity / 2));
|
205
206
|
if ((*err)->arena_size + slots > (*err)->arena_capacity) {
|
206
207
|
return UINT8_MAX;
|
207
208
|
}
|
208
209
|
#ifndef NDEBUG
|
209
210
|
grpc_error* orig = *err;
|
210
211
|
#endif
|
211
|
-
*err = (
|
212
|
-
*err, sizeof(grpc_error) + (*err)->arena_capacity * sizeof(intptr_t));
|
212
|
+
*err = static_cast<grpc_error*>(gpr_realloc(
|
213
|
+
*err, sizeof(grpc_error) + (*err)->arena_capacity * sizeof(intptr_t)));
|
213
214
|
#ifndef NDEBUG
|
214
215
|
if (grpc_trace_error_refcount.enabled()) {
|
215
216
|
if (*err != orig) {
|
@@ -219,7 +220,7 @@ static uint8_t get_placement(grpc_error** err, size_t size) {
|
|
219
220
|
#endif
|
220
221
|
}
|
221
222
|
uint8_t placement = (*err)->arena_size;
|
222
|
-
(*err)->arena_size =
|
223
|
+
(*err)->arena_size = static_cast<uint8_t>((*err)->arena_size + slots);
|
223
224
|
return placement;
|
224
225
|
}
|
225
226
|
|
@@ -251,7 +252,7 @@ static void internal_set_str(grpc_error** err, grpc_error_strs which,
|
|
251
252
|
return;
|
252
253
|
}
|
253
254
|
} else {
|
254
|
-
unref_slice(*
|
255
|
+
unref_slice(*reinterpret_cast<grpc_slice*>((*err)->arena + slot));
|
255
256
|
}
|
256
257
|
(*err)->strs[which] = slot;
|
257
258
|
memcpy((*err)->arena + slot, &value, sizeof(value));
|
@@ -291,7 +292,7 @@ static void internal_add_error(grpc_error** err, grpc_error* new_err) {
|
|
291
292
|
} else {
|
292
293
|
GPR_ASSERT((*err)->last_err != UINT8_MAX);
|
293
294
|
grpc_linked_error* old_last =
|
294
|
-
|
295
|
+
reinterpret_cast<grpc_linked_error*>((*err)->arena + (*err)->last_err);
|
295
296
|
old_last->next = slot;
|
296
297
|
(*err)->last_err = slot;
|
297
298
|
}
|
@@ -314,12 +315,13 @@ static void internal_add_error(grpc_error** err, grpc_error* new_err) {
|
|
314
315
|
grpc_error* grpc_error_create(const char* file, int line, grpc_slice desc,
|
315
316
|
grpc_error** referencing,
|
316
317
|
size_t num_referencing) {
|
317
|
-
|
318
|
-
uint8_t initial_arena_capacity =
|
318
|
+
GPR_TIMER_SCOPE("grpc_error_create", 0);
|
319
|
+
uint8_t initial_arena_capacity = static_cast<uint8_t>(
|
319
320
|
DEFAULT_ERROR_CAPACITY +
|
320
|
-
|
321
|
-
|
322
|
-
|
321
|
+
static_cast<uint8_t>(num_referencing * SLOTS_PER_LINKED_ERROR) +
|
322
|
+
SURPLUS_CAPACITY);
|
323
|
+
grpc_error* err = static_cast<grpc_error*>(
|
324
|
+
gpr_malloc(sizeof(*err) + initial_arena_capacity * sizeof(intptr_t)));
|
323
325
|
if (err == nullptr) { // TODO(ctiller): make gpr_malloc return NULL
|
324
326
|
return GRPC_ERROR_OOM;
|
325
327
|
}
|
@@ -355,7 +357,6 @@ grpc_error* grpc_error_create(const char* file, int line, grpc_slice desc,
|
|
355
357
|
|
356
358
|
gpr_atm_no_barrier_store(&err->atomics.error_string, 0);
|
357
359
|
gpr_ref_init(&err->atomics.refs, 1);
|
358
|
-
GPR_TIMER_END("grpc_error_create", 0);
|
359
360
|
return err;
|
360
361
|
}
|
361
362
|
|
@@ -363,7 +364,8 @@ static void ref_strs(grpc_error* err) {
|
|
363
364
|
for (size_t i = 0; i < GRPC_ERROR_STR_MAX; ++i) {
|
364
365
|
uint8_t slot = err->strs[i];
|
365
366
|
if (slot != UINT8_MAX) {
|
366
|
-
grpc_slice_ref_internal(
|
367
|
+
grpc_slice_ref_internal(
|
368
|
+
*reinterpret_cast<grpc_slice*>(err->arena + slot));
|
367
369
|
}
|
368
370
|
}
|
369
371
|
}
|
@@ -371,14 +373,15 @@ static void ref_strs(grpc_error* err) {
|
|
371
373
|
static void ref_errs(grpc_error* err) {
|
372
374
|
uint8_t slot = err->first_err;
|
373
375
|
while (slot != UINT8_MAX) {
|
374
|
-
grpc_linked_error* lerr =
|
376
|
+
grpc_linked_error* lerr =
|
377
|
+
reinterpret_cast<grpc_linked_error*>(err->arena + slot);
|
375
378
|
GRPC_ERROR_REF(lerr->err);
|
376
379
|
slot = lerr->next;
|
377
380
|
}
|
378
381
|
}
|
379
382
|
|
380
383
|
static grpc_error* copy_error_and_unref(grpc_error* in) {
|
381
|
-
|
384
|
+
GPR_TIMER_SCOPE("copy_error_and_unref", 0);
|
382
385
|
grpc_error* out;
|
383
386
|
if (grpc_error_is_special(in)) {
|
384
387
|
out = GRPC_ERROR_CREATE_FROM_STATIC_STRING("unknown");
|
@@ -400,11 +403,12 @@ static grpc_error* copy_error_and_unref(grpc_error* in) {
|
|
400
403
|
uint8_t new_arena_capacity = in->arena_capacity;
|
401
404
|
// the returned err will be added to, so we ensure this is room to avoid
|
402
405
|
// unneeded allocations.
|
403
|
-
if (in->arena_capacity - in->arena_size <
|
404
|
-
|
406
|
+
if (in->arena_capacity - in->arena_size <
|
407
|
+
static_cast<uint8_t> SLOTS_PER_STR) {
|
408
|
+
new_arena_capacity = static_cast<uint8_t>(3 * new_arena_capacity / 2);
|
405
409
|
}
|
406
|
-
out =
|
407
|
-
|
410
|
+
out = static_cast<grpc_error*>(
|
411
|
+
gpr_malloc(sizeof(*in) + new_arena_capacity * sizeof(intptr_t)));
|
408
412
|
#ifndef NDEBUG
|
409
413
|
if (grpc_trace_error_refcount.enabled()) {
|
410
414
|
gpr_log(GPR_DEBUG, "%p create copying %p", out, in);
|
@@ -422,16 +426,14 @@ static grpc_error* copy_error_and_unref(grpc_error* in) {
|
|
422
426
|
ref_errs(out);
|
423
427
|
GRPC_ERROR_UNREF(in);
|
424
428
|
}
|
425
|
-
GPR_TIMER_END("copy_error_and_unref", 0);
|
426
429
|
return out;
|
427
430
|
}
|
428
431
|
|
429
432
|
grpc_error* grpc_error_set_int(grpc_error* src, grpc_error_ints which,
|
430
433
|
intptr_t value) {
|
431
|
-
|
434
|
+
GPR_TIMER_SCOPE("grpc_error_set_int", 0);
|
432
435
|
grpc_error* new_err = copy_error_and_unref(src);
|
433
436
|
internal_set_int(&new_err, which, value);
|
434
|
-
GPR_TIMER_END("grpc_error_set_int", 0);
|
435
437
|
return new_err;
|
436
438
|
}
|
437
439
|
|
@@ -447,36 +449,31 @@ static special_error_status_map error_status_map[] = {
|
|
447
449
|
};
|
448
450
|
|
449
451
|
bool grpc_error_get_int(grpc_error* err, grpc_error_ints which, intptr_t* p) {
|
450
|
-
|
452
|
+
GPR_TIMER_SCOPE("grpc_error_get_int", 0);
|
451
453
|
if (grpc_error_is_special(err)) {
|
452
454
|
if (which == GRPC_ERROR_INT_GRPC_STATUS) {
|
453
455
|
for (size_t i = 0; i < GPR_ARRAY_SIZE(error_status_map); i++) {
|
454
456
|
if (error_status_map[i].error == err) {
|
455
457
|
if (p != nullptr) *p = error_status_map[i].code;
|
456
|
-
GPR_TIMER_END("grpc_error_get_int", 0);
|
457
458
|
return true;
|
458
459
|
}
|
459
460
|
}
|
460
461
|
}
|
461
|
-
GPR_TIMER_END("grpc_error_get_int", 0);
|
462
462
|
return false;
|
463
463
|
}
|
464
464
|
uint8_t slot = err->ints[which];
|
465
465
|
if (slot != UINT8_MAX) {
|
466
466
|
if (p != nullptr) *p = err->arena[slot];
|
467
|
-
GPR_TIMER_END("grpc_error_get_int", 0);
|
468
467
|
return true;
|
469
468
|
}
|
470
|
-
GPR_TIMER_END("grpc_error_get_int", 0);
|
471
469
|
return false;
|
472
470
|
}
|
473
471
|
|
474
472
|
grpc_error* grpc_error_set_str(grpc_error* src, grpc_error_strs which,
|
475
473
|
grpc_slice str) {
|
476
|
-
|
474
|
+
GPR_TIMER_SCOPE("grpc_error_set_str", 0);
|
477
475
|
grpc_error* new_err = copy_error_and_unref(src);
|
478
476
|
internal_set_str(&new_err, which, str);
|
479
|
-
GPR_TIMER_END("grpc_error_set_str", 0);
|
480
477
|
return new_err;
|
481
478
|
}
|
482
479
|
|
@@ -495,7 +492,7 @@ bool grpc_error_get_str(grpc_error* err, grpc_error_strs which,
|
|
495
492
|
}
|
496
493
|
uint8_t slot = err->strs[which];
|
497
494
|
if (slot != UINT8_MAX) {
|
498
|
-
*str = *
|
495
|
+
*str = *reinterpret_cast<grpc_slice*>(err->arena + slot);
|
499
496
|
return true;
|
500
497
|
} else {
|
501
498
|
return false;
|
@@ -503,10 +500,9 @@ bool grpc_error_get_str(grpc_error* err, grpc_error_strs which,
|
|
503
500
|
}
|
504
501
|
|
505
502
|
grpc_error* grpc_error_add_child(grpc_error* src, grpc_error* child) {
|
506
|
-
|
503
|
+
GPR_TIMER_SCOPE("grpc_error_add_child", 0);
|
507
504
|
grpc_error* new_err = copy_error_and_unref(src);
|
508
505
|
internal_add_error(&new_err, child);
|
509
|
-
GPR_TIMER_END("grpc_error_add_child", 0);
|
510
506
|
return new_err;
|
511
507
|
}
|
512
508
|
|
@@ -528,7 +524,7 @@ typedef struct {
|
|
528
524
|
static void append_chr(char c, char** s, size_t* sz, size_t* cap) {
|
529
525
|
if (*sz == *cap) {
|
530
526
|
*cap = GPR_MAX(8, 3 * *cap / 2);
|
531
|
-
*s = (
|
527
|
+
*s = static_cast<char*>(gpr_realloc(*s, *cap));
|
532
528
|
}
|
533
529
|
(*s)[(*sz)++] = c;
|
534
530
|
}
|
@@ -571,7 +567,7 @@ static void append_esc_str(const uint8_t* str, size_t len, char** s, size_t* sz,
|
|
571
567
|
break;
|
572
568
|
}
|
573
569
|
} else {
|
574
|
-
append_chr((
|
570
|
+
append_chr(static_cast<char>(*str), s, sz, cap);
|
575
571
|
}
|
576
572
|
}
|
577
573
|
append_chr('"', s, sz, cap);
|
@@ -580,8 +576,8 @@ static void append_esc_str(const uint8_t* str, size_t len, char** s, size_t* sz,
|
|
580
576
|
static void append_kv(kv_pairs* kvs, char* key, char* value) {
|
581
577
|
if (kvs->num_kvs == kvs->cap_kvs) {
|
582
578
|
kvs->cap_kvs = GPR_MAX(3 * kvs->cap_kvs / 2, 4);
|
583
|
-
kvs->kvs =
|
584
|
-
|
579
|
+
kvs->kvs = static_cast<kv_pair*>(
|
580
|
+
gpr_realloc(kvs->kvs, sizeof(*kvs->kvs) * kvs->cap_kvs));
|
585
581
|
}
|
586
582
|
kvs->kvs[kvs->num_kvs].key = key;
|
587
583
|
kvs->kvs[kvs->num_kvs].value = value;
|
@@ -602,7 +598,7 @@ static void collect_ints_kvs(grpc_error* err, kv_pairs* kvs) {
|
|
602
598
|
for (size_t which = 0; which < GRPC_ERROR_INT_MAX; ++which) {
|
603
599
|
uint8_t slot = err->ints[which];
|
604
600
|
if (slot != UINT8_MAX) {
|
605
|
-
append_kv(kvs, key_int((
|
601
|
+
append_kv(kvs, key_int(static_cast<grpc_error_ints>(which)),
|
606
602
|
fmt_int(err->arena[slot]));
|
607
603
|
}
|
608
604
|
}
|
@@ -626,8 +622,8 @@ static void collect_strs_kvs(grpc_error* err, kv_pairs* kvs) {
|
|
626
622
|
for (size_t which = 0; which < GRPC_ERROR_STR_MAX; ++which) {
|
627
623
|
uint8_t slot = err->strs[which];
|
628
624
|
if (slot != UINT8_MAX) {
|
629
|
-
append_kv(kvs, key_str((
|
630
|
-
fmt_str(*
|
625
|
+
append_kv(kvs, key_str(static_cast<grpc_error_strs>(which)),
|
626
|
+
fmt_str(*reinterpret_cast<grpc_slice*>(err->arena + slot)));
|
631
627
|
}
|
632
628
|
}
|
633
629
|
}
|
@@ -661,8 +657,8 @@ static void collect_times_kvs(grpc_error* err, kv_pairs* kvs) {
|
|
661
657
|
for (size_t which = 0; which < GRPC_ERROR_TIME_MAX; ++which) {
|
662
658
|
uint8_t slot = err->times[which];
|
663
659
|
if (slot != UINT8_MAX) {
|
664
|
-
append_kv(kvs, key_time((
|
665
|
-
fmt_time(*
|
660
|
+
append_kv(kvs, key_time(static_cast<grpc_error_times>(which)),
|
661
|
+
fmt_time(*reinterpret_cast<gpr_timespec*>(err->arena + slot)));
|
666
662
|
}
|
667
663
|
}
|
668
664
|
}
|
@@ -671,7 +667,8 @@ static void add_errs(grpc_error* err, char** s, size_t* sz, size_t* cap) {
|
|
671
667
|
uint8_t slot = err->first_err;
|
672
668
|
bool first = true;
|
673
669
|
while (slot != UINT8_MAX) {
|
674
|
-
grpc_linked_error* lerr =
|
670
|
+
grpc_linked_error* lerr =
|
671
|
+
reinterpret_cast<grpc_linked_error*>(err->arena + slot);
|
675
672
|
if (!first) append_chr(',', s, sz, cap);
|
676
673
|
first = false;
|
677
674
|
const char* e = grpc_error_string(lerr->err);
|
@@ -694,8 +691,8 @@ static char* errs_string(grpc_error* err) {
|
|
694
691
|
}
|
695
692
|
|
696
693
|
static int cmp_kvs(const void* a, const void* b) {
|
697
|
-
const kv_pair* ka =
|
698
|
-
const kv_pair* kb =
|
694
|
+
const kv_pair* ka = static_cast<const kv_pair*>(a);
|
695
|
+
const kv_pair* kb = static_cast<const kv_pair*>(b);
|
699
696
|
return strcmp(ka->key, kb->key);
|
700
697
|
}
|
701
698
|
|
@@ -707,8 +704,8 @@ static char* finish_kvs(kv_pairs* kvs) {
|
|
707
704
|
append_chr('{', &s, &sz, &cap);
|
708
705
|
for (size_t i = 0; i < kvs->num_kvs; i++) {
|
709
706
|
if (i != 0) append_chr(',', &s, &sz, &cap);
|
710
|
-
append_esc_str(
|
711
|
-
&sz, &cap);
|
707
|
+
append_esc_str(reinterpret_cast<const uint8_t*>(kvs->kvs[i].key),
|
708
|
+
strlen(kvs->kvs[i].key), &s, &sz, &cap);
|
712
709
|
gpr_free(kvs->kvs[i].key);
|
713
710
|
append_chr(':', &s, &sz, &cap);
|
714
711
|
append_str(kvs->kvs[i].value, &s, &sz, &cap);
|
@@ -722,15 +719,14 @@ static char* finish_kvs(kv_pairs* kvs) {
|
|
722
719
|
}
|
723
720
|
|
724
721
|
const char* grpc_error_string(grpc_error* err) {
|
725
|
-
|
722
|
+
GPR_TIMER_SCOPE("grpc_error_string", 0);
|
726
723
|
if (err == GRPC_ERROR_NONE) return no_error_string;
|
727
724
|
if (err == GRPC_ERROR_OOM) return oom_error_string;
|
728
725
|
if (err == GRPC_ERROR_CANCELLED) return cancelled_error_string;
|
729
726
|
|
730
727
|
void* p = (void*)gpr_atm_acq_load(&err->atomics.error_string);
|
731
728
|
if (p != nullptr) {
|
732
|
-
|
733
|
-
return (const char*)p;
|
729
|
+
return static_cast<const char*>(p);
|
734
730
|
}
|
735
731
|
|
736
732
|
kv_pairs kvs;
|
@@ -752,7 +748,6 @@ const char* grpc_error_string(grpc_error* err) {
|
|
752
748
|
out = (char*)gpr_atm_acq_load(&err->atomics.error_string);
|
753
749
|
}
|
754
750
|
|
755
|
-
GPR_TIMER_END("grpc_error_string", 0);
|
756
751
|
return out;
|
757
752
|
}
|
758
753
|
|