Exemplo n.º 1
0
 public void ProcessSources(byte[] packet)
 {
     #if VERBOSE
     CKernel.LogClient.AddLog("ProcessSources",m_ID);
     #endif
     CSourceExchangeResponse SourceExchangeResponse;
     try
     {
     SourceExchangeResponse=new CSourceExchangeResponse(new MemoryStream(packet),m_SourceExchangeVersion);
     Debug.WriteLine(DateTime.Now.ToLongTimeString() + " : Received SourceExchange = "+SourceExchangeResponse.nSources.ToString()+" from "+m_UserName+" | FileHash = "+ CKernel.HashToString(SourceExchangeResponse.FileHash));
     CElement Element=(CElement)CKernel.FilesList[SourceExchangeResponse.FileHash];
     if ((Element!=null)&&(Element.File!=null)&&(!Element.File.Completed))
     {
         CKernel.ClientsList.AddClientsToFile(SourceExchangeResponse.Sources,SourceExchangeResponse.FileHash);
     }
     }
     catch
     {
     Debug.WriteLine("Invalid source exchange packet"+m_Software+" "+m_SourceExchangeVersion);
     }
 }
Exemplo n.º 2
0
 public void ProcessSourceRequest(byte[] packet)
 {
     #if VERBOSE
     CKernel.LogClient.AddLog("ProcessSourceRequest",m_ID);
     #endif
     MemoryStream requestBuffer=new MemoryStream(packet);
     CRequestSourceExchange requestSourceExchange=new CRequestSourceExchange(requestBuffer);
     requestBuffer.Close();
     requestBuffer=null;
     MemoryStream responsePacket=new MemoryStream();
     CSourceExchangeResponse sourceExchangeResponse=new CSourceExchangeResponse(responsePacket,requestSourceExchange.FileHash,m_ID,m_Port,m_SourceExchangeVersion);
     if (sourceExchangeResponse.nSources>0)
     {
     #if VERBOSE
     CKernel.LogClient.AddLog("Sent "+Convert.ToString(sourceExchangeResponse.nSources)+" sources\n",m_ID);
     #endif
     if (connection!=null)
     {
         connection.SendPacket(responsePacket);
     }
     }
 }