type Config struct {
BurstLimit int64// Number of requests to allow to burst. FillPeriod time.Duration// Add one call per period. MaxWaitCount int64// Max number of waiting requests. 0 disables.}
Apply the limiter to the calling thread. The function may sleep for up to
maxWaitTime before returning. If the timeout would need to be more than
maxWaitTime to enforce the rate limit, ErrBackoff is returned.