Intermediate commit, NaiveRealTime, still need to change AddNode

This commit is contained in:
Curtis SerVaas
2014-10-08 16:10:21 -04:00
parent bf1c0b0683
commit b9f0448db7
3 changed files with 44 additions and 22 deletions
+20 -8
View File
@@ -17,6 +17,8 @@ var getAndSendRevHistory = require("./revAlgorithm.js").getAndSendRevHistory;
var MessageQueue =require("./MessageQueue.js");
console.log("MessageQueue", MessageQueue);
var CURRENT_TIMESTAMP = Date.now();
module.exports = {
validateParArr: function(parId, parArr){
@@ -121,21 +123,31 @@ function attachLogInListeners(socket){
// });
var syncValidation = function(data, timestampData, queueData, emitData){
if(timestampData[1] != CURRENT_TIMESTAMP){
socket.emit("OFF_SYNC");
}
else{
CURRENT_TIMESTAMP = timestampData[0];
socket.broadcast.emit(emitData[0], emitData[1]);
MessageQueue.queueOrDo(action);
}
}
//maybe emit sooner...
//need to broadcast parentArray.
socket.on("newNode", function(data){
MessageQueue.queueOrDo(['newNode', data, socket])
//timestampData=[CURRENT_TIMESTAMP, oldTime]
socket.on("newNode", function(data, timestampData){
syncValidation(data, timestampData, ['newNode', data, socket], ["dummy", 1234]);
//(todo = set IDs on client (instead of negative Ids));
});
socket.on("removeNode", function(data){
socket.broadcast.emit("removeNode", data);
MessageQueue.queueOrDo(['removeNode', data, socket])
socket.on("removeNode", function(data, timestampData){
syncValidation(data, timestampData, ['removeNode', data, socket], ["removeNode", data]);
});
socket.on("movedNode", function(data){
socket.broadcast.emit("movedNode", [data[0], data[2]]);
MessageQueue.queueOrDo(['movedNode', data, socket])
socket.on("movedNode", function(data, timestampData){
syncValidation(data, timestampData, ['movedNode', data, socket],[ "movedNode", [data[0],data[2]] ]);
});
}