diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2018-11-30 17:50:47 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2018-11-30 17:50:47 +0100 |
| commit | 9f266f1ed5f45d6c673eb7b3fe6276f73ac99252 (patch) | |
| tree | 6bd9bba8d8f9cf6c497cd07d4ebdef1cdaf6420f /src/commander.cpp | |
| parent | 3abece6f0a7edca476ee0c493f30dda8f8bcefd5 (diff) | |
| download | wanda-9f266f1ed5f45d6c673eb7b3fe6276f73ac99252.tar.xz wanda-9f266f1ed5f45d6c673eb7b3fe6276f73ac99252.zip | |
core: move state to connection
Diffstat (limited to 'src/commander.cpp')
| -rw-r--r-- | src/commander.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/commander.cpp b/src/commander.cpp index 762cd83..98fc0d0 100644 --- a/src/commander.cpp +++ b/src/commander.cpp @@ -22,24 +22,14 @@ void commander::start() } else { - 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->send({"C", "HELLO", "1.0.0"}); } }); } -void commander::send(message message) -{ - if (m_connection) - { - std::clog << "[commander::send] sending message: " << message << '\n'; - m_connection->send(std::move(message)); - } -} - void commander::on_error(wanda::control_connection::pointer connection, boost::system::error_code error) { std::cerr << "[commander::on_error] error occured: " << error.message() << '\n'; @@ -47,7 +37,14 @@ void commander::on_error(wanda::control_connection::pointer connection, boost::s void commander::on_received(wanda::control_connection::pointer connection, message message) { - std::clog << "[commander::on_receive] Received message: " << message << '\n'; + if (auto state = connection->current_state(); message.command == "HELLO" && state == control_connection::state::fresh) + { + connection->update(control_connection::state::established); + } + else + { + std::cerr << "[commander::on_receive] unexpected message: " << message << '\n'; + } } } // namespace wanda
\ No newline at end of file |
