public void AddEvent(SafeEvent s_event) { lock (m_SyncCs) { m_SafeEvents.Enqueue(s_event); } }
protected virtual void OnConnected() { var client = Client; #if !__IOS__ if (client != null) { if (client.NoDelay != NoDeplay) { client.NoDelay = NoDeplay; } } #endif IsConnected = true; var handler = m_Connected; if (handler == null) { return; } if (!IsSyncConnect && IsNeedSafeEvent) { SafeEvent safe_event = new SafeEvent(); safe_event.type = EventType.ET_Connected; safe_event.args = EventArgs.Empty; AddEvent(safe_event); return; } handler(this, EventArgs.Empty); }
protected virtual void OnReceiveThreadExit(Exception e) { var handler = m_ReceiveThreadExit; if (handler == null) { return; } if (!IsSyncConnect && IsNeedSafeEvent) { SafeEvent safe_event = new SafeEvent(); safe_event.type = EventType.ET_RecvTheadExit; safe_event.args = new ErrorEventArgs(e); AddEvent(safe_event); return; } handler(this, new ErrorEventArgs(e)); }
protected virtual void OnError(Exception e) { var handler = m_Error; if (handler == null) { return; } if (IsNeedSafeEvent) { SafeEvent safe_event = new SafeEvent(); safe_event.type = EventType.ET_Error; safe_event.args = new ErrorEventArgs(e); AddEvent(safe_event); return; } handler(this, new ErrorEventArgs(e)); }
protected virtual void OnClosed() { IsConnected = false; var handler = m_Closed; if (handler == null) { return; } if (IsNeedSafeEvent) { UnityEngine.Debug.Log("----bbbb-------------"); SafeEvent safe_event = new SafeEvent(); safe_event.type = EventType.ET_Closed; safe_event.args = EventArgs.Empty; AddEvent(safe_event); return; } handler(this, EventArgs.Empty); }
protected virtual void OnDataReceived(byte[] data, int offset, int length) { var handler = m_DataReceived; if (handler == null) { return; } m_DataArgs.Data = data; m_DataArgs.Offset = offset; m_DataArgs.Length = length; if (IsNeedSafeEvent) { SafeEvent safe_event = new SafeEvent(); safe_event.type = EventType.ET_DataReceived; safe_event.args = m_DataArgs; AddEvent(safe_event); m_DataArgs = new DataEventArgs(); return; } handler(this, m_DataArgs); }