| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_UNACKED_PACKET_MAP_H_ | 5 #ifndef NET_QUIC_QUIC_UNACKED_PACKET_MAP_H_ |
| 6 #define NET_QUIC_QUIC_UNACKED_PACKET_MAP_H_ | 6 #define NET_QUIC_QUIC_UNACKED_PACKET_MAP_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 | 9 |
| 10 #include "net/quic/quic_protocol.h" | 10 #include "net/quic/quic_protocol.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 TransmissionType transmission_type, | 31 TransmissionType transmission_type, |
| 32 QuicTime sent_time, | 32 QuicTime sent_time, |
| 33 QuicByteCount bytes_sent, | 33 QuicByteCount bytes_sent, |
| 34 bool set_in_flight); | 34 bool set_in_flight); |
| 35 | 35 |
| 36 // Returns true if the packet |sequence_number| is unacked. | 36 // Returns true if the packet |sequence_number| is unacked. |
| 37 bool IsUnacked(QuicPacketSequenceNumber sequence_number) const; | 37 bool IsUnacked(QuicPacketSequenceNumber sequence_number) const; |
| 38 | 38 |
| 39 // Sets the nack count to the max of the current nack count and |min_nacks|. | 39 // Sets the nack count to the max of the current nack count and |min_nacks|. |
| 40 void NackPacket(QuicPacketSequenceNumber sequence_number, | 40 void NackPacket(QuicPacketSequenceNumber sequence_number, |
| 41 size_t min_nacks); | 41 QuicPacketCount min_nacks); |
| 42 | 42 |
| 43 // Marks |sequence_number| as no longer in flight. | 43 // Marks |sequence_number| as no longer in flight. |
| 44 void RemoveFromInFlight(QuicPacketSequenceNumber sequence_number); | 44 void RemoveFromInFlight(QuicPacketSequenceNumber sequence_number); |
| 45 | 45 |
| 46 // Returns true if the unacked packet |sequence_number| has retransmittable | 46 // Returns true if the unacked packet |sequence_number| has retransmittable |
| 47 // frames. This will return false if the packet has been acked, if a | 47 // frames. This will return false if the packet has been acked, if a |
| 48 // previous transmission of this packet was ACK'd, or if this packet has been | 48 // previous transmission of this packet was ACK'd, or if this packet has been |
| 49 // retransmitted as with different sequence number, or if the packet never | 49 // retransmitted as with different sequence number, or if the packet never |
| 50 // had any retransmittable packets in the first place. | 50 // had any retransmittable packets in the first place. |
| 51 bool HasRetransmittableFrames(QuicPacketSequenceNumber sequence_number) const; | 51 bool HasRetransmittableFrames(QuicPacketSequenceNumber sequence_number) const; |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 // retransmitted, this map will contain entries for both the old and the new | 157 // retransmitted, this map will contain entries for both the old and the new |
| 158 // packet. The old packet's retransmittable frames entry will be nullptr, | 158 // packet. The old packet's retransmittable frames entry will be nullptr, |
| 159 // while the new packet's entry will contain the frames to retransmit. | 159 // while the new packet's entry will contain the frames to retransmit. |
| 160 // If the old packet is acked before the new packet, then the old entry will | 160 // If the old packet is acked before the new packet, then the old entry will |
| 161 // be removed from the map and the new entry's retransmittable frames will be | 161 // be removed from the map and the new entry's retransmittable frames will be |
| 162 // set to nullptr. | 162 // set to nullptr. |
| 163 UnackedPacketMap unacked_packets_; | 163 UnackedPacketMap unacked_packets_; |
| 164 // The packet at the 0th index of unacked_packets_. | 164 // The packet at the 0th index of unacked_packets_. |
| 165 QuicPacketSequenceNumber least_unacked_; | 165 QuicPacketSequenceNumber least_unacked_; |
| 166 | 166 |
| 167 size_t bytes_in_flight_; | 167 QuicByteCount bytes_in_flight_; |
| 168 // Number of retransmittable crypto handshake packets. | 168 // Number of retransmittable crypto handshake packets. |
| 169 size_t pending_crypto_packet_count_; | 169 size_t pending_crypto_packet_count_; |
| 170 | 170 |
| 171 DISALLOW_COPY_AND_ASSIGN(QuicUnackedPacketMap); | 171 DISALLOW_COPY_AND_ASSIGN(QuicUnackedPacketMap); |
| 172 }; | 172 }; |
| 173 | 173 |
| 174 } // namespace net | 174 } // namespace net |
| 175 | 175 |
| 176 #endif // NET_QUIC_QUIC_UNACKED_PACKET_MAP_H_ | 176 #endif // NET_QUIC_QUIC_UNACKED_PACKET_MAP_H_ |
| OLD | NEW |