func TestRateLimitedSafeWaitGroup(t *testing.T) { … }
func TestRateLimitedSafeWaitGroupWithHardTimeout(t *testing.T) { … }
func TestRateLimitedSafeWaitGroupWithBurstOfOne(t *testing.T) { … }
type waitResult …
type rateLimitedSafeWaitGroupWrapper …
func (wg *rateLimitedSafeWaitGroupWrapper) Count() int { … }
func (wg *rateLimitedSafeWaitGroupWrapper) Waiting() bool { … }
type limiterWrapper …
func (w *limiterWrapper) invoked() int { … }
func (w *limiterWrapper) Wait(ctx context.Context) error { … }
type factory …
func (f *factory) NewRateLimiter(count int) (RateLimiter, context.Context, context.CancelFunc) { … }