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

Unified Diff: net/quic/quic_protocol.h

Issue 11416155: Adding transmission times for every QUIC packet received in the AckFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years 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_framer_test.cc ('k') | net/quic/quic_protocol.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_protocol.h
diff --git a/net/quic/quic_protocol.h b/net/quic/quic_protocol.h
index a24e5e9826f59fa648aea3af1dc4d8e08d330da6..9a8fd22d3c0b5279b3ae4dd2c540d14316a87137 100644
--- a/net/quic/quic_protocol.h
+++ b/net/quic/quic_protocol.h
@@ -6,6 +6,7 @@
#define NET_QUIC_QUIC_PROTOCOL_H_
#include <limits>
+#include <map>
#include <ostream>
#include <utility>
#include <vector>
@@ -168,14 +169,16 @@ typedef base::hash_set<QuicPacketSequenceNumber> SequenceSet;
struct NET_EXPORT_PRIVATE ReceivedPacketInfo {
ReceivedPacketInfo();
~ReceivedPacketInfo();
+
+ void RecordAck(QuicPacketSequenceNumber sequence_number, QuicTime time);
+ bool ContainsAck(QuicPacketSequenceNumber sequence_number) const;
+ void ClearAcksBefore(QuicPacketSequenceNumber least_unacked);
+
// The highest packet sequence number we've received from the peer.
QuicPacketSequenceNumber largest_received;
- // The time at which we received the above packet.
- QuicTime time_received;
- // The set of packets which we're expecting and have not received.
- // This includes any packets between the lowest and largest_received
- // which we have neither seen nor been informed are non-retransmitting.
- SequenceSet missing_packets;
+
+ // The set of all received packets and their arrival times.
+ std::map<QuicPacketSequenceNumber, QuicTime> received_packet_times;
};
struct NET_EXPORT_PRIVATE SentPacketInfo {
@@ -183,9 +186,6 @@ struct NET_EXPORT_PRIVATE SentPacketInfo {
~SentPacketInfo();
// The lowest packet we've sent which is unacked, and we expect an ack for.
QuicPacketSequenceNumber least_unacked;
- // The set of packets between least_unacked and the last packet we have sent
- // which we will not resend.
- SequenceSet non_retransmiting;
};
// Defines for all types of congestion feedback that will be negotiated in QUIC,
@@ -241,14 +241,11 @@ struct NET_EXPORT_PRIVATE CongestionInfo {
struct NET_EXPORT_PRIVATE QuicAckFrame {
QuicAckFrame() {}
+ // Testing convenience method to construct a QuicAckFrame with all packets
+ // from least_unacked to largest_received acked at time_received.
QuicAckFrame(QuicPacketSequenceNumber largest_received,
QuicTime time_received,
- QuicPacketSequenceNumber least_unacked) {
- received_info.largest_received = largest_received;
- received_info.time_received = time_received;
- sent_info.least_unacked = least_unacked;
- congestion_info.type = kNone;
- }
+ QuicPacketSequenceNumber least_unacked);
NET_EXPORT_PRIVATE friend std::ostream& operator<<(std::ostream& os,
const QuicAckFrame& s);
« no previous file with comments | « net/quic/quic_framer_test.cc ('k') | net/quic/quic_protocol.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698