gfe-relnote: In QUIC, do not use framer object in QuicDispatcher. Protected by gfe2_restart_flag_quic_no_framer_object_in_dispatcher.

Also, dispatcher does not parse and validate packet number anymore.

PiperOrigin-RevId: 247959538
Change-Id: Ia0f7901428537f392b05ffd6beb2984bffd00232
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc
index 4af5b3a..96f335c 100644
--- a/quic/core/quic_framer_test.cc
+++ b/quic/core/quic_framer_test.cc
@@ -913,6 +913,22 @@
   EXPECT_EQ(kPacketNumber, visitor_.header_->packet_number);
 
   CheckFramingBoundaries(fragments, QUIC_INVALID_PACKET_HEADER);
+
+  PacketHeaderFormat format;
+  bool version_flag;
+  uint8_t destination_connection_id_length;
+  QuicConnectionId destination_connection_id;
+  QuicVersionLabel version_label;
+  std::string detailed_error;
+  EXPECT_EQ(QUIC_NO_ERROR, QuicFramer::ProcessPacketDispatcher(
+                               *encrypted, kQuicDefaultConnectionIdLength,
+                               &format, &version_flag, &version_label,
+                               &destination_connection_id_length,
+                               &destination_connection_id, &detailed_error));
+  EXPECT_EQ(GOOGLE_QUIC_PACKET, format);
+  EXPECT_FALSE(version_flag);
+  EXPECT_EQ(kQuicDefaultConnectionIdLength, destination_connection_id_length);
+  EXPECT_EQ(FramerTestConnectionId(), destination_connection_id);
 }
 
 TEST_P(QuicFramerTest, LongPacketHeader) {
@@ -975,6 +991,22 @@
   CheckFramingBoundaries(
       framer_.transport_version() > QUIC_VERSION_44 ? packet46 : packet44,
       QUIC_INVALID_PACKET_HEADER);
+
+  PacketHeaderFormat format;
+  bool version_flag;
+  uint8_t destination_connection_id_length;
+  QuicConnectionId destination_connection_id;
+  QuicVersionLabel version_label;
+  std::string detailed_error;
+  EXPECT_EQ(QUIC_NO_ERROR, QuicFramer::ProcessPacketDispatcher(
+                               *encrypted, kQuicDefaultConnectionIdLength,
+                               &format, &version_flag, &version_label,
+                               &destination_connection_id_length,
+                               &destination_connection_id, &detailed_error));
+  EXPECT_EQ(IETF_QUIC_LONG_HEADER_PACKET, format);
+  EXPECT_TRUE(version_flag);
+  EXPECT_EQ(kQuicDefaultConnectionIdLength, destination_connection_id_length);
+  EXPECT_EQ(FramerTestConnectionId(), destination_connection_id);
 }
 
 TEST_P(QuicFramerTest, PacketHeaderWith0ByteConnectionId) {
@@ -13251,6 +13283,34 @@
             FramerTestConnectionIdNineBytes());
   EXPECT_EQ(visitor_.header_.get()->packet_number,
             QuicPacketNumber(UINT64_C(0x13374233)));
+
+  PacketHeaderFormat format;
+  bool version_flag;
+  uint8_t destination_connection_id_length;
+  QuicConnectionId destination_connection_id;
+  QuicVersionLabel version_label;
+  std::string detailed_error;
+  EXPECT_EQ(QUIC_NO_ERROR,
+            QuicFramer::ProcessPacketDispatcher(
+                QuicEncryptedPacket(AsChars(long_header_packet),
+                                    QUIC_ARRAYSIZE(long_header_packet)),
+                kQuicDefaultConnectionIdLength, &format, &version_flag,
+                &version_label, &destination_connection_id_length,
+                &destination_connection_id, &detailed_error));
+  EXPECT_EQ(IETF_QUIC_LONG_HEADER_PACKET, format);
+  EXPECT_TRUE(version_flag);
+  EXPECT_EQ(9, destination_connection_id_length);
+  EXPECT_EQ(FramerTestConnectionIdNineBytes(), destination_connection_id);
+
+  EXPECT_EQ(QUIC_NO_ERROR,
+            QuicFramer::ProcessPacketDispatcher(
+                short_header_encrypted, 9, &format, &version_flag,
+                &version_label, &destination_connection_id_length,
+                &destination_connection_id, &detailed_error));
+  EXPECT_EQ(IETF_QUIC_SHORT_HEADER_PACKET, format);
+  EXPECT_FALSE(version_flag);
+  EXPECT_EQ(9, destination_connection_id_length);
+  EXPECT_EQ(FramerTestConnectionIdNineBytes(), destination_connection_id);
 }
 
 TEST_P(QuicFramerTest, MultiplePacketNumberSpaces) {