diff options
Diffstat (limited to 'zenserver/cache/structuredcachestore.h')
| -rw-r--r-- | zenserver/cache/structuredcachestore.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/zenserver/cache/structuredcachestore.h b/zenserver/cache/structuredcachestore.h index 7936f9d84..364644cf7 100644 --- a/zenserver/cache/structuredcachestore.h +++ b/zenserver/cache/structuredcachestore.h @@ -7,6 +7,12 @@ #include <zencore/thread.h> #include <zencore/uid.h> #include <zenstore/cas.h> + +#pragma warning(push) +#pragma warning(disable : 4127) +#include <tsl/robin_map.h> +#pragma warning(pop) + #include <compare> #include <filesystem> #include <unordered_map> @@ -53,8 +59,8 @@ public: private: struct CacheBucket { - zen::RwLock m_bucketLock; - std::unordered_map<zen::IoHash, zen::IoBuffer, zen::IoHash::Hasher> m_cacheMap; + zen::RwLock m_bucketLock; + tsl::robin_map<zen::IoHash, zen::IoBuffer, zen::IoHash::Hasher> m_cacheMap; bool Get(const zen::IoHash& HashKey, ZenCacheValue& OutValue); void Put(const zen::IoHash& HashKey, const ZenCacheValue& Value); @@ -100,6 +106,7 @@ private: std::filesystem::path m_RootDir; ZenCacheMemoryLayer m_MemLayer; ZenCacheDiskLayer m_DiskLayer; + uint64_t m_DiskLayerSizeThreshold = 4 * 1024; }; /** Tracks cache entry access, stats and orchestrates cleanup activities |