OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // The pure virtual class for send side loss detection algorithm. | 5 // The pure virtual class for send side loss detection algorithm. |
6 | 6 |
7 #ifndef NET_QUIC_CONGESTION_CONTROL_LOSS_DETECTION_INTERFACE_H_ | 7 #ifndef NET_QUIC_CONGESTION_CONTROL_LOSS_DETECTION_INTERFACE_H_ |
8 #define NET_QUIC_CONGESTION_CONTROL_LOSS_DETECTION_INTERFACE_H_ | 8 #define NET_QUIC_CONGESTION_CONTROL_LOSS_DETECTION_INTERFACE_H_ |
9 | 9 |
10 #include "net/quic/congestion_control/send_algorithm_interface.h" | 10 #include "net/quic/congestion_control/send_algorithm_interface.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 // Creates a TCP loss detector. | 21 // Creates a TCP loss detector. |
22 static LossDetectionInterface* Create(LossDetectionType loss_type); | 22 static LossDetectionInterface* Create(LossDetectionType loss_type); |
23 | 23 |
24 virtual ~LossDetectionInterface() {} | 24 virtual ~LossDetectionInterface() {} |
25 | 25 |
26 virtual LossDetectionType GetLossDetectionType() const = 0; | 26 virtual LossDetectionType GetLossDetectionType() const = 0; |
27 | 27 |
28 // Called when a new ack arrives or the loss alarm fires. | 28 // Called when a new ack arrives or the loss alarm fires. |
29 virtual void DetectLosses( | 29 virtual void DetectLosses( |
30 const QuicUnackedPacketMap& unacked_packets, | 30 const QuicUnackedPacketMap& unacked_packets, |
31 const QuicTime& time, | 31 QuicTime time, |
32 const RttStats& rtt_stats, | 32 const RttStats& rtt_stats, |
33 SendAlgorithmInterface::CongestionVector* packets_lost) = 0; | 33 SendAlgorithmInterface::CongestionVector* packets_lost) = 0; |
34 | 34 |
35 // Get the time the LossDetectionAlgorithm wants to re-evaluate losses. | 35 // Get the time the LossDetectionAlgorithm wants to re-evaluate losses. |
36 // Returns QuicTime::Zero if no alarm needs to be set. | 36 // Returns QuicTime::Zero if no alarm needs to be set. |
37 virtual QuicTime GetLossTimeout() const = 0; | 37 virtual QuicTime GetLossTimeout() const = 0; |
38 }; | 38 }; |
39 | 39 |
40 } // namespace net | 40 } // namespace net |
41 | 41 |
42 #endif // NET_QUIC_CONGESTION_CONTROL_LOSS_DETECTION_INTERFACE_H_ | 42 #endif // NET_QUIC_CONGESTION_CONTROL_LOSS_DETECTION_INTERFACE_H_ |
OLD | NEW |