From 69d3c1cec9f6be1dba1ffb391bf69464c52f5936 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Jun 2011 21:25:39 -0400 Subject: cache the trustmap Doubles the speed of fsck, and speeds up drop as well. --- Types/TrustLevel.hs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Types/TrustLevel.hs (limited to 'Types') diff --git a/Types/TrustLevel.hs b/Types/TrustLevel.hs new file mode 100644 index 000000000..058ce4595 --- /dev/null +++ b/Types/TrustLevel.hs @@ -0,0 +1,30 @@ +{- git-annex trust levels + - + - Copyright 2010 Joey Hess + - + - Licensed under the GNU GPL version 3 or higher. + -} + +module Types.TrustLevel ( + TrustLevel(..), + TrustMap +) where + +import qualified Data.Map as M + +import Types.UUID + +data TrustLevel = SemiTrusted | UnTrusted | Trusted + deriving Eq + +instance Show TrustLevel where + show SemiTrusted = "?" + show UnTrusted = "0" + show Trusted = "1" + +instance Read TrustLevel where + readsPrec _ "1" = [(Trusted, "")] + readsPrec _ "0" = [(UnTrusted, "")] + readsPrec _ _ = [(SemiTrusted, "")] + +type TrustMap = M.Map UUID TrustLevel -- cgit v1.2.3