Merge pull request #23 from huffman/raw-hash-fix

Fix issue with raw hash not being converted to hex
This commit is contained in:
Stephen Birarda 2015-08-27 16:02:53 -07:00
commit 4ed793fffe
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);
QByteArray hexHash = assetHash.toHex();
replyPacket->writePrimitive(messageID);
replyPacket->write(assetHash);
QString fileName = QString(assetHash) + "." + extension;
QString fileName = QString(hexHash) + "." + extension;
QFileInfo fileInfo { _resourcesDirectory.filePath(fileName) };
if (fileInfo.exists() && fileInfo.isReadable()) {

View file

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