void HandleShouldStart(object sender, ShouldStartEventArgs e) { if (MaxDownloads <= 0) return; TorrentController c = ServiceManager.Get <TorrentController> (); int count = 0; c.Torrents.ForEach (delegate (Download d) { if (d.Manager.State == TorrentState.Downloading) count++; }); if (count >= MaxDownloads) { e.ShouldStart = false; e.Download.Queue (); } }
public void Start() { EventHandler <ShouldStartEventArgs> h = ShouldStart; if (h != null) { ShouldStartEventArgs e = new ShouldStartEventArgs(this); h(this, e); if (!e.ShouldStart) { return; } } Active = true; manager.Start(); manager.Engine.ConnectionManager.PeerMessageTransferred += HandlePeerMessageTransferred; Event.Raise(Started, this, EventArgs.Empty); State = manager.Complete ? State.Seeding : State.Downloading; }
void HandleShouldStart(object sender, ShouldStartEventArgs e) { if (MaxDownloads <= 0) { return; } TorrentController c = ServiceManager.Get <TorrentController> (); int count = 0; c.Torrents.ForEach(delegate(Download d) { if (d.Manager.State == TorrentState.Downloading) { count++; } }); if (count >= MaxDownloads) { e.ShouldStart = false; e.Download.Queue(); } }
public void Start() { EventHandler <ShouldStartEventArgs> h = ShouldStart; if (h != null) { ShouldStartEventArgs e = new ShouldStartEventArgs (this); h (this, e); if (!e.ShouldStart) return; } Active = true; manager.Start (); manager.Engine.ConnectionManager.PeerMessageTransferred += HandlePeerMessageTransferred; Event.Raise (Started, this, EventArgs.Empty); State = manager.Complete ? State.Seeding : State.Downloading; }