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

Side by Side Diff: net/quic/quic_sent_packet_manager.h

Issue 1613513003: Early connection migration in QUIC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@home
Patch Set: Typo fixed. Created 4 years, 10 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 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 5 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 class NET_EXPORT_PRIVATE NetworkChangeVisitor { 95 class NET_EXPORT_PRIVATE NetworkChangeVisitor {
96 public: 96 public:
97 virtual ~NetworkChangeVisitor() {} 97 virtual ~NetworkChangeVisitor() {}
98 98
99 // Called when congestion window may have changed. 99 // Called when congestion window may have changed.
100 virtual void OnCongestionWindowChange() = 0; 100 virtual void OnCongestionWindowChange() = 0;
101 101
102 // Called when RTT may have changed, including when an RTT is read from 102 // Called when RTT may have changed, including when an RTT is read from
103 // the config. 103 // the config.
104 virtual void OnRttChange() = 0; 104 virtual void OnRttChange() = 0;
105
106 // Called with the path may be degrading. Note that the path may only be
107 // temporarily degrading.
108 // TODO(jri): With multipath, this method should probably have a path_id
109 // parameter, and should maybe result in the path being marked as inactive.
110 virtual void OnPathDegrading() = 0;
105 }; 111 };
106 112
107 QuicSentPacketManager(Perspective perspective, 113 QuicSentPacketManager(Perspective perspective,
108 QuicPathId path_id, 114 QuicPathId path_id,
109 const QuicClock* clock, 115 const QuicClock* clock,
110 QuicConnectionStats* stats, 116 QuicConnectionStats* stats,
111 CongestionControlType congestion_control_type, 117 CongestionControlType congestion_control_type,
112 LossDetectionType loss_type, 118 LossDetectionType loss_type,
113 MultipathDelegateInterface* delegate); 119 MultipathDelegateInterface* delegate);
114 virtual ~QuicSentPacketManager(); 120 virtual ~QuicSentPacketManager();
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 231
226 // No longer retransmit data for |stream_id|. 232 // No longer retransmit data for |stream_id|.
227 void CancelRetransmissionsForStream(QuicStreamId stream_id); 233 void CancelRetransmissionsForStream(QuicStreamId stream_id);
228 234
229 // Enables pacing if it has not already been enabled. 235 // Enables pacing if it has not already been enabled.
230 void EnablePacing(); 236 void EnablePacing();
231 237
232 // Called when peer address changes and the connection migrates. 238 // Called when peer address changes and the connection migrates.
233 void OnConnectionMigration(PeerAddressChangeType type); 239 void OnConnectionMigration(PeerAddressChangeType type);
234 240
241 // Used to determine if peer seems unresponsive. Note that the peer
242 // may only be temporarily unreachable.
243 bool IsPeerMaybeUnreachable() const;
244
235 bool using_pacing() const { return using_pacing_; } 245 bool using_pacing() const { return using_pacing_; }
236 246
237 void set_debug_delegate(DebugDelegate* debug_delegate) { 247 void set_debug_delegate(DebugDelegate* debug_delegate) {
238 debug_delegate_ = debug_delegate; 248 debug_delegate_ = debug_delegate;
239 } 249 }
240 250
241 QuicPacketNumber largest_observed() const { 251 QuicPacketNumber largest_observed() const {
242 return unacked_packets_.largest_observed(); 252 return unacked_packets_.largest_observed();
243 } 253 }
244 254
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 // Records bandwidth from server to client in normal operation, over periods 454 // Records bandwidth from server to client in normal operation, over periods
445 // of time with no loss events. 455 // of time with no loss events.
446 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; 456 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_;
447 457
448 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); 458 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager);
449 }; 459 };
450 460
451 } // namespace net 461 } // namespace net
452 462
453 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 463 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698