File: token-bucket.cabal

package info (click to toggle)
haskell-token-bucket 0.1.0.1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 124 kB
  • ctags: 5
  • sloc: haskell: 132; ansic: 11; makefile: 6
file content (45 lines) | stat: -rw-r--r-- 1,551 bytes parent folder | download
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
name:                token-bucket
version:             0.1.0.1
synopsis:            Rate limiter using lazy bucket algorithm
homepage:            https://github.com/hvr/token-bucket
bug-reports:         https://github.com/hvr/token-bucket/issues
license:             GPL-3
license-file:        LICENSE
author:              Herbert Valerio Riedel
maintainer:          hvr@gnu.org
category:            Concurrency
build-type:          Simple
cabal-version:       >=1.10
description:
  This implementation is heavily inspired by the one described in
  <http://ksdlck.com/post/17418037348/rate-limiting-at-webscale-lazy-leaky-buckets "Rate Limiting at Webscale: Lazy Leaky Buckets">

extra-source-files:    changelog.md

source-repository head
  type:     git
  location: https://github.com/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 && <4.10
  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.7
  ghc-options: -Wall
  exposed-modules:     Control.Concurrent.TokenBucket

test-suite test-tb
  default-language:    Haskell2010
  type:                exitcode-stdio-1.0
  build-depends:       base >=4.6 && <4.10, time >=1.4 && <1.7, token-bucket
  main-is:             test-tb.hs
  ghc-options:         -Wall -threaded -rtsopts