Checking Max Amount of configured connections

This commit is contained in:
Luis Fernando Molina committed 2021-11-06 11:49:51 +01:00
1 parent 3270608e34
commit 74fccfb023
2 files changed
+49

No files matched your search

+1
View File
@@ -32,6 +32,7 @@ exports.newEnvironment = function () {
SERVER_APP_SIGNING_ACCOUNT: 'Social-Trading-Server-App-1',
PLATFORM_APP_SIGNING_ACCOUNT: 'Algo-Traders-Platform-1',
P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-1',
P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS: 20,
P2P_NETWORK_NODE_MAX_INCOMING_PEERS: 2,
P2P_NETWORK_NODE_MAX_OUTGOING_PEERS: 2
}
@@ -86,6 +86,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'messageHeader Not Coorrect JSON Format.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*
@@ -97,6 +98,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'messageType Not Provided.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
@@ -114,6 +116,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
}
response.messageId = messageHeader.messageId
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
@@ -144,6 +147,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'messageType Not Supported.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
break
}
}
@@ -170,6 +174,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'step Not Provided.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
if (messageHeader.step !== 'One' && messageHeader.step !== 'Two') {
@@ -178,6 +183,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'step Not Supported.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
switch (messageHeader.step) {
@@ -200,6 +206,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'callerRole Not Provided.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
@@ -209,11 +216,41 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'callerRole Not Supported.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
caller.role = messageHeader.callerRole
/*
We will check that we have not exeeded the max amount of callers.
*/
switch (caller.role) {
case 'Network Client': {
if (thisObject.networkClients.length >= global.env.P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS) {
let response = {
result: 'Error',
message: 'P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS reached.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
break
}
case 'Network Peer': {
if (thisObject.networkPeers.length >= global.env.P2P_NETWORK_NODE_MAX_INCOMING_PEERS) {
let response = {
result: 'Error',
message: 'P2P_NETWORK_NODE_MAX_INCOMING_PEERS reached.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
break
}
}
/*
The caller needs to provide it's User Profile Handle.
*/
if (messageHeader.callerProfileHandle === undefined) {
@@ -222,6 +259,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'callerProfileHandle Not Provided.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
@@ -235,6 +273,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'callerTimestamp Not Provided.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*
@@ -246,6 +285,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'callerTimestamp Too Old.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*
@@ -278,6 +318,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'Handshake Step One Not Completed.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*
@@ -289,6 +330,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'signature Not Provided.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
@@ -301,6 +343,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'Bad Signature.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*
@@ -314,6 +357,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'userProfile Not Found.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
let signedMessage = JSON.parse(signature.message)
@@ -329,6 +373,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'signature.message Hashed Does Not Match signature.messageHash.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*
@@ -341,6 +386,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'callerProfileHandle Does Not Match witnessUserProfile.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*
@@ -353,6 +399,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'calledProfileHandle Does Not Match This Network Node Handle.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*
@@ -364,6 +411,7 @@ exports.newNetworkModulesWebSocketsInterface = function newNetworkModulesWebSock
message: 'calledTimestamp Does Not Match calledTimestamp On Record.'
}
caller.socket.send(JSON.stringify(response))
caller.socket.close()
return
}
/*