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 |