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.
This commit is contained in:
parent
aad8cfe718
commit
13bbb61a51
5 changed files with 18 additions and 1 deletions
|
@ -15,9 +15,16 @@ import Types.KeySource
|
|||
data BackendA a = Backend
|
||||
{ name :: String
|
||||
, getKey :: KeySource -> a (Maybe Key)
|
||||
-- Checks the content of a key.
|
||||
, fsckKey :: Maybe (Key -> FilePath -> a Bool)
|
||||
-- Checks if a key can be upgraded to a better form.
|
||||
, canUpgradeKey :: Maybe (Key -> Bool)
|
||||
-- Checks if there is a fast way to migrate a key to a different
|
||||
-- backend (ie, without re-hashing).
|
||||
, fastMigrate :: Maybe (Key -> BackendA a -> Maybe Key)
|
||||
-- Checks if a key is known (or assumed) to always refer to the
|
||||
-- same data.
|
||||
, isStableKey :: Key -> Bool
|
||||
}
|
||||
|
||||
instance Show (BackendA a) where
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue