From 433c395f8b7e3c3d810edbd8fdf1e422584cd022 Mon Sep 17 00:00:00 2001 From: sairajzero Date: Sun, 18 Jul 2021 16:43:30 +0530 Subject: [PATCH] update supernode modules --- src/client.js | 11 +++++++---- src/intra.js | 14 ++++++-------- src/server.js | 34 ++++++++++++---------------------- 3 files changed, 25 insertions(+), 34 deletions(-) diff --git a/src/client.js b/src/client.js index 6f6de78..974de33 100644 --- a/src/client.js +++ b/src/client.js @@ -1,4 +1,4 @@ -var DB; //container for database +var DB, _list; //container for database and _list (stored n serving) function processIncomingData(data) { return new Promise((resolve, reject) => { @@ -38,7 +38,7 @@ function processDataFromUser(data) { if (!floCrypto.validateAddr(data.receiverID)) return reject("Invalid receiverID") let closeNode = kBucket.closestNode(data.receiverID) - if (!floGlobals.serveList.includes(closeNode)) + if (!_list.serving.includes(closeNode)) return reject("Incorrect Supernode") if (!floCrypto.validateAddr(data.receiverID)) return reject("Invalid senderID") @@ -70,7 +70,7 @@ function processRequestFromUser(request) { if (!floCrypto.validateAddr(request.receiverID)) return reject("Invalid receiverID"); let closeNode = kBucket.closestNode(request.receiverID) - if (!floGlobals.serveList.includes(closeNode)) + if (!_list.serving.includes(closeNode)) return reject("Incorrect Supernode"); DB.searchData(closeNode, request) .then(result => resolve([result])) @@ -90,7 +90,7 @@ function processTagFromUser(data) { if (data.requestorID !== floCrypto.getFloID(data.pubKey)) return reject("Invalid pubKey") let closeNode = kBucket.closestNode(data.receiverID) - if (!floGlobals.serveList.includes(closeNode)) + if (!_list.serving.includes(closeNode)) return reject("Incorrect Supernode") let hashcontent = ["time", "application", "tag"] .map(d => data[d]).join("|"); @@ -133,5 +133,8 @@ module.exports = { processIncomingData, set DB(db){ DB = db + }, + set _list(list){ + _list = list } } \ No newline at end of file diff --git a/src/intra.js b/src/intra.js index 7b87a0b..bf072ed 100644 --- a/src/intra.js +++ b/src/intra.js @@ -5,16 +5,11 @@ const WebSocket = require('ws'); const SUPERNODE_INDICATOR = '$', //Message type ORDER_BACKUP = "orderBackup", - START_BACKUP_SERVE = "startBackupServe", - STOP_BACKUP_SERVE = "stopBackupServe", - START_BACKUP_STORE = "startBackupStore", - STOP_BACKUP_STORE = "stopBackupStore", STORE_BACKUP_DATA = "backupData", - STORE_MIGRATED_DATA = "migratedData", - DELETE_BACKUP_DATA = "backupDelete", + //STORE_MIGRATED_DATA = "migratedData", + //DELETE_BACKUP_DATA = "backupDelete", TAG_BACKUP_DATA = "backupTag", - EDIT_BACKUP_DATA = "backupEdit", - NODE_ONLINE = "supernodeUp", + //EDIT_BACKUP_DATA = "backupEdit", INITIATE_REFRESH = "initiateRefresh", DATA_REQUEST = "dataRequest", DATA_SYNC = "dataSync", @@ -267,9 +262,11 @@ function processTaskFromSupernode(packet, ws) { case BACKUP_HANDSHAKE_INIT: handshakeMid(from, ws) break; + /* case STORE_MIGRATED_DATA: //TODO storeMigratedData(task.data) break; + */ } }); } @@ -466,6 +463,7 @@ module.exports = { setBlockchainParameters, forwardToNextNode, SUPERNODE_INDICATOR, + _list, set DB(db){ DB = db } diff --git a/src/server.js b/src/server.js index 0146a39..a602295 100644 --- a/src/server.js +++ b/src/server.js @@ -1,8 +1,9 @@ const http = require('http') const WebSocket = require('ws') -const Server = module.exports = function(port, client, intra){ - const server = http.createServer((req, res) => { +module.exports = function Server(port, client, intra) { + + const server = http.createServer((req, res) => { if (req.method === "GET") { //GET request (requesting data) req.on('end', () => { @@ -11,7 +12,7 @@ const Server = module.exports = function(port, client, intra){ var request = JSON.parse(req.url.substring(i)); client.processRequestFromUser(request) .then(result => res.end(JSON.parse(result[0]))) - .catch(error => res.end(error)) + .catch(error => res.end(error.toString())) } }) } @@ -28,14 +29,15 @@ const Server = module.exports = function(port, client, intra){ sendToLiveRequests(result[0]) intra.forwardToNextNode(result[1], result[0]) } - }).catch(error => res.end(error)) + }).catch(error => res.end(error.toString())) }) } }); server.listen(port, (err) => { - if(!err) - console.log(`Server running at port ${port}`); + if (!err) + console.log(`Server running at port ${port}`); }) + const wsServer = new WebSocket.Server({ server }); @@ -50,22 +52,10 @@ const Server = module.exports = function(port, client, intra){ .then(result => { ws.send(JSON.parse(result[0])) ws._liveReq = request; - }).catch(error => ws.send(error)) - } - } - }); - wsServer.on('connection', function connection(ws) { - ws.onmessage = function(evt) { - let message = evt.data; - if (message.startsWith(intra.SUPERNODE_INDICATOR)) - intra.processTaskFromSupernode(message, ws); - else { - var request = JSON.parse(message); - client.processRequestFromUser(JSON.parse(message)) - .then(result => { - ws.send(JSON.parse(result[0])) - ws._liveReq = request; - }).catch(error => ws.send(error)) + }).catch(error => { + if (floGlobals.sn_config.errorFeedback) + ws.send(error.toString()) + }) } } });