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

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

Issue 15937012: Land Recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Small bug fixes Created 7 years, 6 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "base/logging.h" 5 #include "base/logging.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "net/quic/congestion_control/inter_arrival_sender.h" 8 #include "net/quic/congestion_control/inter_arrival_sender.h"
9 #include "net/quic/test_tools/mock_clock.h" 9 #include "net/quic/test_tools/mock_clock.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 feedback_sequence_number_, receive_time)); 65 feedback_sequence_number_, receive_time));
66 feedback_sequence_number_++; 66 feedback_sequence_number_++;
67 67
68 // We need to send feedback for 2 packets since they where sent at the 68 // We need to send feedback for 2 packets since they where sent at the
69 // same time. 69 // same time.
70 feedback.inter_arrival.received_packet_times.insert( 70 feedback.inter_arrival.received_packet_times.insert(
71 std::pair<QuicPacketSequenceNumber, QuicTime>( 71 std::pair<QuicPacketSequenceNumber, QuicTime>(
72 feedback_sequence_number_, receive_time)); 72 feedback_sequence_number_, receive_time));
73 feedback_sequence_number_++; 73 feedback_sequence_number_++;
74 74
75 sender_.OnIncomingQuicCongestionFeedbackFrame( 75 sender_.OnIncomingQuicCongestionFeedbackFrame(feedback, send_clock_.Now(),
76 feedback, send_clock_.Now(), QuicBandwidth::Zero(), sent_packets_); 76 sent_packets_);
77 } 77 }
78 78
79 void SendFeedbackMessageNPackets(int n, 79 void SendFeedbackMessageNPackets(int n,
80 QuicTime::Delta delta_odd, 80 QuicTime::Delta delta_odd,
81 QuicTime::Delta delta_even) { 81 QuicTime::Delta delta_even) {
82 QuicCongestionFeedbackFrame feedback; 82 QuicCongestionFeedbackFrame feedback;
83 feedback.type = kInterArrival; 83 feedback.type = kInterArrival;
84 feedback.inter_arrival.accumulated_number_of_lost_packets = 0; 84 feedback.inter_arrival.accumulated_number_of_lost_packets = 0;
85 for (int i = 0; i < n; ++i) { 85 for (int i = 0; i < n; ++i) {
86 if (feedback_sequence_number_ % 2) { 86 if (feedback_sequence_number_ % 2) {
87 receive_clock_.AdvanceTime(delta_even); 87 receive_clock_.AdvanceTime(delta_even);
88 } else { 88 } else {
89 receive_clock_.AdvanceTime(delta_odd); 89 receive_clock_.AdvanceTime(delta_odd);
90 } 90 }
91 QuicTime receive_time = receive_clock_.ApproximateNow(); 91 QuicTime receive_time = receive_clock_.ApproximateNow();
92 feedback.inter_arrival.received_packet_times.insert( 92 feedback.inter_arrival.received_packet_times.insert(
93 std::pair<QuicPacketSequenceNumber, QuicTime>( 93 std::pair<QuicPacketSequenceNumber, QuicTime>(
94 feedback_sequence_number_, receive_time)); 94 feedback_sequence_number_, receive_time));
95 feedback_sequence_number_++; 95 feedback_sequence_number_++;
96 } 96 }
97 sender_.OnIncomingQuicCongestionFeedbackFrame(feedback, send_clock_.Now(), 97 sender_.OnIncomingQuicCongestionFeedbackFrame(feedback, send_clock_.Now(),
98 QuicBandwidth::Zero(), sent_packets_); 98 sent_packets_);
99 } 99 }
100 100
101 QuicTime::Delta SenderDeltaSinceStart() { 101 QuicTime::Delta SenderDeltaSinceStart() {
102 return send_clock_.ApproximateNow().Subtract(send_start_time_); 102 return send_clock_.ApproximateNow().Subtract(send_start_time_);
103 } 103 }
104 104
105 const QuicTime::Delta rtt_; 105 const QuicTime::Delta rtt_;
106 const QuicTime::Delta one_ms_; 106 const QuicTime::Delta one_ms_;
107 const QuicTime::Delta one_s_; 107 const QuicTime::Delta one_s_;
108 const QuicTime::Delta nine_ms_; 108 const QuicTime::Delta nine_ms_;
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 acked_sequence_number_ += 2; // Create a loss by not acking both packets. 556 acked_sequence_number_ += 2; // Create a loss by not acking both packets.
557 SendFeedbackMessageNPackets(2, nine_ms_, nine_ms_); 557 SendFeedbackMessageNPackets(2, nine_ms_, nine_ms_);
558 558
559 // Make sure our bitrate is fixed at the expected_min_bitrate. 559 // Make sure our bitrate is fixed at the expected_min_bitrate.
560 EXPECT_EQ(expected_min_bitrate, sender_.BandwidthEstimate()); 560 EXPECT_EQ(expected_min_bitrate, sender_.BandwidthEstimate());
561 } 561 }
562 } 562 }
563 563
564 } // namespace test 564 } // namespace test
565 } // namespace net 565 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698