int main(){ MYSQL *mysql = mysql_init(NULL); if (!mysql) return 0; if (!mysql_real_connect(mysql,ip,usrname,passwd,db,port,NULL,0)){ int ret = mysql_errno(mysql); printf("connect mysql error host: %s user %s passwd: %s ret: %d\n",ip,usrname,passwd,ret); mysql_close(mysql); return 0; } mysqlConn = calloc(1,sizeof(*mysqlConn)); mysqlConn->mysqlConn = mysql; mysqlConn->engine = kn_new_engine(); mysqlConn->thd = kn_create_thread(THREAD_JOINABLE); kn_thread_start_run(mysqlConn->thd,mysql_worker,(void*)mysqlConn); engine_t engine = kn_new_engine(); handle_t h = kn_new_chrdev(0); if(!h) return 0; kn_chrdev_associate(h,engine,chr_transfer_finish,NULL); st_io io; io.next.next = NULL; struct iovec wbuf[1]; char buf[4096]; wbuf[0].iov_base = buf; wbuf[0].iov_len = 4096; io.iovec_count = 1; io.iovec = wbuf; kn_chrdev_read(h,&io); kn_engine_run(engine); return 0; }
void *routine22(void *arg) { printf("routine22\n"); engine_t p = kn_new_engine(); mailbox2 = kn_setup_mailbox(p,on_mail22); kn_engine_run(p); return NULL; }
void *routine2(void *arg) { printf("routine2\n"); engine_t p = kn_new_engine(); kn_setup_mailbox(p,on_mail2); pid = pthread_self(); kn_engine_run(p); return NULL; }
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; }
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; }
int main(int argc,char **argv){ signal(SIGPIPE,SIG_IGN); kn_addr_init_in(&remote,argv[1],atoi(argv[2])); engine_t p = kn_new_engine(); ut_socket_init(p); uscheduler_init(8192); int uthread_count = atoi(argv[3]); int i =0; for(; i < uthread_count; ++i){ ut_spawn(uthread_worker,NULL); } ut_socket_run(); return 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; }
void *routine1(void *arg) { printf("routine1\n"); engine_t p = kn_new_engine(); kn_setup_mailbox(p,on_mail1); while(is_empty_ident(mailbox2)){ FENCE(); kn_sleepms(1); } int i = 0; for(; i < 10000; ++i){ kn_send_mail(mailbox2,(void*)1,NULL); } kn_engine_run(p); return NULL; }
void *routine1(void *arg) { printf("routine1\n"); engine_t p = kn_new_engine(); kn_setup_mailbox(p,on_mail1); while(!pid)kn_sleepms(1); kn_thread_mailbox_t mailbox = kn_query_mailbox(pid); if(is_empty_ident((ident)mailbox)){ printf("error\n"); exit(0); } int i = 0; for(; i < 10000; ++i){ kn_send_mail(mailbox,(void*)1,NULL); } kn_engine_run(p); return NULL; }
int main(int argc,char **argv){ signal(SIGPIPE,SIG_IGN); //create ioworker and logicprocessor logicprocessor_t logic = create_logic(on_new_connection,on_packet,on_disconnected); _worker = ioworker_new(logic); //run net worker thread ioworker_startrun(_worker); //run logic process thread logic_startrun(logic); //start listen 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); if(0 == kn_sock_listen(l,&local)){ kn_engine_associate(p,l,on_accept); kn_engine_run(p); } return 0; }