move meteredWriteFileChunks out of legacy
This commit is contained in:
parent
e2c44bf656
commit
ceea04e77f
4 changed files with 20 additions and 14 deletions
|
@ -5,14 +5,21 @@
|
|||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module Remote.Helper.Chunked where
|
||||
module Remote.Helper.Chunked
|
||||
( ChunkSize
|
||||
, ChunkConfig(..)
|
||||
, chunkConfig
|
||||
, meteredWriteFileChunks
|
||||
) where
|
||||
|
||||
import Common.Annex
|
||||
import Utility.DataUnits
|
||||
import Types.Remote
|
||||
import Logs.Chunk.Pure (ChunkSize)
|
||||
import Utility.Metered
|
||||
|
||||
import qualified Data.ByteString.Lazy as L
|
||||
import qualified Data.Map as M
|
||||
import Data.Int
|
||||
|
||||
data ChunkConfig
|
||||
= NoChunks
|
||||
|
@ -30,3 +37,11 @@ chunkConfig m =
|
|||
readsz v f = case readSize dataUnits v of
|
||||
Just size | size > 0 -> fromInteger size
|
||||
_ -> error ("bad " ++ f)
|
||||
|
||||
{- Writes a series of chunks to a file. The feeder is called to get
|
||||
- each chunk. -}
|
||||
meteredWriteFileChunks :: MeterUpdate -> FilePath -> [v] -> (v -> IO L.ByteString) -> IO ()
|
||||
meteredWriteFileChunks meterupdate dest chunks feeder =
|
||||
withBinaryFile dest WriteMode $ \h ->
|
||||
forM_ chunks $
|
||||
meteredWrite meterupdate h <=< feeder
|
||||
|
|
|
@ -8,8 +8,7 @@
|
|||
module Remote.Helper.Chunked.Legacy where
|
||||
|
||||
import Common.Annex
|
||||
import Utility.Metered
|
||||
import Remote.Helper.Chunked (ChunkSize)
|
||||
import Remote.Helper.Chunked
|
||||
|
||||
import qualified Data.ByteString.Lazy as L
|
||||
import qualified Control.Exception as E
|
||||
|
@ -115,11 +114,3 @@ storeChunked chunksize dests storer content = either onerr return
|
|||
let (chunk, b') = L.splitAt sz b
|
||||
storer d chunk
|
||||
storechunks sz (d:useddests) ds b'
|
||||
|
||||
{- Writes a series of chunks to a file. The feeder is called to get
|
||||
- each chunk. -}
|
||||
meteredWriteFileChunks :: MeterUpdate -> FilePath -> [v] -> (v -> IO L.ByteString) -> IO ()
|
||||
meteredWriteFileChunks meterupdate dest chunks feeder =
|
||||
withBinaryFile dest WriteMode $ \h ->
|
||||
forM_ chunks $
|
||||
meteredWrite meterupdate h <=< feeder
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue