Skip to content
Snippets Groups Projects
Commit 4380b50a authored by Valerio Pastore's avatar Valerio Pastore
Browse files

fix rcv packet

parent 381eef39
No related branches found
No related tags found
No related merge requests found
......@@ -20,11 +20,11 @@ RedisReceiver::RedisReceiver(std::string hs, int prt, std::string key) {
int RedisReceiver::connectToClient() {
context = redisConnect(getHost().c_str(), getPort());
if (context == NULL || context->err) {
if (context) {
printf("Error: %s\n", context->errstr);
} else {
printf("Can't allocate redis context\n");
}
if (context) {
printf("Error: %s\n", context->errstr);
} else {
printf("Can't allocate redis context\n");
}
}
return 1;
}
......@@ -41,13 +41,18 @@ int RedisReceiver::connectToServer() {
* @return number of bytes received [-1 error, 0 done]
*/
int RedisReceiver::rcvPacketFromCli(BasePacket &pack) {
redisReply *r = (redisReply *) redisCommand(context, "RPOP %s %b",key, (char *)pack.getBufferPtr());
if(r){
std::string cmd("RPOP ");
cmd.append(key);
redisReply *r = (redisReply *) redisCommand(context, cmd.c_str());
if(r->type == REDIS_REPLY_STRING){
int sizeRead = r->len;
memcpy(pack.getBufferPtr(), r->str, sizeRead);
pack.computeHeaderFieldValues();
std::cout << pack.toString() << std::endl;
return pack.getPacketSize();
freeReplyObject(r);
return sizeRead;
}
return -1;
}
int RedisReceiver::sendPacketToSrv(BasePacket &pack) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment