summaryrefslogtreecommitdiffhomepage
path: root/Storage.hs
blob: 3e5707f5116b76898e96e8ebfc02d72f873b5416 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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