func NewThrottlerWait(duration time.Duration) Throttler {
	return twait{duration: duration}
}
NewThrottlerWait creates new throttler instance that
always waits for the specified duration.
package gohalt
import (
	"context"
	"math"
	"regexp"
	"sync"
	"time"
	"golang.org/x/sync/semaphore"
)
type Throttler interface {
	Acquire(context.Context) error
	Release(context.Context) error
}
type tmock struct {
	aerr error
	rerr error
}
func (thr tmock) Acquire(context.Context) error {
	return thr.aerr
}
func (thr tmock) Release(context.Context) error {
	return thr.rerr
}
type techo struct {
	err error
}
func NewThrottlerEcho(err error) Throttler {
	return techo{err: err}
}
func (thr techo) Acquire(context.Context) error {
	return thr.err
}
func (thr techo) Release(context.Context) error {
	return nil
}
type twait struct {
	duration time.Duration
}