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

Side by Side Diff: net/quic/core/quic_connection_test.cc

Issue 2706893002: Make QuicFramer unaware of path. Also, send/receive PathClose has no effect. (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « net/quic/core/quic_connection.cc ('k') | net/quic/core/quic_framer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/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 4231 matching lines...) Expand 10 before | Expand all | Expand 10 after
4242 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); 4242 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
4243 4243
4244 QuicBlockedFrame blocked; 4244 QuicBlockedFrame blocked;
4245 blocked.stream_id = 3; 4245 blocked.stream_id = 3;
4246 EXPECT_CALL(visitor_, OnBlockedFrame(_)); 4246 EXPECT_CALL(visitor_, OnBlockedFrame(_));
4247 ProcessFramePacket(QuicFrame(&blocked)); 4247 ProcessFramePacket(QuicFrame(&blocked));
4248 EXPECT_EQ(1u, connection_.GetStats().blocked_frames_received); 4248 EXPECT_EQ(1u, connection_.GetStats().blocked_frames_received);
4249 EXPECT_EQ(0u, connection_.GetStats().blocked_frames_sent); 4249 EXPECT_EQ(0u, connection_.GetStats().blocked_frames_sent);
4250 } 4250 }
4251 4251
4252 TEST_P(QuicConnectionTest, PathClose) {
4253 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
4254
4255 QuicPathCloseFrame path_close = QuicPathCloseFrame(1);
4256 ProcessPathClosePacket(&path_close);
4257 EXPECT_TRUE(QuicFramerPeer::IsPathClosed(
4258 QuicConnectionPeer::GetFramer(&connection_), 1));
4259 }
4260
4261 TEST_P(QuicConnectionTest, ZeroBytePacket) { 4252 TEST_P(QuicConnectionTest, ZeroBytePacket) {
4262 // Don't close the connection for zero byte packets. 4253 // Don't close the connection for zero byte packets.
4263 EXPECT_CALL(visitor_, OnConnectionClosed(_, _, _)).Times(0); 4254 EXPECT_CALL(visitor_, OnConnectionClosed(_, _, _)).Times(0);
4264 QuicReceivedPacket encrypted(nullptr, 0, QuicTime::Zero()); 4255 QuicReceivedPacket encrypted(nullptr, 0, QuicTime::Zero());
4265 connection_.ProcessUdpPacket(kSelfAddress, kPeerAddress, encrypted); 4256 connection_.ProcessUdpPacket(kSelfAddress, kPeerAddress, encrypted);
4266 } 4257 }
4267 4258
4268 TEST_P(QuicConnectionTest, MissingPacketsBeforeLeastUnacked) { 4259 TEST_P(QuicConnectionTest, MissingPacketsBeforeLeastUnacked) {
4269 // Set the packet number of the ack packet to be least unacked (4). 4260 // Set the packet number of the ack packet to be least unacked (4).
4270 QuicPacketCreatorPeer::SetPacketNumber(&peer_creator_, 3); 4261 QuicPacketCreatorPeer::SetPacketNumber(&peer_creator_, 3);
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after
4886 client_config.SetMultipathEnabled(true); 4877 client_config.SetMultipathEnabled(true);
4887 client_config.ToHandshakeMessage(&msg); 4878 client_config.ToHandshakeMessage(&msg);
4888 const QuicErrorCode error = 4879 const QuicErrorCode error =
4889 config.ProcessPeerHello(msg, CLIENT, &error_details); 4880 config.ProcessPeerHello(msg, CLIENT, &error_details);
4890 EXPECT_EQ(QUIC_NO_ERROR, error); 4881 EXPECT_EQ(QUIC_NO_ERROR, error);
4891 4882
4892 connection_.SetFromConfig(config); 4883 connection_.SetFromConfig(config);
4893 EXPECT_TRUE(QuicConnectionPeer::IsMultipathEnabled(&connection_)); 4884 EXPECT_TRUE(QuicConnectionPeer::IsMultipathEnabled(&connection_));
4894 } 4885 }
4895 4886
4896 TEST_P(QuicConnectionTest, ClosePath) {
4897 QuicPathId kTestPathId = 1;
4898 connection_.SendPathClose(kTestPathId);
4899 EXPECT_TRUE(QuicFramerPeer::IsPathClosed(
4900 QuicConnectionPeer::GetFramer(&connection_), kTestPathId));
4901 }
4902
4903 TEST_P(QuicConnectionTest, OnPathDegrading) { 4887 TEST_P(QuicConnectionTest, OnPathDegrading) {
4904 QuicByteCount packet_size; 4888 QuicByteCount packet_size;
4905 const size_t kMinTimeoutsBeforePathDegrading = 2; 4889 const size_t kMinTimeoutsBeforePathDegrading = 2;
4906 4890
4907 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) 4891 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _))
4908 .WillOnce(DoAll(SaveArg<3>(&packet_size), Return(true))); 4892 .WillOnce(DoAll(SaveArg<3>(&packet_size), Return(true)));
4909 connection_.SendStreamDataWithString(3, "packet", 0, !kFin, nullptr); 4893 connection_.SendStreamDataWithString(3, "packet", 0, !kFin, nullptr);
4910 size_t num_timeouts = 4894 size_t num_timeouts =
4911 kMinTimeoutsBeforePathDegrading + 4895 kMinTimeoutsBeforePathDegrading +
4912 QuicSentPacketManagerPeer::GetMaxTailLossProbes( 4896 QuicSentPacketManagerPeer::GetMaxTailLossProbes(
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
5057 error_details, ConnectionCloseSource::FROM_PEER)); 5041 error_details, ConnectionCloseSource::FROM_PEER));
5058 connection_.set_perspective(Perspective::IS_CLIENT); 5042 connection_.set_perspective(Perspective::IS_CLIENT);
5059 connection_.CloseConnection(QUIC_CRYPTO_HANDSHAKE_STATELESS_REJECT, 5043 connection_.CloseConnection(QUIC_CRYPTO_HANDSHAKE_STATELESS_REJECT,
5060 error_details, 5044 error_details,
5061 ConnectionCloseBehavior::SILENT_CLOSE); 5045 ConnectionCloseBehavior::SILENT_CLOSE);
5062 } 5046 }
5063 5047
5064 } // namespace 5048 } // namespace
5065 } // namespace test 5049 } // namespace test
5066 } // namespace net 5050 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_connection.cc ('k') | net/quic/core/quic_framer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698