mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 15:23:56 +02:00
SendQueue auto thread cleanup
This commit is contained in:
parent
313fcea9fb
commit
116ff17fcf
3 changed files with 3 additions and 9 deletions
|
@ -38,14 +38,9 @@ Connection::Connection(Socket* parentSocket, HifiSockAddr destination, unique_pt
|
|||
|
||||
Connection::~Connection() {
|
||||
if (_sendQueue) {
|
||||
// tell our send queue to stop and wait until its send thread is done
|
||||
QThread* sendQueueThread = _sendQueue->thread();
|
||||
|
||||
_sendQueue->stop();
|
||||
_sendQueue->deleteLater();
|
||||
|
||||
sendQueueThread->quit();
|
||||
sendQueueThread->wait();
|
||||
_sendQueue.release();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,8 +42,6 @@ public:
|
|||
|
||||
void sync(); // rate control method, fired by Socket for all connections on SYN interval
|
||||
|
||||
SequenceNumber nextACK() const;
|
||||
|
||||
void processReceivedSequenceNumber(SequenceNumber seq);
|
||||
void processControl(std::unique_ptr<ControlPacket> controlPacket);
|
||||
|
||||
|
@ -60,6 +58,7 @@ private:
|
|||
void processNAK(std::unique_ptr<ControlPacket> controlPacket);
|
||||
void processTimeoutNAK(std::unique_ptr<ControlPacket> controlPacket);
|
||||
|
||||
SequenceNumber nextACK() const;
|
||||
void updateRTT(int rtt);
|
||||
|
||||
int estimatedTimeout() const;
|
||||
|
|
|
@ -29,7 +29,7 @@ std::unique_ptr<SendQueue> SendQueue::create(Socket* socket, HifiSockAddr dest)
|
|||
auto queue = std::unique_ptr<SendQueue>(new SendQueue(socket, dest));
|
||||
|
||||
// Setup queue private thread
|
||||
QThread* thread = new QThread(queue.get());
|
||||
QThread* thread = new QThread();
|
||||
thread->setObjectName("Networking: SendQueue"); // Name thread for easier debug
|
||||
connect(queue.get(), &QObject::destroyed, thread, &QThread::quit); // Thread auto cleanup
|
||||
connect(thread, &QThread::finished, thread, &QThread::deleteLater); // Thread auto cleanup
|
||||
|
|
Loading…
Reference in a new issue