homepage: https://github.com/agrafix/ratelimiter#readme
changelog-type: ''
hash: 4a17a5946347e0ebae826ce7de47c3047edc69377049884542986b6d84105cb8
test-bench-deps:
  extra: -any
  base: '>=4.7 && <5'
  time: -any
  timespan: -any
  containers: -any
  mtl: -any
  ratelimiter: -any
  vector: -any
maintainer: Alexander Thiemann <mail@thiemann.at>
synopsis: In-memory rate limiter
changelog: ''
basic-deps:
  extra: -any
  base: '>=4.7 && <5'
  time: -any
  timespan: -any
  containers: -any
  mtl: -any
  vector: -any
all-versions:
- 0.1.0
author: Alexander Thiemann <mail@thiemann.at>
latest: 0.1.0
description-type: markdown
description: "# Haskell: ratelimiter\n\nA simple in-memory rate-limiter library.\n\n##
  Usage\n\n``` haskell\nimport Control.RateLimiter\nimport qualified Data.Vector as
  V\n\nmain :: IO\nmain =\n  -- one rate limiter can have multiple rules\n  do limiter
  <- \n        newRateLimiter $ V.fromList\n        [ RateLimitConfig (RollingWindow
  60) 200 -- 200 per minute\n        , RateLimitConfig (RollingWindow 3600) 400 --
  400 per hour\n        ]\n     let myRateLimitedFunction =\n           do isLimited
  <- isRateLimited () limiter\n              if isLimitd then pure Nothing else Just
  <$> someExpensiveWork\n     -- ... use myRateLimitedFunction\n```\n\n"
license-name: BSD-3-Clause

Update from Hackage at 2020-12-21T04:51:59Z
Update from Hackage at 2020-12-21T04:51:59Z
