limiter.go 408 B

1234567891011121314151617181920212223242526
  1. package limiter
  2. import (
  3. "ehang.io/nps/lib/enet"
  4. )
  5. var (
  6. _ Limiter = (*RateLimiter)(nil)
  7. _ Limiter = (*ConnNumLimiter)(nil)
  8. _ Limiter = (*IpConnNumLimiter)(nil)
  9. _ Limiter = (*FlowLimiter)(nil)
  10. )
  11. type Limiter interface {
  12. DoLimit(conn enet.Conn) (enet.Conn, error)
  13. Init() error
  14. GetName() string
  15. GetZhName() string
  16. }
  17. type baseLimiter struct {
  18. }
  19. func (bl *baseLimiter) Init() error {
  20. return nil
  21. }