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 "base/stl_util.h" | 7 #include "base/stl_util.h" |
8 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h" | 8 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h" |
9 #include "net/quic/test_tools/quic_test_utils.h" | 9 #include "net/quic/test_tools/quic_test_utils.h" |
10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 if (manager_.HasRetransmittableFrames(*it)) { | 70 if (manager_.HasRetransmittableFrames(*it)) { |
71 ++num_retransmittable; | 71 ++num_retransmittable; |
72 } | 72 } |
73 } | 73 } |
74 EXPECT_EQ(num_packets, | 74 EXPECT_EQ(num_packets, |
75 QuicSentPacketManagerPeer::GetNumRetransmittablePackets( | 75 QuicSentPacketManagerPeer::GetNumRetransmittablePackets( |
76 &manager_)); | 76 &manager_)); |
77 EXPECT_EQ(num_packets, num_retransmittable); | 77 EXPECT_EQ(num_packets, num_retransmittable); |
78 } | 78 } |
79 | 79 |
80 void VerifyAckedPackets(QuicPacketSequenceNumber* expected, | |
81 size_t num_expected, | |
82 const SequenceNumberSet& actual) { | |
83 if (num_expected == 0) { | |
84 EXPECT_TRUE(actual.empty()); | |
85 return; | |
86 } | |
87 | |
88 EXPECT_EQ(num_expected, actual.size()); | |
89 for (size_t i = 0; i < num_expected; ++i) { | |
90 EXPECT_TRUE(ContainsKey(actual, expected[i])) << expected[i]; | |
91 } | |
92 } | |
93 | |
94 void RetransmitPacket(QuicPacketSequenceNumber old_sequence_number, | 80 void RetransmitPacket(QuicPacketSequenceNumber old_sequence_number, |
95 QuicPacketSequenceNumber new_sequence_number) { | 81 QuicPacketSequenceNumber new_sequence_number) { |
96 QuicSentPacketManagerPeer::MarkForRetransmission( | 82 QuicSentPacketManagerPeer::MarkForRetransmission( |
97 &manager_, old_sequence_number, NACK_RETRANSMISSION); | 83 &manager_, old_sequence_number, NACK_RETRANSMISSION); |
98 EXPECT_TRUE(manager_.HasPendingRetransmissions()); | 84 EXPECT_TRUE(manager_.HasPendingRetransmissions()); |
99 QuicSentPacketManager::PendingRetransmission next_retransmission = | 85 QuicSentPacketManager::PendingRetransmission next_retransmission = |
100 manager_.NextPendingRetransmission(); | 86 manager_.NextPendingRetransmission(); |
101 EXPECT_EQ(old_sequence_number, next_retransmission.sequence_number); | 87 EXPECT_EQ(old_sequence_number, next_retransmission.sequence_number); |
102 EXPECT_EQ(NACK_RETRANSMISSION, next_retransmission.transmission_type); | 88 EXPECT_EQ(NACK_RETRANSMISSION, next_retransmission.transmission_type); |
103 manager_.OnRetransmittedPacket(old_sequence_number, new_sequence_number); | 89 manager_.OnRetransmittedPacket(old_sequence_number, new_sequence_number); |
(...skipping 1044 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1148 // Fire the retransmission timeout and ensure the loss detection algorithm | 1134 // Fire the retransmission timeout and ensure the loss detection algorithm |
1149 // is invoked. | 1135 // is invoked. |
1150 EXPECT_CALL(*loss_algorithm, DetectLostPackets(_, _, _, _, _)) | 1136 EXPECT_CALL(*loss_algorithm, DetectLostPackets(_, _, _, _, _)) |
1151 .WillOnce(Return(SequenceNumberSet())); | 1137 .WillOnce(Return(SequenceNumberSet())); |
1152 manager_.OnRetransmissionTimeout(); | 1138 manager_.OnRetransmissionTimeout(); |
1153 } | 1139 } |
1154 | 1140 |
1155 } // namespace | 1141 } // namespace |
1156 } // namespace test | 1142 } // namespace test |
1157 } // namespace net | 1143 } // namespace net |
OLD | NEW |