Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 /// <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);
     }
 }
Esempio n. 4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="evt"></param>
 private void DispatchEvent(BitSwarmEvent evt)
 {
     dispatcher.DispatchEvent(evt);
 }