make sure to resend the data

This commit is contained in:
rootdarkarchon
2024-01-20 00:05:55 +01:00
committed by Loporrit
parent 2b4f4e3723
commit 3cda45a5fc
3 changed files with 15 additions and 4 deletions

View File

@@ -126,8 +126,17 @@ public class FileTransferOrchestrator : DisposableMediatorSubscriberBase
MareConfiguration.Models.DownloadSpeeds.MBps => limit * 1024 * 1024,
_ => limit,
};
var dividedLimit = limit / (CurrentlyUsedDownloadSlots == 0 ? 1 : CurrentlyUsedDownloadSlots);
return dividedLimit == 0 ? 1 : dividedLimit;
var currentUsedDlSlots = CurrentlyUsedDownloadSlots;
var avaialble = _availableDownloadSlots;
var currentCount = _downloadSemaphore.CurrentCount;
var dividedLimit = limit / (currentUsedDlSlots == 0 ? 1 : currentUsedDlSlots);
if (dividedLimit < 0)
{
Logger.LogWarning("Calculated Bandwidth Limit is negative, returning Infinity: {value}, CurrentlyUsedDownloadSlots is {currentSlots}, " +
"DownloadSpeedLimit is {limit}, available slots: {avail}, current count: {count}", dividedLimit, currentUsedDlSlots, limit, avaialble, currentCount);
return long.MaxValue;
}
return Math.Clamp(dividedLimit, 1, long.MaxValue);
}
private async Task<HttpResponseMessage> SendRequestInternalAsync(HttpRequestMessage requestMessage,

View File

@@ -14,7 +14,8 @@ public partial class ApiController
try
{
await PushCharacterDataInternal(data, visibleCharacters.ToList()).ConfigureAwait(false);
Logger.LogDebug("Pushing Character data {hash} to {visible}", data.DataHash, string.Join(", ", visibleCharacters.Select(v => v.AliasOrUID)));
await PushCharacterDataInternal(data, [.. visibleCharacters]).ConfigureAwait(false);
}
catch (OperationCanceledException)
{
@@ -106,4 +107,4 @@ public partial class ApiController
await UserPushData(new(visibleCharacters, character)).ConfigureAwait(false);
}
}
}

View File

@@ -389,6 +389,7 @@ public sealed partial class ApiController : DisposableMediatorSubscriberBase, IM
}
await LoadIninitialPairs().ConfigureAwait(false);
await LoadOnlinePairs().ConfigureAwait(false);
Mediator.Publish(new ConnectedMessage(_connectionDto));
}
catch (Exception ex)
{