mirror of https://github.com/voidlizard/hbs2
work but poor
This commit is contained in:
parent
0776ee913e
commit
516809c494
|
@ -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 ()
|
||||||
|
|
Loading…
Reference in New Issue