blob: 70801a31127908ecf18f5e7134498ed7a03c3721 [file] [log] [blame]
#include <c10d/PrefixStore.hpp>
namespace c10d {
PrefixStore::PrefixStore(const std::string& prefix, Store& store)
: prefix_(prefix), store_(store) {}
std::string PrefixStore::joinKey(const std::string& key) {
return prefix_ + "/" + key;
}
std::vector<std::string> PrefixStore::joinKeys(
const std::vector<std::string>& keys) {
std::vector<std::string> joinedKeys;
joinedKeys.reserve(keys.size());
for (const auto& key : keys) {
joinedKeys.push_back(joinKey(key));
}
return joinedKeys;
}
void PrefixStore::set(
const std::string& key,
const std::vector<uint8_t>& value) {
store_.set(joinKey(key), value);
}
std::vector<uint8_t> PrefixStore::get(const std::string& key) {
return store_.get(joinKey(key));
}
int64_t PrefixStore::add(const std::string& key, int64_t value) {
return store_.add(joinKey(key), value);
}
bool PrefixStore::check(const std::vector<std::string>& keys) {
auto joinedKeys = joinKeys(keys);
return store_.check(joinedKeys);
}
void PrefixStore::wait(const std::vector<std::string>& keys) {
auto joinedKeys = joinKeys(keys);
store_.wait(joinedKeys);
}
void PrefixStore::wait(
const std::vector<std::string>& keys,
const std::chrono::milliseconds& timeout) {
auto joinedKeys = joinKeys(keys);
store_.wait(joinedKeys, timeout);
}
} // namespace c10d