Rename *ReplyReader* to *Reader*
This commit is contained in:
parent
0ee7c66818
commit
965d42640f
38
hiredis.c
38
hiredis.c
@ -181,7 +181,7 @@ static void *createNilObject(const redisReadTask *task) {
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __redisReplyReaderSetError(redisReader *r, int type, const char *str) {
|
static void __redisReaderSetError(redisReader *r, int type, const char *str) {
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
if (r->reply != NULL && r->fn && r->fn->freeObject) {
|
if (r->reply != NULL && r->fn && r->fn->freeObject) {
|
||||||
@ -207,17 +207,17 @@ static void __redisReplyReaderSetError(redisReader *r, int type, const char *str
|
|||||||
r->errstr[len] = '\0';
|
r->errstr[len] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __redisReplyReaderSetErrorProtocolByte(redisReader *r, char byte) {
|
static void __redisReaderSetErrorProtocolByte(redisReader *r, char byte) {
|
||||||
char cbuf[8], sbuf[128];
|
char cbuf[8], sbuf[128];
|
||||||
|
|
||||||
chrtos(cbuf,sizeof(cbuf),byte);
|
chrtos(cbuf,sizeof(cbuf),byte);
|
||||||
snprintf(sbuf,sizeof(sbuf),
|
snprintf(sbuf,sizeof(sbuf),
|
||||||
"Protocol error, got %s as reply type byte", cbuf);
|
"Protocol error, got %s as reply type byte", cbuf);
|
||||||
__redisReplyReaderSetError(r,REDIS_ERR_PROTOCOL,sbuf);
|
__redisReaderSetError(r,REDIS_ERR_PROTOCOL,sbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __redisReplyReaderSetErrorOOM(redisReader *r) {
|
static void __redisReaderSetErrorOOM(redisReader *r) {
|
||||||
__redisReplyReaderSetError(r,REDIS_ERR_OOM,"Out of memory");
|
__redisReaderSetError(r,REDIS_ERR_OOM,"Out of memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *readBytes(redisReader *r, unsigned int bytes) {
|
static char *readBytes(redisReader *r, unsigned int bytes) {
|
||||||
@ -347,7 +347,7 @@ static int processLineItem(redisReader *r) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (obj == NULL) {
|
if (obj == NULL) {
|
||||||
__redisReplyReaderSetErrorOOM(r);
|
__redisReaderSetErrorOOM(r);
|
||||||
return REDIS_ERR;
|
return REDIS_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -397,7 +397,7 @@ static int processBulkItem(redisReader *r) {
|
|||||||
/* Proceed when obj was created. */
|
/* Proceed when obj was created. */
|
||||||
if (success) {
|
if (success) {
|
||||||
if (obj == NULL) {
|
if (obj == NULL) {
|
||||||
__redisReplyReaderSetErrorOOM(r);
|
__redisReaderSetErrorOOM(r);
|
||||||
return REDIS_ERR;
|
return REDIS_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -422,7 +422,7 @@ static int processMultiBulkItem(redisReader *r) {
|
|||||||
|
|
||||||
/* Set error for nested multi bulks with depth > 1 */
|
/* Set error for nested multi bulks with depth > 1 */
|
||||||
if (r->ridx == 2) {
|
if (r->ridx == 2) {
|
||||||
__redisReplyReaderSetError(r,REDIS_ERR_PROTOCOL,
|
__redisReaderSetError(r,REDIS_ERR_PROTOCOL,
|
||||||
"No support for nested multi bulk replies with depth > 1");
|
"No support for nested multi bulk replies with depth > 1");
|
||||||
return REDIS_ERR;
|
return REDIS_ERR;
|
||||||
}
|
}
|
||||||
@ -438,7 +438,7 @@ static int processMultiBulkItem(redisReader *r) {
|
|||||||
obj = (void*)REDIS_REPLY_NIL;
|
obj = (void*)REDIS_REPLY_NIL;
|
||||||
|
|
||||||
if (obj == NULL) {
|
if (obj == NULL) {
|
||||||
__redisReplyReaderSetErrorOOM(r);
|
__redisReaderSetErrorOOM(r);
|
||||||
return REDIS_ERR;
|
return REDIS_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ static int processMultiBulkItem(redisReader *r) {
|
|||||||
obj = (void*)REDIS_REPLY_ARRAY;
|
obj = (void*)REDIS_REPLY_ARRAY;
|
||||||
|
|
||||||
if (obj == NULL) {
|
if (obj == NULL) {
|
||||||
__redisReplyReaderSetErrorOOM(r);
|
__redisReaderSetErrorOOM(r);
|
||||||
return REDIS_ERR;
|
return REDIS_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -502,7 +502,7 @@ static int processItem(redisReader *r) {
|
|||||||
cur->type = REDIS_REPLY_ARRAY;
|
cur->type = REDIS_REPLY_ARRAY;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
__redisReplyReaderSetErrorProtocolByte(r,*p);
|
__redisReaderSetErrorProtocolByte(r,*p);
|
||||||
return REDIS_ERR;
|
return REDIS_ERR;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -527,7 +527,7 @@ static int processItem(redisReader *r) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
redisReader *redisReplyReaderCreate(void) {
|
redisReader *redisReaderCreate(void) {
|
||||||
redisReader *r;
|
redisReader *r;
|
||||||
|
|
||||||
r = calloc(sizeof(redisReader),1);
|
r = calloc(sizeof(redisReader),1);
|
||||||
@ -542,7 +542,7 @@ redisReader *redisReplyReaderCreate(void) {
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
void redisReplyReaderFree(redisReader *r) {
|
void redisReaderFree(redisReader *r) {
|
||||||
if (r->reply != NULL && r->fn && r->fn->freeObject)
|
if (r->reply != NULL && r->fn && r->fn->freeObject)
|
||||||
r->fn->freeObject(r->reply);
|
r->fn->freeObject(r->reply);
|
||||||
if (r->buf != NULL)
|
if (r->buf != NULL)
|
||||||
@ -550,7 +550,7 @@ void redisReplyReaderFree(redisReader *r) {
|
|||||||
free(r);
|
free(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
void redisReplyReaderFeed(redisReader *r, const char *buf, size_t len) {
|
void redisReaderFeed(redisReader *r, const char *buf, size_t len) {
|
||||||
/* Copy the provided buffer. */
|
/* Copy the provided buffer. */
|
||||||
if (buf != NULL && len >= 1) {
|
if (buf != NULL && len >= 1) {
|
||||||
/* Destroy internal buffer when it is empty and is quite large. */
|
/* Destroy internal buffer when it is empty and is quite large. */
|
||||||
@ -565,7 +565,7 @@ void redisReplyReaderFeed(redisReader *r, const char *buf, size_t len) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int redisReplyReaderGetReply(redisReader *r, void **reply) {
|
int redisReaderGetReply(redisReader *r, void **reply) {
|
||||||
/* Default target pointer to NULL. */
|
/* Default target pointer to NULL. */
|
||||||
if (reply != NULL)
|
if (reply != NULL)
|
||||||
*reply = NULL;
|
*reply = NULL;
|
||||||
@ -854,7 +854,7 @@ static redisContext *redisContextInit(void) {
|
|||||||
c->err = 0;
|
c->err = 0;
|
||||||
c->errstr[0] = '\0';
|
c->errstr[0] = '\0';
|
||||||
c->obuf = sdsempty();
|
c->obuf = sdsempty();
|
||||||
c->reader = redisReplyReaderCreate();
|
c->reader = redisReaderCreate();
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -864,7 +864,7 @@ void redisFree(redisContext *c) {
|
|||||||
if (c->obuf != NULL)
|
if (c->obuf != NULL)
|
||||||
sdsfree(c->obuf);
|
sdsfree(c->obuf);
|
||||||
if (c->reader != NULL)
|
if (c->reader != NULL)
|
||||||
redisReplyReaderFree(c->reader);
|
redisReaderFree(c->reader);
|
||||||
free(c);
|
free(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -939,7 +939,7 @@ int redisBufferRead(redisContext *c) {
|
|||||||
__redisSetError(c,REDIS_ERR_EOF,"Server closed the connection");
|
__redisSetError(c,REDIS_ERR_EOF,"Server closed the connection");
|
||||||
return REDIS_ERR;
|
return REDIS_ERR;
|
||||||
} else {
|
} else {
|
||||||
redisReplyReaderFeed(c->reader,buf,nread);
|
redisReaderFeed(c->reader,buf,nread);
|
||||||
}
|
}
|
||||||
return REDIS_OK;
|
return REDIS_OK;
|
||||||
}
|
}
|
||||||
@ -980,7 +980,7 @@ int redisBufferWrite(redisContext *c, int *done) {
|
|||||||
/* Internal helper function to try and get a reply from the reader,
|
/* Internal helper function to try and get a reply from the reader,
|
||||||
* or set an error in the context otherwise. */
|
* or set an error in the context otherwise. */
|
||||||
int redisGetReplyFromReader(redisContext *c, void **reply) {
|
int redisGetReplyFromReader(redisContext *c, void **reply) {
|
||||||
if (redisReplyReaderGetReply(c->reader,reply) == REDIS_ERR) {
|
if (redisReaderGetReply(c->reader,reply) == REDIS_ERR) {
|
||||||
__redisSetError(c,REDIS_ERR_PROTOCOL,c->reader->errstr);
|
__redisSetError(c,REDIS_ERR_PROTOCOL,c->reader->errstr);
|
||||||
return REDIS_ERR;
|
return REDIS_ERR;
|
||||||
}
|
}
|
||||||
|
12
hiredis.h
12
hiredis.h
@ -132,12 +132,16 @@ typedef struct redisReader {
|
|||||||
} redisReader;
|
} redisReader;
|
||||||
|
|
||||||
/* Public API for the protocol parser. */
|
/* Public API for the protocol parser. */
|
||||||
redisReader *redisReplyReaderCreate(void);
|
redisReader *redisReaderCreate(void);
|
||||||
void redisReplyReaderFree(redisReader *r);
|
void redisReaderFree(redisReader *r);
|
||||||
void redisReplyReaderFeed(redisReader *r, const char *buf, size_t len);
|
void redisReaderFeed(redisReader *r, const char *buf, size_t len);
|
||||||
int redisReplyReaderGetReply(redisReader *r, void **reply);
|
int redisReaderGetReply(redisReader *r, void **reply);
|
||||||
|
|
||||||
/* Backwards compatibility, can be removed on big version bump. */
|
/* Backwards compatibility, can be removed on big version bump. */
|
||||||
|
#define redisReplyReaderCreate redisReaderCreate
|
||||||
|
#define redisReplyReaderFree redisReaderFree
|
||||||
|
#define redisReplyReaderFeed redisReaderFeed
|
||||||
|
#define redisReplyReaderGetReply redisReaderGetReply
|
||||||
#define redisReplyReaderSetPrivdata(_r, _p) (int)(((redisReader*)(_r))->privdata = (_p))
|
#define redisReplyReaderSetPrivdata(_r, _p) (int)(((redisReader*)(_r))->privdata = (_p))
|
||||||
#define redisReplyReaderGetObject(_r) (((redisReader*)(_r))->reply)
|
#define redisReplyReaderGetObject(_r) (((redisReader*)(_r))->reply)
|
||||||
#define redisReplyReaderGetError(_r) (((redisReader*)(_r))->errstr)
|
#define redisReplyReaderGetError(_r) (((redisReader*)(_r))->errstr)
|
||||||
|
Loading…
Reference in New Issue
Block a user