evaluate swiching to a more traditional fixed window or sliding window counter
implementations since some users complained that it is not intuitive (see #7329).
rateClient is a mixture of token bucket and fixed window rate limit strategies
that refills the allowance only after at least "interval" seconds
has elapsed since the last request.
Lock locks m.
If the lock is already in use, the calling goroutine
blocks until the mutex is available.
Returns void
tryLock
tryLock(): boolean
TryLock tries to lock m and reports whether it succeeded.
Note that while correct uses of TryLock do exist, they are rare,
and use of TryLock is often a sign of a deeper problem
in a particular use of mutexes.
Returns boolean
unlock
unlock(): void
Unlock unlocks m.
It is a run-time error if m is not locked on entry to Unlock.
A locked [Mutex] is not associated with a particular goroutine.
It is allowed for one goroutine to lock a Mutex and then
arrange for another goroutine to unlock it.
Todo
evaluate swiching to a more traditional fixed window or sliding window counter implementations since some users complained that it is not intuitive (see #7329).
rateClient is a mixture of token bucket and fixed window rate limit strategies that refills the allowance only after at least "interval" seconds has elapsed since the last request.