From 635e91f360428bf9f01634ac84897515b4edde8e Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Mon, 16 Sep 2024 15:59:08 -0300 Subject: [PATCH] policies: shoehorn an iterator in a xsync map Range(). --- policies/helpers.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 - }) + } } }()