From 10e7d01bce0c1a544613560e734bf882c27b379e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abdussamed=20ULUTA=C5=9E?= Date: Thu, 29 Dec 2022 00:02:18 +0300 Subject: [PATCH] 242 --- frontend/Peer.ts | 4 ++++ frontend/Room.ts | 1 + frontend/index.ts | 3 +++ 3 files changed, 8 insertions(+) diff --git a/frontend/Peer.ts b/frontend/Peer.ts index f58b9ed..c95da2d 100644 --- a/frontend/Peer.ts +++ b/frontend/Peer.ts @@ -80,4 +80,8 @@ export default class Peer extends EventTarget to: this.socketId }); } + async forget(){ + this.mwse.peers.delete(this.socketId as string); + this.mwse.pairs.delete(this.socketId as string); + } } \ No newline at end of file diff --git a/frontend/Room.ts b/frontend/Room.ts index 2d721b3..245ffa2 100644 --- a/frontend/Room.ts +++ b/frontend/Room.ts @@ -99,6 +99,7 @@ export default class Room extends EventTarget type:'ejectroom', roomId: this.roomId }); + this.peers.clear(); if(type == 'success') { this.mwse.rooms.delete(this.roomId as string); diff --git a/frontend/index.ts b/frontend/index.ts index 84cc19a..406fc70 100644 --- a/frontend/index.ts +++ b/frontend/index.ts @@ -75,17 +75,20 @@ export default class MWSE extends EventTarget { let {id,roomid} = payload; let room = this.room(roomid); let peer = this.peer(id, true); + room.peers.set(peer.socketId as string, peer); room.emit('join', peer); }) this.EventPooling.signal('room/ejected',(payload : {id:string,roomid:any,ownerid:string}) => { let {id,roomid} = payload; let room = this.room(roomid); let peer = this.peer(id); + room.peers.delete(peer.socketId as string); room.emit('eject', peer); }) this.EventPooling.signal('room/closed',(payload : {roomid:any}) => { let {roomid} = payload; let room = this.room(roomid); + room.peers.clear(); room.emit('close'); this.rooms.delete(roomid); })