Exemplo n.º 1
0
int SyncReactor::callback()
{
    int res;
    while(!_queue.empty())
    {
        IEvent * ev = _queue.pop();
        this->post(ev); 
    }
    while(true)
    {
        /*
        if(_events <= 0)
            Log::WARN("Sync Reactor has no event");
        continue;
        */
        res = epollDispatch();
        if(res < 0)
            return res;
    }
    return 0;
}
Exemplo n.º 2
0
int main(int argc, char **argv) {

	if(argc < 2) {
		printf("usage : %s <port>\n", argv[0]);
		exit(1);
	}

	int port = atoi(argv[1]);

	epoller *ep = epollCreate();

	echoServerContext *server = createTcpServer(ep, port);
	
	if(epollAddEvent(ep, server->serverfd, EPOLLIN, acceptTcpHandler, NULL) != 0)
		oom("creating file event");

	epollDispatch(ep);

	epollDelete(ep);
	printf("Bye!\n");
	return 0;
}