| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |