diff options
Diffstat (limited to 'qdb/server/connection.cpp')
-rw-r--r-- | qdb/server/connection.cpp | 9 |
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); |