From 1652956786d73f020de534e935126c64c04eebd9 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 14 Sep 2016 20:21:01 -0400 Subject: Reduce number of buckets in rate limiter, avoiding ones with very low proof of work. This got out of whack when sections were converted to rationals; there were buckets that needed trivial proofs of work, and having these extra buckets increased the total possible throughput. --- HTTP/ProofOfWork.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'HTTP') diff --git a/HTTP/ProofOfWork.hs b/HTTP/ProofOfWork.hs index 35b5ffd..39073b9 100644 --- a/HTTP/ProofOfWork.hs +++ b/HTTP/ProofOfWork.hs @@ -86,7 +86,7 @@ generationTime req = mkProofOfWorkRequirement :: Seconds -> Maybe (RequestID -> ProofOfWorkRequirement) mkProofOfWorkRequirement (Seconds n) - | lz < 1 = Nothing + | lz < 1 || n <= 1 = Nothing | otherwise = Just $ ProofOfWorkRequirement lz its where lz = floor (logBase 2 (fromRational (max 1 (n / s))) :: Double) -- cgit v1.2.3