before-permutation

This commit is contained in:
voidlizard 2024-11-13 19:07:16 +03:00
parent bf435f1f47
commit 8eef38fa7d
1 changed files with 22 additions and 48 deletions

View File

@ -510,6 +510,7 @@ downloadFromPeer t bu cache env h peer = liftIO $ withPeerM env do
blk <- readTVarIO _sBlockChunks2 blk <- readTVarIO _sBlockChunks2
let rs = LBS.concat $ IntMap.elems blk let rs = LBS.concat $ IntMap.elems blk
-- ha <- putBlock sto rs
ha <- putBlock sto rs ha <- putBlock sto rs
-- let ha = Just $ hashObject @HbSync rs -- let ha = Just $ hashObject @HbSync rs
@ -536,35 +537,12 @@ downloadFromPeer t bu cache env h peer = liftIO $ withPeerM env do
Right (Just s) -> pure s Right (Just s) -> pure s
data S1 =
S1Init
| S1QuerySize (Hash HbSync)
| S1CheckMissed (Hash HbSync)
data S2 =
S2Init (Hash HbSync)
| S2CheckBlock1 (Hash HbSync) ByteString
| S2CheckBlock2 (Hash HbSync)
| S2FetchBlock (Hash HbSync)
| S2Exit
newtype KnownSize = KnownSize Integer newtype KnownSize = KnownSize Integer
instance BlockSizeCache e KnownSize where instance BlockSizeCache e KnownSize where
cacheBlockSize _ y_ _ _ = pure () cacheBlockSize _ y_ _ _ = pure ()
findBlockSize (KnownSize s) _ _ = pure (Just s) findBlockSize (KnownSize s) _ _ = pure (Just s)
data BlockFetchResult =
BlockFetchError
| BlockFetched ByteString
| BlockAlreadyHere
data Work =
RequestSize HashRef (Maybe Integer -> IO ())
| FetchBlock HashRef Integer (BlockFetchResult -> IO ())
-- | Download control block -- | Download control block
data DCB = data DCB =
@ -730,10 +708,6 @@ downloadDispatcher brains env = flip runContT pure do
blocks <- readTVar wip <&> HPSQ.toList blocks <- readTVar wip <&> HPSQ.toList
let todo = blocks let todo = blocks
flip fix todo $ \loop w -> do flip fix todo $ \loop w -> do
erno <- readTVar _errors
if erno > 10 then
pure ()
else do
case w of case w of
[] -> none [] -> none