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 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 // acks. | 220 // acks. |
221 void MaybeInvokeCongestionEvent(bool rtt_updated, | 221 void MaybeInvokeCongestionEvent(bool rtt_updated, |
222 QuicByteCount bytes_in_flight); | 222 QuicByteCount bytes_in_flight); |
223 | 223 |
224 // Marks |sequence_number| as having been revived by the peer, but not | 224 // Marks |sequence_number| as having been revived by the peer, but not |
225 // received, so the packet remains pending if it is and the congestion control | 225 // received, so the packet remains pending if it is and the congestion control |
226 // does not consider the packet acked. | 226 // does not consider the packet acked. |
227 void MarkPacketRevived(QuicPacketSequenceNumber sequence_number, | 227 void MarkPacketRevived(QuicPacketSequenceNumber sequence_number, |
228 QuicTime::Delta delta_largest_observed); | 228 QuicTime::Delta delta_largest_observed); |
229 | 229 |
230 // Marks |sequence_number| as being fully handled, either due to receipt | 230 // Removes the retransmittability and pending properties from the packet at |
231 // by the peer, or having been discarded as indecipherable. Returns an | 231 // |it| due to receipt by the peer. Returns an iterator to the next remaining |
232 // iterator to the next remaining unacked packet. | 232 // unacked packet. |
233 QuicUnackedPacketMap::const_iterator MarkPacketHandled( | 233 QuicUnackedPacketMap::const_iterator MarkPacketHandled( |
234 QuicPacketSequenceNumber sequence_number, | 234 QuicUnackedPacketMap::const_iterator it, |
235 QuicTime::Delta delta_largest_observed); | 235 QuicTime::Delta delta_largest_observed); |
236 | 236 |
237 // Request that |sequence_number| be retransmitted after the other pending | 237 // Request that |sequence_number| be retransmitted after the other pending |
238 // retransmissions. Does not add it to the retransmissions if it's already | 238 // retransmissions. Does not add it to the retransmissions if it's already |
239 // a pending retransmission. | 239 // a pending retransmission. |
240 void MarkForRetransmission(QuicPacketSequenceNumber sequence_number, | 240 void MarkForRetransmission(QuicPacketSequenceNumber sequence_number, |
241 TransmissionType transmission_type); | 241 TransmissionType transmission_type); |
242 | 242 |
243 // Newly serialized retransmittable and fec packets are added to this map, | 243 // Newly serialized retransmittable and fec packets are added to this map, |
244 // which contains owning pointers to any contained frames. If a packet is | 244 // which contains owning pointers to any contained frames. If a packet is |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 // Sets of packets acked and lost as a result of the last congestion event. | 281 // Sets of packets acked and lost as a result of the last congestion event. |
282 SendAlgorithmInterface::CongestionMap packets_acked_; | 282 SendAlgorithmInterface::CongestionMap packets_acked_; |
283 SendAlgorithmInterface::CongestionMap packets_lost_; | 283 SendAlgorithmInterface::CongestionMap packets_lost_; |
284 | 284 |
285 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); | 285 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); |
286 }; | 286 }; |
287 | 287 |
288 } // namespace net | 288 } // namespace net |
289 | 289 |
290 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ | 290 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ |
OLD | NEW |