summaryrefslogtreecommitdiffhomepage
path: root/Storage.hs
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-08-11 17:40:23 -0400
committerJoey Hess <joeyh@joeyh.name>2016-08-11 17:40:23 -0400
commite450d7a2d1bdde57d01f027b2e5b8080095f1380 (patch)
treed06f349e6f11bbf5b3e11db96b260fc032107b61 /Storage.hs
parentdca9a15b797e30b095f306955310a40f2d1013b5 (diff)
downloadkeysafe-e450d7a2d1bdde57d01f027b2e5b8080095f1380.tar.gz
pluggable object storage layer
Diffstat (limited to 'Storage.hs')
-rw-r--r--Storage.hs17
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