OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_INTERFACE_H_ | 5 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_INTERFACE_H_ |
6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_INTERFACE_H_ | 6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_INTERFACE_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "net/base/net_export.h" | 9 #include "net/base/net_export.h" |
| 10 #include "net/quic/core/congestion_control/send_algorithm_interface.h" |
10 #include "net/quic/core/quic_packets.h" | 11 #include "net/quic/core/quic_packets.h" |
11 #include "net/quic/core/quic_pending_retransmission.h" | 12 #include "net/quic/core/quic_pending_retransmission.h" |
12 #include "net/quic/core/quic_sustained_bandwidth_recorder.h" | 13 #include "net/quic/core/quic_sustained_bandwidth_recorder.h" |
13 | 14 |
14 namespace net { | 15 namespace net { |
15 | 16 |
16 class QuicConfig; | 17 class QuicConfig; |
17 class RttStats; | 18 class RttStats; |
18 | 19 |
19 class NET_EXPORT_PRIVATE QuicSentPacketManagerInterface { | 20 class NET_EXPORT_PRIVATE QuicSentPacketManagerInterface { |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 virtual bool InSlowStart() const = 0; | 183 virtual bool InSlowStart() const = 0; |
183 | 184 |
184 // These two methods return the consecutive RTO or TLP count of the default | 185 // These two methods return the consecutive RTO or TLP count of the default |
185 // path. | 186 // path. |
186 virtual size_t GetConsecutiveRtoCount() const = 0; | 187 virtual size_t GetConsecutiveRtoCount() const = 0; |
187 virtual size_t GetConsecutiveTlpCount() const = 0; | 188 virtual size_t GetConsecutiveTlpCount() const = 0; |
188 | 189 |
189 // Signals to the congestion controller that the connection has no outstanding | 190 // Signals to the congestion controller that the connection has no outstanding |
190 // data to send. | 191 // data to send. |
191 virtual void OnApplicationLimited() = 0; | 192 virtual void OnApplicationLimited() = 0; |
| 193 |
| 194 // Returns the currently used congestion control algorithm. The manager |
| 195 // retains the ownership of the algorithm. |
| 196 virtual const SendAlgorithmInterface* GetSendAlgorithm() const = 0; |
192 }; | 197 }; |
193 | 198 |
194 } // namespace net | 199 } // namespace net |
195 | 200 |
196 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_INTERFACE_H_ | 201 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_INTERFACE_H_ |
OLD | NEW |