aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/cache
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenserver/cache')
-rw-r--r--src/zenserver/cache/structuredcachestore.cpp10
-rw-r--r--src/zenserver/cache/structuredcachestore.h5
2 files changed, 13 insertions, 2 deletions
diff --git a/src/zenserver/cache/structuredcachestore.cpp b/src/zenserver/cache/structuredcachestore.cpp
index 1f284863d..56e83eef2 100644
--- a/src/zenserver/cache/structuredcachestore.cpp
+++ b/src/zenserver/cache/structuredcachestore.cpp
@@ -536,6 +536,16 @@ ZenCacheStore::FindNamespace(std::string_view Namespace) const
return nullptr;
}
+std::vector<std::string>
+ZenCacheStore::GetNamespaces()
+{
+ std::vector<std::string> Namespaces;
+
+ IterateNamespaces([&](std::string_view Namespace, ZenCacheNamespace&) { Namespaces.push_back(std::string(Namespace)); });
+
+ return Namespaces;
+}
+
void
ZenCacheStore::IterateNamespaces(const std::function<void(std::string_view Namespace, ZenCacheNamespace& Store)>& Callback) const
{
diff --git a/src/zenserver/cache/structuredcachestore.h b/src/zenserver/cache/structuredcachestore.h
index 067cfc0bf..05b60da34 100644
--- a/src/zenserver/cache/structuredcachestore.h
+++ b/src/zenserver/cache/structuredcachestore.h
@@ -102,11 +102,11 @@ private:
/** Cache store interface
- This manages a set of namespaces used for caching purposes.
+ This manages a set of namespaces used for derived data caching purposes.
*/
-class ZenCacheStore final
+class ZenCacheStore final : public RefCounted
{
public:
static constexpr std::string_view DefaultNamespace =
@@ -157,6 +157,7 @@ public:
Info GetInfo() const;
std::optional<ZenCacheNamespace::Info> GetNamespaceInfo(std::string_view Namespace);
std::optional<ZenCacheNamespace::BucketInfo> GetBucketInfo(std::string_view Namespace, std::string_view Bucket);
+ std::vector<std::string> GetNamespaces();
private:
const ZenCacheNamespace* FindNamespace(std::string_view Namespace) const;