mirror of
https://github.com/fluencelabs/redis
synced 2025-04-02 15:51:05 +00:00
Static buffer in client struct has a constant size
This commit is contained in:
parent
9e83ac06ef
commit
f335779240
@ -11,11 +11,7 @@ int listMatchObjects(void *a, void *b) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
redisClient *createClient(int fd) {
|
redisClient *createClient(int fd) {
|
||||||
redisClient *c;
|
redisClient *c = zmalloc(sizeof(redisClient));
|
||||||
|
|
||||||
/* Allocate more space to hold a static write buffer. */
|
|
||||||
c = zmalloc(sizeof(redisClient)+REDIS_REPLY_CHUNK_BYTES);
|
|
||||||
c->buflen = REDIS_REPLY_CHUNK_BYTES;
|
|
||||||
c->bufpos = 0;
|
c->bufpos = 0;
|
||||||
|
|
||||||
anetNonBlock(NULL,fd);
|
anetNonBlock(NULL,fd);
|
||||||
@ -84,7 +80,7 @@ robj *dupLastObjectIfNeeded(list *reply) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int _addReplyToBuffer(redisClient *c, char *s, size_t len) {
|
int _addReplyToBuffer(redisClient *c, char *s, size_t len) {
|
||||||
size_t available = c->buflen-c->bufpos;
|
size_t available = sizeof(c->buf)-c->bufpos;
|
||||||
|
|
||||||
/* If there already are entries in the reply list, we cannot
|
/* If there already are entries in the reply list, we cannot
|
||||||
* add anything more to the static buffer. */
|
* add anything more to the static buffer. */
|
||||||
|
@ -313,8 +313,7 @@ typedef struct redisClient {
|
|||||||
|
|
||||||
/* Response buffer */
|
/* Response buffer */
|
||||||
int bufpos;
|
int bufpos;
|
||||||
int buflen;
|
char buf[REDIS_REPLY_CHUNK_BYTES];
|
||||||
char buf[];
|
|
||||||
} redisClient;
|
} redisClient;
|
||||||
|
|
||||||
struct saveparam {
|
struct saveparam {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user