diff --git a/pool.go b/pool.go index efb681b..432d3fd 100644 --- a/pool.go +++ b/pool.go @@ -9,9 +9,10 @@ func newPool(cap int, dead wire, makeFn func() wire) *pool { return &pool{ size: 0, + cap: cap, dead: dead, make: makeFn, - list: make([]wire, 0, cap), + list: make([]wire, 0, 4), cond: sync.NewCond(&sync.Mutex{}), } } @@ -22,12 +23,13 @@ type pool struct { make func() wire list []wire size int + cap int down bool } func (p *pool) Acquire() (v wire) { p.cond.L.Lock() - for len(p.list) == 0 && p.size == cap(p.list) && !p.down { + for len(p.list) == 0 && p.size == p.cap && !p.down { p.cond.Wait() } if p.down { diff --git a/valkey.go b/valkey.go index 72ad675..2b515ee 100644 --- a/valkey.go +++ b/valkey.go @@ -22,7 +22,7 @@ const ( // DefaultRingScale is the default value of ClientOption.RingScaleEachConn, which results into having a ring of size 2^10 for each connection DefaultRingScale = 10 // DefaultPoolSize is the default value of ClientOption.BlockingPoolSize - DefaultPoolSize = 1000 + DefaultPoolSize = 1024 // DefaultBlockingPipeline is the default value of ClientOption.BlockingPipeline DefaultBlockingPipeline = 2000 // DefaultDialTimeout is the default value of ClientOption.Dialer.Timeout