chromium/net/third_party/quiche/src/quiche/quic/core/congestion_control/tcp_cubic_sender_bytes_test.cc

// Copyright (c) 2015 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.

#include "quiche/quic/core/congestion_control/tcp_cubic_sender_bytes.h"

#include <algorithm>
#include <cstdint>
#include <memory>
#include <utility>

#include "quiche/quic/core/congestion_control/rtt_stats.h"
#include "quiche/quic/core/congestion_control/send_algorithm_interface.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/quic_packets.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/mock_clock.h"
#include "quiche/quic/test_tools/quic_config_peer.h"

namespace quic {
namespace test {

// TODO(ianswett): A number of theses tests were written with the assumption of
// an initial CWND of 10. They have carefully calculated values which should be
// updated to be based on kInitialCongestionWindow.
const uint32_t kInitialCongestionWindowPackets =;
const uint32_t kMaxCongestionWindowPackets =;
const uint32_t kDefaultWindowTCP =;
const float kRenoBeta =;  // Reno backoff factor.

class TcpCubicSenderBytesPeer : public TcpCubicSenderBytes {};

class TcpCubicSenderBytesTest : public QuicTest {};

TEST_F(TcpCubicSenderBytesTest, SimpleSender) {}

TEST_F(TcpCubicSenderBytesTest, ApplicationLimitedSlowStart) {}

TEST_F(TcpCubicSenderBytesTest, ExponentialSlowStart) {}

TEST_F(TcpCubicSenderBytesTest, SlowStartPacketLoss) {}

TEST_F(TcpCubicSenderBytesTest, SlowStartPacketLossWithLargeReduction) {}

TEST_F(TcpCubicSenderBytesTest, SlowStartHalfPacketLossWithLargeReduction) {}

TEST_F(TcpCubicSenderBytesTest, SlowStartPacketLossWithMaxHalfReduction) {}

TEST_F(TcpCubicSenderBytesTest, NoPRRWhenLessThanOnePacketInFlight) {}

TEST_F(TcpCubicSenderBytesTest, SlowStartPacketLossPRR) {}

TEST_F(TcpCubicSenderBytesTest, SlowStartBurstPacketLossPRR) {}

TEST_F(TcpCubicSenderBytesTest, RTOCongestionWindow) {}

TEST_F(TcpCubicSenderBytesTest, RTOCongestionWindowNoRetransmission) {}

TEST_F(TcpCubicSenderBytesTest, TcpCubicResetEpochOnQuiescence) {}

TEST_F(TcpCubicSenderBytesTest, MultipleLossesInOneWindow) {}

TEST_F(TcpCubicSenderBytesTest, ConfigureMaxInitialWindow) {}

TEST_F(TcpCubicSenderBytesTest, SetInitialCongestionWindow) {}

TEST_F(TcpCubicSenderBytesTest, 2ConnectionCongestionAvoidanceAtEndOfRecovery) {}

TEST_F(TcpCubicSenderBytesTest, 1ConnectionCongestionAvoidanceAtEndOfRecovery) {}

TEST_F(TcpCubicSenderBytesTest, BandwidthResumption) {}

TEST_F(TcpCubicSenderBytesTest, PaceBelowCWND) {}

TEST_F(TcpCubicSenderBytesTest, NoPRR) {}

TEST_F(TcpCubicSenderBytesTest, ResetAfterConnectionMigration) {}

TEST_F(TcpCubicSenderBytesTest, DefaultMaxCwnd) {}

TEST_F(TcpCubicSenderBytesTest, LimitCwndIncreaseInCongestionAvoidance) {}

}  // namespace test
}  // namespace quic