session reworking wip

This commit is contained in:
Dmitry Zuikov 2023-01-19 07:46:58 +03:00
parent 42ed4573b2
commit eaec1a862a
1 changed files with 8 additions and 3 deletions

View File

@ -186,8 +186,8 @@ main = do
-- ] -- ]
emptySessions :: IO (Sessions e) emptySessions :: forall e m . MonadIO m => m (Sessions e)
emptySessions = emptySessions = liftIO $
Sessions <$> Cache.newCache (Just defCookieTimeout) Sessions <$> Cache.newCache (Just defCookieTimeout)
<*> Cache.newCache (Just defBlockInfoTimeout) <*> Cache.newCache (Just defBlockInfoTimeout)
<*> Cache.newCache (Just defBlockInfoTimeout) <*> Cache.newCache (Just defBlockInfoTimeout)
@ -217,6 +217,9 @@ updSession se def l k fn = liftIO do
delSession se l k = liftIO do delSession se l k = liftIO do
Cache.delete (view l se) k Cache.delete (view l se) k
expireSession se l = liftIO do
Cache.purgeExpired (view l se)
runFakePeer :: forall e . e ~ Fake => Sessions e -> EngineEnv e -> IO () runFakePeer :: forall e . e ~ Fake => Sessions e -> EngineEnv e -> IO ()
runFakePeer se env = do runFakePeer se env = do
@ -263,7 +266,7 @@ runFakePeer se env = do
BlockChunksI BlockChunksI
{ blkSize = hasBlock storage { blkSize = hasBlock storage
, blkChunk = getChunk storage , blkChunk = getChunk storage
, blkGetHash = \c -> getSession' se sBlockDownload c (view sBlockHash) --(\BlockDownload{} -> error "AAA") , blkGetHash = \c -> getSession' se sBlockDownload c (view sBlockHash)
-- КАК ТОЛЬКО ПРИНЯЛИ ВСЕ ЧАНКИ (ПРИШЁЛ ПОСЛЕДНИЙ ЧАНК): -- КАК ТОЛЬКО ПРИНЯЛИ ВСЕ ЧАНКИ (ПРИШЁЛ ПОСЛЕДНИЙ ЧАНК):
-- СЧИТАЕМ ХЭШ ТОГО, ЧТО ПОЛУЧИЛОСЬ -- СЧИТАЕМ ХЭШ ТОГО, ЧТО ПОЛУЧИЛОСЬ
@ -366,6 +369,8 @@ test1 = do
let def = newBlockDownload h let def = newBlockDownload h
updSession s0 def sBlockDownload cKey (set sBlockChunkSize chsz) updSession s0 def sBlockDownload cKey (set sBlockChunkSize chsz)
-- TODO: #ASAP block ready notification
request p1 (BlockChunks @Fake cookie (BlockGetAllChunks h chsz)) request p1 (BlockChunks @Fake cookie (BlockGetAllChunks h chsz))
pure () pure ()