18 lines
538 B
C++
18 lines
538 B
C++
#include "database/counters.hpp"
|
|
|
|
namespace database {
|
|
|
|
int64_t SingleNodeCounters::Get(const std::string &name) {
|
|
return counters_.access()
|
|
.emplace(name, std::make_tuple(name), std::make_tuple(0))
|
|
.first->second.fetch_add(1);
|
|
}
|
|
|
|
void SingleNodeCounters::Set(const std::string &name, int64_t value) {
|
|
auto name_counter_pair = counters_.access().emplace(
|
|
name, std::make_tuple(name), std::make_tuple(value));
|
|
if (!name_counter_pair.second) name_counter_pair.first->second.store(value);
|
|
}
|
|
|
|
} // namespace database
|