| 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 <ostream> | 7 #include <ostream> |
| 8 | 8 |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| (...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 604 SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0); | 604 SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0); |
| 605 socket_factory_.AddSocketDataProvider(&socket_data); | 605 socket_factory_.AddSocketDataProvider(&socket_data); |
| 606 | 606 |
| 607 crypto_client_stream_factory_.set_handshake_mode( | 607 crypto_client_stream_factory_.set_handshake_mode( |
| 608 MockCryptoClientStream::ZERO_RTT); | 608 MockCryptoClientStream::ZERO_RTT); |
| 609 host_resolver_.set_synchronous_mode(true); | 609 host_resolver_.set_synchronous_mode(true); |
| 610 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), | 610 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), |
| 611 "192.168.0.1", ""); | 611 "192.168.0.1", ""); |
| 612 | 612 |
| 613 QuicStreamRequest request(factory_.get()); | 613 QuicStreamRequest request(factory_.get()); |
| 614 // Posts require handshake confirmation, so this will return asynchronously. | 614 EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, |
| 615 EXPECT_EQ(ERR_IO_PENDING, | 615 /*cert_verify_flags=*/0, url_, "POST", net_log_, |
| 616 request.Request(host_port_pair_, privacy_mode_, | 616 callback_.callback())); |
| 617 /*cert_verify_flags=*/0, url_, "POST", net_log_, | |
| 618 callback_.callback())); | |
| 619 | 617 |
| 620 // Confirm the handshake and verify that the stream is created. | |
| 621 crypto_client_stream_factory_.last_stream()->SendOnCryptoHandshakeEvent( | |
| 622 QuicSession::HANDSHAKE_CONFIRMED); | |
| 623 | |
| 624 EXPECT_EQ(OK, callback_.WaitForResult()); | |
| 625 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); | 618 std::unique_ptr<QuicHttpStream> stream = request.CreateStream(); |
| 626 EXPECT_TRUE(stream.get()); | 619 EXPECT_TRUE(stream.get()); |
| 627 EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 620 EXPECT_TRUE(socket_data.AllReadDataConsumed()); |
| 628 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); | 621 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); |
| 629 } | 622 } |
| 630 | 623 |
| 631 TEST_P(QuicStreamFactoryTest, GoAway) { | 624 TEST_P(QuicStreamFactoryTest, GoAway) { |
| 632 Initialize(); | 625 Initialize(); |
| 633 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); | 626 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); |
| 634 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); | 627 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); |
| (...skipping 3021 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3656 SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0); | 3649 SequencedSocketData socket_data(reads, arraysize(reads), nullptr, 0); |
| 3657 socket_factory_.AddSocketDataProvider(&socket_data); | 3650 socket_factory_.AddSocketDataProvider(&socket_data); |
| 3658 | 3651 |
| 3659 ServerNetworkStats stats1; | 3652 ServerNetworkStats stats1; |
| 3660 stats1.srtt = base::TimeDelta::FromMicroseconds(10); | 3653 stats1.srtt = base::TimeDelta::FromMicroseconds(10); |
| 3661 url::SchemeHostPort server("https", kDefaultServerHostName, | 3654 url::SchemeHostPort server("https", kDefaultServerHostName, |
| 3662 kDefaultServerPort); | 3655 kDefaultServerPort); |
| 3663 http_server_properties_.SetServerNetworkStats(server, stats1); | 3656 http_server_properties_.SetServerNetworkStats(server, stats1); |
| 3664 | 3657 |
| 3665 crypto_client_stream_factory_.set_handshake_mode( | 3658 crypto_client_stream_factory_.set_handshake_mode( |
| 3666 MockCryptoClientStream::ZERO_RTT); | 3659 MockCryptoClientStream::COLD_START); |
| 3667 host_resolver_.set_synchronous_mode(true); | 3660 host_resolver_.set_synchronous_mode(true); |
| 3668 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), | 3661 host_resolver_.rules()->AddIPLiteralRule(host_port_pair_.host(), |
| 3669 "192.168.0.1", ""); | 3662 "192.168.0.1", ""); |
| 3670 | 3663 |
| 3671 QuicStreamRequest request(factory_.get()); | 3664 QuicStreamRequest request(factory_.get()); |
| 3672 EXPECT_EQ(ERR_IO_PENDING, | 3665 EXPECT_EQ(ERR_IO_PENDING, |
| 3673 request.Request(host_port_pair_, privacy_mode_, | 3666 request.Request(host_port_pair_, privacy_mode_, |
| 3674 /*cert_verify_flags=*/0, url_, "POST", net_log_, | 3667 /*cert_verify_flags=*/0, url_, "POST", net_log_, |
| 3675 callback_.callback())); | 3668 callback_.callback())); |
| 3676 | 3669 |
| (...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4336 EXPECT_NE(session1, session2); | 4329 EXPECT_NE(session1, session2); |
| 4337 | 4330 |
| 4338 EXPECT_EQ(QuicServerId(origin1_, privacy_mode_), session1->server_id()); | 4331 EXPECT_EQ(QuicServerId(origin1_, privacy_mode_), session1->server_id()); |
| 4339 EXPECT_EQ(QuicServerId(origin2_, privacy_mode_), session2->server_id()); | 4332 EXPECT_EQ(QuicServerId(origin2_, privacy_mode_), session2->server_id()); |
| 4340 | 4333 |
| 4341 EXPECT_TRUE(AllDataConsumed()); | 4334 EXPECT_TRUE(AllDataConsumed()); |
| 4342 } | 4335 } |
| 4343 | 4336 |
| 4344 } // namespace test | 4337 } // namespace test |
| 4345 } // namespace net | 4338 } // namespace net |
| OLD | NEW |