|
|
|
|
@ -452,12 +452,13 @@ io.on('connection', (socket) => {
|
|
|
|
|
|
|
|
|
|
// close transports
|
|
|
|
|
await roomList.get(socket.room_id).removePeer(socket.id);
|
|
|
|
|
|
|
|
|
|
roomList.get(socket.room_id).broadCast(socket.id, 'removeMe', removeMeData());
|
|
|
|
|
|
|
|
|
|
if (roomList.get(socket.room_id).getPeers().size === 0) {
|
|
|
|
|
roomList.delete(socket.room_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
roomList.get(socket.room_id).broadCast(socket.id, 'removeMe', removeMeData());
|
|
|
|
|
|
|
|
|
|
socket.room_id = null;
|
|
|
|
|
|
|
|
|
|
callback('Successfully exited room');
|
|
|
|
|
@ -479,9 +480,9 @@ io.on('connection', (socket) => {
|
|
|
|
|
|
|
|
|
|
function removeMeData() {
|
|
|
|
|
return {
|
|
|
|
|
room_id: socket.room_id,
|
|
|
|
|
room_id: roomList.get(socket.room_id) && socket.room_id,
|
|
|
|
|
peer_id: socket.id,
|
|
|
|
|
peer_counts: roomList.get(socket.room_id).getPeers().size,
|
|
|
|
|
peer_counts: roomList.get(socket.room_id) && roomList.get(socket.room_id).getPeers().size,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|