// NewRateLimiter returns a new rate limiter that can handle dynamic
// configuration updates
limiter := rate.NewLimiter(rate.Limit(newRPS), newBurst)
ts := clock.NewRealTimeSource()
rl := &RateLimiterImpl{
rps: newRPS,
burst: newBurst,
timeSource: ts,
ClockedRateLimiter: NewClockedRateLimiter(limiter, ts),
}
return rl
}
// SetRPS sets the rate of the rate limiter