Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: net/quic/congestion_control/pacing_sender.cc

Issue 648933003: Land Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with TOT Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/congestion_control/pacing_sender.h ('k') | net/quic/congestion_control/pacing_sender_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/congestion_control/pacing_sender.cc
diff --git a/net/quic/congestion_control/pacing_sender.cc b/net/quic/congestion_control/pacing_sender.cc
index 20d2b3b819a14f48b09b9ba80e32a3a62b950ffb..03e553477ced4ea1e0f08ae81e63e838d8bf3f0d 100644
--- a/net/quic/congestion_control/pacing_sender.cc
+++ b/net/quic/congestion_control/pacing_sender.cc
@@ -15,15 +15,12 @@ PacingSender::PacingSender(SendAlgorithmInterface* sender,
burst_tokens_(initial_packet_burst),
last_delayed_packet_sent_time_(QuicTime::Zero()),
next_packet_send_time_(QuicTime::Zero()),
- was_last_send_delayed_(false),
- has_valid_rtt_(false) {
+ was_last_send_delayed_(false) {
}
PacingSender::~PacingSender() {}
void PacingSender::SetFromConfig(const QuicConfig& config, bool is_server) {
- // TODO(ianswett): Consider using the suggested RTT for pacing an initial
- // response.
sender_->SetFromConfig(config, is_server);
}
@@ -42,9 +39,6 @@ void PacingSender::OnCongestionEvent(bool rtt_updated,
QuicByteCount bytes_in_flight,
const CongestionVector& acked_packets,
const CongestionVector& lost_packets) {
- if (rtt_updated) {
- has_valid_rtt_ = true;
- }
sender_->OnCongestionEvent(
rtt_updated, bytes_in_flight, acked_packets, lost_packets);
}
@@ -55,11 +49,10 @@ bool PacingSender::OnPacketSent(
QuicPacketSequenceNumber sequence_number,
QuicByteCount bytes,
HasRetransmittableData has_retransmittable_data) {
- // Only pace data packets once we have an updated RTT.
const bool in_flight =
sender_->OnPacketSent(sent_time, bytes_in_flight, sequence_number,
bytes, has_retransmittable_data);
- if (has_retransmittable_data != HAS_RETRANSMITTABLE_DATA || !has_valid_rtt_) {
+ if (has_retransmittable_data != HAS_RETRANSMITTABLE_DATA) {
return in_flight;
}
if (burst_tokens_ > 0) {
@@ -117,10 +110,6 @@ QuicTime::Delta PacingSender::TimeUntilSend(
HasRetransmittableData has_retransmittable_data) const {
QuicTime::Delta time_until_send =
sender_->TimeUntilSend(now, bytes_in_flight, has_retransmittable_data);
- if (!has_valid_rtt_) {
- // Don't pace if we don't have an updated RTT estimate.
- return time_until_send;
- }
if (bytes_in_flight == 0) {
// Add more burst tokens anytime the connection is entering quiescence.
burst_tokens_ = initial_packet_burst_;
@@ -143,6 +132,8 @@ QuicTime::Delta PacingSender::TimeUntilSend(
}
// If the next send time is within the alarm granularity, send immediately.
+ // TODO(ianswett): This granularity logic ends up sending more packets than
+ // intended in an effort to make up for lost time that wasn't lost.
if (next_packet_send_time_ > now.Add(alarm_granularity_)) {
DVLOG(1) << "Delaying packet: "
<< next_packet_send_time_.Subtract(now).ToMicroseconds();
« no previous file with comments | « net/quic/congestion_control/pacing_sender.h ('k') | net/quic/congestion_control/pacing_sender_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698