Ejemplo n.º 1
0
int main(int argc,char **argv){
	kn_net_open();	
	kn_proactor_t p = kn_new_proactor();
	kn_sockaddr local;
	kn_fd_t l;
	kn_addr_init_in(&local,argv[1],atoi(argv[2]));
	l = kn_dgram_listen(p,SOCK_DGRAM,&local,transfer_finish);	
 	struct dgram_session *session = calloc(1,sizeof(*session));
	session->s = l;  
 	kn_fd_setud(l,session);
 	dgram_session_recv(session);    		
 	uint64_t tick,now;
    tick = now = kn_systemms64();	
	while(1){
		kn_proactor_run(p,50);
        now = kn_systemms64();
		if(now - tick > 1000)
		{
            uint32_t elapse = (uint32_t)(now-tick);
            totalbytes = (totalbytes/elapse)/1024;
			printf("totalbytes:%lldMB/s\n",totalbytes);
			tick = now;
			totalbytes = 0;
		}		
	}
	return 0;
}
Ejemplo n.º 2
0
void *routine2(void *arg)
{
	printf("routine2\n");
	kn_proactor_t p = kn_new_proactor();
	kn_channel_bind(p,channel2,on_msg2,NULL);
	while(1){
		kn_proactor_run(p,50);	
	}		
    return NULL;
}
Ejemplo n.º 3
0
int main(int argc,char **argv){
	signal(SIGPIPE,SIG_IGN);	
	if(loadconfig() != 0){
		return 0;
	}
	signal(SIGINT,sig_int);
	t_proactor = kn_new_proactor();	
	if(!init())
		return 0;
	while(!stop)
		kn_proactor_run(t_proactor,50);
	return 0;	
}
Ejemplo n.º 4
0
int main(int argc,char **argv){
	kn_net_open();	
	kn_proactor_t p = kn_new_proactor();
	kn_sockaddr remote;
	kn_addr_init_un(&remote,argv[1]);
	int client_count = atoi(argv[2]);
	int i = 0;
	send_size = atoi(argv[3]);
	for(; i < client_count; ++i){
		kn_asyn_connect(p,0,SOCK_STREAM,NULL,&remote,on_connect,(void*)p,30000);
	} 
	while(1){
		kn_proactor_run(p,50);
	}
	return 0;
}
Ejemplo n.º 5
0
int main(int argc,char **argv){
	kn_net_open();	
	kn_proactor_t p = kn_new_proactor();
	kn_sockaddr local;
	kn_addr_init_in(&local,argv[1],atoi(argv[2]));
	kn_listen(p,&local,on_accept,(void*)p);
 	uint64_t tick,now;
    tick = now = kn_systemms64();	
	while(1){
		kn_proactor_run(p,50);
        now = kn_systemms64();
		if(now - tick > 1000)
		{
            uint32_t elapse = (uint32_t)(now-tick);
            totalbytes = (totalbytes/elapse)/1024;
			printf("client_count:%d,totalbytes:%lldMB/s\n",client_count,totalbytes);
			tick = now;
			totalbytes = 0;
		}		
	}
	return 0;
}
Ejemplo n.º 6
0
int main(int argc,char **argv)
{
	kn_net_open();		
	kn_proactor_t p = kn_new_proactor();
	kn_sockaddr local;
	kn_addr_init_in(&local,argv[1],atoi(argv[2]));		
	kn_stream_server_t s = kn_new_stream_server(p,&local,new_client);
	uint64_t tick,now;
    tick = now = kn_systemms64();	
	while(1){
		kn_proactor_run(p,50);
        now = kn_systemms64();
		if(now - tick > 1000)
		{
            uint32_t elapse = (uint32_t)(now-tick);
            recvcount = recvcount*1000/elapse;
			printf("client_count:%d,recvcount:%d/s,buffer_count:%u\n",client_count,recvcount,buffer_count);
			tick = now;
			recvcount = 0;
		}		
	}	
	return 0;
}
Ejemplo n.º 7
0
void *routine1(void *arg)
{
	printf("routine1\n");
	kn_proactor_t p = kn_new_proactor();
	kn_channel_bind(p,channel1,on_msg1,NULL);
	int i = 0;
	for(; i < 10000; ++i){
		kn_channel_putmsg(channel2,NULL,malloc(1));
	}
 	uint64_t tick,now;
    tick = now = kn_systemms64();	
	while(1){
		kn_proactor_run(p,50);
        now = kn_systemms64();
		if(now - tick > 1000)
		{
            uint32_t elapse = (uint32_t)(now-tick);
			printf("count:%d\n",count/elapse*1000);
			tick = now;
			count = 0;
		}		
	}	
    return NULL;
}