mirror of
https://github.com/Caraxi/mare.client.git
synced 2025-12-12 22:17:22 +01:00
change downloads to concurrentdictionary
This commit is contained in:
parent
5c480f551b
commit
94ff918881
4 changed files with 10 additions and 5 deletions
|
|
@ -146,6 +146,7 @@ public class CachedPlayer
|
|||
{
|
||||
Logger.Debug("Downloading missing files for player " + PlayerName + ", kind: " + objectKind);
|
||||
await _apiController.DownloadFiles(downloadId, toDownloadReplacements, downloadToken);
|
||||
_apiController.CancelDownload(downloadId);
|
||||
if (downloadToken.IsCancellationRequested)
|
||||
{
|
||||
Logger.Verbose("Detected cancellation");
|
||||
|
|
|
|||
|
|
@ -367,7 +367,7 @@ namespace MareSynchronos.UI
|
|||
|
||||
if (currentDownloads.Any())
|
||||
{
|
||||
var totalDownloads = currentDownloads.Count;
|
||||
var totalDownloads = currentDownloads.Count();
|
||||
var doneDownloads = currentDownloads.Count(c => c.IsTransferred);
|
||||
var totalDownloaded = currentDownloads.Sum(c => c.Transferred);
|
||||
var totalToDownload = currentDownloads.Sum(c => c.Total);
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ namespace MareSynchronos.WebAPI
|
|||
{
|
||||
File.Delete(tempFile);
|
||||
Logger.Debug("Detected cancellation, removing " + currentDownloadId);
|
||||
CurrentDownloads.Remove(currentDownloadId);
|
||||
CancelDownload(currentDownloadId);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -132,7 +132,7 @@ namespace MareSynchronos.WebAPI
|
|||
}
|
||||
|
||||
Logger.Debug("Download complete, removing " + currentDownloadId);
|
||||
CurrentDownloads.Remove(currentDownloadId);
|
||||
CancelDownload(currentDownloadId);
|
||||
}
|
||||
|
||||
public async Task PushCharacterData(CharacterCacheDto character, List<string> visibleCharacterIds)
|
||||
|
|
@ -288,7 +288,10 @@ namespace MareSynchronos.WebAPI
|
|||
|
||||
public void CancelDownload(int downloadId)
|
||||
{
|
||||
CurrentDownloads.Remove(downloadId);
|
||||
while (CurrentDownloads.ContainsKey(downloadId))
|
||||
{
|
||||
CurrentDownloads.TryRemove(downloadId, out _);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
|
|
@ -93,7 +94,7 @@ namespace MareSynchronos.WebAPI
|
|||
|
||||
public event SimpleStringDelegate? UnpairedFromOther;
|
||||
|
||||
public Dictionary<int, List<DownloadFileTransfer>> CurrentDownloads { get; } = new();
|
||||
public ConcurrentDictionary<int, List<DownloadFileTransfer>> CurrentDownloads { get; } = new();
|
||||
|
||||
public List<FileTransfer> CurrentUploads { get; } = new();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue