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 3167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3178 SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); | 3178 SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); |
3179 ASSERT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); | 3179 ASSERT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
3180 } | 3180 } |
3181 | 3181 |
3182 EXPECT_EQ(1u, connection_.mtu_probe_count()); | 3182 EXPECT_EQ(1u, connection_.mtu_probe_count()); |
3183 } | 3183 } |
3184 | 3184 |
3185 // Tests whether MTU discovery works when the writer returns an error despite | 3185 // Tests whether MTU discovery works when the writer returns an error despite |
3186 // advertising higher packet length. | 3186 // advertising higher packet length. |
3187 TEST_P(QuicConnectionTest, MtuDiscoveryWriterFailed) { | 3187 TEST_P(QuicConnectionTest, MtuDiscoveryWriterFailed) { |
3188 FLAGS_graceful_emsgsize_on_mtu_probe = true; | |
3189 EXPECT_TRUE(connection_.connected()); | 3188 EXPECT_TRUE(connection_.connected()); |
3190 | 3189 |
3191 const QuicByteCount mtu_limit = kMtuDiscoveryTargetPacketSizeHigh - 1; | 3190 const QuicByteCount mtu_limit = kMtuDiscoveryTargetPacketSizeHigh - 1; |
3192 const QuicByteCount initial_mtu = connection_.max_packet_length(); | 3191 const QuicByteCount initial_mtu = connection_.max_packet_length(); |
3193 EXPECT_LT(initial_mtu, mtu_limit); | 3192 EXPECT_LT(initial_mtu, mtu_limit); |
3194 writer_->set_max_packet_size(mtu_limit); | 3193 writer_->set_max_packet_size(mtu_limit); |
3195 connection_.EnablePathMtuDiscovery(send_algorithm_); | 3194 connection_.EnablePathMtuDiscovery(send_algorithm_); |
3196 | 3195 |
3197 // Send enough packets so that the next one triggers path MTU discovery. | 3196 // Send enough packets so that the next one triggers path MTU discovery. |
3198 for (QuicPacketCount i = 0; i < kPacketsBetweenMtuProbesBase - 1; i++) { | 3197 for (QuicPacketCount i = 0; i < kPacketsBetweenMtuProbesBase - 1; i++) { |
(...skipping 2080 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5279 connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); | 5278 connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
5280 EXPECT_EQ(1u, writer_->frame_count()); | 5279 EXPECT_EQ(1u, writer_->frame_count()); |
5281 EXPECT_FALSE(writer_->connection_close_frames().empty()); | 5280 EXPECT_FALSE(writer_->connection_close_frames().empty()); |
5282 // Ack frame is not bundled in connection close packet. | 5281 // Ack frame is not bundled in connection close packet. |
5283 EXPECT_TRUE(writer_->ack_frames().empty()); | 5282 EXPECT_TRUE(writer_->ack_frames().empty()); |
5284 } | 5283 } |
5285 | 5284 |
5286 } // namespace | 5285 } // namespace |
5287 } // namespace test | 5286 } // namespace test |
5288 } // namespace net | 5287 } // namespace net |
OLD | NEW |