mirror of
https://github.com/wassname/HackFlowy.git
synced 2026-08-12 11:40:31 +08:00
Intermediate commit, NaiveRealTime, still need to change AddNode
This commit is contained in:
+20
-8
@@ -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]] ]);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user