equal
deleted
inserted
replaced
34 m <- readIORef ref |
34 m <- readIORef ref |
35 let lastJoins = map (diffUTCTime time) $ Map.findWithDefault [] host m |
35 let lastJoins = map (diffUTCTime time) $ Map.findWithDefault [] host m |
36 let last30sec = length $ takeWhile (< 30) lastJoins |
36 let last30sec = length $ takeWhile (< 30) lastJoins |
37 let last2min = length $ takeWhile (< 120) lastJoins |
37 let last2min = length $ takeWhile (< 120) lastJoins |
38 let last10min = length $ takeWhile (< 600) lastJoins |
38 let last10min = length $ takeWhile (< 600) lastJoins |
39 let pass = last30sec < 2 && last2min < 4 && last10min < 6 |
39 let pass = last30sec < 2 && last2min < 3 && last10min < 5 |
40 |
40 |
41 when pass $ writeIORef ref $ Map.alter (Just . (:) time . fromMaybe []) host m |
41 when pass $ writeIORef ref $ Map.alter (Just . (:) time . fromMaybe []) host m |
42 |
42 |
43 return pass |
43 return pass |