summaryrefslogtreecommitdiff
path: root/src/server/Cache.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/Cache.hs')
-rw-r--r--src/server/Cache.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/Cache.hs b/src/server/Cache.hs
index bde07745a..c845bb013 100644
--- a/src/server/Cache.hs
+++ b/src/server/Cache.hs
@@ -1,4 +1,4 @@
-module Cache (Cache,newCache,flushCache,readCache,readCache') where
+module Cache (Cache,newCache,flushCache,listCache,readCache,readCache') where
import Control.Concurrent.MVar
import Data.Map (Map)
@@ -22,6 +22,9 @@ flushCache :: Cache a -> IO ()
flushCache c = do modifyMVar_ (cacheObjects c) (const (return Map.empty))
performGC
+listCache :: Cache a -> IO [FilePath]
+listCache = fmap Map.keys . readMVar . cacheObjects
+
readCache :: Cache a -> FilePath -> IO a
readCache c file = snd `fmap` readCache' c file