improve chunk data types

This commit is contained in:
Joey Hess 2014-07-24 15:08:07 -04:00
parent 9e2d49d441
commit bbdb2c04d5
4 changed files with 20 additions and 20 deletions

View file

@ -13,18 +13,20 @@ import Types.Remote
import qualified Data.Map as M
import Data.Int
type ChunkSize = Int64
data ChunkConfig
= NoChunks
| ChunkSize Int64
| LegacyChunkSize Int64
| UnpaddedChunks ChunkSize
| LegacyChunks ChunkSize
chunkConfig :: RemoteConfig -> ChunkConfig
chunkConfig m =
case M.lookup "chunksize" m of
Nothing -> case M.lookup "chunk" m of
Nothing -> NoChunks
Just v -> ChunkSize $ readsz v "chunk"
Just v -> LegacyChunkSize $ readsz v "chunksize"
Just v -> UnpaddedChunks $ readsz v "chunk"
Just v -> LegacyChunks $ readsz v "chunksize"
where
readsz v f = case readSize dataUnits v of
Just size | size > 0 -> fromInteger size