| 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> | |
| 9 #include <list> | |
| 10 #include <map> | 8 #include <map> |
| 11 #include <queue> | |
| 12 #include <set> | 9 #include <set> |
| 13 #include <utility> | 10 #include <utility> |
| 14 #include <vector> | 11 #include <vector> |
| 15 | 12 |
| 16 #include "base/containers/hash_tables.h" | 13 #include "base/containers/hash_tables.h" |
| 17 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 18 #include "net/base/linked_hash_map.h" | 15 #include "net/base/linked_hash_map.h" |
| 19 #include "net/quic/congestion_control/loss_detection_interface.h" | 16 #include "net/quic/congestion_control/loss_detection_interface.h" |
| 20 #include "net/quic/congestion_control/rtt_stats.h" | 17 #include "net/quic/congestion_control/rtt_stats.h" |
| 21 #include "net/quic/congestion_control/send_algorithm_interface.h" | 18 #include "net/quic/congestion_control/send_algorithm_interface.h" |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 | 308 |
| 312 // Marks |sequence_number| as having been revived by the peer, but not | 309 // Marks |sequence_number| as having been revived by the peer, but not |
| 313 // received, so the packet remains pending if it is and the congestion control | 310 // received, so the packet remains pending if it is and the congestion control |
| 314 // does not consider the packet acked. | 311 // does not consider the packet acked. |
| 315 void MarkPacketRevived(QuicPacketSequenceNumber sequence_number, | 312 void MarkPacketRevived(QuicPacketSequenceNumber sequence_number, |
| 316 QuicTime::Delta delta_largest_observed); | 313 QuicTime::Delta delta_largest_observed); |
| 317 | 314 |
| 318 // Removes the retransmittability and pending properties from the packet at | 315 // Removes the retransmittability and pending properties from the packet at |
| 319 // |it| due to receipt by the peer. Returns an iterator to the next remaining | 316 // |it| due to receipt by the peer. Returns an iterator to the next remaining |
| 320 // unacked packet. | 317 // unacked packet. |
| 321 QuicUnackedPacketMap::const_iterator MarkPacketHandled( | 318 void MarkPacketHandled(QuicPacketSequenceNumber sequence_number, |
| 322 QuicUnackedPacketMap::const_iterator it, | 319 const TransmissionInfo& info, |
| 323 QuicTime::Delta delta_largest_observed); | 320 QuicTime::Delta delta_largest_observed); |
| 324 | 321 |
| 325 // Request that |sequence_number| be retransmitted after the other pending | 322 // Request that |sequence_number| be retransmitted after the other pending |
| 326 // retransmissions. Does not add it to the retransmissions if it's already | 323 // retransmissions. Does not add it to the retransmissions if it's already |
| 327 // a pending retransmission. | 324 // a pending retransmission. |
| 328 void MarkForRetransmission(QuicPacketSequenceNumber sequence_number, | 325 void MarkForRetransmission(QuicPacketSequenceNumber sequence_number, |
| 329 TransmissionType transmission_type); | 326 TransmissionType transmission_type); |
| 330 | 327 |
| 331 // Notify observers about spurious retransmits. | 328 // Notify observers about spurious retransmits. |
| 332 void RecordSpuriousRetransmissions( | 329 void RecordSpuriousRetransmissions( |
| 333 const SequenceNumberSet& all_transmissions, | 330 const SequenceNumberSet& all_transmissions, |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 // Records bandwidth from server to client in normal operation, over periods | 390 // Records bandwidth from server to client in normal operation, over periods |
| 394 // of time with no loss events. | 391 // of time with no loss events. |
| 395 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; | 392 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; |
| 396 | 393 |
| 397 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); | 394 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); |
| 398 }; | 395 }; |
| 399 | 396 |
| 400 } // namespace net | 397 } // namespace net |
| 401 | 398 |
| 402 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 399 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
| OLD | NEW |