OLD | NEW |
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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 // TCP cubic send side congestion algorithm, emulates the behavior of TCP cubic. | 5 // TCP cubic send side congestion algorithm, emulates the behavior of TCP cubic. |
6 | 6 |
7 #ifndef NET_QUIC_CONGESTION_CONTROL_TCP_CUBIC_SENDER_BYTES_H_ | 7 #ifndef NET_QUIC_CONGESTION_CONTROL_TCP_CUBIC_SENDER_BYTES_H_ |
8 #define NET_QUIC_CONGESTION_CONTROL_TCP_CUBIC_SENDER_BYTES_H_ | 8 #define NET_QUIC_CONGESTION_CONTROL_TCP_CUBIC_SENDER_BYTES_H_ |
9 | 9 |
10 #include <stdint.h> | 10 #include <stdint.h> |
(...skipping 22 matching lines...) Expand all Loading... |
33 TcpCubicSenderBytes(const QuicClock* clock, | 33 TcpCubicSenderBytes(const QuicClock* clock, |
34 const RttStats* rtt_stats, | 34 const RttStats* rtt_stats, |
35 bool reno, | 35 bool reno, |
36 QuicPacketCount initial_tcp_congestion_window, | 36 QuicPacketCount initial_tcp_congestion_window, |
37 QuicPacketCount max_congestion_window, | 37 QuicPacketCount max_congestion_window, |
38 QuicConnectionStats* stats); | 38 QuicConnectionStats* stats); |
39 ~TcpCubicSenderBytes() override; | 39 ~TcpCubicSenderBytes() override; |
40 | 40 |
41 // Start implementation of SendAlgorithmInterface. | 41 // Start implementation of SendAlgorithmInterface. |
42 void SetNumEmulatedConnections(int num_connections) override; | 42 void SetNumEmulatedConnections(int num_connections) override; |
43 void SetMaxCongestionWindow(QuicByteCount max_congestion_window) override; | |
44 void OnConnectionMigration() override; | 43 void OnConnectionMigration() override; |
45 QuicByteCount GetCongestionWindow() const override; | 44 QuicByteCount GetCongestionWindow() const override; |
46 QuicByteCount GetSlowStartThreshold() const override; | 45 QuicByteCount GetSlowStartThreshold() const override; |
47 CongestionControlType GetCongestionControlType() const override; | 46 CongestionControlType GetCongestionControlType() const override; |
48 // End implementation of SendAlgorithmInterface. | 47 // End implementation of SendAlgorithmInterface. |
49 | 48 |
50 QuicByteCount min_congestion_window() const { return min_congestion_window_; } | 49 QuicByteCount min_congestion_window() const { return min_congestion_window_; } |
51 | 50 |
52 protected: | 51 protected: |
53 // TcpCubicSenderBase methods | 52 // TcpCubicSenderBase methods |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 | 94 |
96 // The minimum window when exiting slow start with large reduction. | 95 // The minimum window when exiting slow start with large reduction. |
97 QuicByteCount min_slow_start_exit_window_; | 96 QuicByteCount min_slow_start_exit_window_; |
98 | 97 |
99 DISALLOW_COPY_AND_ASSIGN(TcpCubicSenderBytes); | 98 DISALLOW_COPY_AND_ASSIGN(TcpCubicSenderBytes); |
100 }; | 99 }; |
101 | 100 |
102 } // namespace net | 101 } // namespace net |
103 | 102 |
104 #endif // NET_QUIC_CONGESTION_CONTROL_TCP_CUBIC_BYTES_SENDER_H_ | 103 #endif // NET_QUIC_CONGESTION_CONTROL_TCP_CUBIC_BYTES_SENDER_H_ |
OLD | NEW |