Update P2PNetworkPeers.js

This commit is contained in:
Luis Fernando Molina committed 2021-11-06 11:12:17 +01:00
1 parent 02723165b4
commit 3270608e34
1 file changed
+14 -14
+14 -14
View File
@@ -1,9 +1,9 @@
exports.newNetworkModulesP2PNetworkPeers = function newNetworkModulesP2PNetworkPeers() {
/*
This module represents the P2P Nodes we are connected to.
This module holds the P2P Nodes we are coonected to and that are connected to us.
*/
let thisObject = {
peers: undefined,
outgoingConnectedPeers: undefined,
/* Framework Functions */
initialize: initialize,
@@ -16,13 +16,13 @@ exports.newNetworkModulesP2PNetworkPeers = function newNetworkModulesP2PNetworkP
return thisObject
function finalize() {
thisObject.peers = undefined
thisObject.outgoingConnectedPeers = undefined
clearInterval(intervalIdConnectToPeers)
}
async function initialize() {
thisObject.peers = []
thisObject.outgoingConnectedPeers = []
connectToPeers()
intervalIdConnectToPeers = setInterval(connectToPeers, RECONNECT_DELAY);
@@ -31,20 +31,20 @@ exports.newNetworkModulesP2PNetworkPeers = function newNetworkModulesP2PNetworkP
async function connectToPeers() {
if (thisObject.peers.count >= global.env.P2P_NETWORK_NODE_MAX_OUTGOING_PEERS) { return }
if (thisObject.outgoingConnectedPeers.count >= global.env.P2P_NETWORK_NODE_MAX_OUTGOING_PEERS) { return }
for (let i = 0; i < NT.networkNode.p2pNetwork.p2pNodesToConnect.length; i++) {
if (thisObject.peers.count >= global.env.P2P_NETWORK_NODE_MAX_OUTGOING_PEERS) { break }
if (thisObject.outgoingConnectedPeers.count >= global.env.P2P_NETWORK_NODE_MAX_OUTGOING_PEERS) { break }
let peer = {}
peer.p2pNetworkNode = NT.networkNode.p2pNetwork.p2pNodesToConnect[i]
if (isAlreadyAConnectedPeer(peer) === true) { continue }
if (isOutgoingConnectedPeer(peer) === true) { continue }
peer.webSocketsClient = SA.projects.network.modules.webSocketsNetworkClient.newNetworkModulesWebSocketsNetworkClient()
await peer.webSocketsClient.initialize('Network Peer', peer.p2pNetworkNode, onConnectionClosed)
.then(addPeer)
.catch(onError)
function addPeer() {
thisObject.peers.push(peer)
thisObject.outgoingConnectedPeers.push(peer)
}
function onError(err) {
@@ -56,19 +56,19 @@ exports.newNetworkModulesP2PNetworkPeers = function newNetworkModulesP2PNetworkP
}
function onConnectionClosed(webSocketsClientId) {
for (let i = 0; i < thisObject.peers.length; i++) {
let connectedPeer = thisObject.peers[i]
for (let i = 0; i < thisObject.outgoingConnectedPeers.length; i++) {
let connectedPeer = thisObject.outgoingConnectedPeers[i]
if (connectedPeer.webSocketsClient.id === webSocketsClientId) {
thisObject.peers.splice(i, 1)
thisObject.outgoingConnectedPeers.splice(i, 1)
return
}
}
}
}
function isAlreadyAConnectedPeer(peer) {
for (let i = 0; i < thisObject.peers.length; i++) {
let connectedPeer = thisObject.peers[i]
function isOutgoingConnectedPeer(peer) {
for (let i = 0; i < thisObject.outgoingConnectedPeers.length; i++) {
let connectedPeer = thisObject.outgoingConnectedPeers[i]
if (connectedPeer.p2pNetworkNode.node.id === peer.p2pNetworkNode.node.id) {
return true
}