[mirotalksfu] - refactoring
هذا الالتزام موجود في:
@@ -71,6 +71,10 @@ module.exports = class Peer {
|
||||
// TRANSPORT
|
||||
// ####################################################
|
||||
|
||||
getTransports() {
|
||||
return JSON.parse(JSON.stringify([...this.transports]));
|
||||
}
|
||||
|
||||
addTransport(transport) {
|
||||
this.transports.set(transport.id, transport);
|
||||
}
|
||||
@@ -95,6 +99,10 @@ module.exports = class Peer {
|
||||
// PRODUCER
|
||||
// ####################################################
|
||||
|
||||
getProducers() {
|
||||
return JSON.parse(JSON.stringify([...this.producers]));
|
||||
}
|
||||
|
||||
getProducer(producer_id) {
|
||||
return this.producers.get(producer_id);
|
||||
}
|
||||
@@ -161,12 +169,17 @@ module.exports = class Peer {
|
||||
log.warn('Close Producer', error.message);
|
||||
}
|
||||
this.producers.delete(producer_id);
|
||||
log.debug('Producer closed and deleted', { producer_id });
|
||||
}
|
||||
|
||||
// ####################################################
|
||||
// CONSUMER
|
||||
// ####################################################
|
||||
|
||||
getConsumers() {
|
||||
return JSON.parse(JSON.stringify([...this.consumers]));
|
||||
}
|
||||
|
||||
async createConsumer(consumer_transport_id, producer_id, rtpCapabilities) {
|
||||
try {
|
||||
const consumerTransport = this.transports.get(consumer_transport_id);
|
||||
@@ -234,7 +247,13 @@ module.exports = class Peer {
|
||||
|
||||
removeConsumer(consumer_id) {
|
||||
if (this.consumers.has(consumer_id)) {
|
||||
try {
|
||||
this.consumers.get(consumer_id).close();
|
||||
} catch (error) {
|
||||
log.warn('Close Consumer', error.message);
|
||||
}
|
||||
this.consumers.delete(consumer_id);
|
||||
log.debug('Consumer closed and deleted', { consumer_id });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -218,7 +218,22 @@ module.exports = class Room {
|
||||
|
||||
async removePeer(socket_id) {
|
||||
if (!this.peers.has(socket_id)) return;
|
||||
this.peers.get(socket_id).close();
|
||||
|
||||
const peer = this.peers.get(socket_id);
|
||||
|
||||
const peerTransports = peer.getTransports();
|
||||
const peerProducers = peer.getProducers();
|
||||
const peerConsumers = peer.getConsumers();
|
||||
|
||||
log.debug('REMOVE PEER', {
|
||||
id: peer.id,
|
||||
peerTransports: peerTransports,
|
||||
peerProducers: peerProducers,
|
||||
peerConsumers: peerConsumers,
|
||||
});
|
||||
|
||||
peer.close();
|
||||
|
||||
this.peers.delete(socket_id);
|
||||
}
|
||||
|
||||
@@ -269,8 +284,6 @@ module.exports = class Room {
|
||||
iceState: iceState,
|
||||
});
|
||||
transport.close();
|
||||
//this.router.close();
|
||||
//peer.close();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -288,13 +301,11 @@ module.exports = class Room {
|
||||
dtlsState: dtlsState,
|
||||
});
|
||||
transport.close();
|
||||
//this.router.close();
|
||||
//peer.close();
|
||||
}
|
||||
});
|
||||
|
||||
transport.on('close', () => {
|
||||
log.debug('Transport closed', { peer_name: peer_name });
|
||||
transport.observer.on('close', () => {
|
||||
log.debug('Transport closed', { peer_name: peer_name, transport_id: transport.id });
|
||||
});
|
||||
|
||||
log.debug('Adding transport', { transportId: id });
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم