gfe-relnote: In QUIC, add largest_packets_peer_knows_is_acked_ and largest_sent_packets_ which are necessary to sent_packet_manager and unacked_packet_map, respectively, for multiple packet number support. Not used yet. Not protected.
PiperOrigin-RevId: 239787104
Change-Id: I9955881f09eb4b70a740a913fcd4ad7bc8fe863d
diff --git a/quic/core/quic_sent_packet_manager.h b/quic/core/quic_sent_packet_manager.h
index 3d75e45..592fb1a 100644
--- a/quic/core/quic_sent_packet_manager.h
+++ b/quic/core/quic_sent_packet_manager.h
@@ -272,6 +272,8 @@
unacked_packets_.SetSessionDecideWhatToWrite(session_decides_what_to_write);
}
+ void EnableMultiplePacketNumberSpacesSupport();
+
void SetDebugDelegate(DebugDelegate* debug_delegate);
void SetPacingAlarmGranularity(QuicTime::Delta alarm_granularity) {
@@ -282,10 +284,19 @@
return unacked_packets_.largest_acked();
}
+ QuicPacketNumber GetLargestAckedPacket(
+ EncryptionLevel decrypted_packet_level) const;
+
QuicPacketNumber GetLargestSentPacket() const {
return unacked_packets_.largest_sent_packet();
}
+ QuicPacketNumber GetLargestSentPacket(
+ EncryptionLevel decrypted_packet_level) const;
+
+ QuicPacketNumber GetLargestPacketPeerKnowsIsAcked(
+ EncryptionLevel decrypted_packet_level) const;
+
void SetNetworkChangeVisitor(NetworkChangeVisitor* visitor) {
DCHECK(!network_change_visitor_);
DCHECK(visitor);
@@ -352,6 +363,10 @@
bool tolerate_reneging() const { return tolerate_reneging_; }
+ bool supports_multiple_packet_number_spaces() const {
+ return unacked_packets_.supports_multiple_packet_number_spaces();
+ }
+
private:
friend class test::QuicConnectionPeer;
friend class test::QuicSentPacketManagerPeer;
@@ -567,6 +582,11 @@
// The largest acked value that was sent in an ack, which has then been acked.
QuicPacketNumber largest_packet_peer_knows_is_acked_;
+ // The largest acked value that was sent in an ack, which has then been acked
+ // for per packet number space. Only used when connection supports multiple
+ // packet number spaces.
+ QuicPacketNumber
+ largest_packets_peer_knows_is_acked_[NUM_PACKET_NUMBER_SPACES];
// The maximum amount of time to wait before sending an acknowledgement.
// The recovery code assumes the delayed ack time is the same on both sides.