From bb190ea0bb2671214aad75f43f06a7c41c94f2bd Mon Sep 17 00:00:00 2001 From: Joe Crayne Date: Sun, 1 Dec 2019 20:22:30 -0500 Subject: Remove query-id dependency from timeout computation. --- dht/OnionRouter.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'dht/OnionRouter.hs') diff --git a/dht/OnionRouter.hs b/dht/OnionRouter.hs index 1c16db6d..bdaf04b2 100644 --- a/dht/OnionRouter.hs +++ b/dht/OnionRouter.hs @@ -566,8 +566,8 @@ lookupRoute or ni (RouteId rid) = do mb <- atomically $ readArray (routeMap or) rid return $ storedRoute <$> mb -lookupTimeout :: OnionRouter -> Nonce8 -> OnionDestination r -> STM (OnionDestination RouteId, Int) -lookupTimeout or n8 (OnionDestination asel ni Nothing) = do +lookupTimeout :: OnionRouter -> OnionDestination r -> STM (OnionDestination RouteId, Int) +lookupTimeout or (OnionDestination asel ni Nothing) = do let RouteId rid = routeId (nodeId ni) mrr <- readArray (routeMap or) rid writeTChan (routeLog or) $ unwords ["ONION lookupTimeout " ,show rid] @@ -579,7 +579,7 @@ hookQueries :: OnionRouter -> (tid -> Nonce8) -> TransactionMethods d tid (OnionDestination RouteId) x -> TransactionMethods d tid (OnionDestination RouteId) x hookQueries or t8 tmethods = TransactionMethods - { dispatchRegister = \getTimeout now mvar od d -> {-# SCC "hookQ.dispatchRegister" #-} do -- :: MVar x -> d -> STM (tid, d) + { dispatchRegister = \nowPlusExpiry mvar od d -> {-# SCC "hookQ.dispatchRegister" #-} do -- :: MVar x -> d -> STM (tid, d) let ni = onionNodeInfo od rid@(RouteId ridn) = fromMaybe (routeId (nodeId ni)) $ onionRouteSpec od wanted <- {-# SCC "hookQ.wanted" #-} (readArray (pendingRoutes or) ridn) @@ -588,7 +588,7 @@ hookQueries or t8 tmethods = TransactionMethods check $ fromMaybe False $ do RouteRecord{routeVersion=rv} <- {-# SCC "hookQ.mr" #-} mr return $ wanted <= rv - ((tid,a,expiry),d') <- dispatchRegister tmethods getTimeout now mvar od d + (tid,d') <- dispatchRegister tmethods nowPlusExpiry mvar od d let Nonce8 w8 = t8 tid od' = case od of OnionDestination {} -> od { onionRouteSpec = Just rid } @@ -600,7 +600,7 @@ hookQueries or t8 tmethods = TransactionMethods -- check $ W64.size pqs < 20 modifyTVar' (pendingQueries or) (W64.insert w8 pq) writeTChan (routeLog or) $ "ONION query add " ++ unwords [ show (Just $ pendingVersion pq,w8), ":=", show ni ] - return ((tid,a,expiry),d') + return (tid,d') , dispatchResponse = \tid x d -> {-# SCC "hookQ.dispatchResponse" #-} do -- :: tid -> x -> d -> STM (d, IO ()) let Nonce8 w8 = t8 tid mb <- W64.lookup w8 <$> readTVar (pendingQueries or) -- cgit v1.2.3