Update TileImageLoader.cs

This commit is contained in:
ClemensFischer 2025-11-05 09:35:52 +01:00
parent f30d3603b2
commit 6f7b2ba611

View file

@ -110,23 +110,26 @@ namespace MapControl
} }
} }
private bool TryDequeueTile(out Tile tile) private async Task LoadTilesFromQueue(TileSource tileSource, string cacheName, IProgress<double> progress)
{
bool TryDequeueTile(out Tile tile)
{ {
lock (tileQueue) lock (tileQueue)
{ {
if (tileQueue.TryDequeue(out tile)) if (tileQueue.Count > 0)
{ {
tile = tileQueue.Dequeue();
return true; return true;
} }
taskCount--; taskCount--;
Logger?.LogDebug("Task count: {count}", taskCount); Logger?.LogDebug("Task count: {count}", taskCount);
return false;
}
} }
private async Task LoadTilesFromQueue(TileSource tileSource, string cacheName, IProgress<double> progress) tile = null;
{ return false;
}
while (TryDequeueTile(out Tile tile)) while (TryDequeueTile(out Tile tile))
{ {
tile.IsPending = false; tile.IsPending = false;
@ -218,15 +221,4 @@ namespace MapControl
return buffer; return buffer;
} }
} }
#if NETFRAMEWORK
internal static class QueueExtension
{
public static bool TryDequeue<T>(this Queue<T> queue, out T item) where T : class
{
item = queue.Count > 0 ? queue.Dequeue() : null;
return item != null;
}
}
#endif
} }