Fix issue with raw hash not being converted to hex

This commit is contained in:
Ryan Huffman 2015-08-27 15:56:07 -07:00
parent 0522bdb9e9
commit 8452289e00
2 changed files with 8 additions and 5 deletions

View file

@ -101,10 +101,12 @@ void AssetServer::handleAssetGetInfo(QSharedPointer<NLPacket> packet, SharedNode
auto replyPacket = NLPacket::create(PacketType::AssetGetInfoReply); auto replyPacket = NLPacket::create(PacketType::AssetGetInfoReply);
QByteArray hexHash = assetHash.toHex();
replyPacket->writePrimitive(messageID); replyPacket->writePrimitive(messageID);
replyPacket->write(assetHash); replyPacket->write(assetHash);
QString fileName = QString(assetHash) + "." + extension; QString fileName = QString(hexHash) + "." + extension;
QFileInfo fileInfo { _resourcesDirectory.filePath(fileName) }; QFileInfo fileInfo { _resourcesDirectory.filePath(fileName) };
if (fileInfo.exists() && fileInfo.isReadable()) { if (fileInfo.exists() && fileInfo.isReadable()) {

View file

@ -34,7 +34,8 @@ SendAssetTask::SendAssetTask(MessageID messageID, const QByteArray& assetHash, Q
} }
void SendAssetTask::run() { void SendAssetTask::run() {
qDebug() << "Starting task to send asset: " << _assetHash << " for messageID " << _messageID; QString assetHashHex = _assetHash.toHex();
qDebug() << "Starting task to send asset: " << assetHashHex << " for messageID " << _messageID;
auto replyPacketList = std::unique_ptr<NLPacketList>(new NLPacketList(PacketType::AssetGetReply, QByteArray(), true, true)); auto replyPacketList = std::unique_ptr<NLPacketList>(new NLPacketList(PacketType::AssetGetReply, QByteArray(), true, true));
replyPacketList->write(_assetHash); replyPacketList->write(_assetHash);
@ -49,18 +50,18 @@ void SendAssetTask::run() {
if (file.open(QIODevice::ReadOnly)) { if (file.open(QIODevice::ReadOnly)) {
if (file.size() < _end) { if (file.size() < _end) {
writeError(replyPacketList.get(), AssetServerError::INVALID_BYTE_RANGE); writeError(replyPacketList.get(), AssetServerError::INVALID_BYTE_RANGE);
qCDebug(networking) << "Bad byte range: " << _assetHash.toHex() << " " << _start << ":" << _end; qCDebug(networking) << "Bad byte range: " << assetHashHex << " " << _start << ":" << _end;
} else { } else {
auto size = _end - _start; auto size = _end - _start;
file.seek(_start); file.seek(_start);
replyPacketList->writePrimitive(AssetServerError::NO_ERROR); replyPacketList->writePrimitive(AssetServerError::NO_ERROR);
replyPacketList->writePrimitive(size); replyPacketList->writePrimitive(size);
replyPacketList->write(file.read(size)); replyPacketList->write(file.read(size));
qCDebug(networking) << "Sending asset: " << _assetHash.toHex(); qCDebug(networking) << "Sending asset: " << assetHashHex;
} }
file.close(); file.close();
} else { } else {
qCDebug(networking) << "Asset not found: " << _filePath << "(" << _assetHash << ")"; qCDebug(networking) << "Asset not found: " << _filePath << "(" << assetHashHex << ")";
writeError(replyPacketList.get(), AssetServerError::ASSET_NOT_FOUND); writeError(replyPacketList.get(), AssetServerError::ASSET_NOT_FOUND);
} }
} }