This commit is contained in:
Vladimir Mihailenco 2019-08-18 17:03:32 +03:00
parent e471faf7f8
commit e694ed0084
3 changed files with 7 additions and 7 deletions

View File

@ -49,7 +49,7 @@ type Pooler interface {
}
type Options struct {
Dialer func(c context.Context) (net.Conn, error)
Dialer func(context.Context) (net.Conn, error)
OnClose func(*Conn) error
PoolSize int

View File

@ -58,20 +58,20 @@ func (p *SingleConnPool) SetConn(cn *Conn) {
}
}
func (p *SingleConnPool) NewConn(c context.Context) (*Conn, error) {
return p.pool.NewConn(c)
func (p *SingleConnPool) NewConn(ctx context.Context) (*Conn, error) {
return p.pool.NewConn(ctx)
}
func (p *SingleConnPool) CloseConn(cn *Conn) error {
return p.pool.CloseConn(cn)
}
func (p *SingleConnPool) Get(c context.Context) (*Conn, error) {
func (p *SingleConnPool) Get(ctx context.Context) (*Conn, error) {
// In worst case this races with Close which is not a very common operation.
for i := 0; i < 1000; i++ {
switch atomic.LoadUint32(&p.state) {
case stateDefault:
cn, err := p.pool.Get(c)
cn, err := p.pool.Get(ctx)
if err != nil {
return nil, err
}

View File

@ -215,8 +215,8 @@ func ParseURL(redisURL string) (*Options, error) {
func newConnPool(opt *Options) *pool.ConnPool {
return pool.NewConnPool(&pool.Options{
Dialer: func(c context.Context) (net.Conn, error) {
return opt.Dialer(c, opt.Network, opt.Addr)
Dialer: func(ctx context.Context) (net.Conn, error) {
return opt.Dialer(ctx, opt.Network, opt.Addr)
},
PoolSize: opt.PoolSize,
MinIdleConns: opt.MinIdleConns,