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 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 // the packet |sequence_number|. | 288 // the packet |sequence_number|. |
289 QuicSequenceNumberLength GetSequenceNumberLength( | 289 QuicSequenceNumberLength GetSequenceNumberLength( |
290 QuicPacketSequenceNumber sequence_number) const; | 290 QuicPacketSequenceNumber sequence_number) const; |
291 | 291 |
292 // Clears up to |num_to_clear| previous transmissions in order to make room | 292 // Clears up to |num_to_clear| previous transmissions in order to make room |
293 // in the ack frame for new acks. | 293 // in the ack frame for new acks. |
294 void ClearPreviousRetransmissions(size_t num_to_clear); | 294 void ClearPreviousRetransmissions(size_t num_to_clear); |
295 | 295 |
296 void CleanupPacketHistory(); | 296 void CleanupPacketHistory(); |
297 | 297 |
| 298 // Removes |sequence_number| as a previous transmission of any other packets. |
| 299 void RemovePreviousTransmission(QuicPacketSequenceNumber sequence_number); |
| 300 |
298 // Newly serialized retransmittable and fec packets are added to this map, | 301 // Newly serialized retransmittable and fec packets are added to this map, |
299 // which contains owning pointers to any contained frames. If a packet is | 302 // which contains owning pointers to any contained frames. If a packet is |
300 // retransmitted, this map will contain entries for both the old and the new | 303 // retransmitted, this map will contain entries for both the old and the new |
301 // packet. The old packet's retransmittable frames entry will be NULL, while | 304 // packet. The old packet's retransmittable frames entry will be NULL, while |
302 // the new packet's entry will contain the frames to retransmit. | 305 // the new packet's entry will contain the frames to retransmit. |
303 // If the old packet is acked before the new packet, then the old entry will | 306 // If the old packet is acked before the new packet, then the old entry will |
304 // be removed from the map and the new entry's retransmittable frames will be | 307 // be removed from the map and the new entry's retransmittable frames will be |
305 // set to NULL. | 308 // set to NULL. |
306 UnackedPacketMap unacked_packets_; | 309 UnackedPacketMap unacked_packets_; |
307 | 310 |
(...skipping 29 matching lines...) Expand all Loading... |
337 // Maximum number of tail loss probes to send before firing an RTO. | 340 // Maximum number of tail loss probes to send before firing an RTO. |
338 size_t max_tail_loss_probes_; | 341 size_t max_tail_loss_probes_; |
339 bool using_pacing_; | 342 bool using_pacing_; |
340 | 343 |
341 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); | 344 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); |
342 }; | 345 }; |
343 | 346 |
344 } // namespace net | 347 } // namespace net |
345 | 348 |
346 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 349 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
OLD | NEW |