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 |