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

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

Issue 1664763003: Rename QUIC connection timeout error codes to be more descriptive. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@113275797
Patch Set: Created 4 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/quic_connection.cc ('k') | net/quic/quic_protocol.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/quic_connection.h" 5 #include "net/quic/quic_connection.h"
6 6
7 #include <ostream> 7 #include <ostream>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 3500 matching lines...) Expand 10 before | Expand all | Expand 10 after
3511 3511
3512 // SetFromConfig sets the initial timeouts before negotiation. 3512 // SetFromConfig sets the initial timeouts before negotiation.
3513 EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _)); 3513 EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
3514 QuicConfig config; 3514 QuicConfig config;
3515 connection_.SetFromConfig(config); 3515 connection_.SetFromConfig(config);
3516 // Subtract a second from the idle timeout on the client side. 3516 // Subtract a second from the idle timeout on the client side.
3517 QuicTime default_timeout = clock_.ApproximateNow().Add( 3517 QuicTime default_timeout = clock_.ApproximateNow().Add(
3518 QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs - 1)); 3518 QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs - 1));
3519 EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline()); 3519 EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline());
3520 3520
3521 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_CONNECTION_TIMED_OUT, false)); 3521 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, false));
3522 // Simulate the timeout alarm firing. 3522 // Simulate the timeout alarm firing.
3523 clock_.AdvanceTime(QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs - 1)); 3523 clock_.AdvanceTime(QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs - 1));
3524 connection_.GetTimeoutAlarm()->Fire(); 3524 connection_.GetTimeoutAlarm()->Fire();
3525 3525
3526 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet()); 3526 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
3527 EXPECT_FALSE(connection_.connected()); 3527 EXPECT_FALSE(connection_.connected());
3528 3528
3529 EXPECT_FALSE(connection_.GetAckAlarm()->IsSet()); 3529 EXPECT_FALSE(connection_.GetAckAlarm()->IsSet());
3530 EXPECT_FALSE(connection_.GetPingAlarm()->IsSet()); 3530 EXPECT_FALSE(connection_.GetPingAlarm()->IsSet());
3531 EXPECT_FALSE(connection_.GetFecAlarm()->IsSet()); 3531 EXPECT_FALSE(connection_.GetFecAlarm()->IsSet());
3532 EXPECT_FALSE(connection_.GetResumeWritesAlarm()->IsSet()); 3532 EXPECT_FALSE(connection_.GetResumeWritesAlarm()->IsSet());
3533 EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet()); 3533 EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet());
3534 EXPECT_FALSE(connection_.GetSendAlarm()->IsSet()); 3534 EXPECT_FALSE(connection_.GetSendAlarm()->IsSet());
3535 EXPECT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); 3535 EXPECT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet());
3536 } 3536 }
3537 3537
3538 TEST_P(QuicConnectionTest, OverallTimeout) { 3538 TEST_P(QuicConnectionTest, HandshakeTimeout) {
3539 // Use a shorter overall connection timeout than idle timeout for this test. 3539 // Use a shorter handshake timeout than idle timeout for this test.
3540 const QuicTime::Delta timeout = QuicTime::Delta::FromSeconds(5); 3540 const QuicTime::Delta timeout = QuicTime::Delta::FromSeconds(5);
3541 connection_.SetNetworkTimeouts(timeout, timeout); 3541 connection_.SetNetworkTimeouts(timeout, timeout);
3542 EXPECT_TRUE(connection_.connected()); 3542 EXPECT_TRUE(connection_.connected());
3543 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(AnyNumber()); 3543 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(AnyNumber());
3544 3544
3545 QuicTime overall_timeout = clock_.ApproximateNow().Add(timeout).Subtract( 3545 QuicTime handshake_timeout = clock_.ApproximateNow().Add(timeout).Subtract(
3546 QuicTime::Delta::FromSeconds(1)); 3546 QuicTime::Delta::FromSeconds(1));
3547 EXPECT_EQ(overall_timeout, connection_.GetTimeoutAlarm()->deadline()); 3547 EXPECT_EQ(handshake_timeout, connection_.GetTimeoutAlarm()->deadline());
3548 EXPECT_TRUE(connection_.connected()); 3548 EXPECT_TRUE(connection_.connected());
3549 3549
3550 // Send and ack new data 3 seconds later to lengthen the idle timeout. 3550 // Send and ack new data 3 seconds later to lengthen the idle timeout.
3551 SendStreamDataToPeer(1, "GET /", 0, kFin, nullptr); 3551 SendStreamDataToPeer(1, "GET /", 0, kFin, nullptr);
3552 clock_.AdvanceTime(QuicTime::Delta::FromSeconds(3)); 3552 clock_.AdvanceTime(QuicTime::Delta::FromSeconds(3));
3553 QuicAckFrame frame = InitAckFrame(1); 3553 QuicAckFrame frame = InitAckFrame(1);
3554 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); 3554 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
3555 EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _)); 3555 EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
3556 ProcessAckPacket(&frame); 3556 ProcessAckPacket(&frame);
3557 3557
3558 // Fire early to verify it wouldn't timeout yet. 3558 // Fire early to verify it wouldn't timeout yet.
3559 connection_.GetTimeoutAlarm()->Fire(); 3559 connection_.GetTimeoutAlarm()->Fire();
3560 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet()); 3560 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
3561 EXPECT_TRUE(connection_.connected()); 3561 EXPECT_TRUE(connection_.connected());
3562 3562
3563 clock_.AdvanceTime(timeout.Subtract(QuicTime::Delta::FromSeconds(2))); 3563 clock_.AdvanceTime(timeout.Subtract(QuicTime::Delta::FromSeconds(2)));
3564 3564
3565 EXPECT_CALL(visitor_, 3565 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_HANDSHAKE_TIMEOUT, false));
3566 OnConnectionClosed(QUIC_CONNECTION_OVERALL_TIMED_OUT, false));
3567 // Simulate the timeout alarm firing. 3566 // Simulate the timeout alarm firing.
3568 connection_.GetTimeoutAlarm()->Fire(); 3567 connection_.GetTimeoutAlarm()->Fire();
3569 3568
3570 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet()); 3569 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
3571 EXPECT_FALSE(connection_.connected()); 3570 EXPECT_FALSE(connection_.connected());
3572 3571
3573 EXPECT_FALSE(connection_.GetAckAlarm()->IsSet()); 3572 EXPECT_FALSE(connection_.GetAckAlarm()->IsSet());
3574 EXPECT_FALSE(connection_.GetPingAlarm()->IsSet()); 3573 EXPECT_FALSE(connection_.GetPingAlarm()->IsSet());
3575 EXPECT_FALSE(connection_.GetFecAlarm()->IsSet()); 3574 EXPECT_FALSE(connection_.GetFecAlarm()->IsSet());
3576 EXPECT_FALSE(connection_.GetResumeWritesAlarm()->IsSet()); 3575 EXPECT_FALSE(connection_.GetResumeWritesAlarm()->IsSet());
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
3877 // network event at t=5ms. The alarm will reregister. 3876 // network event at t=5ms. The alarm will reregister.
3878 clock_.AdvanceTime(initial_idle_timeout.Subtract(five_ms)); 3877 clock_.AdvanceTime(initial_idle_timeout.Subtract(five_ms));
3879 EXPECT_EQ(default_timeout, clock_.ApproximateNow()); 3878 EXPECT_EQ(default_timeout, clock_.ApproximateNow());
3880 connection_.GetTimeoutAlarm()->Fire(); 3879 connection_.GetTimeoutAlarm()->Fire();
3881 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet()); 3880 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
3882 EXPECT_TRUE(connection_.connected()); 3881 EXPECT_TRUE(connection_.connected());
3883 EXPECT_EQ(default_timeout.Add(five_ms), 3882 EXPECT_EQ(default_timeout.Add(five_ms),
3884 connection_.GetTimeoutAlarm()->deadline()); 3883 connection_.GetTimeoutAlarm()->deadline());
3885 3884
3886 // This time, we should time out. 3885 // This time, we should time out.
3887 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_CONNECTION_TIMED_OUT, false)); 3886 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, false));
3888 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)); 3887 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _));
3889 clock_.AdvanceTime(five_ms); 3888 clock_.AdvanceTime(five_ms);
3890 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow()); 3889 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow());
3891 connection_.GetTimeoutAlarm()->Fire(); 3890 connection_.GetTimeoutAlarm()->Fire();
3892 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet()); 3891 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
3893 EXPECT_FALSE(connection_.connected()); 3892 EXPECT_FALSE(connection_.connected());
3894 } 3893 }
3895 3894
3896 TEST_P(QuicConnectionTest, OldTimeoutAfterSendSilentClose) { 3895 TEST_P(QuicConnectionTest, OldTimeoutAfterSendSilentClose) {
3897 ValueRestore<bool> old_flags(&FLAGS_quic_use_new_idle_timeout, false); 3896 ValueRestore<bool> old_flags(&FLAGS_quic_use_new_idle_timeout, false);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
3937 // network event at t=5ms. The alarm will reregister. 3936 // network event at t=5ms. The alarm will reregister.
3938 clock_.AdvanceTime(default_idle_timeout.Subtract(five_ms)); 3937 clock_.AdvanceTime(default_idle_timeout.Subtract(five_ms));
3939 EXPECT_EQ(default_timeout, clock_.ApproximateNow()); 3938 EXPECT_EQ(default_timeout, clock_.ApproximateNow());
3940 connection_.GetTimeoutAlarm()->Fire(); 3939 connection_.GetTimeoutAlarm()->Fire();
3941 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet()); 3940 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
3942 EXPECT_TRUE(connection_.connected()); 3941 EXPECT_TRUE(connection_.connected());
3943 EXPECT_EQ(default_timeout.Add(five_ms), 3942 EXPECT_EQ(default_timeout.Add(five_ms),
3944 connection_.GetTimeoutAlarm()->deadline()); 3943 connection_.GetTimeoutAlarm()->deadline());
3945 3944
3946 // This time, we should time out. 3945 // This time, we should time out.
3947 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_CONNECTION_TIMED_OUT, false)); 3946 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, false));
3948 clock_.AdvanceTime(five_ms); 3947 clock_.AdvanceTime(five_ms);
3949 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow()); 3948 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow());
3950 connection_.GetTimeoutAlarm()->Fire(); 3949 connection_.GetTimeoutAlarm()->Fire();
3951 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet()); 3950 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
3952 EXPECT_FALSE(connection_.connected()); 3951 EXPECT_FALSE(connection_.connected());
3953 } 3952 }
3954 3953
3955 TEST_P(QuicConnectionTest, TimeoutAfterSend) { 3954 TEST_P(QuicConnectionTest, TimeoutAfterSend) {
3956 ValueRestore<bool> old_flags(&FLAGS_quic_use_new_idle_timeout, true); 3955 ValueRestore<bool> old_flags(&FLAGS_quic_use_new_idle_timeout, true);
3957 EXPECT_TRUE(connection_.connected()); 3956 EXPECT_TRUE(connection_.connected());
(...skipping 23 matching lines...) Expand all
3981 // network event at t=5ms. The alarm will reregister. 3980 // network event at t=5ms. The alarm will reregister.
3982 clock_.AdvanceTime(initial_idle_timeout.Subtract(five_ms).Subtract(five_ms)); 3981 clock_.AdvanceTime(initial_idle_timeout.Subtract(five_ms).Subtract(five_ms));
3983 EXPECT_EQ(default_timeout, clock_.ApproximateNow()); 3982 EXPECT_EQ(default_timeout, clock_.ApproximateNow());
3984 connection_.GetTimeoutAlarm()->Fire(); 3983 connection_.GetTimeoutAlarm()->Fire();
3985 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet()); 3984 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
3986 EXPECT_TRUE(connection_.connected()); 3985 EXPECT_TRUE(connection_.connected());
3987 EXPECT_EQ(default_timeout.Add(five_ms).Add(five_ms), 3986 EXPECT_EQ(default_timeout.Add(five_ms).Add(five_ms),
3988 connection_.GetTimeoutAlarm()->deadline()); 3987 connection_.GetTimeoutAlarm()->deadline());
3989 3988
3990 // This time, we should time out. 3989 // This time, we should time out.
3991 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_CONNECTION_TIMED_OUT, false)); 3990 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, false));
3992 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)); 3991 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _));
3993 clock_.AdvanceTime(five_ms); 3992 clock_.AdvanceTime(five_ms);
3994 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow()); 3993 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow());
3995 connection_.GetTimeoutAlarm()->Fire(); 3994 connection_.GetTimeoutAlarm()->Fire();
3996 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet()); 3995 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
3997 EXPECT_FALSE(connection_.connected()); 3996 EXPECT_FALSE(connection_.connected());
3998 } 3997 }
3999 3998
4000 TEST_P(QuicConnectionTest, NewTimeoutAfterSendSilentClose) { 3999 TEST_P(QuicConnectionTest, NewTimeoutAfterSendSilentClose) {
4001 ValueRestore<bool> old_flags(&FLAGS_quic_use_new_idle_timeout, true); 4000 ValueRestore<bool> old_flags(&FLAGS_quic_use_new_idle_timeout, true);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
4045 // network event at t=5ms. The alarm will reregister. 4044 // network event at t=5ms. The alarm will reregister.
4046 clock_.AdvanceTime(default_idle_timeout.Subtract(five_ms).Subtract(five_ms)); 4045 clock_.AdvanceTime(default_idle_timeout.Subtract(five_ms).Subtract(five_ms));
4047 EXPECT_EQ(default_timeout, clock_.ApproximateNow()); 4046 EXPECT_EQ(default_timeout, clock_.ApproximateNow());
4048 connection_.GetTimeoutAlarm()->Fire(); 4047 connection_.GetTimeoutAlarm()->Fire();
4049 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet()); 4048 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
4050 EXPECT_TRUE(connection_.connected()); 4049 EXPECT_TRUE(connection_.connected());
4051 EXPECT_EQ(default_timeout.Add(five_ms).Add(five_ms), 4050 EXPECT_EQ(default_timeout.Add(five_ms).Add(five_ms),
4052 connection_.GetTimeoutAlarm()->deadline()); 4051 connection_.GetTimeoutAlarm()->deadline());
4053 4052
4054 // This time, we should time out. 4053 // This time, we should time out.
4055 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_CONNECTION_TIMED_OUT, false)); 4054 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, false));
4056 clock_.AdvanceTime(five_ms); 4055 clock_.AdvanceTime(five_ms);
4057 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow()); 4056 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow());
4058 connection_.GetTimeoutAlarm()->Fire(); 4057 connection_.GetTimeoutAlarm()->Fire();
4059 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet()); 4058 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
4060 EXPECT_FALSE(connection_.connected()); 4059 EXPECT_FALSE(connection_.connected());
4061 } 4060 }
4062 4061
4063 TEST_P(QuicConnectionTest, TimeoutAfterReceive) { 4062 TEST_P(QuicConnectionTest, TimeoutAfterReceive) {
4064 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); 4063 EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
4065 EXPECT_TRUE(connection_.connected()); 4064 EXPECT_TRUE(connection_.connected());
(...skipping 25 matching lines...) Expand all
4091 // network event at t=5ms. The alarm will reregister. 4090 // network event at t=5ms. The alarm will reregister.
4092 clock_.AdvanceTime(initial_idle_timeout.Subtract(five_ms)); 4091 clock_.AdvanceTime(initial_idle_timeout.Subtract(five_ms));
4093 EXPECT_EQ(default_timeout, clock_.ApproximateNow()); 4092 EXPECT_EQ(default_timeout, clock_.ApproximateNow());
4094 connection_.GetTimeoutAlarm()->Fire(); 4093 connection_.GetTimeoutAlarm()->Fire();
4095 EXPECT_TRUE(connection_.connected()); 4094 EXPECT_TRUE(connection_.connected());
4096 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet()); 4095 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
4097 EXPECT_EQ(default_timeout.Add(five_ms), 4096 EXPECT_EQ(default_timeout.Add(five_ms),
4098 connection_.GetTimeoutAlarm()->deadline()); 4097 connection_.GetTimeoutAlarm()->deadline());
4099 4098
4100 // This time, we should time out. 4099 // This time, we should time out.
4101 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_CONNECTION_TIMED_OUT, false)); 4100 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, false));
4102 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)); 4101 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _));
4103 clock_.AdvanceTime(five_ms); 4102 clock_.AdvanceTime(five_ms);
4104 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow()); 4103 EXPECT_EQ(default_timeout.Add(five_ms), clock_.ApproximateNow());
4105 connection_.GetTimeoutAlarm()->Fire(); 4104 connection_.GetTimeoutAlarm()->Fire();
4106 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet()); 4105 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
4107 EXPECT_FALSE(connection_.connected()); 4106 EXPECT_FALSE(connection_.connected());
4108 } 4107 }
4109 4108
4110 TEST_P(QuicConnectionTest, TimeoutAfterReceiveNotSendWhenUnacked) { 4109 TEST_P(QuicConnectionTest, TimeoutAfterReceiveNotSendWhenUnacked) {
4111 ValueRestore<bool> old_flags(&FLAGS_quic_use_new_idle_timeout, true); 4110 ValueRestore<bool> old_flags(&FLAGS_quic_use_new_idle_timeout, true);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
4146 clock_.AdvanceTime(initial_idle_timeout.Subtract(five_ms)); 4145 clock_.AdvanceTime(initial_idle_timeout.Subtract(five_ms));
4147 EXPECT_EQ(default_timeout, clock_.ApproximateNow()); 4146 EXPECT_EQ(default_timeout, clock_.ApproximateNow());
4148 connection_.GetTimeoutAlarm()->Fire(); 4147 connection_.GetTimeoutAlarm()->Fire();
4149 EXPECT_TRUE(connection_.connected()); 4148 EXPECT_TRUE(connection_.connected());
4150 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet()); 4149 EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
4151 EXPECT_EQ(default_timeout.Add(five_ms), 4150 EXPECT_EQ(default_timeout.Add(five_ms),
4152 connection_.GetTimeoutAlarm()->deadline()); 4151 connection_.GetTimeoutAlarm()->deadline());
4153 4152
4154 // Now, send packets while advancing the time and verify that the connection 4153 // Now, send packets while advancing the time and verify that the connection
4155 // eventually times out. 4154 // eventually times out.
4156 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_CONNECTION_TIMED_OUT, false)); 4155 EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, false));
4157 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(AnyNumber()); 4156 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(AnyNumber());
4158 for (int i = 0; i < 100 && connection_.connected(); ++i) { 4157 for (int i = 0; i < 100 && connection_.connected(); ++i) {
4159 VLOG(1) << "sending data packet"; 4158 VLOG(1) << "sending data packet";
4160 connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, !kFin, 4159 connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, !kFin,
4161 nullptr); 4160 nullptr);
4162 connection_.GetTimeoutAlarm()->Fire(); 4161 connection_.GetTimeoutAlarm()->Fire();
4163 clock_.AdvanceTime(QuicTime::Delta::FromSeconds(1)); 4162 clock_.AdvanceTime(QuicTime::Delta::FromSeconds(1));
4164 } 4163 }
4165 EXPECT_FALSE(connection_.connected()); 4164 EXPECT_FALSE(connection_.connected());
4166 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet()); 4165 EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
(...skipping 1339 matching lines...) Expand 10 before | Expand all | Expand 10 after
5506 QuicStreamFrame stream_frame(1u, false, 0u, StringPiece()); 5505 QuicStreamFrame stream_frame(1u, false, 0u, StringPiece());
5507 EXPECT_DFATAL(ProcessFramePacket(QuicFrame(&stream_frame)), 5506 EXPECT_DFATAL(ProcessFramePacket(QuicFrame(&stream_frame)),
5508 "Received a packet with multipath flag on when multipath is " 5507 "Received a packet with multipath flag on when multipath is "
5509 "not enabled."); 5508 "not enabled.");
5510 EXPECT_FALSE(connection_.connected()); 5509 EXPECT_FALSE(connection_.connected());
5511 } 5510 }
5512 5511
5513 } // namespace 5512 } // namespace
5514 } // namespace test 5513 } // namespace test
5515 } // namespace net 5514 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_connection.cc ('k') | net/quic/quic_protocol.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698