本文整理汇总了C++中createReplyObject函数的典型用法代码示例。如果您正苦于以下问题:C++ createReplyObject函数的具体用法?C++ createReplyObject怎么用?C++ createReplyObject使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了createReplyObject函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: createReplyObject
static void *createNilObject(const redisReadTask *task) {
redisReply *r, *parent;
r = createReplyObject(REDIS_REPLY_NIL);
if (r == NULL)
return NULL;
if (task->parent) {
parent = task->parent->obj;
assert(parent->type == REDIS_REPLY_ARRAY);
parent->element[task->idx] = r;
}
return r;
}
开发者ID:kuno,项目名称:python-stdnet,代码行数:14,代码来源:hiredis.c
示例2: PROXY_NOTUSED
void *notsupportCommandProc(proxyContext *p, int argc, char **argv, redisKeyInfo *keyInfo) {
PROXY_NOTUSED(p);
PROXY_NOTUSED(argc);
PROXY_NOTUSED(argv);
PROXY_NOTUSED(keyInfo);
redisReply *reply;
reply = createReplyObject(REDIS_REPLY_ERROR);
char err[1024];
sprintf(err, "ERR not support %s command in proxy", argv[0]);
reply->str = malloc(strlen(err)+1);
strcpy(reply->str, err);
return reply;
}
开发者ID:charsyam,项目名称:hiredis-proxy,代码行数:14,代码来源:proxy.c
示例3: createReplyObject
static void *createStringObject(const redisReadTask *task, char *str, size_t len) {
redisReply *r, *parent;
char *buf;
r = createReplyObject(task->type);
if (r == NULL)
return NULL;
buf = malloc(len+1);
if (buf == NULL) {
freeReplyObject(r);
return NULL;
}
/* Copy string value */
memcpy(buf,str,len);
buf[len] = '\0';
switch(task->type) {
case REDIS_REPLY_ERROR:
r->reply_error.str = buf;
r->reply_error.len = len;
break;
case REDIS_REPLY_STATUS:
r->reply_status.str = buf;
r->reply_status.len = len;
break;
case REDIS_REPLY_STRING:
r->reply_string.str = buf;
r->reply_string.len = len;
break;
default:
freeReplyObject(r);
return NULL;
}
if (task->parent) {
parent = task->parent->obj;
assert(parent->type == REDIS_REPLY_ARRAY);
parent->reply_array.element[task->idx] = r;
}
return r;
}
开发者ID:hdoreau,项目名称:hiredis,代码行数:43,代码来源:hiredis.c
示例4: redisReadLine
static redisReply *redisReadMultiBulkReply(int fd) {
sds replylen = redisReadLine(fd);
long elements, j;
redisReply *r;
if (replylen == NULL) return redisIOError();
elements = strtol(replylen,NULL,10);
sdsfree(replylen);
if (elements == -1)
return createReplyObject(REDIS_REPLY_NIL,sdsempty());
if ((r = malloc(sizeof(*r))) == NULL) redisOOM();
r->type = REDIS_REPLY_ARRAY;
r->elements = elements;
if ((r->element = malloc(sizeof(*r)*elements)) == NULL) redisOOM();
for (j = 0; j < elements; j++)
r->element[j] = redisReadReply(fd);
return r;
}
开发者ID:minaguib,项目名称:hiredis,代码行数:20,代码来源:hiredis.c
示例5: createReplyObject
static void *createStringObject(const redisReadTask *task, char *str, size_t len) {
redisReply *r = createReplyObject(task->type);
char *value = malloc(len+1);
if (!value) redisOOM();
assert(task->type == REDIS_REPLY_ERROR ||
task->type == REDIS_REPLY_STATUS ||
task->type == REDIS_REPLY_STRING);
/* Copy string value */
memcpy(value,str,len);
value[len] = '\0';
r->str = value;
r->len = len;
if (task->parent) {
redisReply *parent = task->parent->obj;
assert(parent->type == REDIS_REPLY_ARRAY);
parent->element[task->idx] = r;
}
return r;
}
开发者ID:emiraga,项目名称:wikigraph,代码行数:21,代码来源:hiredis.c
示例6: createReplyObject
static void *createArrayObject(const redisReadTask *task, int elements) {
redisReply *r, *parent;
r = createReplyObject(REDIS_REPLY_ARRAY);
if (r == NULL)
return NULL;
if (elements > 0) {
r->element = calloc(elements,sizeof(redisReply*));
if (r->element == NULL) {
freeReplyObject(r);
return NULL;
}
}
r->elements = elements;
if (task->parent) {
parent = task->parent->obj;
assert(parent->type == REDIS_REPLY_ARRAY);
parent->element[task->idx] = r;
}
return r;
}
开发者ID:esromneb,项目名称:hiredis,代码行数:24,代码来源:hiredis.c
示例7: createReplyObject
static redisReply *redisIOError(void) {
return createReplyObject(REDIS_REPLY_ERROR,sdsnew("I/O error"));
}
开发者ID:minaguib,项目名称:hiredis,代码行数:3,代码来源:hiredis.c
注:本文中的createReplyObject函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论