1
0
Fork 0
mirror of https://github.com/diamondburned/arikawa.git synced 2024-11-18 04:42:54 +00:00
arikawa/utils/wsutil/throttler.go

25 lines
492 B
Go
Raw Normal View History

2020-01-09 05:24:45 +00:00
package wsutil
import (
"time"
"golang.org/x/time/rate"
)
func NewSendLimiter() *rate.Limiter {
// return rate.NewLimiter(rate.Every(time.Minute), 120)
return rate.NewLimiter(rate.Every(time.Second), 2)
2020-01-09 05:24:45 +00:00
}
2020-01-15 04:43:34 +00:00
func NewDialLimiter() *rate.Limiter {
return rate.NewLimiter(rate.Every(5*time.Second), 1)
}
2020-01-15 07:34:18 +00:00
func NewIdentityLimiter() *rate.Limiter {
return NewDialLimiter() // same
}
func NewGlobalIdentityLimiter() *rate.Limiter {
return rate.NewLimiter(rate.Every(24*time.Hour), 1000)
}