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

Side by Side Diff: net/quic/quic_stream_factory.cc

Issue 1973403002: QUIC - Add back to code to experiment with delay_tcp_race. By default, (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « net/quic/quic_stream_factory.h ('k') | net/quic/quic_stream_factory_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/quic_stream_factory.h" 5 #include "net/quic/quic_stream_factory.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <tuple> 8 #include <tuple>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 bool enable_connection_racing, 580 bool enable_connection_racing,
581 bool enable_non_blocking_io, 581 bool enable_non_blocking_io,
582 bool disable_disk_cache, 582 bool disable_disk_cache,
583 bool prefer_aes, 583 bool prefer_aes,
584 int max_number_of_lossy_connections, 584 int max_number_of_lossy_connections,
585 float packet_loss_threshold, 585 float packet_loss_threshold,
586 int max_disabled_reasons, 586 int max_disabled_reasons,
587 int threshold_public_resets_post_handshake, 587 int threshold_public_resets_post_handshake,
588 int threshold_timeouts_with_open_streams, 588 int threshold_timeouts_with_open_streams,
589 int socket_receive_buffer_size, 589 int socket_receive_buffer_size,
590 bool delay_tcp_race,
590 int max_server_configs_stored_in_properties, 591 int max_server_configs_stored_in_properties,
591 bool close_sessions_on_ip_change, 592 bool close_sessions_on_ip_change,
592 bool disable_quic_on_timeout_with_open_streams, 593 bool disable_quic_on_timeout_with_open_streams,
593 int idle_connection_timeout_seconds, 594 int idle_connection_timeout_seconds,
594 bool migrate_sessions_on_network_change, 595 bool migrate_sessions_on_network_change,
595 bool migrate_sessions_early, 596 bool migrate_sessions_early,
596 const QuicTagVector& connection_options, 597 const QuicTagVector& connection_options,
597 bool enable_token_binding) 598 bool enable_token_binding)
598 : require_confirmation_(true), 599 : require_confirmation_(true),
599 host_resolver_(host_resolver), 600 host_resolver_(host_resolver),
(...skipping 28 matching lines...) Expand all
628 max_disabled_reasons_(max_disabled_reasons), 629 max_disabled_reasons_(max_disabled_reasons),
629 num_public_resets_post_handshake_(0), 630 num_public_resets_post_handshake_(0),
630 num_timeouts_with_open_streams_(0), 631 num_timeouts_with_open_streams_(0),
631 max_public_resets_post_handshake_(0), 632 max_public_resets_post_handshake_(0),
632 max_timeouts_with_open_streams_(0), 633 max_timeouts_with_open_streams_(0),
633 threshold_timeouts_with_open_streams_( 634 threshold_timeouts_with_open_streams_(
634 threshold_timeouts_with_open_streams), 635 threshold_timeouts_with_open_streams),
635 threshold_public_resets_post_handshake_( 636 threshold_public_resets_post_handshake_(
636 threshold_public_resets_post_handshake), 637 threshold_public_resets_post_handshake),
637 socket_receive_buffer_size_(socket_receive_buffer_size), 638 socket_receive_buffer_size_(socket_receive_buffer_size),
639 delay_tcp_race_(delay_tcp_race),
638 yield_after_packets_(kQuicYieldAfterPacketsRead), 640 yield_after_packets_(kQuicYieldAfterPacketsRead),
639 yield_after_duration_(QuicTime::Delta::FromMilliseconds( 641 yield_after_duration_(QuicTime::Delta::FromMilliseconds(
640 kQuicYieldAfterDurationMilliseconds)), 642 kQuicYieldAfterDurationMilliseconds)),
641 close_sessions_on_ip_change_(close_sessions_on_ip_change), 643 close_sessions_on_ip_change_(close_sessions_on_ip_change),
642 migrate_sessions_on_network_change_( 644 migrate_sessions_on_network_change_(
643 migrate_sessions_on_network_change && 645 migrate_sessions_on_network_change &&
644 NetworkChangeNotifier::AreNetworkHandlesSupported()), 646 NetworkChangeNotifier::AreNetworkHandlesSupported()),
645 migrate_sessions_early_(migrate_sessions_early && 647 migrate_sessions_early_(migrate_sessions_early &&
646 migrate_sessions_on_network_change_), 648 migrate_sessions_on_network_change_),
647 port_seed_(random_generator_->RandUint64()), 649 port_seed_(random_generator_->RandUint64()),
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 local_address_.address()); 726 local_address_.address());
725 } 727 }
726 } 728 }
727 729
728 bool QuicStreamFactory::ZeroRTTEnabledFor(const QuicServerId& quic_server_id) { 730 bool QuicStreamFactory::ZeroRTTEnabledFor(const QuicServerId& quic_server_id) {
729 return !(require_confirmation_ || CryptoConfigCacheIsEmpty(quic_server_id)); 731 return !(require_confirmation_ || CryptoConfigCacheIsEmpty(quic_server_id));
730 } 732 }
731 733
732 base::TimeDelta QuicStreamFactory::GetTimeDelayForWaitingJob( 734 base::TimeDelta QuicStreamFactory::GetTimeDelayForWaitingJob(
733 const QuicServerId& server_id) { 735 const QuicServerId& server_id) {
734 if (require_confirmation_) 736 if (!delay_tcp_race_ || require_confirmation_)
735 return base::TimeDelta(); 737 return base::TimeDelta();
736 int64_t srtt = 738 int64_t srtt =
737 1.5 * GetServerNetworkStatsSmoothedRttInMicroseconds(server_id); 739 1.5 * GetServerNetworkStatsSmoothedRttInMicroseconds(server_id);
738 // Picked 300ms based on mean time from 740 // Picked 300ms based on mean time from
739 // Net.QuicSession.HostResolution.HandshakeConfirmedTime histogram. 741 // Net.QuicSession.HostResolution.HandshakeConfirmedTime histogram.
740 const int kDefaultRTT = 300 * kNumMicrosPerMilli; 742 const int kDefaultRTT = 300 * kNumMicrosPerMilli;
741 if (!srtt) 743 if (!srtt)
742 srtt = kDefaultRTT; 744 srtt = kDefaultRTT;
743 return base::TimeDelta::FromMicroseconds(srtt); 745 return base::TimeDelta::FromMicroseconds(srtt);
744 } 746 }
(...skipping 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after
1787 // Since the session was active, there's no longer an 1789 // Since the session was active, there's no longer an
1788 // HttpStreamFactoryImpl::Job running which can mark it broken, unless the TCP 1790 // HttpStreamFactoryImpl::Job running which can mark it broken, unless the TCP
1789 // job also fails. So to avoid not using QUIC when we otherwise could, we mark 1791 // job also fails. So to avoid not using QUIC when we otherwise could, we mark
1790 // it as recently broken, which means that 0-RTT will be disabled but we'll 1792 // it as recently broken, which means that 0-RTT will be disabled but we'll
1791 // still race. 1793 // still race.
1792 http_server_properties_->MarkAlternativeServiceRecentlyBroken( 1794 http_server_properties_->MarkAlternativeServiceRecentlyBroken(
1793 alternative_service); 1795 alternative_service);
1794 } 1796 }
1795 1797
1796 } // namespace net 1798 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_stream_factory.h ('k') | net/quic/quic_stream_factory_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698