Index: net/quic/quic_packet_creator.cc |
diff --git a/net/quic/quic_packet_creator.cc b/net/quic/quic_packet_creator.cc |
index a375e8e39a53ef8d43eda5c04d75cfd4e2d9277c..4a13b111ef63298d2c63ac82540f6bd5559d8ff2 100644 |
--- a/net/quic/quic_packet_creator.cc |
+++ b/net/quic/quic_packet_creator.cc |
@@ -159,7 +159,7 @@ bool QuicPacketCreator::ConsumeData(QuicStreamId id, |
size_t iov_offset, |
QuicStreamOffset offset, |
bool fin, |
- bool needs_padding, |
+ bool needs_full_padding, |
QuicFrame* frame) { |
if (!HasRoomForStreamFrame(id, offset)) { |
return false; |
@@ -170,8 +170,8 @@ bool QuicPacketCreator::ConsumeData(QuicStreamId id, |
delete frame->stream_frame; |
return false; |
} |
- if (needs_padding) { |
- packet_.needs_padding = true; |
+ if (needs_full_padding) { |
+ packet_.num_padding_bytes = -1; |
} |
return true; |
} |
@@ -293,7 +293,7 @@ void QuicPacketCreator::ReserializeAllFrames( |
char* buffer, |
size_t buffer_len) { |
DCHECK(queued_frames_.empty()); |
- DCHECK(!packet_.needs_padding); |
+ DCHECK_EQ(0, packet_.num_padding_bytes); |
QUIC_BUG_IF(retransmission.retransmittable_frames.empty()) |
<< "Attempt to serialize empty packet"; |
const QuicPacketNumberLength saved_length = packet_.packet_number_length; |
@@ -303,7 +303,7 @@ void QuicPacketCreator::ReserializeAllFrames( |
// Temporarily set the packet number length and change the encryption level. |
packet_.packet_number_length = retransmission.packet_number_length; |
next_packet_number_length_ = retransmission.packet_number_length; |
- packet_.needs_padding = retransmission.needs_padding; |
+ packet_.num_padding_bytes = retransmission.num_padding_bytes; |
// Only preserve the original encryption level if it's a handshake packet or |
// if we haven't gone forward secure. |
if (retransmission.has_crypto_handshake || |
@@ -361,7 +361,7 @@ void QuicPacketCreator::ClearPacket() { |
packet_.has_ack = false; |
packet_.has_stop_waiting = false; |
packet_.has_crypto_handshake = NOT_HANDSHAKE; |
- packet_.needs_padding = false; |
+ packet_.num_padding_bytes = 0; |
packet_.original_packet_number = 0; |
packet_.transmission_type = NOT_RETRANSMISSION; |
packet_.encrypted_buffer = nullptr; |
@@ -410,7 +410,7 @@ bool QuicPacketCreator::AddSavedFrame(const QuicFrame& frame) { |
bool QuicPacketCreator::AddPaddedSavedFrame(const QuicFrame& frame) { |
if (AddFrame(frame, /*save_retransmittable_frames=*/true)) { |
- packet_.needs_padding = true; |
+ packet_.num_padding_bytes = -1; |
return true; |
} |
return false; |
@@ -572,7 +572,7 @@ bool QuicPacketCreator::AddFrame(const QuicFrame& frame, |
} |
void QuicPacketCreator::MaybeAddPadding() { |
- if (!packet_.needs_padding) { |
+ if (packet_.num_padding_bytes == 0) { |
return; |
} |
@@ -581,7 +581,8 @@ void QuicPacketCreator::MaybeAddPadding() { |
return; |
} |
- bool success = AddFrame(QuicFrame(QuicPaddingFrame()), false); |
+ bool success = |
+ AddFrame(QuicFrame(QuicPaddingFrame(packet_.num_padding_bytes)), false); |
DCHECK(success); |
} |