Example #1
0
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 ;
}