Internal QUICHE change
PiperOrigin-RevId: 333134446
Change-Id: Iaa7d4cd01bc03bb1af060a1470e3492de5ecaf46
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc
index 177f2b7..a13f3c3 100644
--- a/quic/core/quic_packet_creator.cc
+++ b/quic/core/quic_packet_creator.cc
@@ -415,13 +415,16 @@
QuicStreamOffset offset,
bool fin,
QuicFrame* frame) {
- DCHECK_GT(
- max_packet_length_,
- StreamFramePacketOverhead(
- framer_->transport_version(), GetDestinationConnectionIdLength(),
- GetSourceConnectionIdLength(), kIncludeVersion,
- IncludeNonceInPublicHeader(), PACKET_6BYTE_PACKET_NUMBER,
- GetRetryTokenLengthLength(), GetLengthLength(), offset));
+ // Make sure max_packet_length_ is greater than the largest possible overhead
+ // or max_packet_length_ is set to the soft limit.
+ DCHECK(max_packet_length_ >
+ StreamFramePacketOverhead(
+ framer_->transport_version(),
+ GetDestinationConnectionIdLength(),
+ GetSourceConnectionIdLength(), kIncludeVersion,
+ IncludeNonceInPublicHeader(), PACKET_6BYTE_PACKET_NUMBER,
+ GetRetryTokenLengthLength(), GetLengthLength(), offset) ||
+ latched_hard_max_packet_length_ > 0);
QUIC_BUG_IF(!HasRoomForStreamFrame(id, offset, data_size))
<< "No room for Stream frame, BytesFree: " << BytesFree()