summaryrefslogtreecommitdiffstats
path: root/qdb/server/connection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qdb/server/connection.cpp')
-rw-r--r--qdb/server/connection.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/qdb/server/connection.cpp b/qdb/server/connection.cpp
index 2b13666..74b6486 100644
--- a/qdb/server/connection.cpp
+++ b/qdb/server/connection.cpp
@@ -50,6 +50,11 @@ Connection::Connection(QdbTransport *transport, QObject *parent)
}
+Connection::~Connection()
+{
+ close();
+}
+
void Connection::connect()
{
Q_ASSERT(m_state == ConnectionState::Disconnected);
@@ -83,6 +88,8 @@ void Connection::close()
enqueueMessage(QdbMessage{QdbMessage::Close, stream->hostId(), stream->deviceId()});
// Processing of the Close message erased the stream from m_streams
}
+
+ m_state = ConnectionState::Disconnected;
}
ConnectionState Connection::state() const
@@ -97,8 +104,6 @@ void Connection::createStream(const QByteArray &openTag, StreamCreatedCallback s
enqueueMessage(QdbMessage{QdbMessage::Open, id, 0, openTag});
}
-Connection::~Connection() = default;
-
void Connection::enqueueMessage(const QdbMessage &message)
{
Q_ASSERT(message.command() != QdbMessage::Invalid);