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

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

Issue 2671303003: Deprecate FLAGS_quic_reloadable_flag_quic_more_conservative_retransmission_alarm (Closed)
Patch Set: Deprecate FLAGS_quic_reloadable_flag_quic_more_conservative_retransmission_alarm 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 | « no previous file | net/quic/core/quic_flags_list.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 2024 matching lines...) Expand 10 before | Expand all | Expand 10 after
2035 clock_.AdvanceTime(DefaultRetransmissionTime()); 2035 clock_.AdvanceTime(DefaultRetransmissionTime());
2036 connection_.GetRetransmissionAlarm()->Fire(); 2036 connection_.GetRetransmissionAlarm()->Fire();
2037 EXPECT_EQ(1u, writer_->frame_count()); 2037 EXPECT_EQ(1u, writer_->frame_count());
2038 EXPECT_EQ(1u, writer_->rst_stream_frames().size()); 2038 EXPECT_EQ(1u, writer_->rst_stream_frames().size());
2039 EXPECT_EQ(stream_id, writer_->rst_stream_frames().front().stream_id); 2039 EXPECT_EQ(stream_id, writer_->rst_stream_frames().front().stream_id);
2040 } 2040 }
2041 2041
2042 // Ensure that if the only data in flight is non-retransmittable, the 2042 // Ensure that if the only data in flight is non-retransmittable, the
2043 // retransmission alarm is not set. 2043 // retransmission alarm is not set.
2044 TEST_P(QuicConnectionTest, CancelRetransmissionAlarmAfterResetStream) { 2044 TEST_P(QuicConnectionTest, CancelRetransmissionAlarmAfterResetStream) {
2045 FLAGS_quic_reloadable_flag_quic_more_conservative_retransmission_alarm = true;
2046 QuicStreamId stream_id = 2; 2045 QuicStreamId stream_id = 2;
2047 QuicPacketNumber last_data_packet; 2046 QuicPacketNumber last_data_packet;
2048 SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_data_packet); 2047 SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_data_packet);
2049 2048
2050 // Cancel the stream. 2049 // Cancel the stream.
2051 const QuicPacketNumber rst_packet = last_data_packet + 1; 2050 const QuicPacketNumber rst_packet = last_data_packet + 1;
2052 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, rst_packet, _, _)).Times(1); 2051 EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, rst_packet, _, _)).Times(1);
2053 connection_.SendRstStream(stream_id, QUIC_ERROR_PROCESSING_STREAM, 14); 2052 connection_.SendRstStream(stream_id, QUIC_ERROR_PROCESSING_STREAM, 14);
2054 2053
2055 // Ack the RST_STREAM frame (since it's retransmittable), but not the data 2054 // Ack the RST_STREAM frame (since it's retransmittable), but not the data
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
2280 2279
2281 // Ack the sent packet before the callback returns, which happens in 2280 // Ack the sent packet before the callback returns, which happens in
2282 // rare circumstances with write blocked sockets. 2281 // rare circumstances with write blocked sockets.
2283 QuicAckFrame ack = InitAckFrame(1); 2282 QuicAckFrame ack = InitAckFrame(1);
2284 EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _, _)); 2283 EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _, _));
2285 ProcessAckPacket(&ack); 2284 ProcessAckPacket(&ack);
2286 2285
2287 writer_->SetWritable(); 2286 writer_->SetWritable();
2288 connection_.OnCanWrite(); 2287 connection_.OnCanWrite();
2289 // There is now a pending packet, but with no retransmittable frames. 2288 // There is now a pending packet, but with no retransmittable frames.
2290 EXPECT_EQ( 2289 EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet());
2291 FLAGS_quic_reloadable_flag_quic_more_conservative_retransmission_alarm,
2292 !connection_.GetRetransmissionAlarm()->IsSet());
2293 EXPECT_FALSE(QuicConnectionPeer::HasRetransmittableFrames(&connection_, 2290 EXPECT_FALSE(QuicConnectionPeer::HasRetransmittableFrames(&connection_,
2294 ack.path_id, 2)); 2291 ack.path_id, 2));
2295 } 2292 }
2296 2293
2297 TEST_P(QuicConnectionTest, AlarmsWhenWriteBlocked) { 2294 TEST_P(QuicConnectionTest, AlarmsWhenWriteBlocked) {
2298 // Block the connection. 2295 // Block the connection.
2299 BlockOnNextWrite(); 2296 BlockOnNextWrite();
2300 connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); 2297 connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr);
2301 EXPECT_EQ(1u, writer_->packets_write_attempts()); 2298 EXPECT_EQ(1u, writer_->packets_write_attempts());
2302 EXPECT_TRUE(writer_->IsWriteBlocked()); 2299 EXPECT_TRUE(writer_->IsWriteBlocked());
(...skipping 2812 matching lines...) Expand 10 before | Expand all | Expand 10 after
5115 error_details, ConnectionCloseSource::FROM_PEER)); 5112 error_details, ConnectionCloseSource::FROM_PEER));
5116 connection_.set_perspective(Perspective::IS_CLIENT); 5113 connection_.set_perspective(Perspective::IS_CLIENT);
5117 connection_.CloseConnection(QUIC_CRYPTO_HANDSHAKE_STATELESS_REJECT, 5114 connection_.CloseConnection(QUIC_CRYPTO_HANDSHAKE_STATELESS_REJECT,
5118 error_details, 5115 error_details,
5119 ConnectionCloseBehavior::SILENT_CLOSE); 5116 ConnectionCloseBehavior::SILENT_CLOSE);
5120 } 5117 }
5121 5118
5122 } // namespace 5119 } // namespace
5123 } // namespace test 5120 } // namespace test
5124 } // namespace net 5121 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/quic/core/quic_flags_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698