mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 18:01:15 +02:00
NodeData cleanup thanks to separation from rendered avatars
This commit is contained in:
parent
09cd8eb0fd
commit
349c790cc7
9 changed files with 3 additions and 29 deletions
|
@ -532,7 +532,7 @@ void DomainServer::addReleasedAssignmentBackToQueue(Assignment* releasedAssignme
|
||||||
void DomainServer::nodeKilled(SharedNodePointer node) {
|
void DomainServer::nodeKilled(SharedNodePointer node) {
|
||||||
// if this node has linked data it was from an assignment
|
// if this node has linked data it was from an assignment
|
||||||
if (node->getLinkedData()) {
|
if (node->getLinkedData()) {
|
||||||
Assignment* nodeAssignment = (Assignment*) node->getLinkedData();
|
Assignment* nodeAssignment = (Assignment*) node->getLinkedData();
|
||||||
|
|
||||||
addReleasedAssignmentBackToQueue(nodeAssignment);
|
addReleasedAssignmentBackToQueue(nodeAssignment);
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,11 +92,6 @@ Avatar::~Avatar() {
|
||||||
_handData = NULL;
|
_handData = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Avatar::deleteOrDeleteLater() {
|
|
||||||
this->deleteLater();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Avatar::init() {
|
void Avatar::init() {
|
||||||
_head.init();
|
_head.init();
|
||||||
_hand.init();
|
_hand.init();
|
||||||
|
|
|
@ -72,7 +72,6 @@ public:
|
||||||
|
|
||||||
Avatar(Node* owningNode = NULL);
|
Avatar(Node* owningNode = NULL);
|
||||||
~Avatar();
|
~Avatar();
|
||||||
void deleteOrDeleteLater();
|
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
void simulate(float deltaTime, Transmitter* transmitter);
|
void simulate(float deltaTime, Transmitter* transmitter);
|
||||||
|
|
|
@ -28,17 +28,6 @@ void OctreeServer::attachQueryNodeToNode(Node* newNode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OctreeServer::nodeKilled(SharedNodePointer node) {
|
|
||||||
// Use this to cleanup our node
|
|
||||||
if (node->getType() == NODE_TYPE_AGENT) {
|
|
||||||
OctreeQueryNode* nodeData = (OctreeQueryNode*)node->getLinkedData();
|
|
||||||
if (nodeData) {
|
|
||||||
node->setLinkedData(NULL);
|
|
||||||
delete nodeData;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
OctreeServer::OctreeServer(const unsigned char* dataBuffer, int numBytes) :
|
OctreeServer::OctreeServer(const unsigned char* dataBuffer, int numBytes) :
|
||||||
ThreadedAssignment(dataBuffer, numBytes),
|
ThreadedAssignment(dataBuffer, numBytes),
|
||||||
_argc(0),
|
_argc(0),
|
||||||
|
@ -573,8 +562,6 @@ void OctreeServer::run() {
|
||||||
|
|
||||||
setvbuf(stdout, NULL, _IOLBF, 0);
|
setvbuf(stdout, NULL, _IOLBF, 0);
|
||||||
|
|
||||||
// tell our NodeList about our desire to get notifications
|
|
||||||
connect(nodeList, SIGNAL(nodeKilled(SharedNodePointer)), this, SLOT(nodeKilled(SharedNodePointer)));
|
|
||||||
nodeList->linkedDataCreateCallback = &OctreeServer::attachQueryNodeToNode;
|
nodeList->linkedDataCreateCallback = &OctreeServer::attachQueryNodeToNode;
|
||||||
|
|
||||||
srand((unsigned)time(0));
|
srand((unsigned)time(0));
|
||||||
|
|
|
@ -69,8 +69,6 @@ public slots:
|
||||||
void run();
|
void run();
|
||||||
void processDatagram(const QByteArray& dataByteArray, const HifiSockAddr& senderSockAddr);
|
void processDatagram(const QByteArray& dataByteArray, const HifiSockAddr& senderSockAddr);
|
||||||
|
|
||||||
void nodeKilled(SharedNodePointer node);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void parsePayload();
|
void parsePayload();
|
||||||
void initHTTPManager(int port);
|
void initHTTPManager(int port);
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
/// within the domain. As with other ReceivedPacketProcessor classes the user is responsible for reading inbound packets
|
/// within the domain. As with other ReceivedPacketProcessor classes the user is responsible for reading inbound packets
|
||||||
/// and adding them to the processing queue by calling queueReceivedPacket()
|
/// and adding them to the processing queue by calling queueReceivedPacket()
|
||||||
class JurisdictionListener : public ReceivedPacketProcessor {
|
class JurisdictionListener : public ReceivedPacketProcessor {
|
||||||
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
static const int DEFAULT_PACKETS_PER_SECOND = 1;
|
static const int DEFAULT_PACKETS_PER_SECOND = 1;
|
||||||
static const int NO_SERVER_CHECK_RATE = 60; // if no servers yet detected, keep checking at 60fps
|
static const int NO_SERVER_CHECK_RATE = 60; // if no servers yet detected, keep checking at 60fps
|
||||||
|
|
|
@ -39,7 +39,7 @@ Node::Node(const QUuid& uuid, char type, const HifiSockAddr& publicSocket, const
|
||||||
|
|
||||||
Node::~Node() {
|
Node::~Node() {
|
||||||
if (_linkedData) {
|
if (_linkedData) {
|
||||||
_linkedData->deleteOrDeleteLater();
|
delete _linkedData;
|
||||||
}
|
}
|
||||||
|
|
||||||
delete _bytesReceivedMovingAverage;
|
delete _bytesReceivedMovingAverage;
|
||||||
|
|
|
@ -16,8 +16,4 @@ NodeData::NodeData(Node* owningNode) :
|
||||||
|
|
||||||
NodeData::~NodeData() {
|
NodeData::~NodeData() {
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void NodeData::deleteOrDeleteLater() {
|
|
||||||
delete this;
|
|
||||||
}
|
}
|
|
@ -21,8 +21,6 @@ public:
|
||||||
virtual ~NodeData() = 0;
|
virtual ~NodeData() = 0;
|
||||||
virtual int parseData(unsigned char* sourceBuffer, int numBytes) = 0;
|
virtual int parseData(unsigned char* sourceBuffer, int numBytes) = 0;
|
||||||
|
|
||||||
virtual void deleteOrDeleteLater();
|
|
||||||
|
|
||||||
Node* getOwningNode() { return _owningNode; }
|
Node* getOwningNode() { return _owningNode; }
|
||||||
protected:
|
protected:
|
||||||
Node* _owningNode;
|
Node* _owningNode;
|
||||||
|
|
Loading…
Reference in a new issue