func NewRateLimiter() *RateLimiter {
	limiters := &RateLimiter{
		limiters: make(map[string]*rate.Limiter),
	}
	return limiters
}
NewRateLimiter initializes a rate limiter.
package pool
import (
	"fmt"
	"sync"
	"golang.org/x/time/rate"
)
const (
	GUIClient = iota
	PoolClient
)
const (
	clientTokenRate = 5
	clientBurst = 5
	guiTokenRate = 3
	guiBurst = 7
)
type RateLimiter struct {
	mutex    sync.RWMutex
	limiters map[string]*rate.Limiter
}