From 1c1e002e345c378790c91bd6b129ef192ffcfb84 Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Tue, 27 Oct 2020 15:03:50 +1100 Subject: [PATCH] Removed all peer connections on an error --- src/network/Session.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/network/Session.js b/src/network/Session.js index 4ab847f..54abd5e 100644 --- a/src/network/Session.js +++ b/src/network/Session.js @@ -120,6 +120,7 @@ class Session extends EventEmitter { } _addPeer(id, initiator, sync) { + console.log("adding", id, initiator, sync); try { const connection = new Connection({ initiator, @@ -180,9 +181,11 @@ class Session extends EventEmitter { function handleError(error) { logError(error); - peer.connection.destroy(); this.emit("error", { peer, error }); this.emit("disconnected"); + for (let peer of Object.values(this.peers)) { + peer.connection && peer.connection.destroy(); + } if (this._partyId) { this.joinParty(this._partyId, this._password); } @@ -201,6 +204,9 @@ class Session extends EventEmitter { logError(error); this.emit("error", { error }); this.emit("disconnected"); + for (let peer of Object.values(this.peers)) { + peer.connection && peer.connection.destroy(); + } if (this._partyId) { this.joinParty(this._partyId, this._password); } @@ -247,6 +253,9 @@ class Session extends EventEmitter { _handleSocketDisconnect() { this.emit("disconnected"); + for (let peer of Object.values(this.peers)) { + peer.connection && peer.connection.destroy(); + } } _handleSocketReconnect() {