void Msg20::reset() { // not allowed to reset one in progress if ( m_inProgress ) { // do not core on abrupt exits! if (g_process.m_mode == Process::EXIT_MODE ) { log("msg20: msg20 not being freed because exiting."); return; } // otherwise core g_process.shutdownAbort(true); } m_launched = false; if ( m_request ) { mfree( m_request, m_requestSize, "Msg20rb1" ); } freeReply(); m_request = NULL; // the request buf ptr m_gotReply = false; m_errno = 0; m_requestDocId = -1LL; m_callback = NULL; m_state = NULL; m_ownReply = true; m_requestSize = 0; m_replySize = 0; m_replyMaxSize = 0; m_callback2 = NULL; }
void Command<ReplyT>::processReply(redisReply* r) { reply_obj_ = r; if(reply_obj_ == nullptr) { reply_status_ = ERROR_REPLY; logger_.error() << "Received null redisReply* from hiredis."; Redox::disconnectedCallback(rdx_->ctx_, REDIS_ERR); } else { lock_guard<mutex> lg(reply_guard_); parseReplyObject(); } invoke(); pending_--; waiting_done_ = true; waiter_.notify_all(); // Always free the reply object for repeating commands if(repeat_ > 0) { freeReply(); } else { // User calls .free() if (!free_memory_) return; // Free non-repeating commands automatically // once we receive expected replies if(pending_ == 0) free(); } }
void Msg20::reset() { //log("msg20: resetting msg20=0x%"PTRFMT" reply=0x%"PTRFMT"", // (PTRTYPE)this,(PTRTYPE)m_r); if ( ! m_owningParent ) { char *xx=NULL;*xx=0; } // not allowed to reset one in progress if ( m_inProgress ) { // do not core on abrupt exits! if (g_process.m_mode == EXIT_MODE ) { log("msg20: msg20 not being freed because exiting."); return; } // otherwise core char *xx=NULL;*xx=0; } m_launched = false; if ( m_request && m_request != m_requestBuf ) mfree ( m_request , m_requestSize , "Msg20rb1" ); freeReply(); //if ( m_r ) m_r->destructor(); //if ( m_r && m_ownReply ) //&& (char *)m_r != m_replyBuf ) // mfree ( m_r , m_replyMaxSize , "Msg20b" ); //m_r = NULL; // the reply ptr m_request = NULL; // the request buf ptr m_gotReply = false; m_errno = 0; m_requestDocId = -1LL; m_callback = NULL; m_callback2 = NULL; m_state = NULL; m_ownReply = true; // resets m_pqr_old_score = 0.0; m_pqr_factor_quality = 1.0; m_pqr_factor_diversity = 1.0; m_pqr_factor_inlinkers = 1.0; m_pqr_factor_proximity = 1.0; m_pqr_factor_ctype = 1.0; m_pqr_factor_lang = 1.0; // includes country }
int main(int argc, char *argv[]) { char c; redis_client_st *redis_client; char config_path[1024]; if (argc <= 2) { printf("usage: ./%s -f xxx.conf", PROGRAME); return 1; } memset(config_path, 0, sizeof(config_path)); while (-1 != (c = getopt(argc, argv, "f:h"))) { switch (c) { case 'f': snprintf(config_path, sizeof(config_path), "%s", optarg); break; case '?': case 'h': printf("usage: ./%s -f xxx.conf", PROGRAME); break; } } redis_reply_st *reply = NULL; redis_client = redis_client_init(config_path); redis_return_st rc; printf("test add conn\n"); redis_add_conns(redis_client, "*****@*****.**", "*****@*****.**" ); reply = redis_query(redis_client, "sismember {[email protected]}_conns [email protected]"); assert(reply->integer == 1); freeReply(reply); printf("* "); printf("test add following\n"); redis_add_following(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_followings [email protected]"); assert(reply->integer == 1); freeReply(reply); reply = redis_query(redis_client, "sismember [email protected][email protected] 2233"); assert(reply->integer == 0); freeReply(reply); printf("* "); printf("test del conns\n"); redis_del_conns(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_conns [email protected]"); assert(reply->integer == 0); freeReply(reply); reply = redis_query(redis_client, "sismember [email protected]_followings [email protected] "); assert(reply->integer == 0); freeReply(reply); printf("* "); printf("test add_block\n"); redis_add_block(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_blocks [email protected]"); assert(reply->integer == 1); freeReply(reply); printf("* "); printf("test del_block\n"); redis_del_block(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_blocks [email protected]"); assert(reply->integer == 0); freeReply(reply); printf("* "); printf("test get_guids\n"); char **guid; int len; redis_get_guids(redis_client, "*****@*****.**", "*****@*****.**", &guid, &len); int i = 0; for (i = 0; i < len; i++) { printf("%s\n", guid[i]); } printf("* "); printf("test add_jid_to_group\n"); redis_add_jid_to_group(redis_client, "*****@*****.**", "*****@*****.**", "1221"); redis_add_jid_to_group(redis_client, "*****@*****.**", "*****@*****.**", "1221"); reply = redis_query(redis_client, "sismember {[email protected]}_group_1221 [email protected]"); assert(reply->integer == 1); freeReply(reply); //分組管理 printf("* "); printf("test del_jid_from_group\n"); redis_del_jid_from_group(redis_client, "*****@*****.**", "*****@*****.**", "1221"); reply = redis_query(redis_client, "sismember {[email protected]}_group_1221 [email protected]"); assert(reply->integer == 0); freeReply(reply); //分組管理 printf("* "); printf("test del group\n"); redis_del_group(redis_client, "*****@*****.**", "1221"); reply = redis_query(redis_client, "sismember {[email protected]}_group_1221 [email protected]"); assert(reply->integer == 0); freeReply(reply); //分組管理 printf("* "); printf("\nend\n"); return 1; }
int main(int argc, char *argv[]) { char c; redis_client_st *redis_client; char config_path[1024]; if (argc <= 2) { printf("usage: ./%s -f xxx.conf", PROGRAME); return 1; } memset(config_path, 0, sizeof(config_path)); while (-1 != (c = getopt(argc, argv, "f:h"))) { switch (c) { case 'f': snprintf(config_path, sizeof(config_path), "%s", optarg); break; case '?': case 'h': printf("usage: ./%s -f xxx.conf", PROGRAME); break; } } redis_reply_st *reply = NULL; redis_client = redis_client_init(config_path); redis_return_st rc; printf("test send_forbidden \n"); rc = redis_add_send_forFeedtype(redis_client, "*****@*****.**", "sync.gozap.com"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_feeds sync.gozap.com"); assert(reply->integer == 1); freeReply(reply); printf("* "); rc = redis_rem_send_forFeedtype(redis_client, "*****@*****.**", "sync.gozap.com"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_feeds sync.gozap.com"); assert(reply->integer == 0); freeReply(reply); printf("* "); rc = redis_add_send_forJid(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_jids [email protected]"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_send_forJid(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_jids [email protected]"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_add_send_forFeedtypeJid(redis_client, "*****@*****.**", "sync.gozap.com", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_sync.gozap.com [email protected]"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_send_forFeedtypeJid(redis_client, "*****@*****.**", "sync.gozap.com", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_send_forbidden_sync.gozap.com [email protected]"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); printf("\n end \n"); printf("test receive_forbidden \n"); rc = redis_add_receive_forFeedtype(redis_client, "*****@*****.**", "sync"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_feeds sync"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_receive_forFeedtype(redis_client, "*****@*****.**", "sync"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_feeds sync"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_add_receive_forJid(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_jids [email protected]"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_receive_forJid(redis_client, "*****@*****.**", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_jids [email protected]"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_add_receive_forFeedtypeJid(redis_client, "*****@*****.**", "sync", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_sync [email protected]"); assert(reply->integer == 1); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); rc = redis_rem_receive_forFeedtypeJid(redis_client, "*****@*****.**", "sync", "*****@*****.**"); reply = redis_query(redis_client, "sismember {[email protected]}_receive_forbidden_sync [email protected]"); assert(reply->integer == 0); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); printf("\n end \n"); printf("set auto\n"); rc = redis_set_feed_auto(redis_client, "*****@*****.**", "1212",1); reply = redis_query(redis_client, "get {[email protected]}_1212_auto"); assert(strcmp(reply->str,"1")==0 ); assert(rc == REDIS_SUCCESS); freeReply(reply); printf("* "); char *feed = "10001"; rc = redis_create_gozap_feed(redis_client, feed); reply = redis_query(redis_client, "sismember gozap_feeds %s", feed); assert(reply->integer == 1); freeReply(reply); printf("* "); char *comps[] = {"sync", "link"}; rc = redis_set_gozap_feed_comp(redis_client, feed, comps ,2); reply = redis_query(redis_client, "sismember {%s}_comps sync", feed); assert(reply->integer == 1); freeReply(reply); reply = redis_query(redis_client, "sismember {%s}_comps link", feed); assert(reply->integer == 1); freeReply(reply); printf("* "); rc = redis_add_gozap_feed_process(redis_client, feed, "process2" ); reply = redis_query(redis_client, "sismember {%s}_processes process2", feed); assert(reply->integer == 1); freeReply(reply); assert(rc == REDIS_SUCCESS); printf("* "); rc = redis_del_gozap_feed_type(redis_client, feed); reply = redis_query(redis_client, "sismember gozap_feeds %s", feed); assert(reply->integer == 0); freeReply(reply); printf("* "); reply = redis_query(redis_client, "EXISTS {%s}_comps", feed); assert(reply->integer == 0); freeReply(reply); printf("* "); reply = redis_query(redis_client, "EXISTS {%s}_processes", feed); assert(reply->integer == 0); freeReply(reply); printf("* "); assert(rc == REDIS_SUCCESS); printf("* "); printf("\nend\n"); return 1; }