Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Unified Diff: net/quic/quic_sent_packet_manager.h

Issue 76723002: Land Recent QUIC Changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compilation error Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_reliable_client_stream_test.cc ('k') | net/quic/quic_sent_packet_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « net/quic/quic_reliable_client_stream_test.cc ('k') | net/quic/quic_sent_packet_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698