Extract Quiche default connection ID generation algorithms into a library. When integrated into quiche, similar functions can be removed.

PiperOrigin-RevId: 465353115
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 43d246d..7c1b37c 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -186,6 +186,7 @@
     "quic/core/crypto/tls_server_connection.h",
     "quic/core/crypto/transport_parameters.h",
     "quic/core/crypto/web_transport_fingerprint_proof_verifier.h",
+    "quic/core/deterministic_connection_id_generator.h",
     "quic/core/frames/quic_ack_frame.h",
     "quic/core/frames/quic_ack_frequency_frame.h",
     "quic/core/frames/quic_blocked_frame.h",
@@ -527,6 +528,7 @@
     "quic/core/crypto/tls_server_connection.cc",
     "quic/core/crypto/transport_parameters.cc",
     "quic/core/crypto/web_transport_fingerprint_proof_verifier.cc",
+    "quic/core/deterministic_connection_id_generator.cc",
     "quic/core/frames/quic_ack_frame.cc",
     "quic/core/frames/quic_ack_frequency_frame.cc",
     "quic/core/frames/quic_blocked_frame.cc",
@@ -1153,6 +1155,7 @@
     "quic/core/crypto/quic_random_test.cc",
     "quic/core/crypto/transport_parameters_test.cc",
     "quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc",
+    "quic/core/deterministic_connection_id_generator_test.cc",
     "quic/core/frames/quic_frames_test.cc",
     "quic/core/http/capsule_test.cc",
     "quic/core/http/http_decoder_test.cc",
diff --git a/build/source_list.gni b/build/source_list.gni
index ba93bf9..76219c9 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -186,6 +186,7 @@
     "src/quiche/quic/core/crypto/tls_server_connection.h",
     "src/quiche/quic/core/crypto/transport_parameters.h",
     "src/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.h",
+    "src/quiche/quic/core/deterministic_connection_id_generator.h",
     "src/quiche/quic/core/frames/quic_ack_frame.h",
     "src/quiche/quic/core/frames/quic_ack_frequency_frame.h",
     "src/quiche/quic/core/frames/quic_blocked_frame.h",
@@ -527,6 +528,7 @@
     "src/quiche/quic/core/crypto/tls_server_connection.cc",
     "src/quiche/quic/core/crypto/transport_parameters.cc",
     "src/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc",
+    "src/quiche/quic/core/deterministic_connection_id_generator.cc",
     "src/quiche/quic/core/frames/quic_ack_frame.cc",
     "src/quiche/quic/core/frames/quic_ack_frequency_frame.cc",
     "src/quiche/quic/core/frames/quic_blocked_frame.cc",
@@ -1153,6 +1155,7 @@
     "src/quiche/quic/core/crypto/quic_random_test.cc",
     "src/quiche/quic/core/crypto/transport_parameters_test.cc",
     "src/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc",
+    "src/quiche/quic/core/deterministic_connection_id_generator_test.cc",
     "src/quiche/quic/core/frames/quic_frames_test.cc",
     "src/quiche/quic/core/http/capsule_test.cc",
     "src/quiche/quic/core/http/http_decoder_test.cc",
diff --git a/build/source_list.json b/build/source_list.json
index e3b983c..8e32230 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -185,6 +185,7 @@
     "quiche/quic/core/crypto/tls_server_connection.h",
     "quiche/quic/core/crypto/transport_parameters.h",
     "quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.h",
+    "quiche/quic/core/deterministic_connection_id_generator.h",
     "quiche/quic/core/frames/quic_ack_frame.h",
     "quiche/quic/core/frames/quic_ack_frequency_frame.h",
     "quiche/quic/core/frames/quic_blocked_frame.h",
@@ -526,6 +527,7 @@
     "quiche/quic/core/crypto/tls_server_connection.cc",
     "quiche/quic/core/crypto/transport_parameters.cc",
     "quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc",
+    "quiche/quic/core/deterministic_connection_id_generator.cc",
     "quiche/quic/core/frames/quic_ack_frame.cc",
     "quiche/quic/core/frames/quic_ack_frequency_frame.cc",
     "quiche/quic/core/frames/quic_blocked_frame.cc",
@@ -1152,6 +1154,7 @@
     "quiche/quic/core/crypto/quic_random_test.cc",
     "quiche/quic/core/crypto/transport_parameters_test.cc",
     "quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc",
+    "quiche/quic/core/deterministic_connection_id_generator_test.cc",
     "quiche/quic/core/frames/quic_frames_test.cc",
     "quiche/quic/core/http/capsule_test.cc",
     "quiche/quic/core/http/http_decoder_test.cc",