From 71846daf8ac720a1c18e154b07d68311a6ee303c Mon Sep 17 00:00:00 2001 From: sairajzero Date: Sat, 17 Jul 2021 19:10:05 +0530 Subject: [PATCH] Renaming files --- src/{supernode.js => client.js} | 0 src/{backupProcess.js => intra.js} | 0 src/server.js | 130 ++++++++++++++++------------- 3 files changed, 72 insertions(+), 58 deletions(-) rename src/{supernode.js => client.js} (100%) rename src/{backupProcess.js => intra.js} (100%) diff --git a/src/supernode.js b/src/client.js similarity index 100% rename from src/supernode.js rename to src/client.js diff --git a/src/backupProcess.js b/src/intra.js similarity index 100% rename from src/backupProcess.js rename to src/intra.js diff --git a/src/server.js b/src/server.js index b1070d2..0146a39 100644 --- a/src/server.js +++ b/src/server.js @@ -1,65 +1,79 @@ const http = require('http') const WebSocket = require('ws') -const supernode = require('./supernode') -const backupProcess = require('./backupProcess') -const port = 8080; -const server = http.createServer((req, res) => { - if (req.method === "GET") { - //GET request (requesting data) - req.on('end', () => { - let i = req.url.indexOf("?"); - if (i) { - var request = JSON.parse(req.url.substring(i)); - supernode.processRequestFromUser(request) - .then(result => res.end(JSON.parse(result[0]))) - .catch(error => res.end(error)) - } - }) - } - if (req.method === "POST") { - let data = ''; - req.on('data', chunk => data += chunk) - req.on('end', () => { - console.log(data); - //process the data storing - supernode.processIncomingData(data).then(result => { - res.end(result[0]); - if (result[1]) { - if (result[1] === 'DATA') - sendToLiveRequests(result[0]) - backupProcess.forwardToNextNode(result[1], result[0]) +const Server = module.exports = function(port, client, intra){ + const server = http.createServer((req, res) => { + if (req.method === "GET") { + //GET request (requesting data) + req.on('end', () => { + let i = req.url.indexOf("?"); + if (i) { + 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)) - }) - } -}); -server.listen(port, () => { - console.log(`Server running at port ${port}`) -}) - -const wsServer = new WebSocket.Server({ - server -}); -wsServer.on('connection', function connection(ws) { - ws.onmessage = function(evt) { - let message = evt.data; - if (message.startsWith(backupProcess.SUPERNODE_INDICATOR)) - backupProcess.processTaskFromSupernode(message, ws); - else { - var request = JSON.parse(message); - supernode.processRequestFromUser(JSON.parse(message)) - .then(result => { - ws.send(JSON.parse(result[0])) - ws._liveReq = request; - }).catch(error => ws.send(error)) + }) } - } -}); - -function sendToLiveRequests(data) { - wsServer.clients.forEach(ws => { - if (supernode.checkIfRequestSatisfy(ws._liveReq, data)) - ws.send(data) + if (req.method === "POST") { + let data = ''; + req.on('data', chunk => data += chunk) + req.on('end', () => { + console.log(data); + //process the data storing + client.processIncomingData(data).then(result => { + res.end(result[0]); + if (result[1]) { + if (result[1] === 'DATA') + sendToLiveRequests(result[0]) + intra.forwardToNextNode(result[1], result[0]) + } + }).catch(error => res.end(error)) + }) + } + }); + server.listen(port, (err) => { + if(!err) + console.log(`Server running at port ${port}`); }) + const wsServer = new WebSocket.Server({ + server + }); + 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)) + } + } + }); + 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)) + } + } + }); + + Object.defineProperty(this, "http", { + get: () => server + }); + Object.defineProperty(this, "webSocket", { + get: () => wsServer + }); } \ No newline at end of file