This commit is contained in:
Stanley Dimant
2022-07-24 14:44:36 +02:00
parent af7dd239aa
commit e31c232f79
7 changed files with 24 additions and 43 deletions

View File

@@ -19,10 +19,10 @@ namespace MareSynchronos.WebAPI
private int _downloadId = 0;
public void CancelUpload()
{
if (_uploadToken != null)
if (_uploadCancellationTokenSource != null)
{
Logger.Debug("Cancelling upload");
_uploadToken?.Cancel();
_uploadCancellationTokenSource?.Cancel();
_mareHub!.SendAsync(Api.SendFileAbortUpload);
CurrentUploads.Clear();
}
@@ -123,8 +123,8 @@ namespace MareSynchronos.WebAPI
Logger.Debug("Sending Character data to service " + ApiUri);
CancelUpload();
_uploadToken = new CancellationTokenSource();
var uploadToken = _uploadToken.Token;
_uploadCancellationTokenSource = new CancellationTokenSource();
var uploadToken = _uploadCancellationTokenSource.Token;
Logger.Verbose("New Token Created");
var filesToUpload = await _mareHub!.InvokeAsync<List<UploadFileDto>>(Api.InvokeFileSendFiles, character.FileReplacements.SelectMany(c => c.Value.Select(v => v.Hash)).Distinct(), uploadToken);
@@ -204,7 +204,7 @@ namespace MareSynchronos.WebAPI
}
Logger.Verbose("Upload complete for " + character.GetHashCode());
_uploadToken = null;
_uploadCancellationTokenSource = null;
}
private async Task<(string, byte[])> GetCompressedFileData(string fileHash, CancellationToken uploadToken)

View File

@@ -37,7 +37,7 @@ namespace MareSynchronos.WebAPI
private HubConnection? _mareHub;
private CancellationTokenSource? _uploadToken = new();
private CancellationTokenSource? _uploadCancellationTokenSource = new();
private ConnectionDto? _connectionDto;
public SystemInfoDto SystemInfoDto { get; private set; } = new();
@@ -268,7 +268,7 @@ namespace MareSynchronos.WebAPI
{
CurrentUploads.Clear();
CurrentDownloads.Clear();
_uploadToken?.Cancel();
_uploadCancellationTokenSource?.Cancel();
Logger.Debug("Connection closed");
Disconnected?.Invoke();
return Task.CompletedTask;
@@ -286,7 +286,7 @@ namespace MareSynchronos.WebAPI
{
CurrentUploads.Clear();
CurrentDownloads.Clear();
_uploadToken?.Cancel();
_uploadCancellationTokenSource?.Cancel();
Logger.Debug("Connection closed... Reconnecting");
Disconnected?.Invoke();
return Task.CompletedTask;