int main(int argc,char **argv){ signal(SIGPIPE,SIG_IGN); e = engine_new(); sockaddr_ server; easy_sockaddr_ip4(&server,argv[1],atoi(argv[2])); uint32_t size = atoi(argv[3]); uint32_t i = 0; for( ; i < size; ++i){ int32_t fd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); easy_noblock(fd,1); int32_t ret; if(0 == (ret = easy_connect(fd,&server,NULL))) on_connected(fd,0,e); else if(ret == -EINPROGRESS){ connector *c = connector_new(fd,e,2000); engine_associate(e,c,on_connected); }else{ close(fd); printf("connect to %s %d error\n",argv[1],atoi(argv[2])); } } //engine_regtimer(e,1000,timer_callback,NULL); engine_run(e); return 0; }
static int32_t loop_add(chk_event_loop *e,chk_handle *h,chk_event_callback cb) { int32_t ret; ret = chk_watch_handle(e,h,CHK_EVENT_READ); if(ret == chk_error_ok) { easy_noblock(h->fd,1); cast(chk_acceptor*,h)->cb = cast(chk_acceptor_cb,cb); } return ret; }