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/control_interface.cpp | |
| parent | 3abece6f0a7edca476ee0c493f30dda8f8bcefd5 (diff) | |
| download | wanda-9f266f1ed5f45d6c673eb7b3fe6276f73ac99252.tar.xz wanda-9f266f1ed5f45d6c673eb7b3fe6276f73ac99252.zip | |
core: move state to connection
Diffstat (limited to 'src/control_interface.cpp')
| -rw-r--r-- | src/control_interface.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/control_interface.cpp b/src/control_interface.cpp index 29f3f4f..92d5def 100644 --- a/src/control_interface.cpp +++ b/src/control_interface.cpp @@ -79,7 +79,6 @@ void control_interface::perform_accept() auto [connection, inserted] = m_connections.insert(make_control_connection(std::move(m_socket))); if (inserted) { - m_states[*connection] = state::fresh; (*connection)->add(this); (*connection)->start(); } @@ -95,19 +94,19 @@ void control_interface::on_close(control_connection::pointer connection) void control_interface::on_received(control_connection::pointer connection, message message) { - if (m_states.find(connection) == m_states.cend()) + if (m_connections.find(connection) == m_connections.cend()) { // TODO: Handle unknown connection return; } - switch (m_states[connection]) + switch (connection->current_state()) { - case state::fresh: + case control_connection::state::fresh: if (message.command == "HELLO") { - m_states[connection] = state::greeted; connection->send({"D", "HELLO", "1.0.0"}); + connection->update(control_connection::state::established); } } } |
