Fixed bug in the download client.

This commit is contained in:
Roger Far 2021-01-21 09:14:13 -07:00
parent bc552612f5
commit cd2f29e9f5
2 changed files with 9 additions and 5 deletions

View file

@ -33,8 +33,8 @@ namespace RdtClient.Service.Services
public Int64 BytesTotal { get; private set; } public Int64 BytesTotal { get; private set; }
public Int64 BytesDone { get; private set; } public Int64 BytesDone { get; private set; }
private static Int64 LastTick { get; set; } private Int64 LastTick { get; set; }
private static ConcurrentBag<Double> AverageSpeed { get; } = new ConcurrentBag<Double>(); private ConcurrentBag<Double> AverageSpeed { get; } = new ConcurrentBag<Double>();
public async Task Start(Boolean onTheFlyDownload, String tempDirectory, Int32 chunkCount, Int64 maximumBytesPerSecond) public async Task Start(Boolean onTheFlyDownload, String tempDirectory, Int32 chunkCount, Int64 maximumBytesPerSecond)
{ {
@ -123,7 +123,11 @@ namespace RdtClient.Service.Services
LastTick = Environment.TickCount; LastTick = Environment.TickCount;
} }
Speed = (Int64) AverageSpeed.Average(); if (AverageSpeed.Count > 0)
{
Speed = (Int64) AverageSpeed.Average();
}
BytesDone = args.ReceivedBytesSize; BytesDone = args.ReceivedBytesSize;
BytesTotal = args.TotalBytesToReceive; BytesTotal = args.TotalBytesToReceive;
}; };

View file

@ -161,14 +161,14 @@ namespace RdtClient.Service.Services
var torrents = await _torrents.Get(); var torrents = await _torrents.Get();
// Only poll RealDebrid every 5 when a hub is connected, otherwise ever 30 seconds // Only poll RealDebrid every second when a hub is connected, otherwise every 30 seconds
if (_nextUpdate < DateTime.UtcNow && torrents.Count > 0) if (_nextUpdate < DateTime.UtcNow && torrents.Count > 0)
{ {
var updateTime = 30; var updateTime = 30;
if (RdtHub.HasConnections) if (RdtHub.HasConnections)
{ {
updateTime = 5; updateTime = 1;
} }
_nextUpdate = DateTime.UtcNow.AddSeconds(updateTime); _nextUpdate = DateTime.UtcNow.AddSeconds(updateTime);