tahoe-great-black-swamp-0.3.0.1: src/TahoeLAFS/Storage/Backend/Null.hs
{-# LANGUAGE OverloadedStrings #-}
module TahoeLAFS.Storage.Backend.Null (
NullBackend (NullBackend),
) where
import TahoeLAFS.Storage.API (
AllocateBuckets,
AllocationResult (..),
ApplicationVersion,
CBORSet (..),
CorruptionDetails,
Offset,
QueryRange,
ReadResult,
ShareData,
ShareNumber,
Size,
StorageIndex,
Version (..),
Version1Parameters (..),
)
import qualified Data.Set as Set
import TahoeLAFS.Storage.Backend (
Backend (..),
)
data NullBackend = NullBackend
deriving (Show)
instance Backend NullBackend where
version NullBackend =
return
Version
{ applicationVersion = "(null)"
, parameters =
Version1Parameters
{ maximumImmutableShareSize = 0
, maximumMutableShareSize = 0
, availableSpace = 0
}
}
createImmutableStorageIndex :: NullBackend -> StorageIndex -> AllocateBuckets -> IO AllocationResult
createImmutableStorageIndex NullBackend _ _ =
return
AllocationResult
{ alreadyHave = mempty
, allocated = mempty
}
writeImmutableShare NullBackend _ _ _ _ =
return mempty
adviseCorruptImmutableShare :: NullBackend -> StorageIndex -> ShareNumber -> CorruptionDetails -> IO ()
adviseCorruptImmutableShare NullBackend _ _ _ =
return mempty
getImmutableShareNumbers :: NullBackend -> StorageIndex -> IO (CBORSet ShareNumber)
getImmutableShareNumbers NullBackend _ =
return (CBORSet $ Set.fromList [])
readImmutableShare :: NullBackend -> StorageIndex -> ShareNumber -> QueryRange -> IO ShareData
readImmutableShare NullBackend _ _ _ = mempty