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_unacked_packet_map.h b/quic/core/quic_unacked_packet_map.h
index 9245589..1d4f00c 100644
--- a/quic/core/quic_unacked_packet_map.h
+++ b/quic/core/quic_unacked_packet_map.h
@@ -204,11 +204,17 @@
QuicPacketNumber GetLargestSentRetransmittableOfPacketNumberSpace(
PacketNumberSpace packet_number_space) const;
+ // Returns largest sent packet number of |encryption_level|.
+ QuicPacketNumber GetLargestSentPacketOfPacketNumberSpace(
+ EncryptionLevel encryption_level) const;
+
// Called to start/stop letting session decide what to write.
void SetSessionDecideWhatToWrite(bool session_decides_what_to_write);
void SetSessionNotifier(SessionNotifierInterface* session_notifier);
+ void EnableMultiplePacketNumberSpacesSupport();
+
bool session_decides_what_to_write() const {
return session_decides_what_to_write_;
}
@@ -217,6 +223,10 @@
Perspective perspective() const { return perspective_; }
+ bool supports_multiple_packet_number_spaces() const {
+ return supports_multiple_packet_number_spaces_;
+ }
+
private:
friend class test::QuicUnackedPacketMapPeer;
@@ -249,6 +259,8 @@
const Perspective perspective_;
QuicPacketNumber largest_sent_packet_;
+ // Only used when supports_multiple_packet_number_spaces_ is true.
+ QuicPacketNumber largest_sent_packets_[NUM_PACKET_NUMBER_SPACES];
// The largest sent packet we expect to receive an ack for.
// TODO(fayang): Remove largest_sent_retransmittable_packet_ when deprecating
// quic_use_uber_loss_algorithm.
@@ -296,6 +308,9 @@
// Latched value of quic_use_uber_loss_algorithm.
const bool use_uber_loss_algorithm_;
+
+ // If true, supports multiple packet number spaces.
+ bool supports_multiple_packet_number_spaces_;
};
} // namespace quic