| Index: net/quic/core/congestion_control/cubic.h
|
| diff --git a/net/quic/core/congestion_control/cubic.h b/net/quic/core/congestion_control/cubic.h
|
| index 39c008c2c1403106afac7593b17dd0e166366af4..8c1afb3d5a3b90382e276779e2a3c7a00134863a 100644
|
| --- a/net/quic/core/congestion_control/cubic.h
|
| +++ b/net/quic/core/congestion_control/cubic.h
|
| @@ -19,6 +19,10 @@
|
|
|
| namespace net {
|
|
|
| +namespace test {
|
| +class CubicTest;
|
| +} // namespace test
|
| +
|
| class QUIC_EXPORT_PRIVATE Cubic {
|
| public:
|
| explicit Cubic(const QuicClock* clock);
|
| @@ -50,15 +54,27 @@ class QUIC_EXPORT_PRIVATE Cubic {
|
| // TODO(jokulik): Remove once the fix is enabled by default.
|
| void SetFixConvexMode(bool fix_convex_mode);
|
|
|
| + // If true, enable the fix for scaling BetaLastMax for n-nonnection
|
| + // emulation. See b/33272010 for more information about the bug.
|
| + // TODO(jokulik): Remove once the fix is enabled by default.
|
| + void SetFixBetaLastMax(bool fix_bet_last_max);
|
| +
|
| private:
|
| + friend class test::CubicTest;
|
| +
|
| static const QuicTime::Delta MaxCubicTimeInterval() {
|
| return QuicTime::Delta::FromMilliseconds(30);
|
| }
|
|
|
| - // Compute the TCP Cubic alpha and beta based on the current number of
|
| - // connections.
|
| + // Compute the TCP Cubic alpha, beta, and beta-last-max based on the
|
| + // current number of connections.
|
| float Alpha() const;
|
| float Beta() const;
|
| + float BetaLastMax() const;
|
| +
|
| + QuicByteCount last_max_congestion_window() const {
|
| + return last_max_congestion_window_;
|
| + }
|
|
|
| const QuicClock* clock_;
|
|
|
| @@ -107,6 +123,10 @@ class QUIC_EXPORT_PRIVATE Cubic {
|
| // TODO(jokulik): Remove once the cubic convex experiment is done.
|
| bool fix_convex_mode_;
|
|
|
| + // Fix beta last max for n-connection-emulation.
|
| + // TODO(jokulik): Remove once the corresponding experiment is done.
|
| + bool fix_beta_last_max_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(Cubic);
|
| };
|
|
|
|
|