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/core/quic_connection.h" | 5 #include "net/quic/core/quic_connection.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <memory> | 8 #include <memory> |
9 #include <ostream> | 9 #include <ostream> |
10 #include <utility> | 10 #include <utility> |
(...skipping 1044 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1055 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _)) | 1055 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _)) |
1056 .WillRepeatedly(testing::Return(QuicTime::Delta::Zero())); | 1056 .WillRepeatedly(testing::Return(QuicTime::Delta::Zero())); |
1057 } | 1057 } |
1058 | 1058 |
1059 void set_perspective(Perspective perspective) { | 1059 void set_perspective(Perspective perspective) { |
1060 connection_.set_perspective(perspective); | 1060 connection_.set_perspective(perspective); |
1061 QuicFramerPeer::SetPerspective(&peer_framer_, | 1061 QuicFramerPeer::SetPerspective(&peer_framer_, |
1062 InvertPerspective(perspective)); | 1062 InvertPerspective(perspective)); |
1063 } | 1063 } |
1064 | 1064 |
| 1065 QuicFlagSaver flags_; // Save/restore all QUIC flag values. |
| 1066 |
1065 QuicConnectionId connection_id_; | 1067 QuicConnectionId connection_id_; |
1066 QuicFramer framer_; | 1068 QuicFramer framer_; |
1067 MockEntropyCalculator entropy_calculator_; | 1069 MockEntropyCalculator entropy_calculator_; |
1068 MockEntropyCalculator peer_entropy_calculator_; | 1070 MockEntropyCalculator peer_entropy_calculator_; |
1069 | 1071 |
1070 MockSendAlgorithm* send_algorithm_; | 1072 MockSendAlgorithm* send_algorithm_; |
1071 std::unique_ptr<MockLossAlgorithm> loss_algorithm_; | 1073 std::unique_ptr<MockLossAlgorithm> loss_algorithm_; |
1072 MockClock clock_; | 1074 MockClock clock_; |
1073 MockRandom random_generator_; | 1075 MockRandom random_generator_; |
1074 SimpleBufferAllocator buffer_allocator_; | 1076 SimpleBufferAllocator buffer_allocator_; |
(...skipping 3902 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4977 OnConnectionClosed(QUIC_ATTEMPT_TO_SEND_UNENCRYPTED_STREAM_DATA, | 4979 OnConnectionClosed(QUIC_ATTEMPT_TO_SEND_UNENCRYPTED_STREAM_DATA, |
4978 _, ConnectionCloseSource::FROM_SELF)); | 4980 _, ConnectionCloseSource::FROM_SELF)); |
4979 EXPECT_QUIC_BUG(connection_.SendStreamDataWithString(3, "", 0, kFin, nullptr), | 4981 EXPECT_QUIC_BUG(connection_.SendStreamDataWithString(3, "", 0, kFin, nullptr), |
4980 "Cannot send stream data without encryption."); | 4982 "Cannot send stream data without encryption."); |
4981 EXPECT_FALSE(connection_.connected()); | 4983 EXPECT_FALSE(connection_.connected()); |
4982 } | 4984 } |
4983 | 4985 |
4984 TEST_P(QuicConnectionTest, EnableMultipathNegotiation) { | 4986 TEST_P(QuicConnectionTest, EnableMultipathNegotiation) { |
4985 // Test multipath negotiation during crypto handshake. Multipath is enabled | 4987 // Test multipath negotiation during crypto handshake. Multipath is enabled |
4986 // when both endpoints enable multipath. | 4988 // when both endpoints enable multipath. |
4987 ValueRestore<bool> old_flag(&FLAGS_quic_enable_multipath, true); | 4989 FLAGS_quic_enable_multipath = true; |
4988 EXPECT_TRUE(connection_.connected()); | 4990 EXPECT_TRUE(connection_.connected()); |
4989 EXPECT_FALSE(QuicConnectionPeer::IsMultipathEnabled(&connection_)); | 4991 EXPECT_FALSE(QuicConnectionPeer::IsMultipathEnabled(&connection_)); |
4990 EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _)); | 4992 EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _)); |
4991 QuicConfig config; | 4993 QuicConfig config; |
4992 // Enable multipath on server side. | 4994 // Enable multipath on server side. |
4993 config.SetMultipathEnabled(true); | 4995 config.SetMultipathEnabled(true); |
4994 | 4996 |
4995 // Create a handshake message enables multipath. | 4997 // Create a handshake message enables multipath. |
4996 CryptoHandshakeMessage msg; | 4998 CryptoHandshakeMessage msg; |
4997 string error_details; | 4999 string error_details; |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5205 connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); | 5207 connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
5206 EXPECT_EQ(1u, writer_->frame_count()); | 5208 EXPECT_EQ(1u, writer_->frame_count()); |
5207 EXPECT_FALSE(writer_->connection_close_frames().empty()); | 5209 EXPECT_FALSE(writer_->connection_close_frames().empty()); |
5208 // Ack frame is not bundled in connection close packet. | 5210 // Ack frame is not bundled in connection close packet. |
5209 EXPECT_TRUE(writer_->ack_frames().empty()); | 5211 EXPECT_TRUE(writer_->ack_frames().empty()); |
5210 } | 5212 } |
5211 | 5213 |
5212 } // namespace | 5214 } // namespace |
5213 } // namespace test | 5215 } // namespace test |
5214 } // namespace net | 5216 } // namespace net |
OLD | NEW |