1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
cabal-version: >=1.10
name: token-bucket
version: 0.1.0.1
x-revision: 7
synopsis: Rate limiter using lazy bucket algorithm
homepage: https://github.com/haskell-hvr/token-bucket
bug-reports: https://github.com/haskell-hvr/token-bucket/issues
license: GPL-3
license-file: LICENSE
author: Herbert Valerio Riedel
maintainer: https://github.com/haskell-hvr/token-bucket
category: Concurrency
build-type: Simple
description:
This package provides a variant of a [Token Bucket](https://en.wikipedia.org/wiki/Token_bucket)
or [Leaky Bucket](https://en.wikipedia.org/wiki/Leaky_bucket) rate-limiting algorithm optimised for low overhead.
.
The rate-limiting variant implemented by this package is heavily inspired by the algorithm described in
<https://web.archive.org/web/20120808023806/http://ksdlck.com/post/17418037348/rate-limiting-at-webscale-lazy-leaky-buckets "Rate Limiting at Webscale: Lazy Leaky Buckets">.
tested-with:
GHC == 9.4.4
GHC == 9.2.5
GHC == 9.0.2
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
GHC == 7.10.3
GHC == 7.8.4
GHC == 7.6.3
extra-source-files: changelog.md
source-repository head
type: git
location: https://github.com/haskell-hvr/token-bucket.git
flag use-cbits
description: Use optimized getPOSIXTime implementation (faster by roughly one order of magnitude)
manual: True
default: True
library
default-language: Haskell2010
build-depends: base >=4.6 && <5
hs-source-dirs: src
if flag(use-cbits)
cpp-options: -DUSE_CBITS
c-sources: cbits/get_posix_time.c
else
build-depends: time >=1.4 && <1.13
ghc-options: -Wall
exposed-modules: Control.Concurrent.TokenBucket
test-suite test-tb
default-language: Haskell2010
type: exitcode-stdio-1.0
build-depends: base
, time
, token-bucket
main-is: test-tb.hs
ghc-options: -Wall -threaded -rtsopts
|