int UdpHandler::process_action_monitor(const string& rule_name,const string& app_name,const string& seq,const sa_in_t& from_addr) { Counter* counter = get_app().get_counter(rule_name,app_name) ; if(counter == NULL ) { send_response(from_addr,-1,"not exist",seq.c_str()) ; } else { char buffer[256] = {0} ; int len = snprintf(buffer,sizeof(buffer), "{\"code\":0,\"message\":\"ok\",\"message\":\"%s\",\"data\":{\"counter\":%d,\"node_offset\":%d}}", seq.c_str(),counter->data().counter , counter->data().node_offset); return this->send(&from_addr,buffer,len) ; } return 0 ; }