@@ -20,6 +20,7 @@ import Data.OrdPSQ (OrdPSQ)
2020import qualified Data.OrdPSQ as Q
2121import Data.Time (UTCTime, NominalDiffTime, getCurrentTime, addUTCTime)
2222import Network.TLS (SessionID, SessionData, SessionManager(..))
23+import Control.Exception (assert)
2324
2425----------------------------------------------------------------
2526
@@ -73,8 +74,9 @@ newSessionManager conf = do
7374
7475cons :: Int -> Item -> DB -> DB
7576cons lim (k,t,v,Add) db
77+ | lim == 0 = Q.empty
7678 | Q.size db == lim = case Q.minView db of
77− Nothing -> Q.insert k t v Q.empty -- not happens, just in case
79+ Nothing -> assert False $ Q.insert k t v Q.empty
7880 Just (_,_,_,db') -> Q.insert k t v db'
7981 | otherwise = Q.insert k t v db
8082cons _ (k,_,_,Del) db = Q.delete k db