mirror of https://github.com/voidlizard/hbs2
before-permutation
This commit is contained in:
parent
8df3485752
commit
dbf6e4b44a
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue