| Index: net/quic/quic_sent_packet_manager.h
|
| diff --git a/net/quic/quic_sent_packet_manager.h b/net/quic/quic_sent_packet_manager.h
|
| index cf4edc9c53d452b32ae0eb6959f2b0bdcdf30ae3..e6878dddff86060804f85ae41c11bd11c92f6f5d 100644
|
| --- a/net/quic/quic_sent_packet_manager.h
|
| +++ b/net/quic/quic_sent_packet_manager.h
|
| @@ -92,11 +92,6 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager {
|
| // Returns true if |sequence_number| is a retransmission of a packet.
|
| bool IsRetransmission(QuicPacketSequenceNumber sequence_number) const;
|
|
|
| - // Returns the number of times the data in the packet |sequence_number|
|
| - // has been transmitted.
|
| - size_t GetRetransmissionCount(
|
| - QuicPacketSequenceNumber sequence_number) const;
|
| -
|
| // Returns true if the non-FEC packet |sequence_number| is unacked.
|
| bool IsUnacked(QuicPacketSequenceNumber sequence_number) const;
|
|
|
| @@ -131,8 +126,8 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager {
|
| // Returns true if there are any unacked packets.
|
| bool HasUnackedPackets() const;
|
|
|
| - // Returns the number of unacked packets.
|
| - size_t GetNumUnackedPackets() const;
|
| + // Returns the number of unacked packets which have retransmittable frames.
|
| + size_t GetNumRetransmittablePackets() const;
|
|
|
| // Returns true if there are any unacked FEC packets.
|
| bool HasUnackedFecPackets() const;
|
| @@ -155,32 +150,25 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager {
|
| bool IsPreviousTransmission(QuicPacketSequenceNumber sequence_number) const;
|
|
|
| private:
|
| - struct RetransmissionInfo {
|
| - RetransmissionInfo() {}
|
| - explicit RetransmissionInfo(QuicPacketSequenceNumber sequence_number,
|
| - QuicSequenceNumberLength sequence_number_length)
|
| - : sequence_number(sequence_number),
|
| - sequence_number_length(sequence_number_length),
|
| - number_nacks(0),
|
| - number_retransmissions(0) {
|
| + struct TransmissionInfo {
|
| + TransmissionInfo() {}
|
| + TransmissionInfo(RetransmittableFrames* retransmittable_frames,
|
| + QuicSequenceNumberLength sequence_number_length)
|
| + : retransmittable_frames(retransmittable_frames),
|
| + sequence_number_length(sequence_number_length) {
|
| }
|
|
|
| - QuicPacketSequenceNumber sequence_number;
|
| + RetransmittableFrames* retransmittable_frames;
|
| QuicSequenceNumberLength sequence_number_length;
|
| - size_t number_nacks;
|
| - // TODO(ianswett): I believe this is now obsolete, or could at least be
|
| - // changed to a bool.
|
| - size_t number_retransmissions;
|
| };
|
|
|
| typedef linked_hash_map<QuicPacketSequenceNumber,
|
| - RetransmittableFrames*> UnackedPacketMap;
|
| + TransmissionInfo> UnackedPacketMap;
|
| typedef linked_hash_map<QuicPacketSequenceNumber,
|
| QuicTime> UnackedFecPacketMap;
|
| typedef linked_hash_map<QuicPacketSequenceNumber,
|
| TransmissionType> PendingRetransmissionMap;
|
| - typedef base::hash_map<QuicPacketSequenceNumber,
|
| - RetransmissionInfo> RetransmissionMap;
|
| + typedef base::hash_map<QuicPacketSequenceNumber, size_t> NackMap;
|
| typedef base::hash_map<QuicPacketSequenceNumber, SequenceNumberSet*>
|
| PreviousTransmissionMap;
|
|
|
| @@ -228,10 +216,9 @@ class NET_EXPORT_PRIVATE QuicSentPacketManager {
|
| // Pending retransmissions which have not been packetized and sent yet.
|
| PendingRetransmissionMap pending_retransmissions_;
|
|
|
| - // Map from sequence number to the retransmission info for a packet.
|
| - // This includes the retransmission timeout, and the NACK count. Only
|
| - // the new transmission of a packet will have entries in this map.
|
| - RetransmissionMap retransmission_map_;
|
| + // Map from sequence number to the number of nacks for the packet.
|
| + // Only the most recent transmission of packets are present in this map.
|
| + NackMap nack_map_;
|
|
|
| // Map from sequence number to set of all sequence number that this packet has
|
| // been transmitted as. If a packet has not been retransmitted, it will not
|
|
|