[fix] un-refactor the code. [perf] replyWithStatus now makes usage of addReplyProto

This commit is contained in:
filipecosta90 2019-09-23 23:45:31 +01:00
parent 4a30a26f8f
commit 733280d9cb

View File

@ -1120,6 +1120,19 @@ int RM_ReplyWithLongLong(RedisModuleCtx *ctx, long long ll) {
return REDISMODULE_OK; return REDISMODULE_OK;
} }
/* Reply with an error or simple string (status message). Used to implement
* ReplyWithSimpleString() and ReplyWithError().
* The function always returns REDISMODULE_OK. */
int replyWithStatus(RedisModuleCtx *ctx, const char *msg, char *prefix) {
client *c = moduleGetReplyClient(ctx);
if (c == NULL) return REDISMODULE_OK;
const size_t len = strlen(msg);
addReplyProto(c,"-",1);
addReplyProto(c,msg,len);
addReplyProto(c,"\r\n",2);
return REDISMODULE_OK;
}
/* Reply with the error 'err'. /* Reply with the error 'err'.
* *
* Note that 'err' must contain all the error, including * Note that 'err' must contain all the error, including
@ -1135,13 +1148,7 @@ int RM_ReplyWithLongLong(RedisModuleCtx *ctx, long long ll) {
* The function always returns REDISMODULE_OK. * The function always returns REDISMODULE_OK.
*/ */
int RM_ReplyWithError(RedisModuleCtx *ctx, const char *err) { int RM_ReplyWithError(RedisModuleCtx *ctx, const char *err) {
client *c = moduleGetReplyClient(ctx); return replyWithStatus(ctx,err,"-");
if (c == NULL) return REDISMODULE_OK;
const size_t len = strlen(err);
addReplyProto(c,"-",1);
addReplyProto(c,err,len);
addReplyProto(c,"\r\n",2);
return REDISMODULE_OK;
} }
/* Reply with a simple string (+... \r\n in RESP protocol). This replies /* Reply with a simple string (+... \r\n in RESP protocol). This replies
@ -1150,13 +1157,7 @@ int RM_ReplyWithError(RedisModuleCtx *ctx, const char *err) {
* *
* The function always returns REDISMODULE_OK. */ * The function always returns REDISMODULE_OK. */
int RM_ReplyWithSimpleString(RedisModuleCtx *ctx, const char *msg) { int RM_ReplyWithSimpleString(RedisModuleCtx *ctx, const char *msg) {
client *c = moduleGetReplyClient(ctx); return replyWithStatus(ctx,msg,"+");
if (c == NULL) return REDISMODULE_OK;
const size_t len = strlen(msg);
addReplyProto(c,"+",1);
addReplyProto(c,msg,len);
addReplyProto(c,"\r\n",2);
return REDISMODULE_OK;
} }
/* Reply with an array type of 'len' elements. However 'len' other calls /* Reply with an array type of 'len' elements. However 'len' other calls