[mirotalksfu] - refactoring

هذا الالتزام موجود في:
Miroslav Pejic
2024-04-28 22:13:50 +02:00
الأصل 7f1d23f157
التزام e4d4264518
2 ملفات معدلة مع 39 إضافات و30 حذوفات

عرض الملف

@@ -7,11 +7,20 @@ module.exports = class Peer {
constructor(socket_id, data) { constructor(socket_id, data) {
const { peer_info } = data; const { peer_info } = data;
const { peer_name, peer_presenter, peer_audio, peer_video, peer_video_privacy, peer_recording, peer_hand } = const {
peer_info; peer_uuid,
peer_name,
peer_presenter,
peer_audio,
peer_video,
peer_video_privacy,
peer_recording,
peer_hand,
} = peer_info;
this.id = socket_id; this.id = socket_id;
this.peer_info = peer_info; this.peer_info = peer_info;
this.peer_uuid = peer_uuid;
this.peer_name = peer_name; this.peer_name = peer_name;
this.peer_presenter = peer_presenter; this.peer_presenter = peer_presenter;
this.peer_audio = peer_audio; this.peer_audio = peer_audio;
@@ -117,7 +126,7 @@ module.exports = class Peer {
const peerProducers = this.getProducers(); const peerProducers = this.getProducers();
const peerConsumers = this.getConsumers(); const peerConsumers = this.getConsumers();
log.debug('CLOSE PEER', { log.debug('CLOSE PEER - CHECK TRANSPORTS | PRODUCERS | CONSUMERS', {
peer_id: this.id, peer_id: this.id,
peer_name: this.peer_name, peer_name: this.peer_name,
peerTransports: peerTransports, peerTransports: peerTransports,

عرض الملف

@@ -1769,15 +1769,13 @@ function startServer() {
const room = roomList.get(socket.room_id); const room = roomList.get(socket.room_id);
const peerInfo = room.getPeers()?.get(socket.id)?.peer_info || {}; const peer = room.getPeer(socket.id);
const peerName = peerInfo?.peer_name || ''; const { peer_name, peer_uuid } = peer;
const peerUuid = peerInfo?.peer_uuid || ''; const isPresenter = await isPeerPresenter(socket.room_id, socket.id, peer_name, peer_uuid);
const isPresenter = await isPeerPresenter(socket.room_id, socket.id, peerName, peerUuid); log.debug('[Disconnect] - peer name', peer_name);
log.debug('[Disconnect] - peer name', peerName);
room.removePeer(socket.id); room.removePeer(socket.id);
@@ -1785,15 +1783,16 @@ function startServer() {
// //
roomList.delete(socket.room_id); roomList.delete(socket.room_id);
delete presenters[socket.room_id];
log.info('[Disconnect] - Last peer - current presenters grouped by roomId', presenters);
const activeRooms = getActiveRooms(); const activeRooms = getActiveRooms();
log.info('[Disconnect] - Last peer - current active rooms', activeRooms); log.info('[Disconnect] - Last peer - current active rooms', activeRooms);
delete presenters[socket.room_id];
log.info('[Disconnect] - Last peer - current presenters grouped by roomId', presenters);
} }
room.broadCast(socket.id, 'removeMe', removeMeData(room, peerName, isPresenter)); room.broadCast(socket.id, 'removeMe', removeMeData(room, peer_name, isPresenter));
if (isPresenter) removeIP(socket); if (isPresenter) removeIP(socket);
@@ -1809,19 +1808,17 @@ function startServer() {
const room = roomList.get(socket.room_id); const room = roomList.get(socket.room_id);
const peerInfo = room.getPeers()?.get(socket.id)?.peer_info || {}; const peer = room.getPeer(socket.id);
const peerName = peerInfo?.peer_name || ''; const { peer_name, peer_uuid } = peer;
const peerUuid = peerInfo?.peer_uuid || ''; const isPresenter = await isPeerPresenter(socket.room_id, socket.id, peer_name, peer_uuid);
const isPresenter = await isPeerPresenter(socket.room_id, socket.id, peerName, peerUuid); log.debug('Exit room', peer_name);
log.debug('Exit room', peerName);
room.removePeer(socket.id); room.removePeer(socket.id);
room.broadCast(socket.id, 'removeMe', removeMeData(room, peerName, isPresenter)); room.broadCast(socket.id, 'removeMe', removeMeData(room, peer_name, isPresenter));
if (room.getPeers().size === 0) { if (room.getPeers().size === 0) {
// //
@@ -1846,26 +1843,29 @@ function startServer() {
// common // common
function getPeerName(room, json = true) { function getPeerName(room, json = true) {
try { try {
const peer_name = (room && room.getPeers()?.get(socket.id)?.peer_info?.peer_name) || 'undefined'; const DEFAULT_PEER_NAME = 'undefined';
const peer = room.getPeer(socket.id);
const peerName = peer.peer_name || DEFAULT_PEER_NAME;
if (json) { if (json) {
return { return { peer_name: peerName };
peer_name: peer_name,
};
} }
return peer_name; return peerName;
} catch (err) { } catch (err) {
log.error('getPeerName', err); log.error('getPeerName', err);
return json ? { peer_name: 'undefined' } : 'undefined'; return json ? { peer_name: DEFAULT_PEER_NAME } : DEFAULT_PEER_NAME;
} }
} }
function isRealPeer(name, id, roomId) { function isRealPeer(name, id, roomId) {
if (!roomList.has(socket.room_id)) return false;
const room = roomList.get(roomId); const room = roomList.get(roomId);
const peerName = (room && room.getPeers()?.get(id)?.peer_info?.peer_name) || 'undefined'; const peer = room.getPeer(id);
return peerName == name; const { peer_name } = peer;
return peer_name == name;
} }
function isValidFileName(fileName) { function isValidFileName(fileName) {
@@ -1896,7 +1896,7 @@ function startServer() {
peer_counts: peerCounts, peer_counts: peerCounts,
isPresenter: isPresenter, isPresenter: isPresenter,
}; };
log.debug('[REMOVE ME] - DATA', data); log.debug('[REMOVE ME DATA]', data);
return data; return data;
} }