rate/rate.go
func NewLimiter(counter Counter, duration time.Duration, limit uint64) Limiter {
	return &limiter{
		Counter:  counter,
		duration: duration,
		limit:    limit,
	}
}
func NewLimiter(counter Counter, duration time.Duration, limit uint64) Limiter {
	return &limiter{
		Counter:  counter,
		duration: duration,
		limit:    limit,
	}
}
// NewLimiter returns a new limiter