Index: net/quic/congestion_control/tcp_cubic_sender.h |
diff --git a/net/quic/congestion_control/tcp_cubic_sender.h b/net/quic/congestion_control/tcp_cubic_sender.h |
index ed0428a59c7f244dd96bca7d05d775a2f5f954f0..ae05ee25f9e6b1915177f2bfca176bee8349e447 100644 |
--- a/net/quic/congestion_control/tcp_cubic_sender.h |
+++ b/net/quic/congestion_control/tcp_cubic_sender.h |
@@ -13,6 +13,7 @@ |
#include "net/base/net_export.h" |
#include "net/quic/congestion_control/cubic.h" |
#include "net/quic/congestion_control/hybrid_slow_start.h" |
+#include "net/quic/congestion_control/prr_sender.h" |
#include "net/quic/congestion_control/send_algorithm_interface.h" |
#include "net/quic/quic_bandwidth.h" |
#include "net/quic/quic_connection_stats.h" |
@@ -33,16 +34,13 @@ class NET_EXPORT_PRIVATE TcpCubicSender : public SendAlgorithmInterface { |
TcpCubicSender(const QuicClock* clock, |
const RttStats* rtt_stats, |
bool reno, |
- QuicTcpCongestionWindow max_tcp_congestion_window, |
+ QuicPacketCount max_tcp_congestion_window, |
QuicConnectionStats* stats); |
~TcpCubicSender() override; |
// Start implementation of SendAlgorithmInterface. |
void SetFromConfig(const QuicConfig& config, bool is_server) override; |
void SetNumEmulatedConnections(int num_connections) override; |
- void OnIncomingQuicCongestionFeedbackFrame( |
- const QuicCongestionFeedbackFrame& feedback, |
- QuicTime feedback_receive_time) override; |
void OnCongestionEvent(bool rtt_updated, |
QuicByteCount bytes_in_flight, |
const CongestionVector& acked_packets, |
@@ -79,18 +77,13 @@ class NET_EXPORT_PRIVATE TcpCubicSender : public SendAlgorithmInterface { |
void OnPacketLost(QuicPacketSequenceNumber largest_loss, |
QuicByteCount bytes_in_flight); |
- QuicByteCount SendWindow() const; |
void MaybeIncreaseCwnd(QuicPacketSequenceNumber acked_sequence_number, |
QuicByteCount bytes_in_flight); |
bool IsCwndLimited(QuicByteCount bytes_in_flight) const; |
- // Methods for isolating PRR from the rest of TCP Cubic. |
- void PrrOnPacketLost(QuicByteCount bytes_in_flight); |
- void PrrOnPacketAcked(QuicByteCount acked_bytes); |
- QuicTime::Delta PrrTimeUntilSend(QuicByteCount bytes_in_flight) const; |
- |
HybridSlowStart hybrid_slow_start_; |
Cubic cubic_; |
+ PrrSender prr_; |
const RttStats* rtt_stats_; |
QuicConnectionStats* stats_; |
@@ -98,21 +91,10 @@ class NET_EXPORT_PRIVATE TcpCubicSender : public SendAlgorithmInterface { |
const bool reno_; |
// Number of connections to simulate. |
- int num_connections_; |
+ uint32 num_connections_; |
// ACK counter for the Reno implementation. |
- int64 congestion_window_count_; |
- |
- // Receiver side advertised window. |
- QuicByteCount receive_window_; |
- |
- // Bytes sent and acked since the last loss event. Used for PRR. |
- QuicByteCount prr_out_; |
- QuicByteCount prr_delivered_; |
- size_t ack_count_since_loss_; |
- |
- // The congestion window before the last loss event. |
- QuicByteCount bytes_in_flight_before_loss_; |
+ uint64 congestion_window_count_; |
// Track the largest packet that has been sent. |
QuicPacketSequenceNumber largest_sent_sequence_number_; |
@@ -124,23 +106,23 @@ class NET_EXPORT_PRIVATE TcpCubicSender : public SendAlgorithmInterface { |
QuicPacketSequenceNumber largest_sent_at_last_cutback_; |
// Congestion window in packets. |
- QuicTcpCongestionWindow congestion_window_; |
+ QuicPacketCount congestion_window_; |
// Congestion window before the last loss event or RTO. |
QuicByteCount previous_congestion_window_; |
// Slow start congestion window in packets, aka ssthresh. |
- QuicTcpCongestionWindow slowstart_threshold_; |
+ QuicPacketCount slowstart_threshold_; |
// Slow start threshold before the last loss event or RTO. |
- QuicTcpCongestionWindow previous_slowstart_threshold_; |
+ QuicPacketCount previous_slowstart_threshold_; |
// Whether the last loss event caused us to exit slowstart. |
// Used for stats collection of slowstart_packets_lost |
bool last_cutback_exited_slowstart_; |
// Maximum number of outstanding packets for tcp. |
- QuicTcpCongestionWindow max_tcp_congestion_window_; |
+ QuicPacketCount max_tcp_congestion_window_; |
DISALLOW_COPY_AND_ASSIGN(TcpCubicSender); |
}; |