From 5239e39fbe8e71d9e9a6b6c05b9612206690a480 Mon Sep 17 00:00:00 2001 From: voidlizard Date: Mon, 4 Nov 2024 05:20:20 +0300 Subject: [PATCH] wip, fix download --- hbs2-core/lib/HBS2/Defaults.hs | 2 +- hbs2-peer/app/BlockDownload.hs | 4 ++-- hbs2-peer/lib/HBS2/Peer/Proto/BlockChunks.hs | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/hbs2-core/lib/HBS2/Defaults.hs b/hbs2-core/lib/HBS2/Defaults.hs index fa26e486..94dc4027 100644 --- a/hbs2-core/lib/HBS2/Defaults.hs +++ b/hbs2-core/lib/HBS2/Defaults.hs @@ -81,7 +81,7 @@ defBlockWaitMax = 60 :: Timeout 'Seconds -- how much time wait for block from peer? defChunkWaitMax :: Timeout 'Seconds -defChunkWaitMax = 5 :: Timeout 'Seconds +defChunkWaitMax = 10 :: Timeout 'Seconds defSweepTimeout :: Timeout 'Seconds defSweepTimeout = 60 -- FIXME: only for debug! diff --git a/hbs2-peer/app/BlockDownload.hs b/hbs2-peer/app/BlockDownload.hs index 190cfe8b..893c1928 100644 --- a/hbs2-peer/app/BlockDownload.hs +++ b/hbs2-peer/app/BlockDownload.hs @@ -315,13 +315,13 @@ blockDownloadLoop env0 = do let blkInfoLock = 5 :: Timeout 'Seconds let blkWaitLock = 60 :: Timeout 'Seconds - let workloadFactor = 1.10 + let workloadFactor = 2.5 e <- ask sto <- getStorage let downT = 16 - let sizeT = 16 + let sizeT = 4 inQ <- withDownload env0 $ asks (view blockInQ) checkQ <- withDownload env0 $ asks (view blockCheckQ) diff --git a/hbs2-peer/lib/HBS2/Peer/Proto/BlockChunks.hs b/hbs2-peer/lib/HBS2/Peer/Proto/BlockChunks.hs index 72eb28c7..9a8038c7 100644 --- a/hbs2-peer/lib/HBS2/Peer/Proto/BlockChunks.hs +++ b/hbs2-peer/lib/HBS2/Peer/Proto/BlockChunks.hs @@ -95,7 +95,7 @@ blockChunksProto adapter (BlockChunks c p) = do case p of - BlockGetChunks h size n1 num | auth -> do + BlockGetChunks h size n1 num | auth -> deferred @proto do bsz' <- blkSize adapter h @@ -104,11 +104,11 @@ blockChunksProto adapter (BlockChunks c p) = do let offsets' = calcChunks bsz (fromIntegral size) :: [(Offset, Size)] let offsets = take (fromIntegral num) $ drop (fromIntegral n1) $ zip offsets' [0..] - for_ offsets $ \((o,sz),i) -> deferred @proto do + for_ offsets $ \((o,sz),i) -> do chunk <- blkChunk adapter h o sz maybe (pure ()) (response_ . BlockChunk @e i) chunk - BlockGetAllChunks h size | auth -> do + BlockGetAllChunks h size | auth -> deferred @proto do bsz' <- blkSize adapter h @@ -117,7 +117,7 @@ blockChunksProto adapter (BlockChunks c p) = do let offsets' = calcChunks bsz (fromIntegral size) :: [(Offset, Size)] let offsets = zip offsets' [0..] - for_ offsets $ \((o,sz),i) -> deferred @proto do + for_ offsets $ \((o,sz),i) -> do chunk <- blkChunk adapter h o sz maybe (pure ()) (response_ . BlockChunk @e i) chunk