| OLD | NEW |
| 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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 clock_, | 158 clock_, |
| 159 kDefaultMaxPacketSize, | 159 kDefaultMaxPacketSize, |
| 160 std::string(), | 160 std::string(), |
| 161 SupportedVersions(GetParam()), | 161 SupportedVersions(GetParam()), |
| 162 /*enable_port_selection=*/true, | 162 /*enable_port_selection=*/true, |
| 163 /*always_require_handshake_confirmation=*/false, | 163 /*always_require_handshake_confirmation=*/false, |
| 164 /*disable_connection_pooling=*/false, | 164 /*disable_connection_pooling=*/false, |
| 165 /*load_server_info_timeout=*/0u, | 165 /*load_server_info_timeout=*/0u, |
| 166 /*disable_loading_server_info_for_new_servers=*/false, | 166 /*disable_loading_server_info_for_new_servers=*/false, |
| 167 /*load_server_info_timeout_srtt_multiplier=*/0.0f, | 167 /*load_server_info_timeout_srtt_multiplier=*/0.0f, |
| 168 /*disable_truncated_connection_ids=*/false, |
| 168 QuicTagVector()), | 169 QuicTagVector()), |
| 169 host_port_pair_(kDefaultServerHostName, kDefaultServerPort), | 170 host_port_pair_(kDefaultServerHostName, kDefaultServerPort), |
| 170 is_https_(false), | 171 is_https_(false), |
| 171 privacy_mode_(PRIVACY_MODE_DISABLED) { | 172 privacy_mode_(PRIVACY_MODE_DISABLED) { |
| 172 factory_.set_require_confirmation(false); | 173 factory_.set_require_confirmation(false); |
| 173 clock_->AdvanceTime(QuicTime::Delta::FromSeconds(1)); | 174 clock_->AdvanceTime(QuicTime::Delta::FromSeconds(1)); |
| 174 } | 175 } |
| 175 | 176 |
| 176 scoped_ptr<QuicHttpStream> CreateIfSessionExists( | 177 scoped_ptr<QuicHttpStream> CreateIfSessionExists( |
| 177 const HostPortPair& host_port_pair, | 178 const HostPortPair& host_port_pair, |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 factory_.OnSessionClosed(session); | 237 factory_.OnSessionClosed(session); |
| 237 EXPECT_EQ(nullptr, CreateIfSessionExists(destination, net_log_).get()); | 238 EXPECT_EQ(nullptr, CreateIfSessionExists(destination, net_log_).get()); |
| 238 EXPECT_TRUE(socket_data.at_read_eof()); | 239 EXPECT_TRUE(socket_data.at_read_eof()); |
| 239 EXPECT_TRUE(socket_data.at_write_eof()); | 240 EXPECT_TRUE(socket_data.at_write_eof()); |
| 240 return port; | 241 return port; |
| 241 } | 242 } |
| 242 | 243 |
| 243 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket() { | 244 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket() { |
| 244 QuicStreamId stream_id = kClientDataStreamId1; | 245 QuicStreamId stream_id = kClientDataStreamId1; |
| 245 return maker_.MakeRstPacket( | 246 return maker_.MakeRstPacket( |
| 246 1, true, stream_id, | 247 1, PACKET_0BYTE_CONNECTION_ID, true, stream_id, |
| 247 AdjustErrorForVersion(QUIC_RST_ACKNOWLEDGEMENT, GetParam())); | 248 AdjustErrorForVersion(QUIC_RST_ACKNOWLEDGEMENT, GetParam())); |
| 248 } | 249 } |
| 249 | 250 |
| 250 MockQuicServerInfoFactory quic_server_info_factory_; | 251 MockQuicServerInfoFactory quic_server_info_factory_; |
| 251 MockHostResolver host_resolver_; | 252 MockHostResolver host_resolver_; |
| 252 DeterministicMockClientSocketFactory socket_factory_; | 253 DeterministicMockClientSocketFactory socket_factory_; |
| 253 MockCryptoClientStreamFactory crypto_client_stream_factory_; | 254 MockCryptoClientStreamFactory crypto_client_stream_factory_; |
| 254 MockRandom random_generator_; | 255 MockRandom random_generator_; |
| 255 MockClock* clock_; // Owned by factory_. | 256 MockClock* clock_; // Owned by factory_. |
| 256 scoped_refptr<TestTaskRunner> runner_; | 257 scoped_refptr<TestTaskRunner> runner_; |
| (...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1073 EXPECT_TRUE(socket_data.at_write_eof()); | 1074 EXPECT_TRUE(socket_data.at_write_eof()); |
| 1074 EXPECT_TRUE(socket_data2.at_read_eof()); | 1075 EXPECT_TRUE(socket_data2.at_read_eof()); |
| 1075 EXPECT_TRUE(socket_data2.at_write_eof()); | 1076 EXPECT_TRUE(socket_data2.at_write_eof()); |
| 1076 } | 1077 } |
| 1077 | 1078 |
| 1078 TEST_P(QuicStreamFactoryTest, MaxOpenStream) { | 1079 TEST_P(QuicStreamFactoryTest, MaxOpenStream) { |
| 1079 MockRead reads[] = { | 1080 MockRead reads[] = { |
| 1080 MockRead(ASYNC, OK, 0) // EOF | 1081 MockRead(ASYNC, OK, 0) // EOF |
| 1081 }; | 1082 }; |
| 1082 QuicStreamId stream_id = kClientDataStreamId1; | 1083 QuicStreamId stream_id = kClientDataStreamId1; |
| 1083 scoped_ptr<QuicEncryptedPacket> rst( | 1084 scoped_ptr<QuicEncryptedPacket> rst(maker_.MakeRstPacket( |
| 1084 maker_.MakeRstPacket(1, true, stream_id, QUIC_STREAM_CANCELLED)); | 1085 1, PACKET_0BYTE_CONNECTION_ID, true, stream_id, QUIC_STREAM_CANCELLED)); |
| 1085 MockWrite writes[] = { | 1086 MockWrite writes[] = { |
| 1086 MockWrite(ASYNC, rst->data(), rst->length(), 1), | 1087 MockWrite(ASYNC, rst->data(), rst->length(), 1), |
| 1087 }; | 1088 }; |
| 1088 DeterministicSocketData socket_data(reads, arraysize(reads), | 1089 DeterministicSocketData socket_data(reads, arraysize(reads), |
| 1089 writes, arraysize(writes)); | 1090 writes, arraysize(writes)); |
| 1090 socket_factory_.AddSocketDataProvider(&socket_data); | 1091 socket_factory_.AddSocketDataProvider(&socket_data); |
| 1091 socket_data.StopAfter(1); | 1092 socket_data.StopAfter(1); |
| 1092 | 1093 |
| 1093 HttpRequestInfo request_info; | 1094 HttpRequestInfo request_info; |
| 1094 std::vector<QuicHttpStream*> streams; | 1095 std::vector<QuicHttpStream*> streams; |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1599 ASSERT_EQ(0u, runner_->GetPostedTasks().size()); | 1600 ASSERT_EQ(0u, runner_->GetPostedTasks().size()); |
| 1600 | 1601 |
| 1601 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); | 1602 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); |
| 1602 EXPECT_TRUE(stream.get()); | 1603 EXPECT_TRUE(stream.get()); |
| 1603 EXPECT_TRUE(socket_data.at_read_eof()); | 1604 EXPECT_TRUE(socket_data.at_read_eof()); |
| 1604 EXPECT_TRUE(socket_data.at_write_eof()); | 1605 EXPECT_TRUE(socket_data.at_write_eof()); |
| 1605 } | 1606 } |
| 1606 | 1607 |
| 1607 } // namespace test | 1608 } // namespace test |
| 1608 } // namespace net | 1609 } // namespace net |
| OLD | NEW |