This commit is contained in:
qaq
2025-06-17 12:17:33 +08:00
parent 4a6b2c8e0f
commit 9fa968d07c
648 changed files with 64968 additions and 1621 deletions
+42
View File
@@ -0,0 +1,42 @@
package conn
import (
limiter "github.com/go-gost/core/limiter/conn"
)
type ConnLimitGenerator interface {
Limiter() limiter.Limiter
}
type connLimitGenerator struct {
n int
}
func NewConnLimitGenerator(n int) ConnLimitGenerator {
return &connLimitGenerator{
n: n,
}
}
func (p *connLimitGenerator) Limiter() limiter.Limiter {
if p == nil || p.n <= 0 {
return nil
}
return NewLimiter(p.n)
}
type connLimitSingleGenerator struct {
limiter limiter.Limiter
}
func NewConnLimitSingleGenerator(n int) ConnLimitGenerator {
p := &connLimitSingleGenerator{}
if n > 0 {
p.limiter = NewLimiter(n)
}
return p
}
func (p *connLimitSingleGenerator) Limiter() limiter.Limiter {
return p.limiter
}