diff --git a/assignment-client/src/Agent.cpp b/assignment-client/src/Agent.cpp index eab67818c4..8e700839c1 100644 --- a/assignment-client/src/Agent.cpp +++ b/assignment-client/src/Agent.cpp @@ -13,7 +13,6 @@ #include #include #include -#include #include #include @@ -171,11 +170,6 @@ void Agent::run() { QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); QNetworkReply *reply = networkAccessManager.get(QNetworkRequest(scriptURL)); - QNetworkDiskCache* cache = new QNetworkDiskCache(); - QString cachePath = QStandardPaths::writableLocation(QStandardPaths::DataLocation); - cache->setCacheDirectory(!cachePath.isEmpty() ? cachePath : "agentCache"); - networkAccessManager.setCache(cache); - qDebug() << "Downloading script at" << scriptURL.toString(); QEventLoop loop; diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 91b37095e4..d33052dc57 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -135,9 +134,6 @@ static unsigned STARFIELD_SEED = 1; static const int BANDWIDTH_METER_CLICK_MAX_DRAG_LENGTH = 6; // farther dragged clicks are ignored - -const qint64 MAXIMUM_CACHE_SIZE = 10737418240; // 10GB - static QTimer* idleTimer = NULL; const QString CHECK_VERSION_URL = "https://highfidelity.io/latestVersion.xml"; @@ -390,12 +386,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : connect(billboardPacketTimer, &QTimer::timeout, _myAvatar, &MyAvatar::sendBillboardPacket); billboardPacketTimer->start(AVATAR_BILLBOARD_PACKET_SEND_INTERVAL_MSECS); - QString cachePath = QStandardPaths::writableLocation(QStandardPaths::DataLocation); QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); - QNetworkDiskCache* cache = new QNetworkDiskCache(); - cache->setMaximumCacheSize(MAXIMUM_CACHE_SIZE); - cache->setCacheDirectory(!cachePath.isEmpty() ? cachePath : "interfaceCache"); - networkAccessManager.setCache(cache); ResourceCache::setRequestLimit(3); diff --git a/libraries/networking/src/NetworkAccessManager.cpp b/libraries/networking/src/NetworkAccessManager.cpp index 841b7491c7..0db8058535 100644 --- a/libraries/networking/src/NetworkAccessManager.cpp +++ b/libraries/networking/src/NetworkAccessManager.cpp @@ -9,15 +9,27 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // +#include +#include #include #include "NetworkAccessManager.h" +const qint64 MAXIMUM_CACHE_SIZE = 10737418240; // 10GB + QThreadStorage networkAccessManagers; QNetworkAccessManager& NetworkAccessManager::getInstance() { if (!networkAccessManagers.hasLocalData()) { - networkAccessManagers.setLocalData(new QNetworkAccessManager()); + QNetworkAccessManager* networkAccessManager = new QNetworkAccessManager(); + + QString cachePath = QStandardPaths::writableLocation(QStandardPaths::DataLocation); + QNetworkDiskCache* cache = new QNetworkDiskCache(); + cache->setMaximumCacheSize(MAXIMUM_CACHE_SIZE); + cache->setCacheDirectory(!cachePath.isEmpty() ? cachePath : "interfaceCache"); + networkAccessManager->setCache(cache); + + networkAccessManagers.setLocalData(networkAccessManager); } return *networkAccessManagers.localData();