summaryrefslogtreecommitdiff
path: root/src/network/room_member.cpp
diff options
context:
space:
mode:
authorGravatar B3n302017-07-15 11:39:27 +0200
committerGravatar B3n302017-07-16 21:30:10 +0200
commit253d3dd3d889eb61131810b04137ee3f9445db64 (patch)
tree5ff2298ff663de6761425daa1d6943275ee914ea /src/network/room_member.cpp
parentNetwork: Made send async in RoomMember (diff)
downloadyuzu-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.cpp7
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
309void RoomMember::Join(const std::string& nick, const char* server_addr, u16 server_port, 312void 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 }