Fixes issue where timesegments is locked up for max 50x segmentDuration when catching up to realtime.

This commit is contained in:
Ben 2024-09-30 16:08:16 +02:00
parent db4c4a87e0
commit f6aa122245
No known key found for this signature in database
GPG Key ID: 0F16E812E736C24B

View File

@ -59,7 +59,9 @@ namespace TestNetRewarder
{ {
if (IsRealtime) return latest + segmentSize; if (IsRealtime) return latest + segmentSize;
var segment = segmentSize * currentSegmentMult; var segment = segmentSize * currentSegmentMult;
return latest + segment; var end = latest + segment;
if (end > DateTime.UtcNow) return DateTime.UtcNow + segmentSize;
return end;
} }
private void HandleResponse(TimeSegmentResponse response) private void HandleResponse(TimeSegmentResponse response)
@ -87,6 +89,7 @@ namespace TestNetRewarder
var now = DateTime.UtcNow; var now = DateTime.UtcNow;
while (end > now) while (end > now)
{ {
currentSegmentMult = 1;
var delay = (end - now) + TimeSpan.FromSeconds(3); var delay = (end - now) + TimeSpan.FromSeconds(3);
await Task.Delay(delay, Program.CancellationToken); await Task.Delay(delay, Program.CancellationToken);
return true; return true;