Добавлены точки наложения и индекс кадра вместо индекса пакета

This commit is contained in:
Пытков Роман
2025-09-19 21:59:58 +03:00
parent c9059f6df3
commit 38f3880be8
5 changed files with 76 additions and 20 deletions

View File

@@ -31,25 +31,25 @@ public class DataGenerator
private void GenerateInBackground(CancellationToken token)
{
var firstData = GenerateRandomData(0);
var firstData = GenerateRandomData(0, "ALL");
_cache.AddLast(firstData);
_dict[firstData.PackageIndex] = firstData;
_dict[firstData.FrameIndex] = firstData;
while (!token.IsCancellationRequested)
{
//await Task.Delay(_generationInterval, token);
var first = _cache.First!.Value;
var last = _cache.Last!.Value;
if (last.PackageIndex - _maxRequestedIndex < _minNewPackages)
if (last.FrameIndex - _maxRequestedIndex < _minNewPackages)
{
var data = GenerateRandomData(last.PackageIndex + 1);
var data = GenerateRandomData(last.FrameIndex + 1, "ALL");
_cache.AddLast(data);
_dict[data.PackageIndex] = data;
_dict[data.FrameIndex] = data;
}
if (_maxRequestedIndex - first.PackageIndex > _maxPreviousPackages)
if (_maxRequestedIndex - first.FrameIndex > _maxPreviousPackages)
{
_cache.RemoveFirst();
_dict.TryRemove(first.PackageIndex, out _);
_dict.TryRemove(first.FrameIndex, out _);
}
//System.Console.WriteLine($"[{first.PackageIndex}; {last.PackageIndex}]");
}
@@ -62,7 +62,7 @@ public class DataGenerator
return res ? value : null;
}
private Data GenerateRandomData(long packageNumber)
private Data GenerateRandomData(long frameIndex, string overlayPoint)
{
var alpha = _random.NextDouble();
var beta = _random.NextDouble() * (1 - alpha);
@@ -79,9 +79,10 @@ public class DataGenerator
Theta: _random.NextDouble() < 0.1 ? null : theta,
Smr: _random.NextDouble() < 0.1 ? null : _random.NextDouble(),
MuWave: _random.NextDouble() < 0.1 ? null : _random.NextDouble(),
OverlayPoint: overlayPoint,
Artifact: _random.NextDouble() < 0.1 ? null : signalQuality < 0.5,
SignalQuality: _random.NextDouble() < 0.1 ? null : signalQuality,
PackageIndex: packageNumber,
FrameIndex: frameIndex,
TimeOfDataGenerate: _random.NextDouble() < 0.1 ? null : DateTime.Now
);
}