gfe-relnote: In QUIC, truncate IETF ACK ranges if ACK frame does not fit. Protected by existing gfe2_reloadable_flag_quic_enable_version_draft_25_v3.
Also rewrote GetIetfAckFrameSize andAppendIetfAckFrameAndTypeByte.
PiperOrigin-RevId: 299906874
Change-Id: Ib670d89b35c6f35aa7a346027b3604c81c5389e7
diff --git a/quic/test_tools/quic_test_utils.cc b/quic/test_tools/quic_test_utils.cc
index bfbf512..aade80b 100644
--- a/quic/test_tools/quic_test_utils.cc
+++ b/quic/test_tools/quic_test_utils.cc
@@ -111,6 +111,22 @@
return ack;
}
+QuicAckFrame MakeAckFrameWithGaps(uint64_t gap_size,
+ size_t max_num_gaps,
+ uint64_t largest_acked) {
+ QuicAckFrame ack;
+ ack.largest_acked = QuicPacketNumber(largest_acked);
+ ack.packets.Add(QuicPacketNumber(largest_acked));
+ for (size_t i = 0; i < max_num_gaps; ++i) {
+ if (largest_acked <= gap_size) {
+ break;
+ }
+ largest_acked -= gap_size;
+ ack.packets.Add(QuicPacketNumber(largest_acked));
+ }
+ return ack;
+}
+
EncryptionLevel HeaderToEncryptionLevel(const QuicPacketHeader& header) {
if (header.form == IETF_QUIC_SHORT_HEADER_PACKET) {
return ENCRYPTION_FORWARD_SECURE;