Replace int+bool with single atomic int

This commit is contained in:
Simon Walton 2018-07-31 18:28:14 -07:00
parent a320308eaf
commit ed75fe673e
2 changed files with 3 additions and 10 deletions

View file

@ -116,9 +116,7 @@ void OctreePacketProcessor::processPacket(QSharedPointer<ReceivedMessage> messag
OCTREE_PACKET_SEQUENCE completionNumber;
message->readPrimitive(&completionNumber);
Locker lock(_completionMutex);
_completionSequenceNumber = completionNumber;
_completionSequenceNumberValid = true;
} break;
default: {
@ -128,8 +126,7 @@ void OctreePacketProcessor::processPacket(QSharedPointer<ReceivedMessage> messag
}
void OctreePacketProcessor::resetCompletionSequenceNumber() {
Locker lock(_completionMutex);
_completionSequenceNumber = false;
_completionSequenceNumber = -1;
}
namespace {
@ -143,8 +140,7 @@ namespace {
}
bool OctreePacketProcessor::octreeSequenceIsComplete(int sequenceNumber) const {
Locker lock(_completionMutex);
// If we've received the flagged seq # and the current one is >= it.
return _completionSequenceNumberValid &&
return _completionSequenceNumber != -1 &&
!lessThanWraparound<OCTREE_PACKET_SEQUENCE>(sequenceNumber, _completionSequenceNumber);
}

View file

@ -37,10 +37,7 @@ private slots:
void handleOctreePacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer senderNode);
private:
mutable std::mutex _completionMutex;
using Locker = std::lock_guard<std::mutex>;
bool _completionSequenceNumberValid { false };
int _completionSequenceNumber { 0 };
std::atomic<int> _completionSequenceNumber { -1 };
};
#endif // hifi_OctreePacketProcessor_h