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

Unified Diff: net/quic/congestion_control/fix_rate_test.cc

Issue 12334063: Land recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more EXPECT_FALSE Created 7 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/congestion_control/fix_rate_sender.cc ('k') | net/quic/congestion_control/hybrid_slow_start.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/congestion_control/fix_rate_test.cc
diff --git a/net/quic/congestion_control/fix_rate_test.cc b/net/quic/congestion_control/fix_rate_test.cc
index 2c0770afb72a665ef3224ec13757cc713da0f126..a4ff5badcb505400dbbc666114e67a9ee7b15be3 100644
--- a/net/quic/congestion_control/fix_rate_test.cc
+++ b/net/quic/congestion_control/fix_rate_test.cc
@@ -1,8 +1,6 @@
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-//
-// Test for FixRate sender and receiver.
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
@@ -10,19 +8,12 @@
#include "net/quic/congestion_control/fix_rate_sender.h"
#include "net/quic/test_tools/mock_clock.h"
#include "net/quic/quic_protocol.h"
+#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace net {
namespace test {
-class FixRateSenderPeer : public FixRateSender {
- public:
- explicit FixRateSenderPeer(const QuicClock* clock)
- : FixRateSender(clock) {
- }
- using FixRateSender::AvailableCongestionWindow;
-};
-
class FixRateReceiverPeer : public FixRateReceiver {
public:
FixRateReceiverPeer()
@@ -37,15 +28,17 @@ class FixRateTest : public ::testing::Test {
protected:
FixRateTest()
: rtt_(QuicTime::Delta::FromMilliseconds(30)),
- sender_(new FixRateSenderPeer(&clock_)),
+ unused_bandwidth_(QuicBandwidth::Zero()),
+ sender_(new FixRateSender(&clock_)),
receiver_(new FixRateReceiverPeer()) {
// Make sure clock does not start at 0.
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(2));
}
const QuicTime::Delta rtt_;
+ const QuicBandwidth unused_bandwidth_;
MockClock clock_;
- SendAlgorithmInterface::SentPacketsMap not_used_;
- scoped_ptr<FixRateSenderPeer> sender_;
+ SendAlgorithmInterface::SentPacketsMap unused_packet_map_;
+ scoped_ptr<FixRateSender> sender_;
scoped_ptr<FixRateReceiverPeer> receiver_;
};
@@ -63,27 +56,24 @@ TEST_F(FixRateTest, SenderAPI) {
QuicCongestionFeedbackFrame feedback;
feedback.type = kFixRate;
feedback.fix_rate.bitrate = QuicBandwidth::FromKBytesPerSecond(300);
- sender_->OnIncomingQuicCongestionFeedbackFrame(feedback, not_used_);
+ sender_->OnIncomingQuicCongestionFeedbackFrame(feedback, clock_.Now(),
+ unused_bandwidth_, unused_packet_map_);
EXPECT_EQ(300000, sender_->BandwidthEstimate().ToBytesPerSecond());
- EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero());
- EXPECT_EQ(kMaxPacketSize * 2,
- sender_->AvailableCongestionWindow());
- sender_->SentPacket(1, kMaxPacketSize, false);
- EXPECT_EQ(3000u - kMaxPacketSize,
- sender_->AvailableCongestionWindow());
- EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero());
- sender_->SentPacket(2, kMaxPacketSize, false);
- sender_->SentPacket(3, 600, false);
+ EXPECT_TRUE(sender_->TimeUntilSend(clock_.Now(), false).IsZero());
+ sender_->SentPacket(clock_.Now(), 1, kMaxPacketSize, false);
+ EXPECT_TRUE(sender_->TimeUntilSend(clock_.Now(), false).IsZero());
+ sender_->SentPacket(clock_.Now(), 2, kMaxPacketSize, false);
+ sender_->SentPacket(clock_.Now(), 3, 600, false);
EXPECT_EQ(QuicTime::Delta::FromMilliseconds(10),
- sender_->TimeUntilSend(false));
- EXPECT_EQ(0u, sender_->AvailableCongestionWindow());
+ sender_->TimeUntilSend(clock_.Now(), false));
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(2));
- EXPECT_EQ(QuicTime::Delta::Infinite(), sender_->TimeUntilSend(false));
+ EXPECT_EQ(QuicTime::Delta::Infinite(),
+ sender_->TimeUntilSend(clock_.Now(), false));
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(8));
sender_->OnIncomingAck(1, kMaxPacketSize, rtt_);
sender_->OnIncomingAck(2, kMaxPacketSize, rtt_);
sender_->OnIncomingAck(3, 600, rtt_);
- EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero());
+ EXPECT_TRUE(sender_->TimeUntilSend(clock_.Now(), false).IsZero());
}
TEST_F(FixRateTest, FixRatePacing) {
@@ -93,17 +83,16 @@ TEST_F(FixRateTest, FixRatePacing) {
QuicCongestionFeedbackFrame feedback;
receiver_->SetBitrate(QuicBandwidth::FromKBytesPerSecond(240));
ASSERT_TRUE(receiver_->GenerateCongestionFeedback(&feedback));
- sender_->OnIncomingQuicCongestionFeedbackFrame(feedback, not_used_);
+ sender_->OnIncomingQuicCongestionFeedbackFrame(feedback, clock_.Now(),
+ unused_bandwidth_, unused_packet_map_);
QuicTime acc_advance_time(QuicTime::Zero());
QuicPacketSequenceNumber sequence_number = 0;
- for (int64 i = 0; i < num_packets; i += 2) {
- EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero());
- EXPECT_EQ(kMaxPacketSize * 2,
- sender_->AvailableCongestionWindow());
- sender_->SentPacket(sequence_number++, packet_size, false);
- EXPECT_TRUE(sender_->TimeUntilSend(false).IsZero());
- sender_->SentPacket(sequence_number++, packet_size, false);
- QuicTime::Delta advance_time = sender_->TimeUntilSend(false);
+ for (int i = 0; i < num_packets; i += 2) {
+ EXPECT_TRUE(sender_->TimeUntilSend(clock_.Now(), false).IsZero());
+ sender_->SentPacket(clock_.Now(), sequence_number++, packet_size, false);
+ EXPECT_TRUE(sender_->TimeUntilSend(clock_.Now(), false).IsZero());
+ sender_->SentPacket(clock_.Now(), sequence_number++, packet_size, false);
+ QuicTime::Delta advance_time = sender_->TimeUntilSend(clock_.Now(), false);
clock_.AdvanceTime(advance_time);
sender_->OnIncomingAck(sequence_number - 1, packet_size, rtt_);
sender_->OnIncomingAck(sequence_number - 2, packet_size, rtt_);
« no previous file with comments | « net/quic/congestion_control/fix_rate_sender.cc ('k') | net/quic/congestion_control/hybrid_slow_start.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698