Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(558)

Side by Side Diff: net/quic/chromium/quic_chromium_client_session.cc

Issue 2327923002: Revert of Remove obsolete QUIC disabling code. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/chromium/quic_chromium_client_session.h" 5 #include "net/quic/chromium/quic_chromium_client_session.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/callback_helpers.h" 9 #include "base/callback_helpers.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 num_total_streams_(0), 226 num_total_streams_(0),
227 task_runner_(task_runner), 227 task_runner_(task_runner),
228 net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_QUIC_SESSION)), 228 net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_QUIC_SESSION)),
229 dns_resolution_end_time_(dns_resolution_end_time), 229 dns_resolution_end_time_(dns_resolution_end_time),
230 logger_(new QuicConnectionLogger(this, 230 logger_(new QuicConnectionLogger(this,
231 connection_description, 231 connection_description,
232 std::move(socket_performance_watcher), 232 std::move(socket_performance_watcher),
233 net_log_)), 233 net_log_)),
234 going_away_(false), 234 going_away_(false),
235 port_migration_detected_(false), 235 port_migration_detected_(false),
236 disabled_reason_(QUIC_DISABLED_NOT),
236 token_binding_signatures_(kTokenBindingSignatureMapSize), 237 token_binding_signatures_(kTokenBindingSignatureMapSize),
237 streams_pushed_count_(0), 238 streams_pushed_count_(0),
238 streams_pushed_and_claimed_count_(0), 239 streams_pushed_and_claimed_count_(0),
239 error_code_from_rewrite_(OK), 240 error_code_from_rewrite_(OK),
240 use_error_code_from_rewrite_(false), 241 use_error_code_from_rewrite_(false),
241 weak_factory_(this) { 242 weak_factory_(this) {
242 sockets_.push_back(std::move(socket)); 243 sockets_.push_back(std::move(socket));
243 packet_readers_.push_back(base::WrapUnique(new QuicChromiumPacketReader( 244 packet_readers_.push_back(base::WrapUnique(new QuicChromiumPacketReader(
244 sockets_.back().get(), clock, this, yield_after_packets, 245 sockets_.back().get(), clock, this, yield_after_packets,
245 yield_after_duration, net_log_))); 246 yield_after_duration, net_log_)));
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 new_address = IPEndPoint(ConvertIPv4ToIPv4MappedIPv6(new_address.address()), 749 new_address = IPEndPoint(ConvertIPv4ToIPv4MappedIPv6(new_address.address()),
749 new_address.port()); 750 new_address.port());
750 } 751 }
751 752
752 stream_factory_->MigrateSessionToNewPeerAddress(this, new_address, net_log_); 753 stream_factory_->MigrateSessionToNewPeerAddress(this, new_address, net_log_);
753 } 754 }
754 755
755 void QuicChromiumClientSession::OnCryptoHandshakeEvent( 756 void QuicChromiumClientSession::OnCryptoHandshakeEvent(
756 CryptoHandshakeEvent event) { 757 CryptoHandshakeEvent event) {
757 if (stream_factory_ && event == HANDSHAKE_CONFIRMED && 758 if (stream_factory_ && event == HANDSHAKE_CONFIRMED &&
758 stream_factory_->OnHandshakeConfirmed(this)) { 759 (stream_factory_->OnHandshakeConfirmed(
760 this, logger_->ReceivedPacketLossRate()))) {
759 return; 761 return;
760 } 762 }
761 763
762 if (!callback_.is_null() && 764 if (!callback_.is_null() &&
763 (!require_confirmation_ || event == HANDSHAKE_CONFIRMED || 765 (!require_confirmation_ || event == HANDSHAKE_CONFIRMED ||
764 event == ENCRYPTION_REESTABLISHED)) { 766 event == ENCRYPTION_REESTABLISHED)) {
765 // TODO(rtenneti): Currently for all CryptoHandshakeEvent events, callback_ 767 // TODO(rtenneti): Currently for all CryptoHandshakeEvent events, callback_
766 // could be called because there are no error events in CryptoHandshakeEvent 768 // could be called because there are no error events in CryptoHandshakeEvent
767 // enum. If error events are added to CryptoHandshakeEvent, then the 769 // enum. If error events are added to CryptoHandshakeEvent, then the
768 // following code needs to changed. 770 // following code needs to changed.
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
873 if (error == QUIC_NETWORK_IDLE_TIMEOUT) { 875 if (error == QUIC_NETWORK_IDLE_TIMEOUT) {
874 UMA_HISTOGRAM_COUNTS( 876 UMA_HISTOGRAM_COUNTS(
875 "Net.QuicSession.ConnectionClose.NumOpenStreams.TimedOut", 877 "Net.QuicSession.ConnectionClose.NumOpenStreams.TimedOut",
876 GetNumOpenOutgoingStreams()); 878 GetNumOpenOutgoingStreams());
877 // Notify the factory the connection timed out with open streams. 879 // Notify the factory the connection timed out with open streams.
878 if (GetNumOpenOutgoingStreams() > 0 && stream_factory_) { 880 if (GetNumOpenOutgoingStreams() > 0 && stream_factory_) {
879 stream_factory_->OnTimeoutWithOpenStreams(); 881 stream_factory_->OnTimeoutWithOpenStreams();
880 } 882 }
881 if (IsCryptoHandshakeConfirmed()) { 883 if (IsCryptoHandshakeConfirmed()) {
882 if (GetNumOpenOutgoingStreams() > 0) { 884 if (GetNumOpenOutgoingStreams() > 0) {
885 disabled_reason_ = QUIC_DISABLED_TIMEOUT_WITH_OPEN_STREAMS;
883 UMA_HISTOGRAM_BOOLEAN( 886 UMA_HISTOGRAM_BOOLEAN(
884 "Net.QuicSession.TimedOutWithOpenStreams.HasUnackedPackets", 887 "Net.QuicSession.TimedOutWithOpenStreams.HasUnackedPackets",
885 connection()->sent_packet_manager().HasUnackedPackets()); 888 connection()->sent_packet_manager().HasUnackedPackets());
886 UMA_HISTOGRAM_COUNTS( 889 UMA_HISTOGRAM_COUNTS(
887 "Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveRTOCount", 890 "Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveRTOCount",
888 connection()->sent_packet_manager().GetConsecutiveRtoCount()); 891 connection()->sent_packet_manager().GetConsecutiveRtoCount());
889 UMA_HISTOGRAM_COUNTS( 892 UMA_HISTOGRAM_COUNTS(
890 "Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveTLPCount", 893 "Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveTLPCount",
891 connection()->sent_packet_manager().GetConsecutiveTlpCount()); 894 connection()->sent_packet_manager().GetConsecutiveTlpCount());
892 UMA_HISTOGRAM_SPARSE_SLOWLY( 895 UMA_HISTOGRAM_SPARSE_SLOWLY(
(...skipping 17 matching lines...) Expand all
910 RecordHandshakeFailureReason(HANDSHAKE_FAILURE_BLACK_HOLE); 913 RecordHandshakeFailureReason(HANDSHAKE_FAILURE_BLACK_HOLE);
911 UMA_HISTOGRAM_SPARSE_SLOWLY( 914 UMA_HISTOGRAM_SPARSE_SLOWLY(
912 "Net.QuicSession.ConnectionClose.HandshakeFailureBlackHole.QuicError", 915 "Net.QuicSession.ConnectionClose.HandshakeFailureBlackHole.QuicError",
913 error); 916 error);
914 } else { 917 } else {
915 RecordHandshakeFailureReason(HANDSHAKE_FAILURE_UNKNOWN); 918 RecordHandshakeFailureReason(HANDSHAKE_FAILURE_UNKNOWN);
916 UMA_HISTOGRAM_SPARSE_SLOWLY( 919 UMA_HISTOGRAM_SPARSE_SLOWLY(
917 "Net.QuicSession.ConnectionClose.HandshakeFailureUnknown.QuicError", 920 "Net.QuicSession.ConnectionClose.HandshakeFailureUnknown.QuicError",
918 error); 921 error);
919 } 922 }
923 } else if (error == QUIC_PUBLIC_RESET) {
924 disabled_reason_ = QUIC_DISABLED_PUBLIC_RESET_POST_HANDSHAKE;
920 } 925 }
921 926
922 UMA_HISTOGRAM_SPARSE_SLOWLY("Net.QuicSession.QuicVersion", 927 UMA_HISTOGRAM_SPARSE_SLOWLY("Net.QuicSession.QuicVersion",
923 connection()->version()); 928 connection()->version());
924 NotifyFactoryOfSessionGoingAway(); 929 NotifyFactoryOfSessionGoingAway();
925 QuicSession::OnConnectionClosed(error, error_details, source); 930 QuicSession::OnConnectionClosed(error, error_details, source);
926 931
927 if (!callback_.is_null()) { 932 if (!callback_.is_null()) {
928 base::ResetAndReturn(&callback_).Run(ERR_QUIC_PROTOCOL_ERROR); 933 base::ResetAndReturn(&callback_).Run(ERR_QUIC_PROTOCOL_ERROR);
929 } 934 }
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
1222 } 1227 }
1223 1228
1224 void QuicChromiumClientSession::DeletePromised( 1229 void QuicChromiumClientSession::DeletePromised(
1225 QuicClientPromisedInfo* promised) { 1230 QuicClientPromisedInfo* promised) {
1226 if (IsOpenStream(promised->id())) 1231 if (IsOpenStream(promised->id()))
1227 streams_pushed_and_claimed_count_++; 1232 streams_pushed_and_claimed_count_++;
1228 QuicClientSessionBase::DeletePromised(promised); 1233 QuicClientSessionBase::DeletePromised(promised);
1229 } 1234 }
1230 1235
1231 } // namespace net 1236 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/chromium/quic_chromium_client_session.h ('k') | net/quic/chromium/quic_stream_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698