Beispiel #1
0
        public void CheckPeersAdded()
        {
            int i = 0;

            AddAllTrackables();

            List <PeerDetails>[] lists = new List <PeerDetails>[] { new List <PeerDetails>(), new List <PeerDetails>(), new List <PeerDetails>(), new List <PeerDetails>() };
            rig.Peers.ForEach(delegate(PeerDetails d) {
                lists[i % 4].Add(d);
                rig.Listener.Handle(d, TorrentEvent.Started, rig.Trackables[i++ % 4]);
            });

            for (i = 0; i < 4; i++)
            {
                SimpleTorrentManager manager = rig.Tracker.GetManager(rig.Trackables[i]);
                List <Peer>          peers   = manager.GetPeers();
                Assert.AreEqual(25, peers.Count, "#1");

                foreach (Peer p in peers)
                {
                    Assert.IsTrue(lists[i].Exists(delegate(PeerDetails d) {
                        return(d.Port == p.ClientAddress.Port &&
                               d.ClientAddress == p.ClientAddress.Address);
                    }));
                }
            }
        }
Beispiel #2
0
        public void AnnouncePeersTest()
        {
            AddAllTrackables();
            rig.Peers.ForEach(delegate(PeerDetails d) { rig.Listener.Handle(d, System.Net.BitTorrent.Common.TorrentEvent.Started, rig.Trackables[0]); });

            SimpleTorrentManager manager = rig.Tracker.GetManager(rig.Trackables[0]);

            Assert.AreEqual(rig.Peers.Count, manager.Count, "#1");
            foreach (ITrackable t in rig.Trackables)
            {
                SimpleTorrentManager m = rig.Tracker.GetManager(t);
                if (m == manager)
                {
                    continue;
                }
                Assert.AreEqual(0, m.Count, "#2");
            }

            foreach (Peer p in manager.GetPeers())
            {
                PeerDetails d = rig.Peers.Find(delegate(PeerDetails details) {
                    return(details.ClientAddress == p.ClientAddress.Address && details.Port == p.ClientAddress.Port);
                });
                Assert.AreEqual(d.Downloaded, p.Downloaded, "#3");
                Assert.AreEqual(d.peerId, p.PeerId, "#4");
                Assert.AreEqual(d.Remaining, p.Remaining, "#5");
                Assert.AreEqual(d.Uploaded, p.Uploaded, "#6");
            }
        }
Beispiel #3
0
 protected PeerEventArgs(Peer peer, SimpleTorrentManager torrent)
 {
     this.peer    = peer;
     this.torrent = torrent;
 }
 public AnnounceEventArgs(Peer peer, SimpleTorrentManager manager)
     : base(peer, manager)
 {
 }
 public TimedOutEventArgs(Peer peer, SimpleTorrentManager manager)
     : base(peer, manager)
 {
 }