]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Allow disabling accept limiting and modify some constants
authorMatt Joiner <anacrolix@gmail.com>
Sat, 16 Jun 2018 06:37:13 +0000 (16:37 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Sat, 16 Jun 2018 06:37:13 +0000 (16:37 +1000)
client.go
config.go

index 8811063ab696a29aa7ebe378423977760a407ff4..ce92a35bd06ed02a822861d392448e4174461962 100644 (file)
--- a/client.go
+++ b/client.go
@@ -1270,7 +1270,7 @@ func (cl *Client) acceptLimitClearer() {
                select {
                case <-cl.closed.LockedChan(&cl.mu):
                        return
-               case <-time.After(15 * time.Minute):
+               case <-time.After(5 * time.Minute):
                        cl.mu.Lock()
                        cl.clearAcceptLimits()
                        cl.mu.Unlock()
@@ -1279,6 +1279,8 @@ func (cl *Client) acceptLimitClearer() {
 }
 
 func (cl *Client) rateLimitAccept(ip net.IP) bool {
-       // return true
-       return cl.acceptLimiter[ipStr(maskIpForAcceptLimiting(ip).String())] >= 10
+       if cl.config.DisableAcceptRateLimiting {
+               return false
+       }
+       return cl.acceptLimiter[ipStr(maskIpForAcceptLimiting(ip).String())] >= 3
 }
index 25dee996c5d08f86729f4fad414f9ea6d13cd8e5..f438cbce8e93a27804d24c60f723836d506882b6 100644 (file)
--- a/config.go
+++ b/config.go
@@ -108,6 +108,8 @@ type ClientConfig struct {
 
        PublicIp4 net.IP
        PublicIp6 net.IP
+
+       DisableAcceptRateLimiting bool
 }
 
 func (cfg *ClientConfig) SetListenAddr(addr string) *ClientConfig {