From f6aa12224544d58fb7c380bc16e2c4e95ffd666e Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 30 Sep 2024 16:08:16 +0200 Subject: [PATCH] Fixes issue where timesegments is locked up for max 50x segmentDuration when catching up to realtime. --- Tools/TestNetRewarder/TimeSegmenter.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Tools/TestNetRewarder/TimeSegmenter.cs b/Tools/TestNetRewarder/TimeSegmenter.cs index 5b95603..682f32b 100644 --- a/Tools/TestNetRewarder/TimeSegmenter.cs +++ b/Tools/TestNetRewarder/TimeSegmenter.cs @@ -59,7 +59,9 @@ namespace TestNetRewarder { if (IsRealtime) return latest + segmentSize; 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) @@ -87,6 +89,7 @@ namespace TestNetRewarder var now = DateTime.UtcNow; while (end > now) { + currentSegmentMult = 1; var delay = (end - now) + TimeSpan.FromSeconds(3); await Task.Delay(delay, Program.CancellationToken); return true;