Skip to content
Snippets Groups Projects
Commit 5647a1f4 authored by Cédric Moreau's avatar Cédric Moreau
Browse files

[fix] Trim duplicated INCOMING connections

parent db65bfbd
No related branches found
No related tags found
No related merge requests found
...@@ -116,6 +116,7 @@ export class WS2PServer extends events.EventEmitter { ...@@ -116,6 +116,7 @@ export class WS2PServer extends events.EventEmitter {
} }
async trimConnections() { async trimConnections() {
/*** OVERFLOW TRIMMING ***/
let disconnectedOne = true let disconnectedOne = true
// Disconnect non-members // Disconnect non-members
while (disconnectedOne && this.connections.length > this.maxLevel2Size) { while (disconnectedOne && this.connections.length > this.maxLevel2Size) {
...@@ -136,6 +137,22 @@ export class WS2PServer extends events.EventEmitter { ...@@ -136,6 +137,22 @@ export class WS2PServer extends events.EventEmitter {
this.removeConnection(c) this.removeConnection(c)
} }
} }
/*** DUPLICATES TRIMMING ***/
disconnectedOne = true
while (disconnectedOne) {
disconnectedOne = false
const pubkeysFound = []
for (const c of this.connections) {
if (pubkeysFound.indexOf(c.pubkey) !== -1) {
c.close()
this.removeConnection(c)
disconnectedOne = true
}
else if (c.pubkey !== this.server.conf.pair.pub) {
pubkeysFound.push(c.pubkey)
}
}
}
} }
private removeConnection(c:WS2PConnection) { private removeConnection(c:WS2PConnection) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment