#include "quiche/quic/core/congestion_control/cubic_bytes.h"
#include <algorithm>
#include <cmath>
#include <cstdint>
#include "quiche/quic/core/quic_constants.h"
#include "quiche/quic/core/quic_packets.h"
#include "quiche/quic/platform/api/quic_flag_utils.h"
#include "quiche/quic/platform/api/quic_flags.h"
#include "quiche/quic/platform/api/quic_logging.h"
namespace quic {
namespace {
const int kCubeScale = …;
const int kCubeCongestionWindowScale = …;
const uint64_t kCubeFactor = …;
const float kDefaultCubicBackoffFactor = …;
const float kBetaLastMax = …;
}
CubicBytes::CubicBytes(const QuicClock* clock)
: … { … }
void CubicBytes::SetNumConnections(int num_connections) { … }
float CubicBytes::Alpha() const { … }
float CubicBytes::Beta() const { … }
float CubicBytes::BetaLastMax() const { … }
void CubicBytes::ResetCubicState() { … }
void CubicBytes::OnApplicationLimited() { … }
QuicByteCount CubicBytes::CongestionWindowAfterPacketLoss(
QuicByteCount current_congestion_window) { … }
QuicByteCount CubicBytes::CongestionWindowAfterAck(
QuicByteCount acked_bytes, QuicByteCount current_congestion_window,
QuicTime::Delta delay_min, QuicTime event_time) { … }
}