From e450d7a2d1bdde57d01f027b2e5b8080095f1380 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 11 Aug 2016 17:40:23 -0400 Subject: pluggable object storage layer --- Storage.hs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 Storage.hs (limited to 'Storage.hs') 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 + - + - 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 -- cgit v1.2.3