示例#1
0
void __TimeEventCallBack(int/* fd*/, short events, void *arg)
{
	if ( ! (events & EV_TIMEOUT) ) 
    {
		return;
	}

	void ** argv = static_cast<void **>(arg);
	EventHandler* handler = static_cast<EventHandler*>(argv[0]);
	TimerData* pTimerData = static_cast<TimerData*>(argv[1]);
	handler->HandleTimeout(pTimerData);
	handler->GetEventManager()->RemoveTimeHandler(handler, pTimerData);
}
示例#2
0
void __EventCallBack(int/* fd*/, short events, void *arg)
{
	EventHandler* handler = static_cast<EventHandler*>(arg);
	assert(handler);

	if (events & EV_TIMEOUT) 
    {
		handler->HandleTimeout(NULL);
	}
	else if (events & EV_READ) 
    {
		handler->HandleInput();
	}
	else if (events & EV_WRITE) 
    {
		handler->HandleOutput();
	}
}