From f1badc017b3c79b11d70fcc583fe78dd2f2911dd Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Fri, 20 Nov 2015 11:43:50 -0800 Subject: [PATCH] CR feedback --- libraries/networking/src/AssetClient.cpp | 39 +++++++++--------------- libraries/networking/src/AssetClient.h | 1 - 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/libraries/networking/src/AssetClient.cpp b/libraries/networking/src/AssetClient.cpp index 4dc08962c5..8ac019ff56 100644 --- a/libraries/networking/src/AssetClient.cpp +++ b/libraries/networking/src/AssetClient.cpp @@ -369,18 +369,19 @@ void AssetClient::handleNodeKilled(SharedNodePointer node) { void AssetScriptingInterface::uploadData(QString data, QString extension, QScriptValue callback) { QByteArray dataByteArray = data.toUtf8(); auto upload = DependencyManager::get()->createUpload(dataByteArray, extension); - if (upload) { - QObject::connect(upload, &AssetUpload::finished, this, [callback, extension](AssetUpload* upload, const QString& hash) mutable { - if (callback.isFunction()) { - QString url = "atp://" + hash + "." + extension; - QScriptValueList args { url }; - callback.call(QScriptValue(), args); - } - }); - - // start the upload now - upload->start(); + if (!upload) { + qCWarning(asset_client) << "Error uploading file to asset server"; + return; } + + QObject::connect(upload, &AssetUpload::finished, this, [callback, extension](AssetUpload* upload, const QString& hash) mutable { + if (callback.isFunction()) { + QString url = "atp://" + hash + "." + extension; + QScriptValueList args { url }; + callback.call(QScriptValue(), args); + } + }); + upload->start(); } void AssetScriptingInterface::downloadData(QString urlString, QScriptValue callback) { @@ -407,10 +408,7 @@ void AssetScriptingInterface::downloadData(QString urlString, QScriptValue callb return; } - { - QWriteLocker locker(&_lock); - _pendingRequests << assetRequest; - } + _pendingRequests << assetRequest; connect(assetRequest, &AssetRequest::finished, [this, callback](AssetRequest* request) mutable { Q_ASSERT(request->getState() == AssetRequest::Finished); @@ -424,15 +422,8 @@ void AssetScriptingInterface::downloadData(QString urlString, QScriptValue callb } request->deleteLater(); - - { - QWriteLocker locker(&_lock); - _pendingRequests.remove(request); - } + _pendingRequests.remove(request); }); assetRequest->start(); -} - - - +} \ No newline at end of file diff --git a/libraries/networking/src/AssetClient.h b/libraries/networking/src/AssetClient.h index a194db225b..f1bb210614 100644 --- a/libraries/networking/src/AssetClient.h +++ b/libraries/networking/src/AssetClient.h @@ -77,7 +77,6 @@ public: Q_INVOKABLE void uploadData(QString data, QString extension, QScriptValue callback); Q_INVOKABLE void downloadData(QString url, QScriptValue downloadComplete); protected: - mutable QReadWriteLock _lock; QSet _pendingRequests; };