fix(p2p): situation when ignoring yourself address is very slow
This commit is contained in:
parent
e68087fda3
commit
5cd9b9f229
@ -74,7 +74,7 @@ class p2p {
|
||||
// nothing
|
||||
} else {
|
||||
console.log('ignore local address', iface.address);
|
||||
this.ignoreAddresses.push(iface.address)
|
||||
this.ignore(iface.address)
|
||||
}
|
||||
++alias;
|
||||
});
|
||||
@ -152,6 +152,7 @@ class p2p {
|
||||
clearTimeout(protocolTimeout)
|
||||
// add to peers
|
||||
address.emit = emit
|
||||
address.disconnect = () => rawSocket.destroy()
|
||||
this.size++;
|
||||
this.send('peer', this.size)
|
||||
console.log('new peer', address)
|
||||
@ -211,6 +212,19 @@ class p2p {
|
||||
return localPeer.address === peer.address
|
||||
})
|
||||
}
|
||||
|
||||
ignore(address)
|
||||
{
|
||||
this.ignoreAddresses.push(address)
|
||||
// close all connected peers (if they connected already)
|
||||
this.peers.forEach(peer => {
|
||||
if(peer.address !== address)
|
||||
return
|
||||
|
||||
if(peer.disconnect)
|
||||
peer.disconnect()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = p2p
|
@ -1101,7 +1101,7 @@ checkInternet((connected) => {
|
||||
stunServer.close()
|
||||
|
||||
console.log('p2p stun ignore my address', address)
|
||||
p2p.ignoreAddresses.push(address)
|
||||
p2p.ignore(address)
|
||||
})
|
||||
stunServer.send(stunRequest, 19302, 'stun.l.google.com')
|
||||
})
|
||||
@ -1165,7 +1165,7 @@ if(config.upnp)
|
||||
return
|
||||
|
||||
console.log('p2p upnp ignore my address', ip)
|
||||
p2p.ignoreAddresses.push(ip)
|
||||
p2p.ignore(ip)
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user