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

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

Issue 515303003: Landing Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Bug fix for 409191 Created 6 years, 3 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_unacked_packet_map.h" 5 #include "net/quic/quic_unacked_packet_map.h"
6 6
7 #include "net/quic/test_tools/quic_test_utils.h" 7 #include "net/quic/test_tools/quic_test_utils.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace net { 10 namespace net {
(...skipping 17 matching lines...) Expand all
28 } 28 }
29 29
30 SerializedPacket CreateNonRetransmittablePacket( 30 SerializedPacket CreateNonRetransmittablePacket(
31 QuicPacketSequenceNumber sequence_number) { 31 QuicPacketSequenceNumber sequence_number) {
32 return SerializedPacket( 32 return SerializedPacket(
33 sequence_number, PACKET_1BYTE_SEQUENCE_NUMBER, NULL, 0, NULL); 33 sequence_number, PACKET_1BYTE_SEQUENCE_NUMBER, NULL, 0, NULL);
34 } 34 }
35 35
36 void VerifyInFlightPackets(QuicPacketSequenceNumber* packets, 36 void VerifyInFlightPackets(QuicPacketSequenceNumber* packets,
37 size_t num_packets) { 37 size_t num_packets) {
38 unacked_packets_.RemoveObsoletePackets();
38 if (num_packets == 0) { 39 if (num_packets == 0) {
39 EXPECT_FALSE(unacked_packets_.HasInFlightPackets()); 40 EXPECT_FALSE(unacked_packets_.HasInFlightPackets());
40 EXPECT_FALSE(unacked_packets_.HasMultipleInFlightPackets()); 41 EXPECT_FALSE(unacked_packets_.HasMultipleInFlightPackets());
41 return; 42 return;
42 } 43 }
43 if (num_packets == 1) { 44 if (num_packets == 1) {
44 EXPECT_TRUE(unacked_packets_.HasInFlightPackets()); 45 EXPECT_TRUE(unacked_packets_.HasInFlightPackets());
45 EXPECT_FALSE(unacked_packets_.HasMultipleInFlightPackets()); 46 EXPECT_FALSE(unacked_packets_.HasMultipleInFlightPackets());
46 ASSERT_TRUE(unacked_packets_.IsUnacked(packets[0])); 47 ASSERT_TRUE(unacked_packets_.IsUnacked(packets[0]));
47 EXPECT_TRUE(unacked_packets_.GetTransmissionInfo(packets[0]).in_flight); 48 EXPECT_TRUE(unacked_packets_.GetTransmissionInfo(packets[0]).in_flight);
48 } 49 }
49 for (size_t i = 0; i < num_packets; ++i) { 50 for (size_t i = 0; i < num_packets; ++i) {
50 ASSERT_TRUE(unacked_packets_.IsUnacked(packets[i])); 51 ASSERT_TRUE(unacked_packets_.IsUnacked(packets[i]));
51 EXPECT_TRUE(unacked_packets_.GetTransmissionInfo(packets[i]).in_flight); 52 EXPECT_TRUE(unacked_packets_.GetTransmissionInfo(packets[i]).in_flight);
52 } 53 }
53 size_t in_flight_count = 0; 54 size_t in_flight_count = 0;
54 for (QuicUnackedPacketMap::const_iterator it = unacked_packets_.begin(); 55 for (QuicUnackedPacketMap::const_iterator it = unacked_packets_.begin();
55 it != unacked_packets_.end(); ++it) { 56 it != unacked_packets_.end(); ++it) {
56 if (it->second.in_flight) { 57 if (it->in_flight) {
57 ++in_flight_count; 58 ++in_flight_count;
58 } 59 }
59 } 60 }
60 EXPECT_EQ(num_packets, in_flight_count); 61 EXPECT_EQ(num_packets, in_flight_count);
61 } 62 }
62 63
63 void VerifyUnackedPackets(QuicPacketSequenceNumber* packets, 64 void VerifyUnackedPackets(QuicPacketSequenceNumber* packets,
64 size_t num_packets) { 65 size_t num_packets) {
66 unacked_packets_.RemoveObsoletePackets();
65 if (num_packets == 0) { 67 if (num_packets == 0) {
66 EXPECT_FALSE(unacked_packets_.HasUnackedPackets()); 68 EXPECT_FALSE(unacked_packets_.HasUnackedPackets());
67 EXPECT_FALSE(unacked_packets_.HasUnackedRetransmittableFrames()); 69 EXPECT_FALSE(unacked_packets_.HasUnackedRetransmittableFrames());
68 return; 70 return;
69 } 71 }
70 EXPECT_TRUE(unacked_packets_.HasUnackedPackets()); 72 EXPECT_TRUE(unacked_packets_.HasUnackedPackets());
71 for (size_t i = 0; i < num_packets; ++i) { 73 for (size_t i = 0; i < num_packets; ++i) {
72 EXPECT_TRUE(unacked_packets_.IsUnacked(packets[i])) << packets[i]; 74 EXPECT_TRUE(unacked_packets_.IsUnacked(packets[i])) << packets[i];
73 } 75 }
74 size_t unacked_count = 0; 76 EXPECT_EQ(num_packets, unacked_packets_.GetNumUnackedPacketsDebugOnly());
75 for (QuicUnackedPacketMap::const_iterator it = unacked_packets_.begin();
76 it != unacked_packets_.end(); ++it) {
77 ++unacked_count;
78 }
79 EXPECT_EQ(num_packets, unacked_count);
80 } 77 }
81 78
82 void VerifyRetransmittablePackets(QuicPacketSequenceNumber* packets, 79 void VerifyRetransmittablePackets(QuicPacketSequenceNumber* packets,
83 size_t num_packets) { 80 size_t num_packets) {
81 unacked_packets_.RemoveObsoletePackets();
84 size_t num_retransmittable_packets = 0; 82 size_t num_retransmittable_packets = 0;
85 for (QuicUnackedPacketMap::const_iterator it = unacked_packets_.begin(); 83 for (QuicUnackedPacketMap::const_iterator it = unacked_packets_.begin();
86 it != unacked_packets_.end(); ++it) { 84 it != unacked_packets_.end(); ++it) {
87 if (it->second.retransmittable_frames != NULL) { 85 if (it->retransmittable_frames != NULL) {
88 ++num_retransmittable_packets; 86 ++num_retransmittable_packets;
89 } 87 }
90 } 88 }
91 EXPECT_EQ(num_packets, num_retransmittable_packets); 89 EXPECT_EQ(num_packets, num_retransmittable_packets);
92 for (size_t i = 0; i < num_packets; ++i) { 90 for (size_t i = 0; i < num_packets; ++i) {
93 EXPECT_TRUE(unacked_packets_.HasRetransmittableFrames(packets[i])) 91 EXPECT_TRUE(unacked_packets_.HasRetransmittableFrames(packets[i]))
94 << " packets[" << i << "]:" << packets[i]; 92 << " packets[" << i << "]:" << packets[i];
95 } 93 }
96 } 94 }
97 95
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 VerifyUnackedPackets(unacked4, arraysize(unacked4)); 232 VerifyUnackedPackets(unacked4, arraysize(unacked4));
235 QuicPacketSequenceNumber pending4[] = { 3, 5, 7 }; 233 QuicPacketSequenceNumber pending4[] = { 3, 5, 7 };
236 VerifyInFlightPackets(pending4, arraysize(pending4)); 234 VerifyInFlightPackets(pending4, arraysize(pending4));
237 QuicPacketSequenceNumber retransmittable4[] = { 7 }; 235 QuicPacketSequenceNumber retransmittable4[] = { 7 };
238 VerifyRetransmittablePackets(retransmittable4, arraysize(retransmittable4)); 236 VerifyRetransmittablePackets(retransmittable4, arraysize(retransmittable4));
239 } 237 }
240 238
241 } // namespace 239 } // namespace
242 } // namespace test 240 } // namespace test
243 } // namespace net 241 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_unacked_packet_map.cc ('k') | net/quic/test_tools/quic_sent_packet_manager_peer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698