Return the vector of config ids by value, not via an output parameter.

This is in keeping with the C++ style guide and the new GFE nullability policy proposal.

PiperOrigin-RevId: 416093159
diff --git a/quic/core/crypto/quic_crypto_server_config.cc b/quic/core/crypto/quic_crypto_server_config.cc
index 16a53fa..d6eebbb 100644
--- a/quic/core/crypto/quic_crypto_server_config.cc
+++ b/quic/core/crypto/quic_crypto_server_config.cc
@@ -515,12 +515,13 @@
   source_address_token_boxer_.SetKeys(keys);
 }
 
-void QuicCryptoServerConfig::GetConfigIds(
-    std::vector<std::string>* scids) const {
+std::vector<std::string> QuicCryptoServerConfig::GetConfigIds() const {
   QuicReaderMutexLock locked(&configs_lock_);
+  std::vector<std::string> scids;
   for (auto it = configs_.begin(); it != configs_.end(); ++it) {
-    scids->push_back(it->first);
+    scids.push_back(it->first);
   }
+  return scids;
 }
 
 void QuicCryptoServerConfig::ValidateClientHello(
diff --git a/quic/core/crypto/quic_crypto_server_config.h b/quic/core/crypto/quic_crypto_server_config.h
index ca6dbe5..305af8c 100644
--- a/quic/core/crypto/quic_crypto_server_config.h
+++ b/quic/core/crypto/quic_crypto_server_config.h
@@ -264,7 +264,7 @@
   void SetSourceAddressTokenKeys(const std::vector<std::string>& keys);
 
   // Get the server config ids for all known configs.
-  void GetConfigIds(std::vector<std::string>* scids) const;
+  std::vector<std::string> GetConfigIds() const;
 
   // Checks |client_hello| for gross errors and determines whether it can be
   // shown to be fresh (i.e. not a replay).  The result of the validation step