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

Side by Side Diff: net/quic/congestion_control/fix_rate_sender.cc

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "net/quic/congestion_control/fix_rate_sender.h" 5 #include "net/quic/congestion_control/fix_rate_sender.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "net/quic/congestion_control/rtt_stats.h" 12 #include "net/quic/congestion_control/rtt_stats.h"
13 #include "net/quic/quic_protocol.h" 13 #include "net/quic/quic_protocol.h"
14 14
15 using std::max; 15 using std::max;
16 16
17 namespace { 17 namespace {
18 const int kInitialBitrate = 100000; // In bytes per second. 18 const int kInitialBitrate = 100000; // In bytes per second.
19 const uint64 kWindowSizeUs = 10000; // 10 ms. 19 const uint64 kWindowSizeUs = 10000; // 10 ms.
20 } 20 }
21 21
22 namespace net { 22 namespace net {
23 23
24 FixRateSender::FixRateSender(const RttStats* rtt_stats) 24 FixRateSender::FixRateSender(const RttStats* rtt_stats)
25 : rtt_stats_(rtt_stats), 25 : rtt_stats_(rtt_stats),
26 bitrate_(QuicBandwidth::FromBytesPerSecond(kInitialBitrate)), 26 bitrate_(QuicBandwidth::FromBytesPerSecond(kInitialBitrate)),
27 max_segment_size_(kDefaultMaxPacketSize), 27 max_segment_size_(kDefaultMaxPacketSize),
28 fix_rate_leaky_bucket_(bitrate_), 28 fix_rate_leaky_bucket_(bitrate_),
29 paced_sender_(bitrate_, max_segment_size_), 29 paced_sender_(bitrate_, max_segment_size_),
30 data_in_flight_(0), 30 data_in_flight_(0),
31 latest_rtt_(QuicTime::Delta::Zero()) { 31 latest_rtt_(QuicTime::Delta::Zero()) {
32 DVLOG(1) << "FixRateSender"; 32 DVLOG(1) << "FixRateSender";
33 } 33 }
34 34
35 FixRateSender::~FixRateSender() { 35 FixRateSender::~FixRateSender() {
36 } 36 }
37 37
38 void FixRateSender::SetFromConfig(const QuicConfig& config, bool is_server) { 38 void FixRateSender::SetFromConfig(const QuicConfig& config, bool is_server) {
39 } 39 }
40 40
41 void FixRateSender::OnIncomingQuicCongestionFeedbackFrame( 41 void FixRateSender::OnIncomingQuicCongestionFeedbackFrame(
42 const QuicCongestionFeedbackFrame& feedback, 42 const QuicCongestionFeedbackFrame& feedback,
43 QuicTime feedback_receive_time) { 43 QuicTime feedback_receive_time) {
44 LOG_IF(DFATAL, feedback.type != kFixRate) << 44 LOG_IF(DFATAL, feedback.type != kFixRate)
45 "Invalid incoming CongestionFeedbackType:" << feedback.type; 45 << "Invalid incoming CongestionFeedbackType:" << feedback.type;
46 if (feedback.type == kFixRate) { 46 if (feedback.type == kFixRate) {
47 bitrate_ = feedback.fix_rate.bitrate; 47 bitrate_ = feedback.fix_rate.bitrate;
48 fix_rate_leaky_bucket_.SetDrainingRate(feedback_receive_time, bitrate_); 48 fix_rate_leaky_bucket_.SetDrainingRate(feedback_receive_time, bitrate_);
49 paced_sender_.UpdateBandwidthEstimate(feedback_receive_time, bitrate_); 49 paced_sender_.UpdateBandwidthEstimate(feedback_receive_time, bitrate_);
50 } 50 }
51 // Silently ignore invalid messages in release mode. 51 // Silently ignore invalid messages in release mode.
52 } 52 }
53 53
54 void FixRateSender::OnPacketAcked( 54 void FixRateSender::OnPacketAcked(
55 QuicPacketSequenceNumber /*acked_sequence_number*/, 55 QuicPacketSequenceNumber /*acked_sequence_number*/,
(...skipping 12 matching lines...) Expand all
68 QuicPacketSequenceNumber /*sequence_number*/, 68 QuicPacketSequenceNumber /*sequence_number*/,
69 QuicByteCount bytes, 69 QuicByteCount bytes,
70 HasRetransmittableData /*has_retransmittable_data*/) { 70 HasRetransmittableData /*has_retransmittable_data*/) {
71 fix_rate_leaky_bucket_.Add(sent_time, bytes); 71 fix_rate_leaky_bucket_.Add(sent_time, bytes);
72 paced_sender_.OnPacketSent(sent_time, bytes); 72 paced_sender_.OnPacketSent(sent_time, bytes);
73 data_in_flight_ += bytes; 73 data_in_flight_ += bytes;
74 74
75 return true; 75 return true;
76 } 76 }
77 77
78 void FixRateSender::OnRetransmissionTimeout(bool packets_retransmitted) { } 78 void FixRateSender::OnRetransmissionTimeout(bool packets_retransmitted) {
79 }
79 80
80 void FixRateSender::OnPacketAbandoned( 81 void FixRateSender::OnPacketAbandoned(
81 QuicPacketSequenceNumber /*sequence_number*/, 82 QuicPacketSequenceNumber /*sequence_number*/,
82 QuicByteCount bytes_abandoned) { 83 QuicByteCount bytes_abandoned) {
83 DCHECK_GE(data_in_flight_, bytes_abandoned); 84 DCHECK_GE(data_in_flight_, bytes_abandoned);
84 data_in_flight_ -= bytes_abandoned; 85 data_in_flight_ -= bytes_abandoned;
85 } 86 }
86 87
87 QuicTime::Delta FixRateSender::TimeUntilSend( 88 QuicTime::Delta FixRateSender::TimeUntilSend(
88 QuicTime now, 89 QuicTime now,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 // TODO(pwestin): Calculate and return retransmission delay. 121 // TODO(pwestin): Calculate and return retransmission delay.
121 // Use 2 * the latest RTT for now. 122 // Use 2 * the latest RTT for now.
122 return latest_rtt_.Add(latest_rtt_); 123 return latest_rtt_.Add(latest_rtt_);
123 } 124 }
124 125
125 QuicByteCount FixRateSender::GetCongestionWindow() const { 126 QuicByteCount FixRateSender::GetCongestionWindow() const {
126 return 0; 127 return 0;
127 } 128 }
128 129
129 } // namespace net 130 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698