diff options
| author | 2017-07-15 11:39:27 +0200 | |
|---|---|---|
| committer | 2017-07-16 21:30:10 +0200 | |
| commit | 253d3dd3d889eb61131810b04137ee3f9445db64 (patch) | |
| tree | 5ff2298ff663de6761425daa1d6943275ee914ea /src/network/room_member.cpp | |
| parent | Network: Made send async in RoomMember (diff) | |
| download | yuzu-253d3dd3d889eb61131810b04137ee3f9445db64.tar.gz yuzu-253d3dd3d889eb61131810b04137ee3f9445db64.tar.xz yuzu-253d3dd3d889eb61131810b04137ee3f9445db64.zip | |
Network: Propagate Room closing to connected members
Diffstat (limited to 'src/network/room_member.cpp')
| -rw-r--r-- | src/network/room_member.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/network/room_member.cpp b/src/network/room_member.cpp index f6f8b0475..8fd226ba5 100644 --- a/src/network/room_member.cpp +++ b/src/network/room_member.cpp | |||
| @@ -127,6 +127,9 @@ void RoomMember::RoomMemberImpl::MemberLoop() { | |||
| 127 | case IdVersionMismatch: | 127 | case IdVersionMismatch: |
| 128 | SetState(State::WrongVersion); | 128 | SetState(State::WrongVersion); |
| 129 | break; | 129 | break; |
| 130 | case IdCloseRoom: | ||
| 131 | SetState(State::LostConnection); | ||
| 132 | break; | ||
| 130 | default: | 133 | default: |
| 131 | break; | 134 | break; |
| 132 | } | 135 | } |
| @@ -307,7 +310,7 @@ RoomInformation RoomMember::GetRoomInformation() const { | |||
| 307 | } | 310 | } |
| 308 | 311 | ||
| 309 | void RoomMember::Join(const std::string& nick, const char* server_addr, u16 server_port, | 312 | void RoomMember::Join(const std::string& nick, const char* server_addr, u16 server_port, |
| 310 | u16 client_port) { | 313 | u16 client_port, const MacAddress& preferred_mac) { |
| 311 | // If the member is connected, kill the connection first | 314 | // If the member is connected, kill the connection first |
| 312 | if (room_member_impl->loop_thread && room_member_impl->loop_thread->joinable()) { | 315 | if (room_member_impl->loop_thread && room_member_impl->loop_thread->joinable()) { |
| 313 | room_member_impl->SetState(State::Error); | 316 | room_member_impl->SetState(State::Error); |
| @@ -336,7 +339,7 @@ void RoomMember::Join(const std::string& nick, const char* server_addr, u16 serv | |||
| 336 | room_member_impl->nickname = nick; | 339 | room_member_impl->nickname = nick; |
| 337 | room_member_impl->SetState(State::Joining); | 340 | room_member_impl->SetState(State::Joining); |
| 338 | room_member_impl->StartLoop(); | 341 | room_member_impl->StartLoop(); |
| 339 | room_member_impl->SendJoinRequest(nick); | 342 | room_member_impl->SendJoinRequest(nick, preferred_mac); |
| 340 | } else { | 343 | } else { |
| 341 | room_member_impl->SetState(State::CouldNotConnect); | 344 | room_member_impl->SetState(State::CouldNotConnect); |
| 342 | } | 345 | } |