Fix entity data ID sometimes being reset

This commit is contained in:
Ryan Huffman 2018-02-07 09:27:51 -08:00 committed by Atlante45
parent fc8e7a0841
commit ff5be2d690
2 changed files with 11 additions and 5 deletions

View file

@ -1802,7 +1802,7 @@ void DomainServer::processOctreeDataRequestMessage(QSharedPointer<ReceivedMessag
qCDebug(domain_server) << "ES has sufficient octree data, not sending data"; qCDebug(domain_server) << "ES has sufficient octree data, not sending data";
reply->writePrimitive(false); reply->writePrimitive(false);
} else { } else {
qCDebug(domain_server) << "Sending newer octree data to ES"; qCDebug(domain_server) << "Sending newer octree data to ES: ID(" << data.id << ") DataVersion(" << data.version << ")";
QFile file(entityFilePath); QFile file(entityFilePath);
if (file.open(QIODevice::ReadOnly)) { if (file.open(QIODevice::ReadOnly)) {
reply->writePrimitive(true); reply->writePrimitive(true);
@ -3312,6 +3312,9 @@ void DomainServer::handleOctreeFileReplacementFromURLRequest(QSharedPointer<Rece
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
QNetworkRequest request(modelsURL); QNetworkRequest request(modelsURL);
QNetworkReply* reply = networkAccessManager.get(request); QNetworkReply* reply = networkAccessManager.get(request);
qDebug() << "Downloading JSON from: " << modelsURL;
connect(reply, &QNetworkReply::finished, [this, reply, modelsURL]() { connect(reply, &QNetworkReply::finished, [this, reply, modelsURL]() {
QNetworkReply::NetworkError networkError = reply->error(); QNetworkReply::NetworkError networkError = reply->error();
if (networkError == QNetworkReply::NoError) { if (networkError == QNetworkReply::NoError) {

View file

@ -171,15 +171,13 @@ bool OctreePersistThread::process() {
quint64 loadStarted = usecTimestampNow(); quint64 loadStarted = usecTimestampNow();
qCDebug(octree) << "loading Octrees from file: " << _filename << "..."; qCDebug(octree) << "loading Octrees from file: " << _filename << "...";
if (_replacementData.isNull()) { if (!_replacementData.isNull()) {
sendLatestEntityDataToDS();
} else {
replaceData(_replacementData); replaceData(_replacementData);
_replacementData.clear();
} }
OctreeUtils::RawOctreeData data; OctreeUtils::RawOctreeData data;
if (OctreeUtils::readOctreeDataInfoFromFile(_filename, &data)) { if (OctreeUtils::readOctreeDataInfoFromFile(_filename, &data)) {
qDebug() << "Setting entity version info to: " << data.id << data.version;
_tree->setEntityVersionInfo(data.id, data.version); _tree->setEntityVersionInfo(data.id, data.version);
} }
@ -244,6 +242,11 @@ bool OctreePersistThread::process() {
// want an uninitialized value for this, so we set it to the current time (startup of the server) // want an uninitialized value for this, so we set it to the current time (startup of the server)
time(&_lastPersistTime); time(&_lastPersistTime);
if (_replacementData.isNull()) {
sendLatestEntityDataToDS();
}
_replacementData.clear();
emit loadCompleted(); emit loadCompleted();
} }