removing more noise and dont sleep if we failed to lock the node

This commit is contained in:
ZappoMan 2013-11-13 16:24:01 -08:00
parent 02df4a82b5
commit 1a4ffcec93
3 changed files with 4 additions and 14 deletions

View file

@ -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 {

View file

@ -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;

View file

@ -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);
} }
} }