From 7c4dcdfa4b80917588fddd342904955c471730af Mon Sep 17 00:00:00 2001 From: Ervin Hegedus Date: Fri, 29 Mar 2024 16:32:34 +0100 Subject: [PATCH] Changed 'euqal_range()' + loop by 'find()' in resolveFirst() methods --- src/anchored_set_variable.cc | 9 +++++---- src/collection/backend/in_memory-per_process.cc | 14 +++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/anchored_set_variable.cc b/src/anchored_set_variable.cc index ec087775..2a1dd6c9 100644 --- a/src/anchored_set_variable.cc +++ b/src/anchored_set_variable.cc @@ -109,12 +109,13 @@ void AnchoredSetVariable::resolve(const std::string &key, std::unique_ptr AnchoredSetVariable::resolveFirst( const std::string &key) { - auto range = equal_range(key); - for (auto it = range.first; it != range.second; ++it) { - std::unique_ptr b(new std::string()); - b->assign(it->second->getValue()); + + if (auto search = this->find(key); search != this->end()) { + auto b = std::make_unique(); + b->assign(search->second->getValue()); return b; } + return nullptr; } diff --git a/src/collection/backend/in_memory-per_process.cc b/src/collection/backend/in_memory-per_process.cc index 59aeb105..a4ca5e2e 100644 --- a/src/collection/backend/in_memory-per_process.cc +++ b/src/collection/backend/in_memory-per_process.cc @@ -67,13 +67,13 @@ bool InMemoryPerProcess::storeOrUpdateFirst(const std::string &key, bool InMemoryPerProcess::updateFirst(const std::string &key, const std::string &value) { pthread_mutex_lock(&m_lock); - auto range = this->equal_range(key); - for (auto it = range.first; it != range.second; ++it) { - it->second.setValue(value); + if (auto search = this->find(key); search != this->end()) { + search->second.setValue(value); pthread_mutex_unlock(&m_lock); return true; } + pthread_mutex_unlock(&m_lock); return false; } @@ -97,11 +97,11 @@ void InMemoryPerProcess::delIfExpired(const std::string& key) { void InMemoryPerProcess::setExpiry(const std::string& key, int32_t expiry_seconds) { pthread_mutex_lock(&m_lock); - auto range = this->equal_range(key); - for (auto it = range.first; it != range.second; ++it) { - it->second.setExpiry(expiry_seconds); + + if (auto search = this->find(key); search != this->end()) { + search->second.setExpiry(expiry_seconds); pthread_mutex_unlock(&m_lock); - return; + return; } // We allow an expiry value to be set for a key that has not (yet) had a value set.