adjusting burst

This commit is contained in:
Dmitry Zuikov 2023-02-04 16:03:39 +03:00
parent 83f5f2a496
commit 5eb0cfdcc9
1 changed files with 8 additions and 8 deletions

View File

@ -321,7 +321,7 @@ downloadFromWithPeer peer thisBkSize h = do
else do else do
liftIO $ atomically $ modifyTVar (view peerErrors pinfo) succ liftIO $ atomically $ modifyTVar (view peerErrors pinfo) succ
updatePeerInfo pinfo updatePeerInfo True pinfo
newBurst <- liftIO $ readTVarIO burstSizeT newBurst <- liftIO $ readTVarIO burstSizeT
@ -377,8 +377,8 @@ instance HasPeerLocator e m => HasPeerLocator e (BlockDownloadM e m) where
getPeerLocator = lift getPeerLocator getPeerLocator = lift getPeerLocator
updatePeerInfo :: MonadIO m => PeerInfo e -> m () updatePeerInfo :: MonadIO m => Bool -> PeerInfo e -> m ()
updatePeerInfo pinfo = do updatePeerInfo onError pinfo = do
t1 <- liftIO $ getTime MonotonicCoarse t1 <- liftIO $ getTime MonotonicCoarse
@ -396,14 +396,14 @@ updatePeerInfo pinfo = do
let eps = floor (dE / dT) let eps = floor (dE / dT)
let bu1 = if down - downLast > 0 then let bu1 = if (down - downLast > 0 || onError) then
max 1 $ min defBurstMax max 1 $ min defBurstMax
$ if eps == 0 then $ if eps == 0 then
ceiling $ realToFrac bu * 1.05 -- FIXME: to defaults ceiling $ realToFrac bu * 1.10 -- FIXME: to defaults
else else
floor $ realToFrac bu * 0.65 floor $ realToFrac bu * 0.70
else else
max defBurst $ floor (realToFrac bu * 0.65) max defBurst $ floor (realToFrac bu * 0.75)
writeTVar (view peerErrorsLast pinfo) errs writeTVar (view peerErrorsLast pinfo) errs
writeTVar (view peerLastWatched pinfo) t1 writeTVar (view peerLastWatched pinfo) t1
@ -453,7 +453,7 @@ blockDownloadLoop env0 = do
for_ pee $ \p -> do for_ pee $ \p -> do
pinfo <- fetch True npi (PeerInfoKey p) id pinfo <- fetch True npi (PeerInfoKey p) id
updatePeerInfo pinfo updatePeerInfo False pinfo
-- TODO: peer info loop -- TODO: peer info loop
void $ liftIO $ async $ forever $ withPeerM e $ do void $ liftIO $ async $ forever $ withPeerM e $ do