| 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 // BBR (Bottleneck Bandwidth and RTT) congestion control algorithm. | 5 // BBR (Bottleneck Bandwidth and RTT) congestion control algorithm. |
| 6 | 6 |
| 7 #ifndef NET_QUIC_CORE_CONGESTION_CONTROL_BBR_SENDER_H_ | 7 #ifndef NET_QUIC_CORE_CONGESTION_CONTROL_BBR_SENDER_H_ |
| 8 #define NET_QUIC_CORE_CONGESTION_CONTROL_BBR_SENDER_H_ | 8 #define NET_QUIC_CORE_CONGESTION_CONTROL_BBR_SENDER_H_ |
| 9 | 9 |
| 10 #include <cstdint> | 10 #include <cstdint> |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 // Updates the ack aggregation max filter in bytes. | 209 // Updates the ack aggregation max filter in bytes. |
| 210 void UpdateAckAggregationBytes(QuicTime ack_time, | 210 void UpdateAckAggregationBytes(QuicTime ack_time, |
| 211 QuicByteCount newly_acked_bytes); | 211 QuicByteCount newly_acked_bytes); |
| 212 | 212 |
| 213 // Determines the appropriate pacing rate for the connection. | 213 // Determines the appropriate pacing rate for the connection. |
| 214 void CalculatePacingRate(); | 214 void CalculatePacingRate(); |
| 215 // Determines the appropriate congestion window for the connection. | 215 // Determines the appropriate congestion window for the connection. |
| 216 void CalculateCongestionWindow(QuicByteCount bytes_acked); | 216 void CalculateCongestionWindow(QuicByteCount bytes_acked); |
| 217 // Determines the approriate window that constrains the in-flight during | 217 // Determines the approriate window that constrains the in-flight during |
| 218 // recovery. | 218 // recovery. |
| 219 void CalculateRecoveryWindow(QuicByteCount bytes_acked, | 219 void CalculateRecoveryWindow(QuicByteCount bytes_acked); |
| 220 QuicByteCount bytes_lost); | |
| 221 | 220 |
| 222 const RttStats* rtt_stats_; | 221 const RttStats* rtt_stats_; |
| 223 const QuicUnackedPacketMap* unacked_packets_; | 222 const QuicUnackedPacketMap* unacked_packets_; |
| 224 QuicRandom* random_; | 223 QuicRandom* random_; |
| 225 | 224 |
| 226 Mode mode_; | 225 Mode mode_; |
| 227 | 226 |
| 228 // Bandwidth sampler provides BBR with the bandwidth measurements at | 227 // Bandwidth sampler provides BBR with the bandwidth measurements at |
| 229 // individual points. | 228 // individual points. |
| 230 BandwidthSampler sampler_; | 229 BandwidthSampler sampler_; |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 | 338 |
| 340 QUIC_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os, | 339 QUIC_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os, |
| 341 const BbrSender::Mode& mode); | 340 const BbrSender::Mode& mode); |
| 342 QUIC_EXPORT_PRIVATE std::ostream& operator<<( | 341 QUIC_EXPORT_PRIVATE std::ostream& operator<<( |
| 343 std::ostream& os, | 342 std::ostream& os, |
| 344 const BbrSender::DebugState& state); | 343 const BbrSender::DebugState& state); |
| 345 | 344 |
| 346 } // namespace net | 345 } // namespace net |
| 347 | 346 |
| 348 #endif // NET_QUIC_CORE_CONGESTION_CONTROL_BBR_SENDER_H_ | 347 #endif // NET_QUIC_CORE_CONGESTION_CONTROL_BBR_SENDER_H_ |
| OLD | NEW |