From ad1ed94c16a5552bd306c2798573099c23a774f2 Mon Sep 17 00:00:00 2001 From: zakuwaki <79925675+zakuwaki@users.noreply.github.com> Date: Thu, 16 Nov 2023 11:09:50 +0800 Subject: [PATCH] fix: align down/up bandwidth with user perspective --- docs/configuration/limiter/index.md | 4 ++-- docs/configuration/limiter/index.zh.md | 4 ++-- limiter/limiter.go | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/configuration/limiter/index.md b/docs/configuration/limiter/index.md index 6371d080..b0f1ec56 100644 --- a/docs/configuration/limiter/index.md +++ b/docs/configuration/limiter/index.md @@ -7,8 +7,8 @@ "limiters": [ { "tag": "limiter-a", - "download": "1M", - "upload": "10M", + "download": "10M", + "upload": "1M", "auth_user": [ "user-a", "user-b" diff --git a/docs/configuration/limiter/index.zh.md b/docs/configuration/limiter/index.zh.md index 5b71cf3d..342635de 100644 --- a/docs/configuration/limiter/index.zh.md +++ b/docs/configuration/limiter/index.zh.md @@ -7,8 +7,8 @@ "limiters": [ { "tag": "limiter-a", - "download": "1M", - "upload": "10M", + "download": "10M", + "upload": "1M", "auth_user": [ "user-a", "user-b" diff --git a/limiter/limiter.go b/limiter/limiter.go index 8679c558..aba19fa7 100644 --- a/limiter/limiter.go +++ b/limiter/limiter.go @@ -30,10 +30,10 @@ type connWithLimiter struct { } func (conn *connWithLimiter) Read(p []byte) (n int, err error) { - if conn.limiter == nil || conn.limiter.downloadLimiter == nil { + if conn.limiter == nil || conn.limiter.uploadLimiter == nil { return conn.Conn.Read(p) } - b := conn.limiter.downloadLimiter.Burst() + b := conn.limiter.uploadLimiter.Burst() if b < len(p) { p = p[:b] } @@ -41,7 +41,7 @@ func (conn *connWithLimiter) Read(p []byte) (n int, err error) { if err != nil { return } - err = conn.limiter.downloadLimiter.WaitN(conn.ctx, n) + err = conn.limiter.uploadLimiter.WaitN(conn.ctx, n) if err != nil { return } @@ -49,11 +49,11 @@ func (conn *connWithLimiter) Read(p []byte) (n int, err error) { } func (conn *connWithLimiter) Write(p []byte) (n int, err error) { - if conn.limiter == nil || conn.limiter.uploadLimiter == nil { + if conn.limiter == nil || conn.limiter.downloadLimiter == nil { return conn.Conn.Write(p) } var nn int - b := conn.limiter.uploadLimiter.Burst() + b := conn.limiter.downloadLimiter.Burst() for { end := len(p) if end == 0 { @@ -62,7 +62,7 @@ func (conn *connWithLimiter) Write(p []byte) (n int, err error) { if b < len(p) { end = b } - err = conn.limiter.uploadLimiter.WaitN(conn.ctx, end) + err = conn.limiter.downloadLimiter.WaitN(conn.ctx, end) if err != nil { return }