Use writevarint62 instead of writeuint8 to write the frame type in ietf quic as the ietf draft specifies that the frame_type uses variable length integer encoding. no behavior change. PiperOrigin-RevId: 317891303 Change-Id: Ic27606c0ba76a0f6e20f8c8eac384a2089fb8305
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc index 847a166..cb1480e 100644 --- a/quic/core/quic_framer.cc +++ b/quic/core/quic_framer.cc
@@ -1037,8 +1037,8 @@ for (const QuicFrame& frame : frames) { // Determine if we should write stream frame length in header. const bool last_frame_in_packet = i == frames.size() - 1; - if (!AppendIetfTypeByte(frame, last_frame_in_packet, writer)) { - QUIC_BUG << "AppendIetfTypeByte failed: " << detailed_error(); + if (!AppendIetfFrameType(frame, last_frame_in_packet, writer)) { + QUIC_BUG << "AppendIetfFrameType failed: " << detailed_error(); return 0; } @@ -4751,7 +4751,7 @@ bool last_frame_in_packet, QuicDataWriter* writer) { if (VersionHasIetfQuicFrames(version_.transport_version)) { - return AppendIetfTypeByte(frame, last_frame_in_packet, writer); + return AppendIetfFrameType(frame, last_frame_in_packet, writer); } uint8_t type_byte = 0; switch (frame.type) { @@ -4807,9 +4807,9 @@ return writer->WriteUInt8(type_byte); } -bool QuicFramer::AppendIetfTypeByte(const QuicFrame& frame, - bool last_frame_in_packet, - QuicDataWriter* writer) { +bool QuicFramer::AppendIetfFrameType(const QuicFrame& frame, + bool last_frame_in_packet, + QuicDataWriter* writer) { uint8_t type_byte = 0; switch (frame.type) { case PADDING_FRAME: @@ -4919,7 +4919,7 @@ << frame.type; return false; } - return writer->WriteUInt8(type_byte); + return writer->WriteVarInt62(type_byte); } // static @@ -5389,7 +5389,7 @@ QuicDataWriter::GetVarInt62Len(frame.ecn_ce_count)); } - if (!writer->WriteUInt8(type)) { + if (!writer->WriteVarInt62(type)) { set_detailed_error("No room for frame-type"); return false; }
diff --git a/quic/core/quic_framer.h b/quic/core/quic_framer.h index 0aa5bbf..2fc2037 100644 --- a/quic/core/quic_framer.h +++ b/quic/core/quic_framer.h
@@ -481,9 +481,9 @@ bool AppendTypeByte(const QuicFrame& frame, bool last_frame_in_packet, QuicDataWriter* writer); - bool AppendIetfTypeByte(const QuicFrame& frame, - bool last_frame_in_packet, - QuicDataWriter* writer); + bool AppendIetfFrameType(const QuicFrame& frame, + bool last_frame_in_packet, + QuicDataWriter* writer); size_t AppendIetfFrames(const QuicFrames& frames, QuicDataWriter* writer); bool AppendStreamFrame(const QuicStreamFrame& frame, bool last_frame_in_packet,