void test1(){ wheelmgr *m = wheelmgr_new(); i = systick64(); wheelmgr_register(m,50,callback1,"ms",i); wheelmgr_tick(m,i + 1); wheelmgr_tick(m,i + 1000); printf("%d\n",count); }
int32_t timer_callback(uint32_t event,uint64_t _,void *ud){ if(event == TEVENT_TIMEOUT){ uint64_t now = systick64(); printf("count:%lld/s\n",count*1000/(now-last)); last = now; count = 0; } return 0; }
void test2(){ count = 0; wheelmgr *m = wheelmgr_new(); i = systick64(); wheelmgr_register(m,1000*3600*23,callback2,"hour",i); wheelmgr_register(m,MAX_TIMEOUT,callback2,"hour",i); wheelmgr_register(m,1000,callback2,"sec",i); wheelmgr_register(m,1001,callback2,"sec",i); wheelmgr_register(m,60*1000,callback2,"min",i); wheelmgr_register(m,2*60*1000,callback2,"min",i); wheelmgr_register(m,5*60*1000 + 102,callback2,"min",i); while(1){ ++count; wheelmgr_tick(m,++i);//systick64()); //SLEEPMS(0); } }
int main(int argc,char **argv){ if(argc < 2){ printf("useage redis_streass set/get\n"); exit(0); } int i; int testset = 0; signal(SIGPIPE,SIG_IGN); engine *e = engine_new(); sockaddr_ server; easy_sockaddr_ip4(&server,"127.0.0.1",6379); redis_conn *redis_client = redis_connect(e,&server,on_disconnect); if(!redis_client){ printf("connect to redis server %s:%u error\n","127.0.0.1",6379); return 0; } if(argc >= 2 && strcmp(argv[1],"set") == 0) testset = 1; for(i = 0; i < 1000; ++i){ char buff[1024]; if(!testset){ //snprintf(buff,1024,"hmget chaid:%d chainfo skills",i + 1); int tmp = i + 1; redis_execute(redis_client,"hmget chaid:1 chainfo skills",cmd_callback,(void*)tmp); }else{ snprintf(buff,1024,"hmset chaid:%d chainfo %s skills %s", i + 1,"fasfsafasfsaf\rasfasfasdfsadfasdfasdfasfdfasdfasfdasdfasdf", "fasdfasfasdfdsafdsafs\nadfsafa\r\nsdfsadfsadfasdfsadfsdafsdafsadfsdf" ); redis_execute(redis_client,buff,NULL,NULL); } } engine_regtimer(e,1000,timer_callback,NULL); last = systick64(); engine_run(e); return 0; }
int32_t callback1(uint32_t _0,uint64_t _1,void *_2){ printf("%s,%lld\n",(const char *)_2,systick64() - _1); ++count; return 0; }