1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-28 06:42:00 +03:00

Refactor reply parser.

This commit is contained in:
Vladimir Mihailenco
2014-01-06 16:06:30 +02:00
parent 78febcebe7
commit 4252b31cd9
7 changed files with 162 additions and 181 deletions

View File

@ -95,8 +95,7 @@ func (c *Multi) execCmds(cn *conn, cmds []Cmder) error {
// Parse queued replies.
for i := 0; i < cmdsLen; i++ {
_, err = statusCmd.parseReply(cn.rd)
if err != nil {
if err := statusCmd.parseReply(cn.rd); err != nil {
setCmdsErr(cmds[1:len(cmds)-1], err)
return err
}
@ -124,14 +123,10 @@ func (c *Multi) execCmds(cn *conn, cmds []Cmder) error {
// Loop starts from 1 to omit MULTI cmd.
for i := 1; i < cmdsLen; i++ {
cmd := cmds[i]
val, err := cmd.parseReply(cn.rd)
if err != nil {
cmd.setErr(err)
if err := cmd.parseReply(cn.rd); err != nil {
if firstCmdErr == nil {
firstCmdErr = err
}
} else {
cmd.setVal(val)
}
}