HifiSockAddr::HifiSockAddr(const HifiSockAddr& otherSockAddr) : QObject(), _address(otherSockAddr._address), _port(otherSockAddr._port) { setObjectName(otherSockAddr.objectName()); }
void HifiSockAddr::swap(HifiSockAddr& otherSockAddr) { using std::swap; swap(_address, otherSockAddr._address); swap(_port, otherSockAddr._port); // Swap objects name auto temp = otherSockAddr.objectName(); otherSockAddr.setObjectName(objectName()); setObjectName(temp); }
std::unique_ptr<SendQueue> SendQueue::create(Socket* socket, HifiSockAddr destination) { Q_ASSERT_X(socket, "SendQueue::create", "Must be called with a valid Socket*"); auto queue = std::unique_ptr<SendQueue>(new SendQueue(socket, destination)); // Setup queue private thread QThread* thread = new QThread; thread->setObjectName("Networking: SendQueue " + destination.objectName()); // Name thread for easier debug connect(thread, &QThread::started, queue.get(), &SendQueue::run); connect(queue.get(), &QObject::destroyed, thread, &QThread::quit); // Thread auto cleanup connect(thread, &QThread::finished, thread, &QThread::deleteLater); // Thread auto cleanup // Move queue to private thread and start it queue->moveToThread(thread); thread->start(); return queue; }