summaryrefslogtreecommitdiff
path: root/Backend
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-07-27 12:33:46 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-07-27 12:33:46 -0400
commit300935948503d671ad91b943787d71dc1f6e421e (patch)
tree9452b227b121f30e7c89fd87cc3756cd34769357 /Backend
parentc7f90efb8626573f2e2927195ce16cb609fac315 (diff)
add key stability checking interface
Needed for resuming from chunks. Url keys are considered not stable. I considered treating url keys with a known size as stable, but just don't feel that is enough information.
Diffstat (limited to 'Backend')
-rw-r--r--Backend/Hash.hs1
-rw-r--r--Backend/URL.hs3
-rw-r--r--Backend/WORM.hs1
3 files changed, 5 insertions, 0 deletions
diff --git a/Backend/Hash.hs b/Backend/Hash.hs
index 3ff496271..91267ed67 100644
--- a/Backend/Hash.hs
+++ b/Backend/Hash.hs
@@ -45,6 +45,7 @@ genBackend hash = Just Backend
, fsckKey = Just $ checkKeyChecksum hash
, canUpgradeKey = Just needsUpgrade
, fastMigrate = Just trivialMigrate
+ , isStableKey = const True
}
genBackendE :: Hash -> Maybe Backend
diff --git a/Backend/URL.hs b/Backend/URL.hs
index 4233c56bc..2c2988ac0 100644
--- a/Backend/URL.hs
+++ b/Backend/URL.hs
@@ -25,6 +25,9 @@ backend = Backend
, fsckKey = Nothing
, canUpgradeKey = Nothing
, fastMigrate = Nothing
+ -- The content of an url can change at any time, so URL keys are
+ -- not stable.
+ , isStableKey = const False
}
{- Every unique url has a corresponding key. -}
diff --git a/Backend/WORM.hs b/Backend/WORM.hs
index fdeea6f89..c972602ad 100644
--- a/Backend/WORM.hs
+++ b/Backend/WORM.hs
@@ -23,6 +23,7 @@ backend = Backend
, fsckKey = Nothing
, canUpgradeKey = Nothing
, fastMigrate = Nothing
+ , isStableKey = const True
}
{- The key includes the file size, modification time, and the