Beispiel #1
0
        public async Task <IList <Torrent> > Get()
        {
            var torrents = await _torrentData.Get();

            foreach (var torrent in torrents)
            {
                foreach (var download in torrent.Downloads)
                {
                    if (TorrentRunner.ActiveDownloadClients.TryGetValue(download.DownloadId, out var downloadClient))
                    {
                        download.Speed      = downloadClient.Speed;
                        download.BytesTotal = downloadClient.BytesTotal;
                        download.BytesDone  = downloadClient.BytesDone;
                    }

                    if (TorrentRunner.ActiveUnpackClients.TryGetValue(download.DownloadId, out var unpackClient))
                    {
                        download.BytesTotal = unpackClient.BytesTotal;
                        download.BytesDone  = unpackClient.BytesDone;
                    }
                }
            }

            return(torrents);
        }
Beispiel #2
0
        public async Task <IList <Torrent> > Get()
        {
            var torrents = await _torrentData.Get();

            foreach (var torrent in torrents)
            {
                foreach (var download in torrent.Downloads)
                {
                    if (TaskRunner.ActiveDownloads.TryGetValue(download.DownloadId, out var activeDownload))
                    {
                        download.Speed           = activeDownload.Speed;
                        download.BytesSize       = activeDownload.BytesSize;
                        download.BytesDownloaded = activeDownload.BytesDownloaded;

                        if (activeDownload.NewStatus.HasValue)
                        {
                            download.Status = activeDownload.NewStatus.Value;
                        }
                    }
                }
            }

            return(torrents);
        }