Return unordered_map from prefix_get.

This commit is contained in:
levlam 2023-10-16 10:11:09 +03:00
parent fab24473ca
commit 81d14838c4
2 changed files with 6 additions and 3 deletions

View File

@ -26,6 +26,7 @@
#include "td/utils/tl_storers.h"
#include <memory>
#include <unordered_map>
#include <utility>
namespace td {
@ -218,9 +219,9 @@ class BinlogKeyValue final : public KeyValueSyncInterface {
binlog_->lazy_sync(std::move(promise));
}
FlatHashMap<string, string> prefix_get(Slice prefix) final {
std::unordered_map<string, string> prefix_get(Slice prefix) final {
auto lock = rw_mutex_.lock_write().move_as_ok();
FlatHashMap<string, string> res;
std::unordered_map<string, string> res;
for (const auto &kv : map_) {
if (begins_with(kv.first, prefix)) {
res.emplace(kv.first.substr(prefix.size()), kv.second.first);

View File

@ -11,6 +11,8 @@
#include "td/utils/Promise.h"
#include "td/utils/Slice.h"
#include <unordered_map>
namespace td {
class KeyValueSyncInterface {
@ -32,7 +34,7 @@ class KeyValueSyncInterface {
virtual string get(const string &key) = 0;
virtual FlatHashMap<string, string> prefix_get(Slice prefix) = 0;
virtual std::unordered_map<string, string> prefix_get(Slice prefix) = 0;
virtual FlatHashMap<string, string> get_all() = 0;