Add constant kAddressTokenPrefix for the prefix of the source address token.

Split from cl/410851932.

PiperOrigin-RevId: 428862787
diff --git a/quic/core/quic_constants.h b/quic/core/quic_constants.h
index c53459c..214417e 100644
--- a/quic/core/quic_constants.h
+++ b/quic/core/quic_constants.h
@@ -255,6 +255,9 @@
 // Maximum length allowed for the token in a NEW_TOKEN frame.
 const size_t kMaxNewTokenTokenLength = 0xffff;
 
+// The prefix used by a source address token in a NEW_TOKEN frame.
+const uint8_t kAddressTokenPrefix = 0;
+
 // Default initial rtt used before any samples are received.
 const int kInitialRttMs = 100;
 
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 202bff4..faec9d5 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -1689,8 +1689,8 @@
   const size_t buf_len = address_token.length() + 1;
   auto buffer = std::make_unique<char[]>(buf_len);
   QuicDataWriter writer(buf_len, buffer.get());
-  // Add prefix 0 for token sent in NEW_TOKEN frame.
-  writer.WriteUInt8(0);
+  // Add |kAddressTokenPrefix| for token sent in NEW_TOKEN frame.
+  writer.WriteUInt8(kAddressTokenPrefix);
   writer.WriteBytes(address_token.data(), address_token.length());
   control_frame_manager_.WriteOrBufferNewToken(
       absl::string_view(buffer.get(), buf_len));
@@ -2652,7 +2652,7 @@
   if (GetQuicFlag(FLAGS_quic_reject_retry_token_in_initial_packet)) {
     return false;
   }
-  if (token.empty() || token[0] != 0) {
+  if (token.empty() || token[0] != kAddressTokenPrefix) {
     // Validate the prefix for token received in NEW_TOKEN frame.
     return false;
   }