mirror of
https://github.com/ehang-io/nps.git
synced 2025-07-02 04:00:42 +00:00
27 lines
408 B
Go
27 lines
408 B
Go
package limiter
|
|
|
|
import (
|
|
"ehang.io/nps/lib/enet"
|
|
)
|
|
|
|
var (
|
|
_ Limiter = (*RateLimiter)(nil)
|
|
_ Limiter = (*ConnNumLimiter)(nil)
|
|
_ Limiter = (*IpConnNumLimiter)(nil)
|
|
_ Limiter = (*FlowLimiter)(nil)
|
|
)
|
|
|
|
type Limiter interface {
|
|
DoLimit(conn enet.Conn) (enet.Conn, error)
|
|
Init() error
|
|
GetName() string
|
|
GetZhName() string
|
|
}
|
|
|
|
type baseLimiter struct {
|
|
}
|
|
|
|
func (bl *baseLimiter) Init() error {
|
|
return nil
|
|
}
|