static void sfw_be_rem_change (RemReader_t *rrp, Change_t *cp) { ctrc_printd (RTPS_ID, RTPS_SFW_BE_REM, &rrp, sizeof (rrp)); prof_start (rtps_bw_rem); RR_SIGNAL (rrp, "BE-RemChange"); #ifdef RTPS_MARKERS if (rrp->rr_writer->endpoint.mark_rmch) rtps_marker_notify (rrp->rr_writer->endpoint.endpoint, EM_REM_CHANGE, "sfw_be_rem_change"); #endif change_remove (rrp, cp); prof_stop (rtps_bw_rem, 1); CACHE_CHECK (&rrp->rr_writer->endpoint, "sfw_be_rem_change"); }
bool Game::update_game(std::string message) { Json::Value root; Json::Reader reader; reader.parse(message,root,false); if(root["type"].asString() != "changes") { return false; } Json::Value changes = root["args"]["changes"]; std::stringstream convert; for(int i = 0; i < changes.size(); i++) { convert<<changes[i]; if(changes[i]["action"].asString() == "add") { change_add(convert.str()); } else if(changes[i]["action"].asString() == "remove") { change_remove(convert.str()); } else if(changes[i]["action"].asString() == "update") { change_update(convert.str()); } else if(changes[i]["action"].asString() == "global_update") { change_global_update(convert.str()); } convert.str(std::string()); } return true; }