aboutsummaryrefslogtreecommitdiff
path: root/src/commander.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2018-11-30 16:52:54 +0100
committerFelix Morgner <felix.morgner@gmail.com>2018-11-30 16:52:54 +0100
commit3abece6f0a7edca476ee0c493f30dda8f8bcefd5 (patch)
treee794f512a262cca92db6d0a5f9d41b6be64d9db0 /src/commander.cpp
parent9c2231c8fb45f32c7b1d23e14125bc58ea405e60 (diff)
downloadwanda-3abece6f0a7edca476ee0c493f30dda8f8bcefd5.tar.xz
wanda-3abece6f0a7edca476ee0c493f30dda8f8bcefd5.zip
core: stop ownership circles in connection
Diffstat (limited to 'src/commander.cpp')
-rw-r--r--src/commander.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/commander.cpp b/src/commander.cpp
index 2dada6a..762cd83 100644
--- a/src/commander.cpp
+++ b/src/commander.cpp
@@ -6,7 +6,8 @@
namespace wanda
{
commander::commander(boost::asio::io_service &service, std::filesystem::path socket)
- : m_endpoint{socket.string()},
+ : m_service{service},
+ m_endpoint{socket.string()},
m_socket{service}
{
}
@@ -23,9 +24,9 @@ void commander::start()
{
std::clog << "[commander::start] Control connection established\n";
m_connection = wanda::make_control_connection(std::move(m_socket));
+ m_connection->add(this);
m_connection->start();
send({"C", "HELLO", "1.0.0"});
- m_connection->close();
}
});
}
@@ -34,7 +35,7 @@ void commander::send(message message)
{
if (m_connection)
{
- std::clog << "[commander::send] sending message: " << message;
+ std::clog << "[commander::send] sending message: " << message << '\n';
m_connection->send(std::move(message));
}
}
@@ -44,4 +45,9 @@ void commander::on_error(wanda::control_connection::pointer connection, boost::s
std::cerr << "[commander::on_error] error occured: " << error.message() << '\n';
}
+void commander::on_received(wanda::control_connection::pointer connection, message message)
+{
+ std::clog << "[commander::on_receive] Received message: " << message << '\n';
+}
+
} // namespace wanda \ No newline at end of file