public void AnnouncePeersTest() { AddAllTrackables(); rig.Peers.ForEach(delegate(PeerDetails d) { rig.Listener.Handle(d, 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"); } }
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); })); } } }
protected PeerEventArgs(Peer peer, SimpleTorrentManager torrent) { Peer = peer; Torrent = torrent; }
protected PeerEventArgs(Peer peer, SimpleTorrentManager torrent) { this.peer = peer; this.torrent = torrent; }
public TimedOutEventArgs(Peer peer, SimpleTorrentManager manager) : base(peer, manager) { }
public AnnounceEventArgs(Peer peer, SimpleTorrentManager manager) : base(peer, manager) { }