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