Example #1
0
	virtual void HandleEvent(EventType et, int errornum)
	{
		switch (et)
		{
			case EVENT_READ:
				OnDataReady();
			break;

			case EVENT_WRITE:
				OnWriteReady();
			break;

			case EVENT_ERROR:
				DelayReconnect();
			break;

			default:
			break;
		}
	}
Example #2
0
void CSocket::OnAsyncSelect(int nEvent, int nError)
{
	// Error occurred BUT not due to socket closure?
	if ( (nError != 0) && ((nEvent & FD_CLOSE) == 0) )
	{
		OnError(nEvent, nError);
		return;
	}

	// Socket closed?
	if (nEvent & FD_CLOSE)
	{
		OnClosed(nError);
		return;
	}

	// Read/Write now available?
	if (nEvent & FD_READ)
		OnReadReady();

	if (nEvent & FD_WRITE)
		OnWriteReady();
}