/// <summary> /// /// </summary> /// <param name="message"></param> /// <param name="se"></param> private void OnSocketError(string message, SocketError se) { BitSwarmEvent evt = null; Hashtable hashtable = new Hashtable(); hashtable["message"] = message + ((se == SocketError.NotSocket) ? "" : (" [" + se.ToString() + "]")); if (se != SocketError.AccessDenied) { if (!attemptingReconnection && !mpnet.IsConnecting) { Hashtable arguments = new Hashtable(); arguments["reason"] = ClientDisconnectionReason.UNKNOWN; DispatchEvent(new BitSwarmEvent(BitSwarmEvent.DISCONNECT, arguments)); } evt = new BitSwarmEvent(BitSwarmEvent.IO_ERROR) { Params = hashtable }; } else { evt = new BitSwarmEvent(BitSwarmEvent.SECURITY_ERROR) { Params = hashtable }; } DispatchEvent(evt); }
/// <summary> /// /// </summary> private void OnSocketConnect() { BitSwarmEvent evt = new BitSwarmEvent(BitSwarmEvent.CONNECT); Hashtable hashtable = new Hashtable(); hashtable["success"] = true; hashtable["isReconnection"] = attemptingReconnection; evt.Params = hashtable; this.DispatchEvent(evt); }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnSocketData(byte[] data) { try { ByteArray buffer = new ByteArray(data); this.ioHandler.OnDataRead(buffer); } catch (Exception exception) { log.Error("## SocketDataError: " + exception.Message); BitSwarmEvent evt = new BitSwarmEvent(BitSwarmEvent.DATA_ERROR); Hashtable hashtable = new Hashtable(); hashtable["message"] = exception.ToString(); evt.Params = hashtable; this.DispatchEvent(evt); } }
/// <summary> /// /// </summary> /// <param name="evt"></param> private void DispatchEvent(BitSwarmEvent evt) { dispatcher.DispatchEvent(evt); }