MCPcopy Create free account
hub / github.com/MiniZinc/MiniZincIDE / run

Method run

cp-profiler/src/cpprofiler/receiver_thread.cpp:24–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22}
23
24void ReceiverThread::run()
25{
26
27 QTcpSocket socket;
28
29 m_worker.reset(new ReceiverWorker{socket, m_settings});
30
31 /// propagate the signal further upwards;
32 /// blocking connection is used to ensure that the execution is created
33 /// before any further message is processed
34 connect(m_worker.get(), &ReceiverWorker::notifyStart,
35 this, &ReceiverThread::notifyStart, Qt::BlockingQueuedConnection);
36
37 connect(m_worker.get(), &ReceiverWorker::newNode,
38 this, &ReceiverThread::newNode);
39
40 connect(m_worker.get(), &ReceiverWorker::doneReceiving,
41 this, &ReceiverThread::doneReceiving);
42
43 auto res = socket.setSocketDescriptor(m_socket_desc);
44
45 if (!res)
46 {
47 std::cerr << "invalid socket descriptor\n";
48 this->quit();
49 return;
50 }
51
52 connect(&socket, &QTcpSocket::readyRead, m_worker.get(), &ReceiverWorker::doRead);
53
54 connect(&socket, &QTcpSocket::disconnected, [this]() {
55 this->quit();
56 });
57
58 exec();
59}
60
61ReceiverThread::~ReceiverThread() = default;
62} // namespace cpprofiler

Callers

nothing calls this directly

Calls 2

resetMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected