| 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/chromium/quic_chromium_client_session.h" | 5 #include "net/quic/chromium/quic_chromium_client_session.h" | 
| 6 | 6 | 
| 7 #include "base/base64.h" | 7 #include "base/base64.h" | 
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" | 
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" | 
| 10 #include "base/rand_util.h" | 10 #include "base/rand_util.h" | 
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 145       DatagramClientSocket* socket, | 145       DatagramClientSocket* socket, | 
| 146       QuicChromiumClientSession* session) const { | 146       QuicChromiumClientSession* session) const { | 
| 147     std::unique_ptr<QuicChromiumPacketWriter> writer( | 147     std::unique_ptr<QuicChromiumPacketWriter> writer( | 
| 148         new QuicChromiumPacketWriter(socket)); | 148         new QuicChromiumPacketWriter(socket)); | 
| 149     writer->set_delegate(session); | 149     writer->set_delegate(session); | 
| 150     return writer.release(); | 150     return writer.release(); | 
| 151   } | 151   } | 
| 152 | 152 | 
| 153   QuicCryptoClientConfig crypto_config_; | 153   QuicCryptoClientConfig crypto_config_; | 
| 154   TestNetLog net_log_; | 154   TestNetLog net_log_; | 
| 155   BoundTestNetLog bound_net_log_; | 155   BoundTestNetLog bound_test_net_log_; | 
| 156   MockClientSocketFactory socket_factory_; | 156   MockClientSocketFactory socket_factory_; | 
| 157   std::unique_ptr<MockRead> default_read_; | 157   std::unique_ptr<MockRead> default_read_; | 
| 158   std::unique_ptr<SequencedSocketData> socket_data_; | 158   std::unique_ptr<SequencedSocketData> socket_data_; | 
| 159   MockClock clock_; | 159   MockClock clock_; | 
| 160   MockRandom random_; | 160   MockRandom random_; | 
| 161   QuicChromiumConnectionHelper helper_; | 161   QuicChromiumConnectionHelper helper_; | 
| 162   QuicChromiumAlarmFactory alarm_factory_; | 162   QuicChromiumAlarmFactory alarm_factory_; | 
| 163   TransportSecurityState transport_security_state_; | 163   TransportSecurityState transport_security_state_; | 
| 164   MockCryptoClientStreamFactory crypto_client_stream_factory_; | 164   MockCryptoClientStreamFactory crypto_client_stream_factory_; | 
| 165   std::unique_ptr<QuicChromiumClientSession> session_; | 165   std::unique_ptr<QuicChromiumClientSession> session_; | 
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 415                                                  base::Bind(&base::RandInt), | 415                                                  base::Bind(&base::RandInt), | 
| 416                                                  &net_log_, NetLog::Source()); | 416                                                  &net_log_, NetLog::Source()); | 
| 417   EXPECT_THAT(new_socket->Connect(kIpEndPoint), IsOk()); | 417   EXPECT_THAT(new_socket->Connect(kIpEndPoint), IsOk()); | 
| 418 | 418 | 
| 419   // Create reader and writer. | 419   // Create reader and writer. | 
| 420   std::unique_ptr<QuicChromiumPacketReader> new_reader( | 420   std::unique_ptr<QuicChromiumPacketReader> new_reader( | 
| 421       new QuicChromiumPacketReader(new_socket.get(), &clock_, session_.get(), | 421       new QuicChromiumPacketReader(new_socket.get(), &clock_, session_.get(), | 
| 422                                    kQuicYieldAfterPacketsRead, | 422                                    kQuicYieldAfterPacketsRead, | 
| 423                                    QuicTime::Delta::FromMilliseconds( | 423                                    QuicTime::Delta::FromMilliseconds( | 
| 424                                        kQuicYieldAfterDurationMilliseconds), | 424                                        kQuicYieldAfterDurationMilliseconds), | 
| 425                                    bound_net_log_.bound())); | 425                                    bound_test_net_log_.bound())); | 
| 426   std::unique_ptr<QuicChromiumPacketWriter> new_writer( | 426   std::unique_ptr<QuicChromiumPacketWriter> new_writer( | 
| 427       CreateQuicChromiumPacketWriter(new_socket.get(), session_.get())); | 427       CreateQuicChromiumPacketWriter(new_socket.get(), session_.get())); | 
| 428 | 428 | 
| 429   // Migrate session. | 429   // Migrate session. | 
| 430   EXPECT_TRUE(session_->MigrateToSocket( | 430   EXPECT_TRUE(session_->MigrateToSocket( | 
| 431       std::move(new_socket), std::move(new_reader), std::move(new_writer))); | 431       std::move(new_socket), std::move(new_reader), std::move(new_writer))); | 
| 432   // Spin message loop to complete migration. | 432   // Spin message loop to complete migration. | 
| 433   base::RunLoop().RunUntilIdle(); | 433   base::RunLoop().RunUntilIdle(); | 
| 434 | 434 | 
| 435   // Write data to session. | 435   // Write data to session. | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 465                                                    base::Bind(&base::RandInt), | 465                                                    base::Bind(&base::RandInt), | 
| 466                                                    &net_log_, NetLog::Source()); | 466                                                    &net_log_, NetLog::Source()); | 
| 467     EXPECT_THAT(new_socket->Connect(kIpEndPoint), IsOk()); | 467     EXPECT_THAT(new_socket->Connect(kIpEndPoint), IsOk()); | 
| 468 | 468 | 
| 469     // Create reader and writer. | 469     // Create reader and writer. | 
| 470     std::unique_ptr<QuicChromiumPacketReader> new_reader( | 470     std::unique_ptr<QuicChromiumPacketReader> new_reader( | 
| 471         new QuicChromiumPacketReader(new_socket.get(), &clock_, session_.get(), | 471         new QuicChromiumPacketReader(new_socket.get(), &clock_, session_.get(), | 
| 472                                      kQuicYieldAfterPacketsRead, | 472                                      kQuicYieldAfterPacketsRead, | 
| 473                                      QuicTime::Delta::FromMilliseconds( | 473                                      QuicTime::Delta::FromMilliseconds( | 
| 474                                          kQuicYieldAfterDurationMilliseconds), | 474                                          kQuicYieldAfterDurationMilliseconds), | 
| 475                                      bound_net_log_.bound())); | 475                                      bound_test_net_log_.bound())); | 
| 476     std::unique_ptr<QuicChromiumPacketWriter> new_writer( | 476     std::unique_ptr<QuicChromiumPacketWriter> new_writer( | 
| 477         CreateQuicChromiumPacketWriter(new_socket.get(), session_.get())); | 477         CreateQuicChromiumPacketWriter(new_socket.get(), session_.get())); | 
| 478 | 478 | 
| 479     // Migrate session. | 479     // Migrate session. | 
| 480     if (i < kMaxReadersPerQuicSession - 1) { | 480     if (i < kMaxReadersPerQuicSession - 1) { | 
| 481       EXPECT_TRUE(session_->MigrateToSocket( | 481       EXPECT_TRUE(session_->MigrateToSocket( | 
| 482           std::move(new_socket), std::move(new_reader), std::move(new_writer))); | 482           std::move(new_socket), std::move(new_reader), std::move(new_writer))); | 
| 483       // Spin message loop to complete migration. | 483       // Spin message loop to complete migration. | 
| 484       base::RunLoop().RunUntilIdle(); | 484       base::RunLoop().RunUntilIdle(); | 
| 485       EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 485       EXPECT_TRUE(socket_data.AllReadDataConsumed()); | 
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 526                                                  base::Bind(&base::RandInt), | 526                                                  base::Bind(&base::RandInt), | 
| 527                                                  &net_log_, NetLog::Source()); | 527                                                  &net_log_, NetLog::Source()); | 
| 528   EXPECT_THAT(new_socket->Connect(kIpEndPoint), IsOk()); | 528   EXPECT_THAT(new_socket->Connect(kIpEndPoint), IsOk()); | 
| 529 | 529 | 
| 530   // Create reader and writer. | 530   // Create reader and writer. | 
| 531   std::unique_ptr<QuicChromiumPacketReader> new_reader( | 531   std::unique_ptr<QuicChromiumPacketReader> new_reader( | 
| 532       new QuicChromiumPacketReader(new_socket.get(), &clock_, session_.get(), | 532       new QuicChromiumPacketReader(new_socket.get(), &clock_, session_.get(), | 
| 533                                    kQuicYieldAfterPacketsRead, | 533                                    kQuicYieldAfterPacketsRead, | 
| 534                                    QuicTime::Delta::FromMilliseconds( | 534                                    QuicTime::Delta::FromMilliseconds( | 
| 535                                        kQuicYieldAfterDurationMilliseconds), | 535                                        kQuicYieldAfterDurationMilliseconds), | 
| 536                                    bound_net_log_.bound())); | 536                                    bound_test_net_log_.bound())); | 
| 537   std::unique_ptr<QuicChromiumPacketWriter> new_writer( | 537   std::unique_ptr<QuicChromiumPacketWriter> new_writer( | 
| 538       CreateQuicChromiumPacketWriter(new_socket.get(), session_.get())); | 538       CreateQuicChromiumPacketWriter(new_socket.get(), session_.get())); | 
| 539 | 539 | 
| 540   // Store old socket and migrate session. | 540   // Store old socket and migrate session. | 
| 541   EXPECT_TRUE(session_->MigrateToSocket( | 541   EXPECT_TRUE(session_->MigrateToSocket( | 
| 542       std::move(new_socket), std::move(new_reader), std::move(new_writer))); | 542       std::move(new_socket), std::move(new_reader), std::move(new_writer))); | 
| 543   // Spin message loop to complete migration. | 543   // Spin message loop to complete migration. | 
| 544   base::RunLoop().RunUntilIdle(); | 544   base::RunLoop().RunUntilIdle(); | 
| 545 | 545 | 
| 546   // Read error on old socket does not impact session. | 546   // Read error on old socket does not impact session. | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 558 | 558 | 
| 559   EXPECT_TRUE(socket_data_->AllReadDataConsumed()); | 559   EXPECT_TRUE(socket_data_->AllReadDataConsumed()); | 
| 560   EXPECT_TRUE(socket_data_->AllWriteDataConsumed()); | 560   EXPECT_TRUE(socket_data_->AllWriteDataConsumed()); | 
| 561   EXPECT_TRUE(new_socket_data.AllReadDataConsumed()); | 561   EXPECT_TRUE(new_socket_data.AllReadDataConsumed()); | 
| 562   EXPECT_TRUE(new_socket_data.AllWriteDataConsumed()); | 562   EXPECT_TRUE(new_socket_data.AllWriteDataConsumed()); | 
| 563 } | 563 } | 
| 564 | 564 | 
| 565 }  // namespace | 565 }  // namespace | 
| 566 }  // namespace test | 566 }  // namespace test | 
| 567 }  // namespace net | 567 }  // namespace net | 
| OLD | NEW | 
|---|