mirror of
https://github.com/diamondburned/arikawa.git
synced 2024-11-18 04:42:54 +00:00
25 lines
492 B
Go
25 lines
492 B
Go
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)
|
|
}
|
|
|
|
func NewDialLimiter() *rate.Limiter {
|
|
return rate.NewLimiter(rate.Every(5*time.Second), 1)
|
|
}
|
|
|
|
func NewIdentityLimiter() *rate.Limiter {
|
|
return NewDialLimiter() // same
|
|
}
|
|
|
|
func NewGlobalIdentityLimiter() *rate.Limiter {
|
|
return rate.NewLimiter(rate.Every(24*time.Hour), 1000)
|
|
}
|