diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-08-11 17:40:23 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-08-11 17:40:23 -0400 |
commit | e450d7a2d1bdde57d01f027b2e5b8080095f1380 (patch) | |
tree | d06f349e6f11bbf5b3e11db96b260fc032107b61 /Storage.hs | |
parent | dca9a15b797e30b095f306955310a40f2d1013b5 (diff) | |
download | keysafe-e450d7a2d1bdde57d01f027b2e5b8080095f1380.tar.gz |
pluggable object storage layer
Diffstat (limited to 'Storage.hs')
-rw-r--r-- | Storage.hs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Storage.hs b/Storage.hs new file mode 100644 index 0000000..3e5707f --- /dev/null +++ b/Storage.hs @@ -0,0 +1,17 @@ +{- Copyright 2016 Joey Hess <id@joeyh.name> + - + - Licensed under the GNU AGPL version 3 or higher. + -} + +module Storage where + +import Types + +data Storage = Storage + { storeShard :: StorableObjectIdent -> Shard -> IO StoreResult + , retrieveShard :: ShardNum -> StorableObjectIdent -> IO RetrieveResult + } + +data StoreResult = StoreSuccess | StoreFailure String + +data RetrieveResult = RetrieveSuccess Shard | RetrieveFailure String |