Example #1
0
    public void RegistPeer(IPeerToPeer peer)
    {
        Debug.WriteLine("! Register(IPeer)");

        if (null == sponsor)
        {
            sponsor = new PeerDiscoverySponsor(this);
            ILease lease = (ILease)GetLifetimeService();
            lease.Register(sponsor);
        }

        if (false == peers.ContainsKey(peer))
        {
            peers[peer] = DateTime.Now;
        }
    }
Example #2
0
 public void UnregistPeer(IPeerToPeer peer)
 {
     Console.WriteLine("Peer Desregistado: " + peer.ToString());
     lock (this)
     {
         peers.Remove(peer);
     }
 }
Example #3
0
    public void RenewTime(IPeerToPeer peer)
    {
        Debug.WriteLine(String.Format("! RenewTime() : {0}", DateTime.Now));

        if (false != peers.ContainsKey(peer))
        {
            peers[peer] = DateTime.Now;
        }
    }
Example #4
0
 public PeerFileInfo(string filename, string newFilename, long size, IPeerToPeer peer)
 {
     this.newFilename = newFilename;
     this.filename = filename;
     this.size = size;
     this.peer = peer;
 }
Example #5
0
 public void NewFile(IPeerToPeer source, NewFileWarningEventArgs args)
 {
     if (null != toUserFileWarningDelegate)
     {
         toUserFileWarningDelegate(source, args);
     }
 }
Example #6
0
 void IPeerToUser.RegisterOnPeer(IPeerToPeer peer)
 {
     MessageBox.Show("going to register on peer");
     peer.NewFileWarningEvent += new NewFileWarningEventHandler(NewFile);
 }
Example #7
0
 void IPeerToUser.DownloadFile(string filename, string newFilename, IPeerToPeer peer)
 {
     using (FileStream remotedFileStream = peer.Download(filename))
     {
         byte[] byteArray = new byte[1024*1024];
         int bytesRead = 0;
         using (FileStream newFileStream = File.Create(newFilename))
         {
             bytesRead = remotedFileStream.Read(byteArray, 0, byteArray.Length);
             while (0 != bytesRead)
             {
                 newFileBlockReceivedDelegate(filename);
                 newFileStream.Write(byteArray, 0, bytesRead);
                 bytesRead = remotedFileStream.Read(byteArray, 0, byteArray.Length);
             }
         }
     }
 }