#pragma once #include #include "binary-cache-store.hh" namespace nix { class S3BinaryCacheStore : public BinaryCacheStore { protected: S3BinaryCacheStore(const Params& params) : BinaryCacheStore(params) {} public: struct Stats { std::atomic put{0}; std::atomic putBytes{0}; std::atomic putTimeMs{0}; std::atomic get{0}; std::atomic getBytes{0}; std::atomic getTimeMs{0}; std::atomic head{0}; }; virtual const Stats& getS3Stats() = 0; }; } // namespace nix