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

Side by Side Diff: net/quic/core/quic_sent_packet_manager.cc

Issue 2223983002: Flatten GeneralLossAlgorithm into QuicSentPacketManager. Not flag protected. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/core/quic_sent_packet_manager.h" 5 #include "net/quic/core/quic_sent_packet_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 delegate_(delegate), 68 delegate_(delegate),
69 debug_delegate_(nullptr), 69 debug_delegate_(nullptr),
70 network_change_visitor_(nullptr), 70 network_change_visitor_(nullptr),
71 initial_congestion_window_(kInitialCongestionWindow), 71 initial_congestion_window_(kInitialCongestionWindow),
72 send_algorithm_( 72 send_algorithm_(
73 SendAlgorithmInterface::Create(clock, 73 SendAlgorithmInterface::Create(clock,
74 &rtt_stats_, 74 &rtt_stats_,
75 congestion_control_type, 75 congestion_control_type,
76 stats, 76 stats,
77 initial_congestion_window_)), 77 initial_congestion_window_)),
78 loss_algorithm_(new GeneralLossAlgorithm(loss_type)), 78 loss_algorithm_(&general_loss_algorithm_),
79 general_loss_algorithm_(loss_type),
79 n_connection_simulation_(false), 80 n_connection_simulation_(false),
80 receive_buffer_bytes_(kDefaultSocketReceiveBuffer), 81 receive_buffer_bytes_(kDefaultSocketReceiveBuffer),
81 least_packet_awaited_by_peer_(1), 82 least_packet_awaited_by_peer_(1),
82 first_rto_transmission_(0), 83 first_rto_transmission_(0),
83 consecutive_rto_count_(0), 84 consecutive_rto_count_(0),
84 consecutive_tlp_count_(0), 85 consecutive_tlp_count_(0),
85 consecutive_crypto_retransmission_count_(0), 86 consecutive_crypto_retransmission_count_(0),
86 pending_timer_transmission_count_(0), 87 pending_timer_transmission_count_(0),
87 max_tail_loss_probes_(kDefaultMaxTailLossProbes), 88 max_tail_loss_probes_(kDefaultMaxTailLossProbes),
88 enable_half_rtt_tail_loss_probe_(false), 89 enable_half_rtt_tail_loss_probe_(false),
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 max_tail_loss_probes_ = 0; 145 max_tail_loss_probes_ = 0;
145 } 146 }
146 if (config.HasClientSentConnectionOption(kTLPR, perspective_)) { 147 if (config.HasClientSentConnectionOption(kTLPR, perspective_)) {
147 enable_half_rtt_tail_loss_probe_ = true; 148 enable_half_rtt_tail_loss_probe_ = true;
148 } 149 }
149 if (config.HasClientSentConnectionOption(kNRTO, perspective_)) { 150 if (config.HasClientSentConnectionOption(kNRTO, perspective_)) {
150 use_new_rto_ = true; 151 use_new_rto_ = true;
151 } 152 }
152 if (config.HasReceivedConnectionOptions() && 153 if (config.HasReceivedConnectionOptions() &&
153 ContainsQuicTag(config.ReceivedConnectionOptions(), kTIME)) { 154 ContainsQuicTag(config.ReceivedConnectionOptions(), kTIME)) {
154 loss_algorithm_.reset(new GeneralLossAlgorithm(kTime)); 155 general_loss_algorithm_.SetLossDetectionType(kTime);
155 } 156 }
156 if (config.HasReceivedConnectionOptions() && 157 if (config.HasReceivedConnectionOptions() &&
157 ContainsQuicTag(config.ReceivedConnectionOptions(), kATIM)) { 158 ContainsQuicTag(config.ReceivedConnectionOptions(), kATIM)) {
158 loss_algorithm_.reset(new GeneralLossAlgorithm(kAdaptiveTime)); 159 general_loss_algorithm_.SetLossDetectionType(kAdaptiveTime);
159 } 160 }
160 if (FLAGS_quic_loss_recovery_use_largest_acked && 161 if (FLAGS_quic_loss_recovery_use_largest_acked &&
161 config.HasClientSentConnectionOption(kUNDO, perspective_)) { 162 config.HasClientSentConnectionOption(kUNDO, perspective_)) {
162 undo_pending_retransmits_ = true; 163 undo_pending_retransmits_ = true;
163 } 164 }
164 send_algorithm_->SetFromConfig(config, perspective_); 165 send_algorithm_->SetFromConfig(config, perspective_);
165 166
166 if (network_change_visitor_ != nullptr) { 167 if (network_change_visitor_ != nullptr) {
167 network_change_visitor_->OnCongestionChange(); 168 network_change_visitor_->OnCongestionChange();
168 } 169 }
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after
1014 TransmissionInfo* QuicSentPacketManager::GetMutableTransmissionInfo( 1015 TransmissionInfo* QuicSentPacketManager::GetMutableTransmissionInfo(
1015 QuicPacketNumber packet_number) { 1016 QuicPacketNumber packet_number) {
1016 return unacked_packets_.GetMutableTransmissionInfo(packet_number); 1017 return unacked_packets_.GetMutableTransmissionInfo(packet_number);
1017 } 1018 }
1018 1019
1019 void QuicSentPacketManager::RemoveObsoletePackets() { 1020 void QuicSentPacketManager::RemoveObsoletePackets() {
1020 unacked_packets_.RemoveObsoletePackets(); 1021 unacked_packets_.RemoveObsoletePackets();
1021 } 1022 }
1022 1023
1023 } // namespace net 1024 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_sent_packet_manager.h ('k') | net/quic/core/quic_sent_packet_manager_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698