Issue #11 Improve CEventLoop API

This commit is contained in:
Mat Sutcliffe
2021-09-28 18:34:25 +01:00
parent 3bd4b47d65
commit 002cd1d5b9
4 changed files with 38 additions and 41 deletions

View File

@@ -81,10 +81,11 @@ namespace BlackMisc::Network
QObject::connect(&socket, &QTcpSocket::connected, &mapper, qOverload<>(&QSignalMapper::map));
QObject::connect(&socket, qOverload<QAbstractSocket::SocketError>(&QTcpSocket::error), &mapper, qOverload<>(&QSignalMapper::map));
mapper.setMapping(&socket, 0);
const bool timedOut = !CEventLoop::processEventsUntil(&mapper, qOverload<int>(&QSignalMapper::mapped), timeoutMs, [&]
{
socket.connectToHost(hostAddress, static_cast<quint16>(port));
});
CEventLoop eventLoop;
eventLoop.stopWhen(&mapper, qOverload<int>(&QSignalMapper::mapped));
socket.connectToHost(hostAddress, static_cast<quint16>(port));
const bool timedOut = !eventLoop.exec(timeoutMs);
if (socket.state() != QTcpSocket::ConnectedState)
{