// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include #include #include #include namespace zen { #define ZEN_USE_CACHE_TRACKER 0 #if ZEN_USE_CACHE_TRACKER class CbObject; /** */ class ZenCacheTracker { public: ZenCacheTracker(std::filesystem::path StateDirectory); ~ZenCacheTracker(); void TrackAccess(std::string_view BucketSegment, const IoHash& HashKey); void SaveSnapshot(); void IterateSnapshots(std::function&& Callback); private: struct Impl; Impl* m_Impl = nullptr; }; void cachetracker_forcelink(); #endif // ZEN_USE_CACHE_TRACKER } // namespace zen