#pragma once #include "fetchers.hh" namespace nix::fetchers { struct Cache { virtual ~Cache() { } virtual void add( ref store, const Attrs & inAttrs, const Attrs & infoAttrs, const StorePath & storePath, bool immutable) = 0; virtual std::optional> lookup( ref store, const Attrs & inAttrs) = 0; struct Result { bool expired = false; Attrs infoAttrs; StorePath storePath; }; virtual std::optional lookupExpired( ref store, const Attrs & inAttrs) = 0; }; ref getCache(); }