Fix formatting after import
diff --git a/RateLimiting.md b/RateLimiting.md
index 9067c6d..abbb005 100644
--- a/RateLimiting.md
+++ b/RateLimiting.md
@@ -66,65 +66,63 @@
// }
//
package ratelimit
+
import "time"
type Ratelimiter struct {
+ rate int // conn/sec
+ last time.Time // last time we were polled/asked
- rate int // conn/sec
- last time.Time // last time we were polled/asked
-
- allowance float64
+ allowance float64
}
// Create new rate limiter that limits at rate/sec
func NewRateLimiter(rate int) (*Ratelimiter, error) {
- r := Ratelimiter{rate:rate, last:time.Now()}
+ r := Ratelimiter{rate: rate, last: time.Now()}
- r.allowance = float64(r.rate)
- return &r, nil
+ r.allowance = float64(r.rate)
+ return &r, nil
}
// Return true if the current call exceeds the set rate, false
// otherwise
-func (r* Ratelimiter) Limit() bool {
+func (r *Ratelimiter) Limit() bool {
- // handle cases where rate in config file is unset - defaulting
- // to "0" (unlimited)
- if r.rate == 0 {
- return false
- }
+ // handle cases where rate in config file is unset - defaulting
+ // to "0" (unlimited)
+ if r.rate == 0 {
+ return false
+ }
- rate := float64(r.rate)
- now := time.Now()
- elapsed := now.Sub(r.last)
- r.last = now
- r.allowance += float64(elapsed) * rate
+ rate := float64(r.rate)
+ now := time.Now()
+ elapsed := now.Sub(r.last)
+ r.last = now
+ r.allowance += float64(elapsed) * rate
- // Clamp number of tokens in the bucket. Don't let it get
- // unboundedly large
- if r.allowance > rate {
- r.allowance = rate
- }
+ // Clamp number of tokens in the bucket. Don't let it get
+ // unboundedly large
+ if r.allowance > rate {
+ r.allowance = rate
+ }
- var ret bool
+ var ret bool
- if r.allowance < 1.0 {
- ret = true
- } else {
- r.allowance -= 1.0
- ret = false
- }
+ if r.allowance < 1.0 {
+ ret = true
+ } else {
+ r.allowance -= 1.0
+ ret = false
+ }
- return ret
+ return ret
}
-
```
Using this package is quite easy:
```
-
// rate limit at 100/s
nl = ratelimit.NewRateLimiter(100)
@@ -139,7 +137,6 @@
// .. rate is not exceeded, process as needed
...
}
-
```
[Anti Huimaa](http://stackoverflow.com/questions/667508/whats-a-good-rate-limiting-algorithm) came up with this simple algorithm.