Update realtime check and refresh event, compress data using LZString UTF16 to minimize network delay

This commit is contained in:
Wu Cheng-Han 2016-08-02 17:16:01 +08:00
parent f49fc192f6
commit 67474aa1d4
2 changed files with 9 additions and 2 deletions

View file

@ -69,6 +69,7 @@ function emitCheck(note) {
authors: note.authors, authors: note.authors,
authorship: note.authorship authorship: note.authorship
}; };
out = LZString.compressToUTF16(JSON.stringify(out));
realtime.io.to(note.id).emit('check', out); realtime.io.to(note.id).emit('check', out);
} }
@ -310,7 +311,7 @@ function emitRefresh(socket) {
var noteId = socket.noteId; var noteId = socket.noteId;
if (!noteId || !notes[noteId]) return; if (!noteId || !notes[noteId]) return;
var note = notes[noteId]; var note = notes[noteId];
socket.emit('refresh', { var out = {
docmaxlength: config.documentmaxlength, docmaxlength: config.documentmaxlength,
owner: note.owner, owner: note.owner,
ownerprofile: note.ownerprofile, ownerprofile: note.ownerprofile,
@ -321,7 +322,9 @@ function emitRefresh(socket) {
permission: note.permission, permission: note.permission,
createtime: note.createtime, createtime: note.createtime,
updatetime: note.updatetime updatetime: note.updatetime
}); };
out = LZString.compressToUTF16(JSON.stringify(out));
socket.emit('refresh', out);
} }
function clearSocketQueue(queue, socket) { function clearSocketQueue(queue, socket) {

View file

@ -2360,6 +2360,8 @@ editor.on('update', function () {
}); });
}); });
socket.on('check', function (data) { socket.on('check', function (data) {
data = LZString.decompressFromUTF16(data);
data = JSON.parse(data);
//console.log(data); //console.log(data);
updateLastInfo(data); updateLastInfo(data);
}); });
@ -2371,6 +2373,8 @@ var otk = null;
var owner = null; var owner = null;
var permission = null; var permission = null;
socket.on('refresh', function (data) { socket.on('refresh', function (data) {
data = LZString.decompressFromUTF16(data);
data = JSON.parse(data);
//console.log(data); //console.log(data);
docmaxlength = data.docmaxlength; docmaxlength = data.docmaxlength;
editor.setOption("maxLength", docmaxlength); editor.setOption("maxLength", docmaxlength);