Commit f0d175a0 authored by Bence Béky's avatar Bence Béky Committed by Commit Bot

In QuicTestPacketMaker, use MakeMultipleFramesPacket() in MakeAckPacket().

This reduces duplicate code.  The only side effect is that now packets
built by MakeAckPacket() are saved in |saved_frames_|, but they are in
fact never retransmitted.

Change-Id: If6301deea0da015600f76b794478c21372f872c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1982790
Auto-Submit: Bence Béky <bnc@chromium.org>
Commit-Queue: Zhongyi Shi <zhongyi@chromium.org>
Reviewed-by: default avatarZhongyi Shi <zhongyi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728291}
parent 41b249e0
......@@ -726,43 +726,12 @@ std::unique_ptr<quic::QuicReceivedPacket> QuicTestPacketMaker::MakeAckPacket(
ack.packets.AddRange(quic::QuicPacketNumber(first_received),
quic::QuicPacketNumber(largest_received + 1));
}
quic::QuicFramer framer(quic::test::SupportedVersions(version_),
clock_->Now(), perspective_,
quic::kQuicDefaultConnectionIdLength);
if (encryption_level_ == quic::ENCRYPTION_INITIAL) {
framer.SetInitialObfuscators(perspective_ == quic::Perspective::IS_CLIENT
? header_.destination_connection_id
: header_.source_connection_id);
} else {
framer.SetEncrypter(encryption_level_,
std::make_unique<quic::NullEncrypter>(perspective_));
}
quic::QuicFrames frames;
quic::QuicFrame ack_frame(&ack);
frames.push_back(ack_frame);
DVLOG(1) << "Adding frame: " << frames.back();
size_t max_plaintext_size =
framer.GetMaxPlaintextSize(quic::kDefaultMaxPacketSize);
size_t ack_frame_length = framer.GetSerializedFrameLength(
ack_frame, max_plaintext_size, /*first_frame*/ true, /*last_frame*/ false,
header_.packet_number_length);
const size_t min_plaintext_size = 7;
if (version_.HasHeaderProtection() && ack_frame_length < min_plaintext_size) {
size_t padding_length = min_plaintext_size - ack_frame_length;
frames.push_back(quic::QuicFrame(quic::QuicPaddingFrame(padding_length)));
}
std::unique_ptr<quic::QuicPacket> packet(
quic::test::BuildUnsizedDataPacket(&framer, header_, frames));
char buffer[quic::kMaxOutgoingPacketSize];
size_t encrypted_size =
framer.EncryptPayload(encryption_level_, header_.packet_number, *packet,
buffer, quic::kMaxOutgoingPacketSize);
EXPECT_NE(0u, encrypted_size);
quic::QuicReceivedPacket encrypted(buffer, encrypted_size, clock_->Now(),
false);
return encrypted.Clone();
return MakeMultipleFramesPacket(header_, frames, nullptr);
}
std::unique_ptr<quic::QuicReceivedPacket> QuicTestPacketMaker::MakeDataPacket(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment