func (t *Manager) Wait(key string) {
	t.getThrottler(key).Wait()
}
Wait sleeps until the request for the key can be executed (i.e. no longer throttled).
Wait is the recommended method by golang.org/x/time/rate
package throttlers
import "sync"
type Manager struct {
	throttlers   sync.Map
	startingRate uint64  
	burst        uint64
	lowerBound   uint64
	upperBound   uint64
	increment    uint64
	decrement    uint64
}
type Params struct {
	StartingRate uint64
	Burst uint64
	LowerBound uint64
	UpperBound uint64
	Increment uint64
	Decrement uint64
}
func New(params Params) *Manager {
	return &Manager{
		startingRate: params.StartingRate,
		burst:        params.Burst,
		lowerBound:   params.LowerBound,
		upperBound:   params.UpperBound,
		increment:    params.Increment,
		decrement:    params.Decrement,
	}
}