mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 22:42:14 -07:00
Run reply processing in thread pool
This commit is contained in:
parent
d7000fbcb0
commit
155448d361
3 changed files with 13 additions and 2 deletions
|
|
@ -94,7 +94,7 @@ QNetworkReply *PictureLoaderWorker::makeRequest(const QUrl &url, PictureLoaderWo
|
||||||
QNetworkReply *reply = networkManager->get(req);
|
QNetworkReply *reply = networkManager->get(req);
|
||||||
|
|
||||||
// Connect reply handling
|
// Connect reply handling
|
||||||
connect(reply, &QNetworkReply::finished, worker, [reply, worker] { worker->handleNetworkReply(reply); });
|
connect(reply, &QNetworkReply::finished, worker, [reply, worker] { worker->acceptNetworkReply(reply); });
|
||||||
|
|
||||||
return reply;
|
return reply;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
#include <QNetworkDiskCache>
|
#include <QNetworkDiskCache>
|
||||||
#include <QNetworkReply>
|
#include <QNetworkReply>
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
|
#include <QThreadPool>
|
||||||
|
|
||||||
// Card back returned by gatherer when card is not found
|
// Card back returned by gatherer when card is not found
|
||||||
static const QStringList MD5_BLACKLIST = {"db0c48db407a907c16ade38de048a441"};
|
static const QStringList MD5_BLACKLIST = {"db0c48db407a907c16ade38de048a441"};
|
||||||
|
|
@ -69,6 +70,15 @@ void PictureLoaderWorkerWork::picDownloadFailed()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Processes the reply in another thread.
|
||||||
|
* @param reply The finished reply. Takes ownership of the object
|
||||||
|
*/
|
||||||
|
void PictureLoaderWorkerWork::acceptNetworkReply(QNetworkReply *reply)
|
||||||
|
{
|
||||||
|
QThreadPool::globalInstance()->start([this, reply] { handleNetworkReply(reply); });
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param reply The reply. Takes ownership of the object
|
* @param reply The reply. Takes ownership of the object
|
||||||
|
|
|
||||||
|
|
@ -30,13 +30,14 @@ public:
|
||||||
PictureToLoad cardToDownload;
|
PictureToLoad cardToDownload;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void handleNetworkReply(QNetworkReply *reply);
|
void acceptNetworkReply(QNetworkReply *reply);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool picDownload;
|
bool picDownload;
|
||||||
|
|
||||||
void startNextPicDownload();
|
void startNextPicDownload();
|
||||||
void picDownloadFailed();
|
void picDownloadFailed();
|
||||||
|
void handleNetworkReply(QNetworkReply *reply);
|
||||||
void handleFailedReply(const QNetworkReply *reply);
|
void handleFailedReply(const QNetworkReply *reply);
|
||||||
void handleSuccessfulReply(QNetworkReply *reply);
|
void handleSuccessfulReply(QNetworkReply *reply);
|
||||||
QImage tryLoadImageFromReply(QNetworkReply *reply);
|
QImage tryLoadImageFromReply(QNetworkReply *reply);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue