private async void DhtPeersFound(object o, PeersFoundEventArgs e)
        {
            if (InfoHash != e.InfoHash)
            {
                return;
            }

            await ClientEngine.MainLoop;
            int count = await AddPeersAsync(e.Peers);

            RaisePeersFound(new DhtPeersAdded(this, count, e.Peers.Count));
        }
        private void DhtPeersFound(object o, PeersFoundEventArgs e)
        {
            if (InfoHash != e.InfoHash)
            {
                return;
            }

            ClientEngine.MainLoop.Queue(delegate {
                int count = AddPeersCore(e.Peers);
                RaisePeersFound(new DhtPeersAdded(this, count, e.Peers.Count));
            });
        }
        private void OnPeersFound(object sender, PeersFoundEventArgs e)
        {
            bool changed = false;

            foreach (var p in e.Peers)
            {
                if (UpdatePeer(p))
                {
                    changed = true;
                }
            }

            if (changed)
            {
                fForm.OnPeersListChanged();
            }
        }
Exemple #4
0
        private void OnPeersFound(object sender, PeersFoundEventArgs e)
        {
            bool changed    = false;
            int  newFounded = 0;

            foreach (var p in e.Peers)
            {
                changed = UpdatePeer(p);
                if (changed)
                {
                    newFounded += 1;
                }
            }

            if (changed)
            {
                fLogger.WriteDebug("Found DHT peers: {0}", newFounded);
                fForm.OnPeersListChanged();
            }
        }
Exemple #5
0
        async void DhtEnginePeersFound(object o, PeersFoundEventArgs e)
        {
            await MainLoop;

            TorrentManager manager = allTorrents.FirstOrDefault(t => t.InfoHash == e.InfoHash);

            if (manager == null)
            {
                return;
            }

            if (manager.CanUseDht)
            {
                int successfullyAdded = await manager.AddPeersAsync(e.Peers);

                manager.RaisePeersFound(new DhtPeersAdded(manager, successfullyAdded, e.Peers.Count));
            }
            else
            {
                // This is only used for unit testing to validate that even if the DHT engine
                // finds peers for a private torrent, we will not add them to the manager.
                manager.RaisePeersFound(new DhtPeersAdded(manager, 0, 0));
            }
        }
Exemple #6
0
 internal void InvokePeersFound(PeerSwarm swarm, PeersFoundEventArgs e)
 {
     if(PeersFound != null) PeersFound.Invoke(swarm , e);
 }
Exemple #7
0
 private static void EngineOnPeersFound(object sender, PeersFoundEventArgs peersFoundEventArgs)
 {
     Console.WriteLine("Peer found: " + peersFoundEventArgs.Peers.Count);
 }
Exemple #8
0
 private static void EngineOnPeersFound(object sender, PeersFoundEventArgs peersFoundEventArgs)
 {
     throw new NotImplementedException();
 }