Index: net/quic/core/congestion_control/send_algorithm_interface.h |
diff --git a/net/quic/core/congestion_control/send_algorithm_interface.h b/net/quic/core/congestion_control/send_algorithm_interface.h |
index 8869ac265f43b3c55120b2437bbfbe6be795007a..b9c1d4cbfd972982a061cc594ad84240b87bbec7 100644 |
--- a/net/quic/core/congestion_control/send_algorithm_interface.h |
+++ b/net/quic/core/congestion_control/send_algorithm_interface.h |
@@ -121,6 +121,20 @@ class NET_EXPORT_PRIVATE SendAlgorithmInterface { |
// Retrieves debugging information about the current state of the |
// send algorithm. |
virtual std::string GetDebugState() const = 0; |
+ |
+ // Called when the connection has no outstanding data to send. Specifically, |
+ // this means that none of the data streams are write-blocked, there are no |
+ // packets in the connection queue, and there are no pending retransmissins, |
+ // i.e. the sender cannot send anything for reasons other than being blocked |
+ // by congestion controller. This includes cases when the connection is |
+ // blocked by the flow controller. |
+ // |
+ // The fact that this method is called does not necessarily imply that the |
+ // connection would not be blocked by the congestion control if it actually |
+ // tried to send data. If the congestion control algorithm needs to exclude |
+ // such cases, it should use the internal state it uses for congestion control |
+ // for that. |
+ virtual void OnApplicationLimited(QuicByteCount bytes_in_flight) = 0; |
}; |
} // namespace net |