Index: net/quic/core/quic_framer.h |
diff --git a/net/quic/core/quic_framer.h b/net/quic/core/quic_framer.h |
index 899202d3f0db99120d4eef454be48714aeafcd6d..55d32262fa7216a877b7b7530f845569515ad9a8 100644 |
--- a/net/quic/core/quic_framer.h |
+++ b/net/quic/core/quic_framer.h |
@@ -441,7 +441,7 @@ class NET_EXPORT_PRIVATE QuicFramer { |
bool ProcessPathId(QuicDataReader* reader, QuicPathId* path_id); |
bool ProcessPacketSequenceNumber(QuicDataReader* reader, |
QuicPacketNumberLength packet_number_length, |
- QuicPacketNumber last_packet_number, |
+ QuicPacketNumber base_packet_number, |
QuicPacketNumber* packet_number); |
bool ProcessFrameData(QuicDataReader* reader, const QuicPacketHeader& header); |
bool ProcessStreamFrame(QuicDataReader* reader, |
@@ -474,9 +474,10 @@ class NET_EXPORT_PRIVATE QuicFramer { |
size_t* decrypted_length); |
// Checks if |path_id| is a viable path to receive packets on. Returns true |
- // and sets |last_packet_number| if the path is not closed. Returns false |
+ // and sets |base_packet_number| to the packet number to calculate the |
+ // incoming packet number from if the path is not closed. Returns false |
// otherwise. |
- bool IsValidPath(QuicPathId path_id, QuicPacketNumber* last_packet_number); |
+ bool IsValidPath(QuicPathId path_id, QuicPacketNumber* base_packet_number); |
// Sets last_packet_number_. This can only be called after the packet is |
// successfully decrypted. |
@@ -486,7 +487,7 @@ class NET_EXPORT_PRIVATE QuicFramer { |
// wire format version and the last seen packet number. |
QuicPacketNumber CalculatePacketNumberFromWire( |
QuicPacketNumberLength packet_number_length, |
- QuicPacketNumber last_packet_number, |
+ QuicPacketNumber base_packet_number, |
QuicPacketNumber packet_number) const; |
// Returns the QuicTime::Delta corresponding to the time from when the framer |
@@ -569,9 +570,16 @@ class NET_EXPORT_PRIVATE QuicFramer { |
std::unordered_set<QuicPathId> closed_paths_; |
// Map mapping path id to packet number of last successfully decrypted |
// received packet. |
+ // TODO(ianswett): Remove when |
+ // gfe2_reloadable_flag_quic_packet_numbers_largest_received is deprecated. |
std::unordered_map<QuicPathId, QuicPacketNumber> last_packet_numbers_; |
// Updated by ProcessPacketHeader when it succeeds. |
QuicPacketNumber last_packet_number_; |
+ // Map mapping path id to packet number of largest successfully decrypted |
+ // received packet. |
+ std::unordered_map<QuicPathId, QuicPacketNumber> largest_packet_numbers_; |
+ // Updated by ProcessPacketHeader when it succeeds decrypting a larger packet. |
+ QuicPacketNumber largest_packet_number_; |
// The path on which last successfully decrypted packet was received. |
QuicPathId last_path_id_; |
// Updated by WritePacketHeader. |