Make QuicPacketCreator::ExpansionOnNewFrameWithLastFrame() static.
This is so that it can be reused in Chromium's QuicTestPacketMaker, see
https://crrev.com/c/2324109.
No functional change
PiperOrigin-RevId: 323787606
Change-Id: I82b950b59465271c3e1fb5bebe639973dc55e061
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc
index a0f189c..109042f 100644
--- a/quic/core/quic_packet_creator.cc
+++ b/quic/core/quic_packet_creator.cc
@@ -704,11 +704,14 @@
if (queued_frames_.empty()) {
return 0;
}
- return ExpansionOnNewFrameWithLastFrame(queued_frames_.back());
+ return ExpansionOnNewFrameWithLastFrame(queued_frames_.back(),
+ framer_->transport_version());
}
+// static
size_t QuicPacketCreator::ExpansionOnNewFrameWithLastFrame(
- const QuicFrame& last_frame) const {
+ const QuicFrame& last_frame,
+ QuicTransportVersion version) {
if (last_frame.type == MESSAGE_FRAME) {
return QuicDataWriter::GetVarInt62Len(
last_frame.message_frame->message_length);
@@ -716,7 +719,7 @@
if (last_frame.type != STREAM_FRAME) {
return 0;
}
- if (VersionHasIetfQuicFrames(framer_->transport_version())) {
+ if (VersionHasIetfQuicFrames(version)) {
return QuicDataWriter::GetVarInt62Len(last_frame.stream_frame.data_length);
}
return kQuicStreamPayloadLengthSize;
@@ -1592,9 +1595,9 @@
size_t bytes_free = BytesFree() - serialized_frame_length;
// Extra bytes needed (this is NOT padding needed) should be at least 1
// padding + expansion.
- const size_t extra_bytes_needed =
- std::max(1 + ExpansionOnNewFrameWithLastFrame(frame),
- MinPlaintextPacketSize(framer_->version()) - frame_bytes);
+ const size_t extra_bytes_needed = std::max(
+ 1 + ExpansionOnNewFrameWithLastFrame(frame, framer_->transport_version()),
+ MinPlaintextPacketSize(framer_->version()) - frame_bytes);
if (bytes_free < extra_bytes_needed) {
// This frame does not fit.
return 0;