In QuicFramer::ProcessIetfTimestampsInAckFrame, use the first timestamp_delta as is.
Split from cl/423075926.
PiperOrigin-RevId: 425374776
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index 6d2d9c7..45166ec 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -4161,7 +4161,7 @@
// packet order.
timestamp_delta = timestamp_delta << receive_timestamps_exponent_;
if (i == 0 && j == 0) {
- last_timestamp_ = CalculateTimestampFromWire(timestamp_delta);
+ last_timestamp_ = QuicTime::Delta::FromMicroseconds(timestamp_delta);
} else {
last_timestamp_ = last_timestamp_ -
QuicTime::Delta::FromMicroseconds(timestamp_delta);
@@ -4170,10 +4170,10 @@
return false;
}
}
- visitor_->OnAckTimestamp(packet_number - j,
- creation_time_ + last_timestamp_);
+ visitor_->OnAckTimestamp(packet_number, creation_time_ + last_timestamp_);
+ packet_number--;
}
- packet_number = packet_number - (timestamp_count - 1);
+ packet_number--;
}
return true;
}
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc
index 207329c..cd3a487 100644
--- a/quic/core/quic_framer_test.cc
+++ b/quic/core/quic_framer_test.cc
@@ -4116,7 +4116,7 @@
// Timestamp range 2 (one packet).
{ "Unable to read receive timestamp gap.",
- { kVarInt62OneByte + 0x07 }},
+ { kVarInt62OneByte + 0x05 }},
{ "Unable to read receive timestamp count.",
{ kVarInt62OneByte + 0x01 }},
{ "Unable to read receive timestamp delta.",
@@ -4124,7 +4124,7 @@
// Timestamp range 3 (two packets).
{ "Unable to read receive timestamp gap.",
- { kVarInt62OneByte + 0x0a }},
+ { kVarInt62OneByte + 0x08 }},
{ "Unable to read receive timestamp count.",
{ kVarInt62OneByte + 0x02 }},
{ "Unable to read receive timestamp delta.",