work but poor

This commit is contained in:
voidlizard 2024-11-10 12:31:34 +03:00
parent 71808979fa
commit 46369fc123
1 changed files with 6 additions and 11 deletions

View File

@ -614,28 +614,22 @@ downloadDispatcher brains env = flip runContT pure do
blk' <- atomically $ readTVar blkQ <&> HPSQ.findMin blk' <- atomically $ readTVar blkQ <&> HPSQ.findMin
(h,prio,bi@(BInfo _bstate)) <- maybe (pause @'Seconds 0.5 >> exit ()) pure blk' (h,prio,bi@(BInfo _bstate)) <- maybe (pause @'Seconds 0.5 >> exit ()) pure blk'
atomically do
free <- readTVar peerQ <&> HPSQ.size
unless (free > 0) retry
debug $ green "JERK OFF" <+> pretty h
bstate <- readTVarIO _bstate bstate <- readTVarIO _bstate
case bstate of case bstate of
BNone -> do BNone -> do
now <- getTimeCoarse now <- getTimeCoarse
who' <- atomically do who <- atomically do
p <- readTVar peerQ <&> HPSQ.findMin p <- readTVar peerQ <&> HPSQ.findMin
case p of case p of
Just some -> do Just some -> do
modifyTVar peerQ HPSQ.deleteMin modifyTVar peerQ HPSQ.deleteMin
writeTVar _bstate (BWaitSize now) writeTVar _bstate (BWaitSize now)
pure (Just some) modifyTVar blkQ (HPSQ.insert h (succ prio) bi)
pure some
Nothing -> pure Nothing Nothing -> retry
who <- maybe (exit2 ()) pure who'
let work _bs (p,pprio,i@PInfo{..}) = liftIO $ flip runContT pure do let work _bs (p,pprio,i@PInfo{..}) = liftIO $ flip runContT pure do
ContT $ bracket none $ const do ContT $ bracket none $ const do
@ -662,11 +656,12 @@ downloadDispatcher brains env = flip runContT pure do
Left{} -> do Left{} -> do
debug $ red "DOWNLOAD FAIL" <+> pretty h <+> pretty p debug $ red "DOWNLOAD FAIL" <+> pretty h <+> pretty p
atomically $ writeTVar _bstate BNone
burstMachineAddErrors pinfoBm 1 burstMachineAddErrors pinfoBm 1
Right Nothing -> do Right Nothing -> do
debug $ yellow "NO BLOCK" <+> pretty h <+> pretty p debug $ yellow "NO BLOCK" <+> pretty h <+> pretty p
pure () atomically $ writeTVar _bstate BNone
Left{} -> do Left{} -> do
pure () pure ()