mirror of
https://github.com/overte-org/overte.git
synced 2025-04-26 01:36:20 +02:00
removing more noise and dont sleep if we failed to lock the node
This commit is contained in:
parent
02df4a82b5
commit
1a4ffcec93
3 changed files with 4 additions and 14 deletions
|
@ -35,8 +35,6 @@ VoxelNodeData::VoxelNodeData(Node* owningNode) :
|
||||||
_lastVoxelPacketLength = 0;
|
_lastVoxelPacketLength = 0;
|
||||||
_duplicatePacketCount = 0;
|
_duplicatePacketCount = 0;
|
||||||
resetVoxelPacket();
|
resetVoxelPacket();
|
||||||
|
|
||||||
qDebug("VoxelNodeData::VoxelNodeData() this=%p owningNode=%p\n", this, owningNode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VoxelNodeData::initializeVoxelSendThread(VoxelServer* voxelServer) {
|
void VoxelNodeData::initializeVoxelSendThread(VoxelServer* voxelServer) {
|
||||||
|
@ -44,10 +42,6 @@ void VoxelNodeData::initializeVoxelSendThread(VoxelServer* voxelServer) {
|
||||||
QUuid nodeUUID = getOwningNode()->getUUID();
|
QUuid nodeUUID = getOwningNode()->getUUID();
|
||||||
_voxelSendThread = new VoxelSendThread(nodeUUID, voxelServer);
|
_voxelSendThread = new VoxelSendThread(nodeUUID, voxelServer);
|
||||||
_voxelSendThread->initialize(true);
|
_voxelSendThread->initialize(true);
|
||||||
|
|
||||||
qDebug("VoxelNodeData::initializeVoxelSendThread() this=%p owningNode=%p _voxelSendThread=%p\n",
|
|
||||||
this, getOwningNode(), _voxelSendThread);
|
|
||||||
qDebug() << "VoxelNodeData::initializeVoxelSendThread() nodeUUID=" << nodeUUID << "\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VoxelNodeData::packetIsDuplicate() const {
|
bool VoxelNodeData::packetIsDuplicate() const {
|
||||||
|
|
|
@ -25,6 +25,7 @@ VoxelSendThread::VoxelSendThread(const QUuid& nodeUUID, VoxelServer* myServer) :
|
||||||
|
|
||||||
bool VoxelSendThread::process() {
|
bool VoxelSendThread::process() {
|
||||||
uint64_t start = usecTimestampNow();
|
uint64_t start = usecTimestampNow();
|
||||||
|
bool gotLock = false;
|
||||||
|
|
||||||
// don't do any send processing until the initial load of the voxels is complete...
|
// don't do any send processing until the initial load of the voxels is complete...
|
||||||
if (_myServer->isInitialLoadComplete()) {
|
if (_myServer->isInitialLoadComplete()) {
|
||||||
|
@ -33,6 +34,7 @@ bool VoxelSendThread::process() {
|
||||||
if (node) {
|
if (node) {
|
||||||
// make sure the node list doesn't kill our node while we're using it
|
// make sure the node list doesn't kill our node while we're using it
|
||||||
if (node->trylock()) {
|
if (node->trylock()) {
|
||||||
|
gotLock = true;
|
||||||
VoxelNodeData* nodeData = NULL;
|
VoxelNodeData* nodeData = NULL;
|
||||||
|
|
||||||
nodeData = (VoxelNodeData*) node->getLinkedData();
|
nodeData = (VoxelNodeData*) node->getLinkedData();
|
||||||
|
@ -49,9 +51,6 @@ bool VoxelSendThread::process() {
|
||||||
}
|
}
|
||||||
|
|
||||||
node->unlock(); // we're done with this node for now.
|
node->unlock(); // we're done with this node for now.
|
||||||
} else {
|
|
||||||
qDebug("VoxelSendThread::process() failed to lock node...isStillRunning()=%s\n",
|
|
||||||
debug::valueOf(isStillRunning()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -60,8 +59,8 @@ bool VoxelSendThread::process() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only sleep if we're still running...
|
// Only sleep if we're still running and we got the lock last time we tried, otherwise try to get the lock asap
|
||||||
if (isStillRunning()) {
|
if (isStillRunning() && gotLock) {
|
||||||
// dynamically sleep until we need to fire off the next set of voxels
|
// dynamically sleep until we need to fire off the next set of voxels
|
||||||
int elapsed = (usecTimestampNow() - start);
|
int elapsed = (usecTimestampNow() - start);
|
||||||
int usecToSleep = VOXEL_SEND_INTERVAL_USECS - elapsed;
|
int usecToSleep = VOXEL_SEND_INTERVAL_USECS - elapsed;
|
||||||
|
|
|
@ -47,9 +47,6 @@ const char* VOXELS_PERSIST_FILE = "/etc/highfidelity/voxel-server/resources/voxe
|
||||||
void attachVoxelNodeDataToNode(Node* newNode) {
|
void attachVoxelNodeDataToNode(Node* newNode) {
|
||||||
if (newNode->getLinkedData() == NULL) {
|
if (newNode->getLinkedData() == NULL) {
|
||||||
VoxelNodeData* voxelNodeData = new VoxelNodeData(newNode);
|
VoxelNodeData* voxelNodeData = new VoxelNodeData(newNode);
|
||||||
QUuid nodeUUID = newNode->getUUID();
|
|
||||||
qDebug("attachVoxelNodeDataToNode() newNode=%p voxelNodeData=%p\n", newNode, voxelNodeData);
|
|
||||||
qDebug() << "attachVoxelNodeDataToNode() node UUID:" << nodeUUID << "\n";
|
|
||||||
newNode->setLinkedData(voxelNodeData);
|
newNode->setLinkedData(voxelNodeData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue