mirror of
https://github.com/overte-org/overte.git
synced 2025-08-05 22:40:12 +02:00
Clean up AssertClient
This commit is contained in:
parent
3731091d5e
commit
b72e7e356d
1 changed files with 15 additions and 14 deletions
|
@ -16,6 +16,7 @@
|
||||||
#include "AssetRequest.h"
|
#include "AssetRequest.h"
|
||||||
#include "NodeList.h"
|
#include "NodeList.h"
|
||||||
#include "PacketReceiver.h"
|
#include "PacketReceiver.h"
|
||||||
|
#include "AssetUtils.h"
|
||||||
|
|
||||||
MessageID AssetClient::_currentID = 0;
|
MessageID AssetClient::_currentID = 0;
|
||||||
|
|
||||||
|
@ -37,7 +38,7 @@ AssetRequest* AssetClient::create(QString hash) {
|
||||||
return req;
|
return req;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hash.length() != 32) {
|
if (hash.length() != HASH_HEX_LENGTH) {
|
||||||
qDebug() << "Invalid hash size";
|
qDebug() << "Invalid hash size";
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -69,7 +70,7 @@ bool AssetClient::getAsset(QString hash, DataOffset start, DataOffset end, Recei
|
||||||
|
|
||||||
auto messageID = ++_currentID;
|
auto messageID = ++_currentID;
|
||||||
packet->writePrimitive(messageID);
|
packet->writePrimitive(messageID);
|
||||||
packet->write(hash.toLatin1().constData(), 32);
|
packet->write(hash.toLatin1().constData(), HASH_HEX_LENGTH);
|
||||||
packet->writePrimitive(start);
|
packet->writePrimitive(start);
|
||||||
packet->writePrimitive(end);
|
packet->writePrimitive(end);
|
||||||
|
|
||||||
|
@ -92,7 +93,7 @@ bool AssetClient::getAssetInfo(QString hash, GetInfoCallback callback) {
|
||||||
|
|
||||||
auto messageID = ++_currentID;
|
auto messageID = ++_currentID;
|
||||||
packet->writePrimitive(messageID);
|
packet->writePrimitive(messageID);
|
||||||
packet->write(hash.toLatin1().constData(), 32);
|
packet->write(hash.toLatin1().constData(), HASH_HEX_LENGTH);
|
||||||
|
|
||||||
nodeList->sendPacket(std::move(packet), *assetServer);
|
nodeList->sendPacket(std::move(packet), *assetServer);
|
||||||
|
|
||||||
|
@ -112,15 +113,15 @@ void AssetClient::handleAssetGetInfoReply(QSharedPointer<NLPacket> packet, Share
|
||||||
AssetServerError error;
|
AssetServerError error;
|
||||||
packet->readPrimitive(&error);
|
packet->readPrimitive(&error);
|
||||||
|
|
||||||
AssetInfo info;
|
AssetInfo info { assetHash, 0 };
|
||||||
|
|
||||||
if (!error) {
|
if (error == NO_ERROR) {
|
||||||
packet->readPrimitive(&info.size);
|
packet->readPrimitive(&info.size);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_pendingInfoRequests.contains(messageID)) {
|
if (_pendingInfoRequests.contains(messageID)) {
|
||||||
auto callback = _pendingInfoRequests.take(messageID);
|
auto callback = _pendingInfoRequests.take(messageID);
|
||||||
callback(error != NO_ERROR, info);
|
callback(error == NO_ERROR, info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,7 +150,7 @@ void AssetClient::handleAssetGetReply(QSharedPointer<NLPacketList> packetList, S
|
||||||
|
|
||||||
if (_pendingRequests.contains(messageID)) {
|
if (_pendingRequests.contains(messageID)) {
|
||||||
auto callback = _pendingRequests.take(messageID);
|
auto callback = _pendingRequests.take(messageID);
|
||||||
callback(!error, data);
|
callback(error == NO_ERROR, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,7 +160,7 @@ bool AssetClient::uploadAsset(QByteArray data, QString extension, UploadResultCa
|
||||||
if (assetServer) {
|
if (assetServer) {
|
||||||
auto packetList = std::unique_ptr<NLPacketList>(new NLPacketList(PacketType::AssetUpload, QByteArray(), true, true));
|
auto packetList = std::unique_ptr<NLPacketList>(new NLPacketList(PacketType::AssetUpload, QByteArray(), true, true));
|
||||||
|
|
||||||
auto messageID = _currentID++;
|
auto messageID = ++_currentID;
|
||||||
packetList->writePrimitive(messageID);
|
packetList->writePrimitive(messageID);
|
||||||
|
|
||||||
packetList->writePrimitive(static_cast<uint8_t>(extension.length()));
|
packetList->writePrimitive(static_cast<uint8_t>(extension.length()));
|
||||||
|
@ -185,23 +186,23 @@ void AssetClient::handleAssetUploadReply(QSharedPointer<NLPacket> packet, Shared
|
||||||
MessageID messageID;
|
MessageID messageID;
|
||||||
packet->readPrimitive(&messageID);
|
packet->readPrimitive(&messageID);
|
||||||
|
|
||||||
bool success;
|
AssetServerError error;
|
||||||
packet->readPrimitive(&success);
|
packet->readPrimitive(&error);
|
||||||
|
|
||||||
QString hashString { "" };
|
QString hashString { "" };
|
||||||
|
|
||||||
if (success) {
|
if (error) {
|
||||||
|
qDebug() << "Error uploading file to asset server";
|
||||||
|
} else {
|
||||||
auto hashData = packet->read(HASH_HEX_LENGTH);
|
auto hashData = packet->read(HASH_HEX_LENGTH);
|
||||||
|
|
||||||
hashString = QString(hashData);
|
hashString = QString(hashData);
|
||||||
|
|
||||||
qDebug() << "Successfully uploaded asset to asset-server - SHA256 hash is " << hashString;
|
qDebug() << "Successfully uploaded asset to asset-server - SHA256 hash is " << hashString;
|
||||||
} else {
|
|
||||||
qDebug() << "Error uploading file to asset server";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_pendingUploads.contains(messageID)) {
|
if (_pendingUploads.contains(messageID)) {
|
||||||
auto callback = _pendingUploads.take(messageID);
|
auto callback = _pendingUploads.take(messageID);
|
||||||
callback(success, hashString);
|
callback(error == NO_ERROR, hashString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue