Ejemplo n.º 1
0
func singleThreadedWait(capacity float64, rl RateLimiter, res doorman.Resource, numLoops int) (time.Duration, error) {
	ctx := context.Background()
	res.Capacity() <- capacity

	start := time.Now()
	for i := 0; i < numLoops; i++ {
		err := rl.Wait(ctx)
		if err != nil {
			return 0, err
		}
	}

	return time.Since(start), nil
}