Exemplo n.º 1
0
int main(){
	signal(SIGPIPE,SIG_IGN);
	p = kn_new_engine();
	if(0 != kn_redisAsynConnect(p,"127.0.0.1",6379,cb_redis_connect,cb_redis_disconnected,NULL)){
		printf("kn_redisAsynConnect failed\n");
		return 0;
	}
	kn_reg_timer(p,1000,timer_callback,NULL);	
	kn_engine_run(p);
	return 0;
}
Exemplo n.º 2
0
int main(int argc,char **argv){
	signal(SIGPIPE,SIG_IGN);
	engine_t p = kn_new_engine();
	kn_sockaddr local;
	kn_addr_init_in(&local,argv[1],atoi(argv[2]));
	
	handle_t l = kn_new_sock(AF_INET,SOCK_STREAM,IPPROTO_TCP);
	kn_sock_listen(p,l,&local,on_accept,p);
	kn_reg_timer(p,1000,timer_callback,NULL);		
	kn_engine_run(p);
	return 0;
}
Exemplo n.º 3
0
void *mysql_worker(void *arg)
{
	kn_setup_mailbox(mysqlConn->engine,MODE_FAST,on_mail);
	mysqlConn->thd_mailbox = kn_self_mailbox();
	//ping every 5 min
	mysqlConn->ping_timer = kn_reg_timer(mysqlConn->engine,5*60*1000,timer_callback,NULL);
	kn_engine_run(mysqlConn->engine);
	kn_del_timer(mysqlConn->ping_timer);
	if(mysqlConn->error){
		printf("worker stop by error:%d\n",mysqlConn->error);
	}
    return NULL;
}
Exemplo n.º 4
0
CURLMcode kn_CURLM_add(kn_CURLM_t cm,kn_CURL_t curl,void (*cb)(kn_CURL_t,CURLMsg *message,void*),void*ud){
	if(0 != kn_dlist_push(&cm->curls,(kn_dlist_node*)curl))
		return CURLM_ADDED_ALREADY;
	curl->cb = cb;
	curl->ud = ud;
	curl->c_handle = cm;
	CURLMcode code = curl_multi_add_handle(cm->c_handle,curl->curl);
	if(code != CURLM_OK) kn_dlist_remove((kn_dlist_node*)curl);
	else{
		curl_easy_setopt(curl->curl,CURLOPT_PRIVATE,curl);
		if(!cm->timer) cm->timer = kn_reg_timer(cm->e,1,timer_callback,cm);
	}
	return code;
}
Exemplo n.º 5
0
int main(){
	signal(SIGPIPE,SIG_IGN);
	engine_t p = kn_new_engine();
	curlm = kn_CURLM_init(p);
	int i = 0;
	for(; i < 1000; ++i){
		kn_CURL_t curl = kn_curl_easy_init();
		kn_curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/");
		kn_curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
		kn_CURLM_add(curlm,curl,cb_curl,NULL);
	}
	kn_reg_timer(p,1000,timer_callback,NULL);		
	kn_engine_run(p);
	return 0;
}