Example #1
0
void CEventDispatch::RemoveEvent(SOCKET fd, uint8_t socket_event)
{
	CAutoLock func_lock(&m_lock);

	if ((socket_event & SOCKET_READ) != 0){
		FD_CLR(fd, &m_read_set);
	}

	if ((socket_event & SOCKET_WRITE) != 0){
		FD_CLR(fd, &m_write_set);
	}

	if ((socket_event & SOCKET_EXCEP) != 0){
		FD_CLR(fd, &m_excep_set);
	}
}
void CEventDispatch::AddEvent(SOCKET fd, uint8_t socket_event)
{
    CFuncLock func_lock(&m_lock);

    if ((socket_event & SOCKET_READ) != 0)
    {
        FD_SET(fd, &m_read_set);
    }

    if ((socket_event & SOCKET_WRITE) != 0)
    {
        FD_SET(fd, &m_write_set);
    }

    if ((socket_event & SOCKET_EXCEP) != 0)
    {
        FD_SET(fd, &m_excep_set);
    }
}