Change IETF Frame/QUIC_VERSION_99 tests to be symbolic.

This CL replaces checks for QUIC_VERSION_99 that are controlling the IETF frames and their associated functionality with a function call . The function has a name that is indicative of the features for which the version is being checked -- VersionHasIetfQuicFrames().

gfe-relnote: N/A just changes the text by which we test if IETF QUIC has been negotiated.
PiperOrigin-RevId: 253767805
Change-Id: I08ae6738411ac151f90d5d085ea69af90d79fb80
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index 6446ef8..836b4bf 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -498,7 +498,7 @@
                                          QuicStreamOffset offset,
                                          bool last_frame_in_packet,
                                          QuicPacketLength data_length) {
-  if (version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version)) {
     return kQuicFrameTypeSize + QuicDataWriter::GetVarInt62Len(stream_id) +
            (last_frame_in_packet
                 ? 0
@@ -532,7 +532,7 @@
 size_t QuicFramer::GetMinAckFrameSize(
     QuicTransportVersion version,
     QuicPacketNumberLength largest_observed_length) {
-  if (version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version)) {
     // The minimal ack frame consists of the following four fields: Largest
     // Acknowledged, ACK Delay, ACK Block Count, and First ACK Block. Minimum
     // size of each is 1 byte.
@@ -554,7 +554,7 @@
 // static
 size_t QuicFramer::GetRstStreamFrameSize(QuicTransportVersion version,
                                          const QuicRstStreamFrame& frame) {
-  if (version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version)) {
     return QuicDataWriter::GetVarInt62Len(frame.stream_id) +
            QuicDataWriter::GetVarInt62Len(frame.byte_offset) +
            kQuicFrameTypeSize + kQuicIetfQuicErrorCodeSize;
@@ -567,8 +567,8 @@
 size_t QuicFramer::GetConnectionCloseFrameSize(
     QuicTransportVersion version,
     const QuicConnectionCloseFrame& frame) {
-  if (version != QUIC_VERSION_99) {
-    // Not version 99/IETF QUIC, return Google QUIC CONNECTION CLOSE frame size.
+  if (!VersionHasIetfQuicFrames(version)) {
+    // Not IETF QUIC, return Google QUIC CONNECTION CLOSE frame size.
     return kQuicFrameTypeSize + kQuicErrorCodeSize +
            kQuicErrorDetailsLengthSize +
            TruncatedErrorStringSize(frame.error_details);
@@ -601,7 +601,7 @@
 size_t QuicFramer::GetWindowUpdateFrameSize(
     QuicTransportVersion version,
     const QuicWindowUpdateFrame& frame) {
-  if (version != QUIC_VERSION_99) {
+  if (!VersionHasIetfQuicFrames(version)) {
     return kQuicFrameTypeSize + kQuicMaxStreamIdSize + kQuicMaxStreamOffsetSize;
   }
   if (frame.stream_id == QuicUtils::GetInvalidStreamId(version)) {
@@ -619,9 +619,10 @@
 // static
 size_t QuicFramer::GetMaxStreamsFrameSize(QuicTransportVersion version,
                                           const QuicMaxStreamsFrame& frame) {
-  if (version != QUIC_VERSION_99) {
+  if (!VersionHasIetfQuicFrames(version)) {
     QUIC_BUG << "In version " << version
-             << " - not 99 - and tried to serialize MaxStreams Frame.";
+             << ", which does not support IETF Frames, and tried to serialize "
+                "MaxStreams Frame.";
   }
   return kQuicFrameTypeSize +
          QuicDataWriter::GetVarInt62Len(frame.stream_count);
@@ -631,9 +632,10 @@
 size_t QuicFramer::GetStreamsBlockedFrameSize(
     QuicTransportVersion version,
     const QuicStreamsBlockedFrame& frame) {
-  if (version != QUIC_VERSION_99) {
+  if (!VersionHasIetfQuicFrames(version)) {
     QUIC_BUG << "In version " << version
-             << " - not 99 - and tried to serialize StreamsBlocked Frame.";
+             << ", which does not support IETF frames, and tried to serialize "
+                "StreamsBlocked Frame.";
   }
 
   return kQuicFrameTypeSize +
@@ -643,7 +645,7 @@
 // static
 size_t QuicFramer::GetBlockedFrameSize(QuicTransportVersion version,
                                        const QuicBlockedFrame& frame) {
-  if (version != QUIC_VERSION_99) {
+  if (!VersionHasIetfQuicFrames(version)) {
     return kQuicFrameTypeSize + kQuicMaxStreamIdSize;
   }
   if (frame.stream_id == QuicUtils::GetInvalidStreamId(version)) {
@@ -690,7 +692,7 @@
       return GetMinGoAwayFrameSize() +
              TruncatedErrorStringSize(frame.goaway_frame->reason_phrase);
     case WINDOW_UPDATE_FRAME:
-      // For version 99, this could be either a MAX DATA or MAX STREAM DATA.
+      // For IETF QUIC, this could be either a MAX DATA or MAX STREAM DATA.
       // GetWindowUpdateFrameSize figures this out and returns the correct
       // length.
       return GetWindowUpdateFrameSize(version, *frame.window_update_frame);
@@ -909,7 +911,7 @@
     return 0;
   }
 
-  if (transport_version() == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(transport_version())) {
     if (AppendIetfFrames(frames, &writer) == 0) {
       return 0;
     }
@@ -999,36 +1001,36 @@
         break;
       case NEW_CONNECTION_ID_FRAME:
         set_detailed_error(
-            "Attempt to append NEW_CONNECTION_ID frame and not in version 99.");
+            "Attempt to append NEW_CONNECTION_ID frame and not in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case RETIRE_CONNECTION_ID_FRAME:
         set_detailed_error(
-            "Attempt to append RETIRE_CONNECTION_ID frame and not in version "
-            "99.");
+            "Attempt to append RETIRE_CONNECTION_ID frame and not in IETF "
+            "QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case NEW_TOKEN_FRAME:
         set_detailed_error(
-            "Attempt to append NEW_TOKEN_ID frame and not in version 99.");
+            "Attempt to append NEW_TOKEN_ID frame and not in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case MAX_STREAMS_FRAME:
         set_detailed_error(
-            "Attempt to append MAX_STREAMS frame and not in version 99.");
+            "Attempt to append MAX_STREAMS frame and not in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case STREAMS_BLOCKED_FRAME:
         set_detailed_error(
-            "Attempt to append STREAMS_BLOCKED frame and not in version 99.");
+            "Attempt to append STREAMS_BLOCKED frame and not in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case PATH_RESPONSE_FRAME:
         set_detailed_error(
-            "Attempt to append PATH_RESPONSE frame and not in version 99.");
+            "Attempt to append PATH_RESPONSE frame and not in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case PATH_CHALLENGE_FRAME:
         set_detailed_error(
-            "Attempt to append PATH_CHALLENGE frame and not in version 99.");
+            "Attempt to append PATH_CHALLENGE frame and not in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case STOP_SENDING_FRAME:
         set_detailed_error(
-            "Attempt to append STOP_SENDING frame and not in version 99.");
+            "Attempt to append STOP_SENDING frame and not in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case MESSAGE_FRAME:
         if (!AppendMessageFrameAndTypeByte(*frame.message_frame,
@@ -1095,7 +1097,7 @@
         break;
       case STOP_WAITING_FRAME:
         set_detailed_error(
-            "Attempt to append STOP WAITING frame in version 99.");
+            "Attempt to append STOP WAITING frame in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case MTU_DISCOVERY_FRAME:
         // MTU discovery frames are serialized as ping frames.
@@ -1118,7 +1120,7 @@
         }
         break;
       case GOAWAY_FRAME:
-        set_detailed_error("Attempt to append GOAWAY frame in version 99.");
+        set_detailed_error("Attempt to append GOAWAY frame in IETF QUIC.");
         return RaiseError(QUIC_INTERNAL_ERROR);
       case WINDOW_UPDATE_FRAME:
         // Depending on whether there is a stream ID or not, will be either a
@@ -1243,7 +1245,7 @@
     QuicPathFrameBuffer* payload,
     QuicRandom* randomizer,
     EncryptionLevel level) {
-  if (version_.transport_version != QUIC_VERSION_99) {
+  if (!VersionHasIetfQuicFrames(version_.transport_version)) {
     QUIC_BUG << "Attempt to build a PATH_CHALLENGE Connectivity Probing "
                 "packet and not doing IETF QUIC";
     return 0;
@@ -1276,7 +1278,7 @@
         << "Attempt to generate connectivity response with no request payloads";
     return 0;
   }
-  if (version_.transport_version != QUIC_VERSION_99) {
+  if (!VersionHasIetfQuicFrames(version_.transport_version)) {
     QUIC_BUG << "Attempt to build a PATH_RESPONSE Connectivity Probing "
                 "packet and not doing IETF QUIC";
     return 0;
@@ -1897,7 +1899,7 @@
   }
 
   // Handle the payload.
-  if (version_.transport_version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version_.transport_version)) {
     if (!ProcessIetfFrameData(&reader, *header)) {
       DCHECK_NE(QUIC_NO_ERROR, error_);  // ProcessIetfFrameData sets the error.
       DCHECK_NE("", detailed_error_);
@@ -2770,8 +2772,9 @@
 
 bool QuicFramer::ProcessFrameData(QuicDataReader* reader,
                                   const QuicPacketHeader& header) {
-  DCHECK_NE(QUIC_VERSION_99, version_.transport_version)
-      << "Version 99 negotiated, but not processing frames as version 99.";
+  DCHECK(!VersionHasIetfQuicFrames(version_.transport_version))
+      << "IETF QUIC Framing negotiated but attempting to process frames as "
+         "non-IETF QUIC.";
   if (reader->IsDoneReading()) {
     set_detailed_error("Packet has no frames.");
     return RaiseError(QUIC_MISSING_PAYLOAD);
@@ -2995,9 +2998,10 @@
 
 bool QuicFramer::ProcessIetfFrameData(QuicDataReader* reader,
                                       const QuicPacketHeader& header) {
-  DCHECK_EQ(QUIC_VERSION_99, version_.transport_version)
-      << "Attempt to process frames as IETF frames but version is "
-      << version_.transport_version << ", not 99.";
+  DCHECK(VersionHasIetfQuicFrames(version_.transport_version))
+      << "Attempt to process frames as IETF frames but version ("
+      << version_.transport_version << ") does not support IETF Framing.";
+
   if (reader->IsDoneReading()) {
     set_detailed_error("Packet has no frames.");
     return RaiseError(QUIC_MISSING_PAYLOAD);
@@ -3984,8 +3988,8 @@
 
 bool QuicFramer::ProcessBlockedFrame(QuicDataReader* reader,
                                      QuicBlockedFrame* frame) {
-  DCHECK_NE(QUIC_VERSION_99, version_.transport_version)
-      << "Attempt to process non-IETF frames but version is 99";
+  DCHECK(!VersionHasIetfQuicFrames(version_.transport_version))
+      << "Attempt to process non-IETF QUIC frames in an IETF QUIC version.";
 
   if (!reader->ReadUInt32(&frame->stream_id)) {
     set_detailed_error("Unable to read stream_id.");
@@ -4621,7 +4625,7 @@
   DCHECK(!ack.packets.Empty());
   size_t ack_size = 0;
 
-  if (version_.transport_version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version_.transport_version)) {
     return GetIetfAckFrameSize(ack);
   }
   AckFrameInfo ack_info = GetAckFrameInfo(ack);
@@ -4698,7 +4702,7 @@
 bool QuicFramer::AppendTypeByte(const QuicFrame& frame,
                                 bool last_frame_in_packet,
                                 QuicDataWriter* writer) {
-  if (version_.transport_version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version_.transport_version)) {
     return AppendIetfTypeByte(frame, last_frame_in_packet, writer);
   }
   uint8_t type_byte = 0;
@@ -4714,36 +4718,35 @@
       break;
     case NEW_CONNECTION_ID_FRAME:
       set_detailed_error(
-          "Attempt to append NEW_CONNECTION_ID frame and not in version 99.");
+          "Attempt to append NEW_CONNECTION_ID frame and not in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case RETIRE_CONNECTION_ID_FRAME:
       set_detailed_error(
-          "Attempt to append RETIRE_CONNECTION_ID frame and not in version "
-          "99.");
+          "Attempt to append RETIRE_CONNECTION_ID frame and not in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case NEW_TOKEN_FRAME:
       set_detailed_error(
-          "Attempt to append NEW_TOKEN frame and not in version 99.");
+          "Attempt to append NEW_TOKEN frame and not in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case MAX_STREAMS_FRAME:
       set_detailed_error(
-          "Attempt to append MAX_STREAMS frame and not in version 99.");
+          "Attempt to append MAX_STREAMS frame and not in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case STREAMS_BLOCKED_FRAME:
       set_detailed_error(
-          "Attempt to append STREAMS_BLOCKED frame and not in version 99.");
+          "Attempt to append STREAMS_BLOCKED frame and not in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case PATH_RESPONSE_FRAME:
       set_detailed_error(
-          "Attempt to append PATH_RESPONSE frame and not in version 99.");
+          "Attempt to append PATH_RESPONSE frame and not in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case PATH_CHALLENGE_FRAME:
       set_detailed_error(
-          "Attempt to append PATH_CHALLENGE frame and not in version 99.");
+          "Attempt to append PATH_CHALLENGE frame and not in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case STOP_SENDING_FRAME:
       set_detailed_error(
-          "Attempt to append STOP_SENDING frame and not in version 99.");
+          "Attempt to append STOP_SENDING frame and not in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case MESSAGE_FRAME:
       return true;
@@ -4782,7 +4785,7 @@
       break;
     case GOAWAY_FRAME:
       set_detailed_error(
-          "Attempt to create non-version-99 GOAWAY frame in version 99.");
+          "Attempt to create non-IETF QUIC GOAWAY frame in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case WINDOW_UPDATE_FRAME:
       // Depending on whether there is a stream ID or not, will be either a
@@ -4804,7 +4807,7 @@
       break;
     case STOP_WAITING_FRAME:
       set_detailed_error(
-          "Attempt to append type byte of STOP WAITING frame in version 99.");
+          "Attempt to append type byte of STOP WAITING frame in IETF QUIC.");
       return RaiseError(QUIC_INTERNAL_ERROR);
     case PING_FRAME:
       type_byte = IETF_PING;
@@ -4922,7 +4925,7 @@
 bool QuicFramer::AppendStreamFrame(const QuicStreamFrame& frame,
                                    bool no_stream_frame_length,
                                    QuicDataWriter* writer) {
-  if (version_.transport_version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version_.transport_version)) {
     return AppendIetfStreamFrame(frame, no_stream_frame_length, writer);
   }
   if (!AppendStreamId(GetStreamIdSize(frame.stream_id), frame.stream_id,
@@ -5083,7 +5086,7 @@
 
 bool QuicFramer::AppendAckFrameAndTypeByte(const QuicAckFrame& frame,
                                            QuicDataWriter* writer) {
-  if (transport_version() == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(transport_version())) {
     return AppendIetfAckFrameAndTypeByte(frame, writer);
   }
 
@@ -5499,7 +5502,7 @@
 
 bool QuicFramer::AppendRstStreamFrame(const QuicRstStreamFrame& frame,
                                       QuicDataWriter* writer) {
-  if (version_.transport_version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version_.transport_version)) {
     return AppendIetfResetStreamFrame(frame, writer);
   }
   if (!writer->WriteUInt32(frame.stream_id)) {
@@ -5521,7 +5524,7 @@
 bool QuicFramer::AppendConnectionCloseFrame(
     const QuicConnectionCloseFrame& frame,
     QuicDataWriter* writer) {
-  if (version_.transport_version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version_.transport_version)) {
     return AppendIetfConnectionCloseFrame(frame, writer);
   }
   uint32_t error_code = static_cast<uint32_t>(frame.quic_error_code);
@@ -5564,7 +5567,7 @@
 
 bool QuicFramer::AppendBlockedFrame(const QuicBlockedFrame& frame,
                                     QuicDataWriter* writer) {
-  if (version_.transport_version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version_.transport_version)) {
     if (frame.stream_id == QuicUtils::GetInvalidStreamId(transport_version())) {
       return AppendIetfBlockedFrame(frame, writer);
     }
@@ -6063,7 +6066,7 @@
 
 uint8_t QuicFramer::GetStreamFrameTypeByte(const QuicStreamFrame& frame,
                                            bool last_frame_in_packet) const {
-  if (version_.transport_version == QUIC_VERSION_99) {
+  if (VersionHasIetfQuicFrames(version_.transport_version)) {
     return GetIetfStreamFrameTypeByte(frame, last_frame_in_packet);
   }
   uint8_t type_byte = 0;
@@ -6093,7 +6096,7 @@
 uint8_t QuicFramer::GetIetfStreamFrameTypeByte(
     const QuicStreamFrame& frame,
     bool last_frame_in_packet) const {
-  DCHECK_EQ(QUIC_VERSION_99, version_.transport_version);
+  DCHECK(VersionHasIetfQuicFrames(version_.transport_version));
   uint8_t type_byte = IETF_STREAM;
   if (!last_frame_in_packet) {
     type_byte |= IETF_STREAM_FRAME_LEN_BIT;