OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_sent_packet_manager.h" | 5 #include "net/quic/quic_sent_packet_manager.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
10 #include "net/quic/quic_flags.h" | 10 #include "net/quic/quic_flags.h" |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 if (num_packets == 0) { | 117 if (num_packets == 0) { |
118 EXPECT_FALSE(manager_.HasUnackedPackets()); | 118 EXPECT_FALSE(manager_.HasUnackedPackets()); |
119 EXPECT_EQ(0u, QuicSentPacketManagerPeer::GetNumRetransmittablePackets( | 119 EXPECT_EQ(0u, QuicSentPacketManagerPeer::GetNumRetransmittablePackets( |
120 &manager_)); | 120 &manager_)); |
121 return; | 121 return; |
122 } | 122 } |
123 | 123 |
124 EXPECT_TRUE(manager_.HasUnackedPackets()); | 124 EXPECT_TRUE(manager_.HasUnackedPackets()); |
125 EXPECT_EQ(packets[0], manager_.GetLeastUnacked(kDefaultPathId)); | 125 EXPECT_EQ(packets[0], manager_.GetLeastUnacked(kDefaultPathId)); |
126 for (size_t i = 0; i < num_packets; ++i) { | 126 for (size_t i = 0; i < num_packets; ++i) { |
127 EXPECT_TRUE(manager_.IsUnacked(kDefaultPathId, packets[i])) << packets[i]; | 127 EXPECT_TRUE(QuicSentPacketManagerPeer::IsUnacked(&manager_, packets[i])) |
| 128 << packets[i]; |
128 } | 129 } |
129 } | 130 } |
130 | 131 |
131 void VerifyRetransmittablePackets(QuicPacketNumber* packets, | 132 void VerifyRetransmittablePackets(QuicPacketNumber* packets, |
132 size_t num_packets) { | 133 size_t num_packets) { |
133 EXPECT_EQ( | 134 EXPECT_EQ( |
134 num_packets, | 135 num_packets, |
135 QuicSentPacketManagerPeer::GetNumRetransmittablePackets(&manager_)); | 136 QuicSentPacketManagerPeer::GetNumRetransmittablePackets(&manager_)); |
136 for (size_t i = 0; i < num_packets; ++i) { | 137 for (size_t i = 0; i < num_packets; ++i) { |
137 EXPECT_TRUE(manager_.HasRetransmittableFrames(kDefaultPathId, packets[i])) | 138 EXPECT_TRUE(QuicSentPacketManagerPeer::HasRetransmittableFrames( |
| 139 &manager_, packets[i])) |
138 << " packets[" << i << "]:" << packets[i]; | 140 << " packets[" << i << "]:" << packets[i]; |
139 } | 141 } |
140 } | 142 } |
141 | 143 |
142 void ExpectAck(QuicPacketNumber largest_observed) { | 144 void ExpectAck(QuicPacketNumber largest_observed) { |
143 EXPECT_CALL( | 145 EXPECT_CALL( |
144 *send_algorithm_, | 146 *send_algorithm_, |
145 OnCongestionEvent(true, _, ElementsAre(Pair(largest_observed, _)), | 147 OnCongestionEvent(true, _, ElementsAre(Pair(largest_observed, _)), |
146 IsEmpty())); | 148 IsEmpty())); |
147 EXPECT_CALL(*network_change_visitor_, OnCongestionChange()); | 149 EXPECT_CALL(*network_change_visitor_, OnCongestionChange()); |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 SendDataPacket(7); | 585 SendDataPacket(7); |
584 SendDataPacket(8); | 586 SendDataPacket(8); |
585 SendDataPacket(9); | 587 SendDataPacket(9); |
586 | 588 |
587 // Ack previous transmission | 589 // Ack previous transmission |
588 { | 590 { |
589 QuicAckFrame ack_frame = InitAckFrame(2); | 591 QuicAckFrame ack_frame = InitAckFrame(2); |
590 NackPackets(1, 2, &ack_frame); | 592 NackPackets(1, 2, &ack_frame); |
591 ExpectAck(2); | 593 ExpectAck(2); |
592 manager_.OnIncomingAck(ack_frame, clock_.Now()); | 594 manager_.OnIncomingAck(ack_frame, clock_.Now()); |
593 EXPECT_TRUE(manager_.IsUnacked(kDefaultPathId, 4)); | 595 EXPECT_TRUE(QuicSentPacketManagerPeer::IsUnacked(&manager_, 4)); |
594 } | 596 } |
595 | 597 |
596 // Truncated ack with 4 NACKs | 598 // Truncated ack with 4 NACKs |
597 { | 599 { |
598 QuicAckFrame ack_frame = InitAckFrame(6); | 600 QuicAckFrame ack_frame = InitAckFrame(6); |
599 NackPackets(3, 7, &ack_frame); | 601 NackPackets(3, 7, &ack_frame); |
600 ack_frame.is_truncated = true; | 602 ack_frame.is_truncated = true; |
601 ExpectAckAndLoss(true, 1, 3); | 603 ExpectAckAndLoss(true, 1, 3); |
602 manager_.OnIncomingAck(ack_frame, clock_.Now()); | 604 manager_.OnIncomingAck(ack_frame, clock_.Now()); |
603 } | 605 } |
(...skipping 1115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1719 ExpectAck(1); | 1721 ExpectAck(1); |
1720 EXPECT_CALL(*network_change_visitor_, | 1722 EXPECT_CALL(*network_change_visitor_, |
1721 OnPathMtuIncreased(kDefaultLength + 100)); | 1723 OnPathMtuIncreased(kDefaultLength + 100)); |
1722 QuicAckFrame ack_frame = InitAckFrame(1); | 1724 QuicAckFrame ack_frame = InitAckFrame(1); |
1723 manager_.OnIncomingAck(ack_frame, clock_.Now()); | 1725 manager_.OnIncomingAck(ack_frame, clock_.Now()); |
1724 } | 1726 } |
1725 | 1727 |
1726 } // namespace | 1728 } // namespace |
1727 } // namespace test | 1729 } // namespace test |
1728 } // namespace net | 1730 } // namespace net |
OLD | NEW |