Simplify QuicCryptoServerConfig::SetConfigs
gfe-relnote: No-op refactoring, not flag-protected
PiperOrigin-RevId: 239224161
Change-Id: If0d173d2e55328b34ca80f6ca6894f31594286e2
diff --git a/quic/core/crypto/quic_crypto_server_config.cc b/quic/core/crypto/quic_crypto_server_config.cc
index 9dfca8a..50a6a36 100644
--- a/quic/core/crypto/quic_crypto_server_config.cc
+++ b/quic/core/crypto/quic_crypto_server_config.cc
@@ -429,74 +429,64 @@
const std::vector<std::unique_ptr<QuicServerConfigProtobuf>>& protobufs,
const QuicWallTime now) {
std::vector<QuicReferenceCountedPointer<Config>> parsed_configs;
- bool ok = true;
-
for (auto& protobuf : protobufs) {
QuicReferenceCountedPointer<Config> config(ParseConfigProtobuf(protobuf));
if (!config) {
- ok = false;
- break;
+ QUIC_LOG(WARNING) << "Rejecting QUIC configs because of above errors";
+ return false;
}
parsed_configs.push_back(config);
}
if (parsed_configs.empty()) {
- QUIC_LOG(WARNING) << "New config list is empty.";
- ok = false;
+ QUIC_LOG(WARNING)
+ << "Rejecting QUIC configs because new config list is empty.";
+ return false;
}
- if (!ok) {
- QUIC_LOG(WARNING) << "Rejecting QUIC configs because of above errors";
- } else {
- QUIC_LOG(INFO) << "Updating configs:";
+ QUIC_LOG(INFO) << "Updating configs:";
- QuicWriterMutexLock locked(&configs_lock_);
- ConfigMap new_configs;
+ QuicWriterMutexLock locked(&configs_lock_);
+ ConfigMap new_configs;
- for (std::vector<QuicReferenceCountedPointer<Config>>::const_iterator i =
- parsed_configs.begin();
- i != parsed_configs.end(); ++i) {
- QuicReferenceCountedPointer<Config> config = *i;
-
- auto it = configs_.find(config->id);
- if (it != configs_.end()) {
- QUIC_LOG(INFO) << "Keeping scid: "
- << QuicTextUtils::HexEncode(config->id) << " orbit: "
- << QuicTextUtils::HexEncode(
- reinterpret_cast<const char*>(config->orbit),
- kOrbitSize)
- << " new primary_time "
- << config->primary_time.ToUNIXSeconds()
- << " old primary_time "
- << it->second->primary_time.ToUNIXSeconds()
- << " new priority " << config->priority
- << " old priority " << it->second->priority;
- // Update primary_time and priority.
- it->second->primary_time = config->primary_time;
- it->second->priority = config->priority;
- new_configs.insert(*it);
- } else {
- QUIC_LOG(INFO) << "Adding scid: "
- << QuicTextUtils::HexEncode(config->id) << " orbit: "
- << QuicTextUtils::HexEncode(
- reinterpret_cast<const char*>(config->orbit),
- kOrbitSize)
- << " primary_time "
- << config->primary_time.ToUNIXSeconds() << " priority "
- << config->priority;
- new_configs.insert(std::make_pair(config->id, config));
- }
+ for (const QuicReferenceCountedPointer<Config>& config : parsed_configs) {
+ auto it = configs_.find(config->id);
+ if (it != configs_.end()) {
+ QUIC_LOG(INFO) << "Keeping scid: " << QuicTextUtils::HexEncode(config->id)
+ << " orbit: "
+ << QuicTextUtils::HexEncode(
+ reinterpret_cast<const char*>(config->orbit),
+ kOrbitSize)
+ << " new primary_time "
+ << config->primary_time.ToUNIXSeconds()
+ << " old primary_time "
+ << it->second->primary_time.ToUNIXSeconds()
+ << " new priority " << config->priority << " old priority "
+ << it->second->priority;
+ // Update primary_time and priority.
+ it->second->primary_time = config->primary_time;
+ it->second->priority = config->priority;
+ new_configs.insert(*it);
+ } else {
+ QUIC_LOG(INFO) << "Adding scid: " << QuicTextUtils::HexEncode(config->id)
+ << " orbit: "
+ << QuicTextUtils::HexEncode(
+ reinterpret_cast<const char*>(config->orbit),
+ kOrbitSize)
+ << " primary_time " << config->primary_time.ToUNIXSeconds()
+ << " priority " << config->priority;
+ new_configs.emplace(config->id, config);
}
-
- configs_.swap(new_configs);
- SelectNewPrimaryConfig(now);
- DCHECK(primary_config_.get());
- DCHECK_EQ(configs_.find(primary_config_->id)->second.get(),
- primary_config_.get());
}
- return ok;
+ configs_ = std::move(new_configs);
+ SelectNewPrimaryConfig(now);
+ DCHECK(primary_config_.get());
+ DCHECK_EQ(configs_.find(primary_config_->id)->second.get(),
+ primary_config_.get());
+
+ return true;
}
void QuicCryptoServerConfig::SetSourceAddressTokenKeys(