Add ToString to packet header enums.

gfe-relnote: n/a, debug only.
PiperOrigin-RevId: 273573624
Change-Id: I14252ee188d0a45149cd896fde458956e7bcc56d
diff --git a/quic/core/quic_types.cc b/quic/core/quic_types.cc
index a8373c1..499bc66 100644
--- a/quic/core/quic_types.cc
+++ b/quic/core/quic_types.cc
@@ -477,6 +477,29 @@
   }
 }
 
+std::string PacketHeaderFormatToString(PacketHeaderFormat format) {
+  switch (format) {
+    RETURN_STRING_LITERAL(IETF_QUIC_LONG_HEADER_PACKET);
+    RETURN_STRING_LITERAL(IETF_QUIC_SHORT_HEADER_PACKET);
+    RETURN_STRING_LITERAL(GOOGLE_QUIC_PACKET);
+    default:
+      return QuicStrCat("Unknown (", static_cast<int>(format), ")");
+  }
+}
+
+std::string QuicLongHeaderTypeToString(QuicLongHeaderType type) {
+  switch (type) {
+    RETURN_STRING_LITERAL(VERSION_NEGOTIATION);
+    RETURN_STRING_LITERAL(INITIAL);
+    RETURN_STRING_LITERAL(ZERO_RTT_PROTECTED);
+    RETURN_STRING_LITERAL(HANDSHAKE);
+    RETURN_STRING_LITERAL(RETRY);
+    RETURN_STRING_LITERAL(INVALID_PACKET_TYPE);
+    default:
+      return QuicStrCat("Unknown (", static_cast<int>(type), ")");
+  }
+}
+
 std::string PacketNumberSpaceToString(PacketNumberSpace packet_number_space) {
   switch (packet_number_space) {
     RETURN_STRING_LITERAL(INITIAL_DATA);
diff --git a/quic/core/quic_types.h b/quic/core/quic_types.h
index e1c9c68..afd42be 100644
--- a/quic/core/quic_types.h
+++ b/quic/core/quic_types.h
@@ -472,6 +472,9 @@
   GOOGLE_QUIC_PACKET,
 };
 
+QUIC_EXPORT_PRIVATE std::string PacketHeaderFormatToString(
+    PacketHeaderFormat format);
+
 // Information about a newly acknowledged packet.
 struct AckedPacket {
   AckedPacket(QuicPacketNumber packet_number,
@@ -561,6 +564,9 @@
   INVALID_PACKET_TYPE,
 };
 
+QUIC_EXPORT_PRIVATE std::string QuicLongHeaderTypeToString(
+    QuicLongHeaderType type);
+
 enum QuicPacketHeaderTypeFlags : uint8_t {
   // Bit 2: Reserved for experimentation for short header.
   FLAGS_EXPERIMENTATION_BIT = 1 << 2,