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

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

Issue 420313005: Land Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Final_0723
Patch Set: change QUIC packet size to 1350 Created 6 years, 4 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 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_received_packet_manager.h" 5 #include "net/quic/quic_received_packet_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "net/quic/quic_connection_stats.h" 10 #include "net/quic/quic_connection_stats.h"
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 EXPECT_FALSE(received_manager_.IsAwaitingPacket(3u)); 300 EXPECT_FALSE(received_manager_.IsAwaitingPacket(3u));
301 EXPECT_TRUE(received_manager_.IsAwaitingPacket(6u)); 301 EXPECT_TRUE(received_manager_.IsAwaitingPacket(6u));
302 } 302 }
303 303
304 TEST_F(QuicReceivedPacketManagerTest, UpdateReceivedPacketInfo) { 304 TEST_F(QuicReceivedPacketManagerTest, UpdateReceivedPacketInfo) {
305 QuicPacketHeader header; 305 QuicPacketHeader header;
306 header.packet_sequence_number = 2u; 306 header.packet_sequence_number = 2u;
307 QuicTime two_ms = QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(2)); 307 QuicTime two_ms = QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(2));
308 received_manager_.RecordPacketReceived(0u, header, two_ms); 308 received_manager_.RecordPacketReceived(0u, header, two_ms);
309 309
310 ReceivedPacketInfo info; 310 QuicAckFrame ack;
311 received_manager_.UpdateReceivedPacketInfo(&info, QuicTime::Zero()); 311 received_manager_.UpdateReceivedPacketInfo(&ack, QuicTime::Zero());
312 // When UpdateReceivedPacketInfo with a time earlier than the time of the 312 // When UpdateReceivedPacketInfo with a time earlier than the time of the
313 // largest observed packet, make sure that the delta is 0, not negative. 313 // largest observed packet, make sure that the delta is 0, not negative.
314 EXPECT_EQ(QuicTime::Delta::Zero(), info.delta_time_largest_observed); 314 EXPECT_EQ(QuicTime::Delta::Zero(), ack.delta_time_largest_observed);
315 315
316 QuicTime four_ms = QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(4)); 316 QuicTime four_ms = QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(4));
317 received_manager_.UpdateReceivedPacketInfo(&info, four_ms); 317 received_manager_.UpdateReceivedPacketInfo(&ack, four_ms);
318 // When UpdateReceivedPacketInfo after not having received a new packet, 318 // When UpdateReceivedPacketInfo after not having received a new packet,
319 // the delta should still be accurate. 319 // the delta should still be accurate.
320 EXPECT_EQ(QuicTime::Delta::FromMilliseconds(2), 320 EXPECT_EQ(QuicTime::Delta::FromMilliseconds(2),
321 info.delta_time_largest_observed); 321 ack.delta_time_largest_observed);
322 } 322 }
323 323
324 TEST_F(QuicReceivedPacketManagerTest, UpdateReceivedConnectionStats) { 324 TEST_F(QuicReceivedPacketManagerTest, UpdateReceivedConnectionStats) {
325 RecordPacketReceipt(1, 0); 325 RecordPacketReceipt(1, 0);
326 RecordPacketReceipt(6, 0); 326 RecordPacketReceipt(6, 0);
327 RecordPacketReceipt( 327 RecordPacketReceipt(
328 2, 0, QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(1))); 328 2, 0, QuicTime::Zero().Add(QuicTime::Delta::FromMilliseconds(1)));
329 329
330 EXPECT_EQ(4u, stats_.max_sequence_reordering); 330 EXPECT_EQ(4u, stats_.max_sequence_reordering);
331 EXPECT_EQ(1000u, stats_.max_time_reordering_us); 331 EXPECT_EQ(1000u, stats_.max_time_reordering_us);
332 EXPECT_EQ(1u, stats_.packets_reordered); 332 EXPECT_EQ(1u, stats_.packets_reordered);
333 } 333 }
334 334
335 TEST_F(QuicReceivedPacketManagerTest, RevivedPacket) { 335 TEST_F(QuicReceivedPacketManagerTest, RevivedPacket) {
336 RecordPacketReceipt(1, 0); 336 RecordPacketReceipt(1, 0);
337 RecordPacketReceipt(3, 0); 337 RecordPacketReceipt(3, 0);
338 RecordPacketRevived(2); 338 RecordPacketRevived(2);
339 339
340 ReceivedPacketInfo info; 340 QuicAckFrame ack;
341 received_manager_.UpdateReceivedPacketInfo(&info, QuicTime::Zero()); 341 received_manager_.UpdateReceivedPacketInfo(&ack, QuicTime::Zero());
342 EXPECT_EQ(1u, info.missing_packets.size()); 342 EXPECT_EQ(1u, ack.missing_packets.size());
343 EXPECT_EQ(2u, *info.missing_packets.begin()); 343 EXPECT_EQ(2u, *ack.missing_packets.begin());
344 EXPECT_EQ(1u, info.revived_packets.size()); 344 EXPECT_EQ(1u, ack.revived_packets.size());
345 EXPECT_EQ(2u, *info.missing_packets.begin()); 345 EXPECT_EQ(2u, *ack.missing_packets.begin());
346 } 346 }
347 347
348 TEST_F(QuicReceivedPacketManagerTest, PacketRevivedThenReceived) { 348 TEST_F(QuicReceivedPacketManagerTest, PacketRevivedThenReceived) {
349 RecordPacketReceipt(1, 0); 349 RecordPacketReceipt(1, 0);
350 RecordPacketReceipt(3, 0); 350 RecordPacketReceipt(3, 0);
351 RecordPacketRevived(2); 351 RecordPacketRevived(2);
352 RecordPacketReceipt(2, 0); 352 RecordPacketReceipt(2, 0);
353 353
354 ReceivedPacketInfo info; 354 QuicAckFrame ack;
355 received_manager_.UpdateReceivedPacketInfo(&info, QuicTime::Zero()); 355 received_manager_.UpdateReceivedPacketInfo(&ack, QuicTime::Zero());
356 EXPECT_TRUE(info.missing_packets.empty()); 356 EXPECT_TRUE(ack.missing_packets.empty());
357 EXPECT_TRUE(info.revived_packets.empty()); 357 EXPECT_TRUE(ack.revived_packets.empty());
358 } 358 }
359 359
360 360
361 } // namespace 361 } // namespace
362 } // namespace test 362 } // namespace test
363 } // namespace net 363 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698