Simplify tcp relay time randomization

This commit is contained in:
9seconds
2021-08-30 10:47:36 +03:00
parent 00bb7be900
commit ca5800cf60
+3 -7
View File
@@ -1,7 +1,6 @@
package relay package relay
import ( import (
"math"
"math/rand" "math/rand"
"time" "time"
) )
@@ -15,12 +14,9 @@ func getTimeout() time.Duration {
} }
func getTime(minDuration, maxDuration time.Duration) time.Duration { func getTime(minDuration, maxDuration time.Duration) time.Duration {
minDurationInSeconds := minDuration.Seconds() minDurationInSeconds := int(minDuration.Seconds())
maxDurationInSeconds := maxDuration.Seconds() maxDurationInSeconds := int(maxDuration.Seconds())
middle := minDurationInSeconds + (maxDurationInSeconds-minDurationInSeconds)/2 // nolint: gomnd number := minDurationInSeconds + rand.Intn(maxDurationInSeconds-minDurationInSeconds)
number := minDurationInSeconds + rand.ExpFloat64()*middle
number = math.Round(math.Min(maxDurationInSeconds, number))
return time.Duration(number) * time.Second return time.Duration(number) * time.Second
} }