private void _ProcEstablishEvent(LPNetEvent netEvent) { LPSocker socker = null; LPEstablishNetEvent establishEvent = null; if (LOG_ERROR(netEvent != null)) { goto Exit0; } establishEvent = (LPEstablishNetEvent)netEvent; socker = establishEvent.Socker; if (socker.IsAcceptCreate) { m_NetMessageHandler.OnAccepted(socker); } else { m_NetMessageHandler.OnConnected(socker); } socker.PostRecv(); Exit0: return; }
internal bool PushEstablishEvent(LPSocker socker) { bool result = false; LPEstablishNetEvent establishEvent = null; if (LOG_ERROR(socker != null)) { goto Exit0; } establishEvent = (LPEstablishNetEvent)_CreateEvent(ENetEventType.Establish); if (LOG_ERROR(establishEvent != null)) { goto Exit0; } establishEvent.Flag = socker.ID; establishEvent.Socker = socker; lock (m_EventListLocker[establishEvent.Flag % m_EventListCount]) { result = m_EventLists[establishEvent.Flag % m_EventListCount].PushRear(establishEvent); if (LOG_ERROR(result)) { goto Exit0; } } return(true); Exit0: return(false); }
private LPNetEvent _CreateEvent(ENetEventType eType) { LPNetEvent netEvent = null; switch (eType) { case ENetEventType.Recv: { netEvent = new LPRecvNetEvent(); if (LOG_ERROR(netEvent != null)) { goto Exit0; } netEvent.eType = ENetEventType.Recv; } break; case ENetEventType.Terminate: { netEvent = new LPTerminateNetEvent(); if (LOG_ERROR(netEvent != null)) { goto Exit0; } netEvent.eType = ENetEventType.Terminate; } break; case ENetEventType.Establish: { netEvent = new LPEstablishNetEvent(); if (LOG_ERROR(netEvent != null)) { goto Exit0; } netEvent.eType = ENetEventType.Establish; } break; case ENetEventType.ConnectError: { netEvent = new LPConnectErrorNetEvent(); if (LOG_ERROR(netEvent != null)) { goto Exit0; } netEvent.eType = ENetEventType.ConnectError; } break; default: if (LOG_ERROR(false)) { goto Exit0; } break; } return(netEvent); Exit0: return(null); }