File tree Expand file tree Collapse file tree
ouroboros-network/lib/Ouroboros/Network/TxSubmission/Inbound/V2 Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -534,14 +534,17 @@ retainedNextWake currentTime =
534534{-# INLINE retainedNextWake #-}
535535
536536retainedExpiredKeys :: Time -> RetainedTxs -> IntSet
537- retainedExpiredKeys currentTime =
538- go IntSet. empty
537+ retainedExpiredKeys currentTime retained =
538+ -- Quick exit if no TX has expired.
539+ case IntPSQ. findMin retained of
540+ Just (_, earliest, _) | earliest <= currentTime -> go IntSet. empty retained
541+ _ -> IntSet. empty
539542 where
540- go expired retained =
541- case IntPSQ. minView retained of
542- Just (k, retainUntil, () , retained ')
543+ go expired r =
544+ case IntPSQ. minView r of
545+ Just (k, retainUntil, () , r ')
543546 | retainUntil <= currentTime ->
544- go (IntSet. insert k expired) retained '
547+ go (IntSet. insert k expired) r '
545548 | otherwise ->
546549 expired
547550 Nothing ->
You can’t perform that action at this time.
0 commit comments