예제 #1
0
파일: channel.cpp 프로젝트: mrkeng/ardb
void Channel::IOEventCallback(struct aeEventLoop *eventLoop, int fd, void *clientData, int mask)
{
    Channel* channel = (Channel*) clientData;
    bool fired = false;
    if (mask & AE_READABLE)
    {
        channel->OnRead();
        fired = true;
    }
    if (mask & AE_WRITABLE)
    {
        if (!fired || !channel->IsClosed())
        {
            channel->OnWrite();
        }
    }
}