func writeCmd(cn *pool.Conn, cmds ...Cmder) error { cn.Wb.Reset() for _, cmd := range cmds { if err := cn.Wb.Append(cmd.args()); err != nil { return err } } _, err := cn.Write(cn.Wb.Bytes()) return err }
func (c *baseClient) initConn(cn *pool.Conn) error { cn.Inited = true if c.opt.Password == "" && c.opt.DB == 0 && !c.opt.ReadOnly { return nil } // Temp client for Auth and Select. client := newClient(c.opt, pool.NewSingleConnPool(cn)) _, err := client.Pipelined(func(pipe *Pipeline) error { if c.opt.Password != "" { pipe.Auth(c.opt.Password) } if c.opt.DB > 0 { pipe.Select(c.opt.DB) } if c.opt.ReadOnly { pipe.ReadOnly() } return nil }) return err }