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

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

Issue 1025573002: QUIC - disable QUIC if packet loss rate is bad for a connection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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/quic_stream_factory.h" 5 #include "net/quic/quic_stream_factory.h"
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "net/base/test_data_directory.h" 9 #include "net/base/test_data_directory.h"
10 #include "net/cert/cert_verifier.h" 10 #include "net/cert/cert_verifier.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 static void SetEnableConnectionRacing(QuicStreamFactory* factory, 128 static void SetEnableConnectionRacing(QuicStreamFactory* factory,
129 bool enable_connection_racing) { 129 bool enable_connection_racing) {
130 factory->enable_connection_racing_ = enable_connection_racing; 130 factory->enable_connection_racing_ = enable_connection_racing;
131 } 131 }
132 132
133 static void SetDisableDiskCache(QuicStreamFactory* factory, 133 static void SetDisableDiskCache(QuicStreamFactory* factory,
134 bool disable_disk_cache) { 134 bool disable_disk_cache) {
135 factory->disable_disk_cache_ = disable_disk_cache; 135 factory->disable_disk_cache_ = disable_disk_cache;
136 } 136 }
137 137
138 static void SetDisableZeroRTT(QuicStreamFactory* factory,
139 bool disable_zero_rtt) {
140 factory->disable_zero_rtt_ = disable_zero_rtt;
141 }
142
138 static size_t GetNumberOfActiveJobs(QuicStreamFactory* factory, 143 static size_t GetNumberOfActiveJobs(QuicStreamFactory* factory,
139 const QuicServerId& server_id) { 144 const QuicServerId& server_id) {
140 return (factory->active_jobs_[server_id]).size(); 145 return (factory->active_jobs_[server_id]).size();
141 } 146 }
142 }; 147 };
143 148
144 class MockQuicServerInfo : public QuicServerInfo { 149 class MockQuicServerInfo : public QuicServerInfo {
145 public: 150 public:
146 MockQuicServerInfo(const QuicServerId& server_id) 151 MockQuicServerInfo(const QuicServerId& server_id)
147 : QuicServerInfo(server_id) {} 152 : QuicServerInfo(server_id) {}
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 kDefaultMaxPacketSize, 204 kDefaultMaxPacketSize,
200 std::string(), 205 std::string(),
201 SupportedVersions(GetParam().version), 206 SupportedVersions(GetParam().version),
202 /*enable_port_selection=*/true, 207 /*enable_port_selection=*/true,
203 /*always_require_handshake_confirmation=*/false, 208 /*always_require_handshake_confirmation=*/false,
204 /*disable_connection_pooling=*/false, 209 /*disable_connection_pooling=*/false,
205 /*load_server_info_timeout_srtt_multiplier=*/0.0f, 210 /*load_server_info_timeout_srtt_multiplier=*/0.0f,
206 /*enable_connection_racing=*/false, 211 /*enable_connection_racing=*/false,
207 /*enable_non_blocking_io=*/true, 212 /*enable_non_blocking_io=*/true,
208 /*disable_disk_cache=*/false, 213 /*disable_disk_cache=*/false,
214 /*number_of_lossy_handshakes=*/0,
215 /*packet_loss_threshold=*/0,
209 /*receive_buffer_size=*/0, 216 /*receive_buffer_size=*/0,
210 QuicTagVector()), 217 QuicTagVector()),
211 host_port_pair_(kDefaultServerHostName, kDefaultServerPort), 218 host_port_pair_(kDefaultServerHostName, kDefaultServerPort),
212 is_https_(false), 219 is_https_(false),
213 privacy_mode_(PRIVACY_MODE_DISABLED) { 220 privacy_mode_(PRIVACY_MODE_DISABLED) {
214 factory_.set_require_confirmation(false); 221 factory_.set_require_confirmation(false);
215 clock_->AdvanceTime(QuicTime::Delta::FromSeconds(1)); 222 clock_->AdvanceTime(QuicTime::Delta::FromSeconds(1));
216 QuicStreamFactoryPeer::SetEnableConnectionRacing( 223 QuicStreamFactoryPeer::SetEnableConnectionRacing(
217 &factory_, GetParam().enable_connection_racing); 224 &factory_, GetParam().enable_connection_racing);
218 } 225 }
(...skipping 1427 matching lines...) Expand 10 before | Expand all | Expand 10 after
1646 EXPECT_TRUE(socket_data.at_read_eof()); 1653 EXPECT_TRUE(socket_data.at_read_eof());
1647 EXPECT_TRUE(socket_data.at_write_eof()); 1654 EXPECT_TRUE(socket_data.at_write_eof());
1648 EXPECT_EQ(0u, 1655 EXPECT_EQ(0u,
1649 QuicStreamFactoryPeer::GetNumberOfActiveJobs(&factory_, server_id)); 1656 QuicStreamFactoryPeer::GetNumberOfActiveJobs(&factory_, server_id));
1650 } 1657 }
1651 1658
1652 TEST_P(QuicStreamFactoryTest, EnableNotLoadFromDiskCache) { 1659 TEST_P(QuicStreamFactoryTest, EnableNotLoadFromDiskCache) {
1653 factory_.set_quic_server_info_factory(&quic_server_info_factory_); 1660 factory_.set_quic_server_info_factory(&quic_server_info_factory_);
1654 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get()); 1661 QuicStreamFactoryPeer::SetTaskRunner(&factory_, runner_.get());
1655 QuicStreamFactoryPeer::SetDisableDiskCache(&factory_, true); 1662 QuicStreamFactoryPeer::SetDisableDiskCache(&factory_, true);
1663 QuicStreamFactoryPeer::SetDisableZeroRTT(&factory_, true);
1656 1664
1657 MockRead reads[] = { 1665 MockRead reads[] = {
1658 MockRead(ASYNC, OK, 0) // EOF 1666 MockRead(ASYNC, OK, 0) // EOF
1659 }; 1667 };
1660 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0); 1668 DeterministicSocketData socket_data(reads, arraysize(reads), nullptr, 0);
1661 socket_factory_.AddSocketDataProvider(&socket_data); 1669 socket_factory_.AddSocketDataProvider(&socket_data);
1662 socket_data.StopAfter(1); 1670 socket_data.StopAfter(1);
1663 1671
1664 crypto_client_stream_factory_.set_handshake_mode( 1672 crypto_client_stream_factory_.set_handshake_mode(
1665 MockCryptoClientStream::ZERO_RTT); 1673 MockCryptoClientStream::ZERO_RTT);
(...skipping 10 matching lines...) Expand all
1676 ASSERT_EQ(0u, runner_->GetPostedTasks().size()); 1684 ASSERT_EQ(0u, runner_->GetPostedTasks().size());
1677 1685
1678 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 1686 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
1679 EXPECT_TRUE(stream.get()); 1687 EXPECT_TRUE(stream.get());
1680 EXPECT_TRUE(socket_data.at_read_eof()); 1688 EXPECT_TRUE(socket_data.at_read_eof());
1681 EXPECT_TRUE(socket_data.at_write_eof()); 1689 EXPECT_TRUE(socket_data.at_write_eof());
1682 } 1690 }
1683 1691
1684 } // namespace test 1692 } // namespace test
1685 } // namespace net 1693 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698