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 <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <deque> | 10 #include <deque> |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 // Returns true if there are any unacked packets which have retransmittable | 78 // Returns true if there are any unacked packets which have retransmittable |
79 // frames. | 79 // frames. |
80 bool HasUnackedRetransmittableFrames() const; | 80 bool HasUnackedRetransmittableFrames() const; |
81 | 81 |
82 // Returns the largest packet number that has been sent. | 82 // Returns the largest packet number that has been sent. |
83 QuicPacketNumber largest_sent_packet() const { return largest_sent_packet_; } | 83 QuicPacketNumber largest_sent_packet() const { return largest_sent_packet_; } |
84 | 84 |
85 // Returns the largest packet number that has been acked. | 85 // Returns the largest packet number that has been acked. |
86 QuicPacketNumber largest_observed() const { return largest_observed_; } | 86 QuicPacketNumber largest_observed() const { return largest_observed_; } |
87 | 87 |
88 bool track_single_retransmission() const { | |
89 return track_single_retransmission_; | |
90 } | |
91 | |
92 // Returns the sum of bytes from all packets in flight. | 88 // Returns the sum of bytes from all packets in flight. |
93 QuicByteCount bytes_in_flight() const { return bytes_in_flight_; } | 89 QuicByteCount bytes_in_flight() const { return bytes_in_flight_; } |
94 | 90 |
95 // Returns the smallest packet number of a serialized packet which has not | 91 // Returns the smallest packet number of a serialized packet which has not |
96 // been acked by the peer. If there are no unacked packets, returns 0. | 92 // been acked by the peer. If there are no unacked packets, returns 0. |
97 QuicPacketNumber GetLeastUnacked() const; | 93 QuicPacketNumber GetLeastUnacked() const; |
98 | 94 |
99 typedef std::deque<TransmissionInfo> UnackedPacketMap; | 95 typedef std::deque<TransmissionInfo> UnackedPacketMap; |
100 | 96 |
101 typedef UnackedPacketMap::const_iterator const_iterator; | 97 typedef UnackedPacketMap::const_iterator const_iterator; |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 // be removed from the map and the new entry's retransmittable frames will be | 185 // be removed from the map and the new entry's retransmittable frames will be |
190 // set to nullptr. | 186 // set to nullptr. |
191 UnackedPacketMap unacked_packets_; | 187 UnackedPacketMap unacked_packets_; |
192 // The packet at the 0th index of unacked_packets_. | 188 // The packet at the 0th index of unacked_packets_. |
193 QuicPacketNumber least_unacked_; | 189 QuicPacketNumber least_unacked_; |
194 | 190 |
195 QuicByteCount bytes_in_flight_; | 191 QuicByteCount bytes_in_flight_; |
196 // Number of retransmittable crypto handshake packets. | 192 // Number of retransmittable crypto handshake packets. |
197 size_t pending_crypto_packet_count_; | 193 size_t pending_crypto_packet_count_; |
198 | 194 |
199 // Latched copy of gfe2_reloadable_flag_quic_track_single_retransmission. | |
200 const bool track_single_retransmission_; | |
201 | |
202 DISALLOW_COPY_AND_ASSIGN(QuicUnackedPacketMap); | 195 DISALLOW_COPY_AND_ASSIGN(QuicUnackedPacketMap); |
203 }; | 196 }; |
204 | 197 |
205 } // namespace net | 198 } // namespace net |
206 | 199 |
207 #endif // NET_QUIC_QUIC_UNACKED_PACKET_MAP_H_ | 200 #endif // NET_QUIC_QUIC_UNACKED_PACKET_MAP_H_ |
OLD | NEW |