From c148174cb01c06ac3511aa70be72ee5ab5fe3084 Mon Sep 17 00:00:00 2001 From: Guogang Li Date: Fri, 9 Aug 2024 15:27:07 -0700 Subject: [PATCH] use absl::Mutex for NearbyFlags PiperOrigin-RevId: 661424236 --- internal/flags/BUILD | 2 -- internal/flags/nearby_flags.cc | 27 +++++++++++++++------------ internal/flags/nearby_flags.h | 9 ++++++--- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/internal/flags/BUILD b/internal/flags/BUILD index 27f2ecd3..01972d42 100644 --- a/internal/flags/BUILD +++ b/internal/flags/BUILD @@ -48,7 +48,6 @@ cc_library( ], deps = [ ":flag_reader", - "//internal/platform:types", "@com_google_absl//absl/base:core_headers", "@com_google_absl//absl/container:flat_hash_map", "@com_google_absl//absl/strings", @@ -62,7 +61,6 @@ cc_test( deps = [ ":flag_reader", ":nearby_flags", - "//internal/platform/implementation/g3", "@com_github_protobuf_matchers//protobuf-matchers", "@com_google_absl//absl/strings", "@com_google_googletest//:gtest", diff --git a/internal/flags/nearby_flags.cc b/internal/flags/nearby_flags.cc index 5348ed15..ebab8bfa 100644 --- a/internal/flags/nearby_flags.cc +++ b/internal/flags/nearby_flags.cc @@ -14,10 +14,13 @@ #include "internal/flags/nearby_flags.h" +#include #include -#include "internal/platform/mutex.h" -#include "internal/platform/mutex_lock.h" +#include "absl/strings/string_view.h" +#include "absl/synchronization/mutex.h" +#include "internal/flags/flag.h" +#include "internal/flags/flag_reader.h" namespace nearby { @@ -27,7 +30,7 @@ NearbyFlags& NearbyFlags::GetInstance() { } bool NearbyFlags::GetBoolFlag(const flags::Flag& flag) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); const auto& it = overrided_bool_flag_values_.find(flag.name()); if (it != overrided_bool_flag_values_.end()) { @@ -41,7 +44,7 @@ bool NearbyFlags::GetBoolFlag(const flags::Flag& flag) { } int64_t NearbyFlags::GetInt64Flag(const flags::Flag& flag) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); const auto& it = overrided_int64_flag_values_.find(flag.name()); if (it != overrided_int64_flag_values_.end()) { @@ -55,7 +58,7 @@ int64_t NearbyFlags::GetInt64Flag(const flags::Flag& flag) { } double NearbyFlags::GetDoubleFlag(const flags::Flag& flag) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); const auto& it = overrided_double_flag_values_.find(flag.name()); if (it != overrided_double_flag_values_.end()) { @@ -70,7 +73,7 @@ double NearbyFlags::GetDoubleFlag(const flags::Flag& flag) { std::string NearbyFlags::GetStringFlag( const flags::Flag& flag) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); const auto& it = overrided_string_flag_values_.find(flag.name()); if (it != overrided_string_flag_values_.end()) { @@ -84,36 +87,36 @@ std::string NearbyFlags::GetStringFlag( } void NearbyFlags::SetFlagReader(flags::FlagReader& flag_reader) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); flag_reader_ = &flag_reader; } void NearbyFlags::OverrideBoolFlagValue(const flags::Flag& flag, bool new_value) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); overrided_bool_flag_values_[flag.name()] = new_value; } void NearbyFlags::OverrideInt64FlagValue(const flags::Flag& flag, int64_t new_value) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); overrided_int64_flag_values_[flag.name()] = new_value; } void NearbyFlags::OverrideDoubleFlagValue(const flags::Flag& flag, double new_value) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); overrided_double_flag_values_[flag.name()] = new_value; } void NearbyFlags::OverrideStringFlagValue( const flags::Flag& flag, absl::string_view new_value) { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); overrided_string_flag_values_[flag.name()] = std::string(new_value); } void NearbyFlags::ResetOverridedValues() { - MutexLock lock(&mutex_); + absl::MutexLock lock(&mutex_); overrided_bool_flag_values_.clear(); overrided_int64_flag_values_.clear(); overrided_double_flag_values_.clear(); diff --git a/internal/flags/nearby_flags.h b/internal/flags/nearby_flags.h index c8f5c1f2..28fe80ba 100644 --- a/internal/flags/nearby_flags.h +++ b/internal/flags/nearby_flags.h @@ -15,13 +15,16 @@ #ifndef THIRD_PARTY_NEARBY_INTERNAL_FLAGS_NEARBY_FLAGS_H_ #define THIRD_PARTY_NEARBY_INTERNAL_FLAGS_NEARBY_FLAGS_H_ +#include #include +#include "absl/base/thread_annotations.h" #include "absl/container/flat_hash_map.h" #include "absl/strings/string_view.h" +#include "absl/synchronization/mutex.h" #include "internal/flags/default_flag_reader.h" +#include "internal/flags/flag.h" #include "internal/flags/flag_reader.h" -#include "internal/platform/mutex.h" namespace nearby { @@ -65,7 +68,7 @@ class NearbyFlags final : public nearby::flags::FlagReader { absl::string_view new_value) ABSL_LOCKS_EXCLUDED(mutex_); - // Reset all overrided values. + // Reset all overridden values. void ResetOverridedValues() ABSL_LOCKS_EXCLUDED(mutex_); private: @@ -74,7 +77,7 @@ class NearbyFlags final : public nearby::flags::FlagReader { flags::FlagReader* flag_reader_ = nullptr; flags::DefaultFlagReader default_flag_reader_; - mutable Mutex mutex_; + mutable absl::Mutex mutex_; absl::flat_hash_map overrided_bool_flag_values_ ABSL_GUARDED_BY(mutex_);