47 explicit TerrariumTileFetcher(QObject* parent =
nullptr, QNetworkAccessManager* networkManager =
nullptr);
86 QSet<TileMath::TileKey> anchors;
93 void _failAsync(
int requestId);
99 void _deliver(
int requestId,
const QImage& image);
100 void _finishFailed(
int requestId);
101 bool _shouldWarnFailure();
103 static constexpr int kFailureWarnIntervalMs = 10000;
105 QNetworkAccessManager* _networkManager =
nullptr;
107 QHash<int, PendingRequest> _pending;
108 QHash<TileMath::TileKey, QList<int>> _waiters;
109 QSet<TileMath::TileKey> _fieldRequests;
110 QHash<TileMath::TileKey, HeldTile> _held;
111 QHash<TileMath::TileKey, QNetworkReply*> _activeReplies;
113 QElapsedTimer _failureWarnTimer;