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 <deque> | 8 #include <deque> |
9 #include <list> | 9 #include <list> |
10 #include <map> | 10 #include <map> |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 // Enables pacing if it has not already been enabled. | 216 // Enables pacing if it has not already been enabled. |
217 void EnablePacing(); | 217 void EnablePacing(); |
218 | 218 |
219 bool using_pacing() const { return using_pacing_; } | 219 bool using_pacing() const { return using_pacing_; } |
220 | 220 |
221 void set_debug_delegate(DebugDelegate* debug_delegate) { | 221 void set_debug_delegate(DebugDelegate* debug_delegate) { |
222 debug_delegate_ = debug_delegate; | 222 debug_delegate_ = debug_delegate; |
223 } | 223 } |
224 | 224 |
225 QuicPacketSequenceNumber largest_observed() const { | 225 QuicPacketSequenceNumber largest_observed() const { |
226 return largest_observed_; | 226 return unacked_packets_.largest_observed(); |
227 } | 227 } |
228 | 228 |
229 QuicPacketSequenceNumber least_packet_awaited_by_peer() { | 229 QuicPacketSequenceNumber least_packet_awaited_by_peer() { |
230 return least_packet_awaited_by_peer_; | 230 return least_packet_awaited_by_peer_; |
231 } | 231 } |
232 | 232 |
233 void set_network_change_visitor(NetworkChangeVisitor* visitor) { | 233 void set_network_change_visitor(NetworkChangeVisitor* visitor) { |
234 DCHECK(!network_change_visitor_); | 234 DCHECK(!network_change_visitor_); |
235 DCHECK(visitor); | 235 DCHECK(visitor); |
236 network_change_visitor_ = visitor; | 236 network_change_visitor_ = visitor; |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 AckNotifierManager ack_notifier_manager_; | 351 AckNotifierManager ack_notifier_manager_; |
352 | 352 |
353 const QuicClock* clock_; | 353 const QuicClock* clock_; |
354 QuicConnectionStats* stats_; | 354 QuicConnectionStats* stats_; |
355 DebugDelegate* debug_delegate_; | 355 DebugDelegate* debug_delegate_; |
356 NetworkChangeVisitor* network_change_visitor_; | 356 NetworkChangeVisitor* network_change_visitor_; |
357 RttStats rtt_stats_; | 357 RttStats rtt_stats_; |
358 scoped_ptr<SendAlgorithmInterface> send_algorithm_; | 358 scoped_ptr<SendAlgorithmInterface> send_algorithm_; |
359 scoped_ptr<LossDetectionInterface> loss_algorithm_; | 359 scoped_ptr<LossDetectionInterface> loss_algorithm_; |
360 | 360 |
361 // The largest sequence number which we have sent and received an ACK for | |
362 // from the peer. | |
363 QuicPacketSequenceNumber largest_observed_; | |
364 | |
365 // Least sequence number which the peer is still waiting for. | 361 // Least sequence number which the peer is still waiting for. |
366 QuicPacketSequenceNumber least_packet_awaited_by_peer_; | 362 QuicPacketSequenceNumber least_packet_awaited_by_peer_; |
367 | 363 |
368 // Tracks the first RTO packet. If any packet before that packet gets acked, | 364 // Tracks the first RTO packet. If any packet before that packet gets acked, |
369 // it indicates the RTO was spurious and should be reversed(F-RTO). | 365 // it indicates the RTO was spurious and should be reversed(F-RTO). |
370 QuicPacketSequenceNumber first_rto_transmission_; | 366 QuicPacketSequenceNumber first_rto_transmission_; |
371 // Number of times the RTO timer has fired in a row without receiving an ack. | 367 // Number of times the RTO timer has fired in a row without receiving an ack. |
372 size_t consecutive_rto_count_; | 368 size_t consecutive_rto_count_; |
373 // Number of times the tail loss probe has been sent. | 369 // Number of times the tail loss probe has been sent. |
374 size_t consecutive_tlp_count_; | 370 size_t consecutive_tlp_count_; |
(...skipping 18 matching lines...) Expand all Loading... |
393 // Records bandwidth from server to client in normal operation, over periods | 389 // Records bandwidth from server to client in normal operation, over periods |
394 // of time with no loss events. | 390 // of time with no loss events. |
395 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; | 391 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; |
396 | 392 |
397 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); | 393 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); |
398 }; | 394 }; |
399 | 395 |
400 } // namespace net | 396 } // namespace net |
401 | 397 |
402 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 398 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
OLD | NEW |