update supernode modules
This commit is contained in:
parent
968e911b57
commit
433c395f8b
@ -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
|
||||
}
|
||||
}
|
||||
14
src/intra.js
14
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
|
||||
}
|
||||
|
||||
@ -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())
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user