func (c *muxConn) send(flush bool, cmd string, args ...interface{}) error { if internal.LookupCommandInfo(cmd).Set != 0 { return errors.New("command not supported by mux pool") } p := c.p p.sendMu.Lock() id := p.sendID c.ids = append(c.ids, id) p.sendID++ err := p.c.Send(cmd, args...) if flush { err = p.c.Flush() } p.sendMu.Unlock() return err }
func (pc *pooledConnection) Send(commandName string, args ...interface{}) error { ci := internal.LookupCommandInfo(commandName) pc.state = (pc.state | ci.Set) &^ ci.Clear return pc.c.Send(commandName, args...) }