コード例 #1
0
ファイル: test_main.c プロジェクト: smilegoalworld/rain
static void
_link_exit(void *env,routine_t exitid,int code)
{
	test_t * tt = (test_t*)env;
	rain_debug(tt->ctx,"_link_exit,jsv8_test:%d,exitid:%d",tt->jsv8_test_id,exitid);
	rain_exit(tt->ctx,code);
}
コード例 #2
0
ファイル: test_main.c プロジェクト: smilegoalworld/rain
void *
test_init(rain_ctx_t *ctx,char *args)
{
	test_t * tt = malloc(sizeof(test_t));
	tt->ctx = ctx;
	tt->recvsize = 0;
	tt->cli = 0;
	char arg[1024];
	rain_debug(tt->ctx,"TestRunning,arguments:%s",args);
	fflush(stdout);
	int ret = 0;
	sprintf(arg,"ip=%s&port=%d&watchdog=%d&mode=%s","127.0.0.1",8100,rain_routineid(ctx),"epoll");
	ret = rain_spawn(ctx,"tcpsvr",arg,&(tt->tcpsvr_id));
	if(ret == RAIN_ERROR){
		free(tt);
		return NULL;
	}
	rain_link(ctx,tt->tcpsvr_id);
	ret = rain_spawn(ctx,"jsv8","test.js",&(tt->jsv8_test_id));
	if(ret == RAIN_ERROR){
		free(tt);
		return NULL;
	}
	rain_link(ctx,tt->jsv8_test_id);
	RAIN_CALLBACK(ctx,_recv,_recv_rsp,_link_exit,_time_out,NULL);
	rain_timeout(ctx,60.0,NULL);
	return tt;
}
コード例 #3
0
ファイル: test_main.c プロジェクト: smilegoalworld/rain
static void
_time_out(void *env,void *userdata)
{
	test_t * tt = (test_t*)env;
	rain_debug(tt->ctx,"_time_out");
	//rain_kill(tt->ctx,tt->tcpsvr_id,0);
	rain_kill(tt->ctx,tt->jsv8_test_id,0);
}
コード例 #4
0
ファイル: tcpsvr_server.c プロジェクト: wodconf/rain
int
tcpsvr_listen(tcpsvr_t* svr,const char *host,int port)
{
	svr->fd = wod_net_tcp_listen(TCP4,host,port);
	rain_debug(svr->ctx,"wod_net_tcp_listen:%d\n",svr->fd);
	wod_net_noblock(svr->fd,1);
	wod_event_io_add(svr->loop,svr->fd,WV_IO_READ,_doAccept,svr);
	return RAIN_OK;
}
コード例 #5
0
ファイル: test_main.c プロジェクト: wodconf/rain0.2
void *
test_new(struct rain_ctx *ctx,char *args)
{
	test_t * tt = malloc(sizeof(test_t));
	tt->ctx = ctx;
	tt->recvsize = 0;
	tt->cli = 0;
	rain_debug(tt->ctx,"TestRunning,arguments:%s",args);
	fflush(stdout);
	RAIN_CALLBACK(ctx,_recv,_recv_rsp,_link_exit,_time_out,NULL,_tcp_event);
	rain_timeout(ctx,60*1000,NULL);
	tt->tcp = rain_tcp_listen(ctx,"0.0.0.0",8194);
	tt->x = 0;
	return tt;
}
コード例 #6
0
ファイル: test_main.c プロジェクト: wodconf/rain0.2
static void
_time_out(void *env,void *userdata)
{
	test_t * tt = (test_t*)env;
	rain_debug(tt->ctx,"_time_out");
}