diff --git a/hbs2-core/lib/HBS2/Defaults.hs b/hbs2-core/lib/HBS2/Defaults.hs index 97dc07fd..34dc7125 100644 --- a/hbs2-core/lib/HBS2/Defaults.hs +++ b/hbs2-core/lib/HBS2/Defaults.hs @@ -16,7 +16,7 @@ defBurst :: Integral a => a defBurst = 4 defBurstMax :: Integral a => a -defBurstMax = 256 +defBurstMax = 128 -- defChunkSize :: Integer defChunkSize :: Integral a => a @@ -58,11 +58,11 @@ defBlockInfoTimeout = 2 -- how much time wait for block from peer? defBlockWaitMax :: Timeout 'Seconds -defBlockWaitMax = 5.0 :: Timeout 'Seconds +defBlockWaitMax = 2.5 :: Timeout 'Seconds -- how much time wait for block from peer? defChunkWaitMax :: Timeout 'Seconds -defChunkWaitMax = 1.0 :: Timeout 'Seconds +defChunkWaitMax = 0.35 :: Timeout 'Seconds defSweepTimeout :: Timeout 'Seconds defSweepTimeout = 30 -- FIXME: only for debug! diff --git a/hbs2-peer/app/BlockDownload.hs b/hbs2-peer/app/BlockDownload.hs index 7265098c..05b0e028 100644 --- a/hbs2-peer/app/BlockDownload.hs +++ b/hbs2-peer/app/BlockDownload.hs @@ -320,10 +320,11 @@ downloadFromWithPeer peer thisBkSize h = do else do - liftIO $ atomically $ modifyTVar (view peerErrors pinfo) succ + -- liftIO $ atomically $ modifyTVar (view peerErrors pinfo) succ updatePeerInfo True pinfo - newBurst <- liftIO $ readTVarIO burstSizeT + newBurst' <- liftIO $ readTVarIO burstSizeT + let newBurst = floor (realToFrac newBurst' * 0.5 ) liftIO $ atomically $ modifyTVar (view peerDownloaded pinfo) (+chunksN) @@ -401,7 +402,7 @@ updatePeerInfo onError pinfo = do $ if eps == 0 then ceiling $ realToFrac bu * 1.10 -- FIXME: to defaults else - floor $ realToFrac bu * 0.70 + floor $ realToFrac bu * 0.55 else max defBurst $ floor (realToFrac bu * 0.75) @@ -445,7 +446,7 @@ blockDownloadLoop env0 = do void $ liftIO $ async $ forever $ withPeerM e do - pause @'Seconds 0.5 + pause @'Seconds 5 pee <- knownPeers @e pl npi <- newPeerInfo