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