}
if (ttl > 0) {
- ReadLock l(&s_metacachelock);
-
+ ReadLock l(&s_metacachelock);
+
metacache_t::const_iterator iter = s_metacache.find(tie(zname, key));
if(iter != s_metacache.end() && iter->d_ttd > now) {
value = iter->d_value;
vector<string> meta;
d_keymetadb->getDomainMetadata(zname, key, meta);
if(!meta.empty()) {
- value=*meta.begin();
+ value=std::move(*meta.begin());
isset = true;
}
if(iter != s_keycache.end() && iter->d_ttd > now) {
keyset_t ret;
+ ret.reserve(iter->d_keys.size());
for(const keyset_t::value_type& value : iter->d_keys)
ret.push_back(value);
return ret;
}
}
set_intersection(algoSEP.begin(), algoSEP.end(), algoNoSEP.begin(), algoNoSEP.end(), std::back_inserter(algoHasSeparateKSK));
+ retkeyset.reserve(dbkeyset.size());
for(DNSBackend::KeyData& kd : dbkeyset)
{