diff options
author | Michael Grunder <michael.grunder@gmail.com> | 2020-05-21 11:12:18 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-21 11:12:18 -0700 |
commit | 83bba659b9dbd6c77baf2ff27ff6342317869a3e (patch) | |
tree | fde9796e555b926aa5822fed02691859b84ee2e8 /read.c | |
parent | c8999c66024b0de347adecb774d14963c08a66db (diff) |
Add logic to handle RESP3 push messages (#819)
Fixes #815
Diffstat (limited to 'read.c')
-rw-r--r-- | read.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -250,7 +250,8 @@ static void moveToNextTask(redisReader *r) { prv = r->task[r->ridx-1]; assert(prv->type == REDIS_REPLY_ARRAY || prv->type == REDIS_REPLY_MAP || - prv->type == REDIS_REPLY_SET); + prv->type == REDIS_REPLY_SET || + prv->type == REDIS_REPLY_PUSH); if (cur->idx == prv->elements-1) { r->ridx--; } else { @@ -562,6 +563,9 @@ static int processItem(redisReader *r) { case '=': cur->type = REDIS_REPLY_VERB; break; + case '>': + cur->type = REDIS_REPLY_PUSH; + break; default: __redisReaderSetErrorProtocolByte(r,*p); return REDIS_ERR; @@ -587,6 +591,7 @@ static int processItem(redisReader *r) { case REDIS_REPLY_ARRAY: case REDIS_REPLY_MAP: case REDIS_REPLY_SET: + case REDIS_REPLY_PUSH: return processAggregateItem(r); default: assert(NULL); |