Пример #1
0
 public void MarkAsFoundAlbum(IPeer p, string album)
 {
     try
     {
         p.TestConnection();
     }
     catch (Exception e)
     {
         return;             //does nothing becouse p is no longer valid
     }
     if (!_albumOnKnownPeers.ContainsKey(album))
     {
         _albumOnKnownPeers.Add(album, p);
         _form.SetOutputMessage("Found album in Peer " + p.GetPeerURI());
     }
 }
Пример #2
0
 public void AddAssociatedPeer(string peerUri)
 {
     try
     {
         IPeer p = (IPeer)Activator.GetObject(typeof(IPeer), peerUri);
         if (p.TestConnection())
         {
             MyKnownPeers.Add(p);
         }
         SetShowPeersTextBox("" + p.GetPeerURI());
     }
     catch (Exception e)
     {
         SetShowPeersTextBox("Error: " + e.Message);
     }
 }
Пример #3
0
 public void MarkAsFoundMusic(IPeer p, string music)
 {
     try
     {
         p.TestConnection();
     }
     catch (Exception e)
     {
         return;             //does nothing becouse p is no longer valid
     }
     if (!_musicsOnKnownPeers.ContainsKey(music))
     {
         _musicsOnKnownPeers.Add(music, p);
         _form.SetOutputMessage("Found music in Peer " + p.GetPeerURI());
     }
 }
Пример #4
0
 public void SearchAlbum(IPeer p, string album, int ttl)
 {
     SetOutputMsg("Request from " + p.GetPeerURI());
     SetOutputMsg("Searching for album " + album);
     if (MyAlbum.Contains(album))
     {
         p.MarkAsFoundAlbum(this, album);
         return;
     }
     if (_albumOnKnownPeers.ContainsKey(album))
     {
         IPeer peer = _albumOnKnownPeers[album];
         try
         {
             p.MarkAsFoundAlbum(peer, album);
         }
         catch (Exception)
         {
             SetOutputMsg("Peer to respond not found!!!");
         }
         return;
     }
     if (--ttl == 0)
     {
         return;
     }
     foreach (IPeer peer in MyKnownPeers)
     {
         try
         {
             peer.SearchAlbum(p, album, ttl);
         }
         catch (Exception)
         {
             MyKnownPeers.Remove(peer);
         }
     }
 }
Пример #5
0
 public void SearchMusic(IPeer p, string musicName, int ttl)
 {
     SetOutputMsg("Request from " + p.GetPeerURI());
     SetOutputMsg("Searching for music " + musicName);
     if (MyMusics.Contains(musicName))
     {
         p.MarkAsFoundMusic(this, musicName);
         return;
     }
     if (_musicsOnKnownPeers.ContainsKey(musicName))
     {
         IPeer peer = _musicsOnKnownPeers[musicName];
         try
         {
             p.MarkAsFoundMusic(peer, musicName);
         }
         catch (Exception)
         {
             SetOutputMsg("Peer to respond not found!!!");
         }
         return;
     }
     if (--ttl == 0)
     {
         return;
     }
     foreach (IPeer peer in MyKnownPeers)
     {
         try
         {
             peer.SearchMusic(p, musicName, ttl);
         }
         catch (Exception)
         {
             MyKnownPeers.Remove(peer);
         }
     }
 }