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

Side by Side Diff: net/quic/congestion_control/fix_rate_test.cc

Issue 11961022: Remove default constructors for QuicTime and QuicTime::Delta and used static Zero() methods instead… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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 | Annotate | Revision Log
OLDNEW
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 // Test for FixRate sender and receiver. 5 // Test for FixRate sender and receiver.
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "net/quic/congestion_control/fix_rate_receiver.h" 9 #include "net/quic/congestion_control/fix_rate_receiver.h"
10 #include "net/quic/congestion_control/fix_rate_sender.h" 10 #include "net/quic/congestion_control/fix_rate_sender.h"
(...skipping 16 matching lines...) Expand all
27 clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(2)); 27 clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(2));
28 } 28 }
29 const QuicTime::Delta rtt_; 29 const QuicTime::Delta rtt_;
30 MockClock clock_; 30 MockClock clock_;
31 scoped_ptr<FixRateSender> sender_; 31 scoped_ptr<FixRateSender> sender_;
32 scoped_ptr<FixRateReceiver> receiver_; 32 scoped_ptr<FixRateReceiver> receiver_;
33 }; 33 };
34 34
35 TEST_F(FixRateTest, ReceiverAPI) { 35 TEST_F(FixRateTest, ReceiverAPI) {
36 QuicCongestionFeedbackFrame feedback; 36 QuicCongestionFeedbackFrame feedback;
37 QuicTime timestamp; 37 QuicTime timestamp(QuicTime::Zero());
38 receiver_->SetBitrate(300000); // Bytes per second. 38 receiver_->SetBitrate(300000); // Bytes per second.
39 receiver_->RecordIncomingPacket(1, 1, timestamp, false); 39 receiver_->RecordIncomingPacket(1, 1, timestamp, false);
40 ASSERT_TRUE(receiver_->GenerateCongestionFeedback(&feedback)); 40 ASSERT_TRUE(receiver_->GenerateCongestionFeedback(&feedback));
41 EXPECT_EQ(kFixRate, feedback.type); 41 EXPECT_EQ(kFixRate, feedback.type);
42 EXPECT_EQ(300000u, feedback.fix_rate.bitrate_in_bytes_per_second); 42 EXPECT_EQ(300000u, feedback.fix_rate.bitrate_in_bytes_per_second);
43 } 43 }
44 44
45 TEST_F(FixRateTest, SenderAPI) { 45 TEST_F(FixRateTest, SenderAPI) {
46 QuicCongestionFeedbackFrame feedback; 46 QuicCongestionFeedbackFrame feedback;
47 feedback.type = kFixRate; 47 feedback.type = kFixRate;
(...skipping 20 matching lines...) Expand all
68 } 68 }
69 69
70 TEST_F(FixRateTest, FixRatePacing) { 70 TEST_F(FixRateTest, FixRatePacing) {
71 const int64 packet_size = 1200; 71 const int64 packet_size = 1200;
72 const int64 bit_rate = 240000; 72 const int64 bit_rate = 240000;
73 const int64 num_packets = 200; 73 const int64 num_packets = 200;
74 QuicCongestionFeedbackFrame feedback; 74 QuicCongestionFeedbackFrame feedback;
75 receiver_->SetBitrate(240000); // Bytes per second. 75 receiver_->SetBitrate(240000); // Bytes per second.
76 ASSERT_TRUE(receiver_->GenerateCongestionFeedback(&feedback)); 76 ASSERT_TRUE(receiver_->GenerateCongestionFeedback(&feedback));
77 sender_->OnIncomingQuicCongestionFeedbackFrame(feedback); 77 sender_->OnIncomingQuicCongestionFeedbackFrame(feedback);
78 QuicTime acc_advance_time; 78 QuicTime acc_advance_time(QuicTime::Zero());
79 QuicPacketSequenceNumber sequence_number = 0; 79 QuicPacketSequenceNumber sequence_number = 0;
80 for (int i = 0; i < num_packets; i += 2) { 80 for (int i = 0; i < num_packets; i += 2) {
81 EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero()); 81 EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero());
82 EXPECT_EQ(kMaxPacketSize * 2, sender_->AvailableCongestionWindow()); 82 EXPECT_EQ(kMaxPacketSize * 2, sender_->AvailableCongestionWindow());
83 sender_->SentPacket(sequence_number++, packet_size, false); 83 sender_->SentPacket(sequence_number++, packet_size, false);
84 EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero()); 84 EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero());
85 sender_->SentPacket(sequence_number++, packet_size, false); 85 sender_->SentPacket(sequence_number++, packet_size, false);
86 QuicTime::Delta advance_time = sender_->TimeUntilSend(false); 86 QuicTime::Delta advance_time = sender_->TimeUntilSend(false);
87 clock_.AdvanceTime(advance_time); 87 clock_.AdvanceTime(advance_time);
88 sender_->OnIncomingAck(sequence_number - 1, packet_size, rtt_); 88 sender_->OnIncomingAck(sequence_number - 1, packet_size, rtt_);
89 sender_->OnIncomingAck(sequence_number - 2, packet_size, rtt_); 89 sender_->OnIncomingAck(sequence_number - 2, packet_size, rtt_);
90 acc_advance_time = acc_advance_time.Add(advance_time); 90 acc_advance_time = acc_advance_time.Add(advance_time);
91 } 91 }
92 EXPECT_EQ(num_packets * packet_size * 1000000 / bit_rate, 92 EXPECT_EQ(num_packets * packet_size * 1000000 / bit_rate,
93 acc_advance_time.ToMicroseconds()); 93 acc_advance_time.ToMicroseconds());
94 } 94 }
95 95
96 } // namespace test 96 } // namespace test
97 } // namespace net 97 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698