diff --git a/policies/helpers.go b/policies/helpers.go index b3bfe70..4a783d8 100644 --- a/policies/helpers.go +++ b/policies/helpers.go @@ -1,6 +1,7 @@ package policies import ( + "iter" "sync/atomic" "time" @@ -18,13 +19,12 @@ func startRateLimitSystem[K comparable]( go func() { for { time.Sleep(interval) - negativeBuckets.Range(func(key K, bucket *atomic.Int32) bool { + for key, bucket := range iter.Seq2[K, *atomic.Int32](negativeBuckets.Range) { newv := bucket.Add(int32(-tokensPerInterval)) if newv <= 0 { negativeBuckets.Delete(key) } - return true - }) + } } }()