make metered more generic
Allow it to be used when the Key is not known.
This commit is contained in:
parent
8355dba5cc
commit
26c54d6ea3
4 changed files with 39 additions and 22 deletions
|
@ -32,14 +32,14 @@ type WithConn a c = (ClosableConnection c -> Annex (ClosableConnection c, a)) ->
|
|||
|
||||
store :: (MeterUpdate -> ProtoRunner Bool) -> Key -> AssociatedFile -> MeterUpdate -> Annex Bool
|
||||
store runner k af p = do
|
||||
let getsrcfile = fmap fst <$> prepSendAnnex k
|
||||
metered (Just p) k getsrcfile $ \_ p' ->
|
||||
let sizer = KeySizer k (fmap fst <$> prepSendAnnex k)
|
||||
metered (Just p) sizer $ \_ p' ->
|
||||
fromMaybe False
|
||||
<$> runner p' (P2P.put k af p')
|
||||
|
||||
retrieve :: (MeterUpdate -> ProtoRunner (Bool, Verification)) -> Key -> AssociatedFile -> FilePath -> MeterUpdate -> Annex (Bool, Verification)
|
||||
retrieve runner k af dest p =
|
||||
metered (Just p) k (return Nothing) $ \m p' ->
|
||||
metered (Just p) k $ \m p' ->
|
||||
fromMaybe (False, UnVerified)
|
||||
<$> runner p' (P2P.get dest k af m p')
|
||||
|
||||
|
|
|
@ -253,7 +253,8 @@ specialRemote' cfg c preparestorer prepareretriever prepareremover preparecheckp
|
|||
chunkconfig = chunkConfig cfg
|
||||
|
||||
displayprogress p k srcfile a
|
||||
| displayProgress cfg = metered (Just p) k (return srcfile) (const a)
|
||||
| displayProgress cfg =
|
||||
metered (Just p) (KeySizer k (return srcfile)) (const a)
|
||||
| otherwise = a p
|
||||
|
||||
{- Sink callback for retrieveChunks. Stores the file content into the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue