Notify clients only if buddies change

This commit is contained in:
Robin Linus 2015-12-30 16:50:59 +01:00
parent f2a48823d1
commit 1bce467a7c

View file

@ -120,24 +120,22 @@ exports.create = function(server) {
} }
return result; return result;
}, []); }, []);
var currState = hash(buddies.toString());
var socket = client.socket;
//protocol //protocol
var msg = { var msg = {
buddies: buddies, buddies: buddies,
isSystemEvent: true, isSystemEvent: true,
type: 'buddies' type: 'buddies'
}; };
if (buddies.length) { if (currState !== socket.lastState) {
client.socket.send(msg); socket.send(msg);
client.notifiedEmpty = false; socket.lastState = currState;
return; return;
} }
if (!client.notifiedEmpty) {
client.notifiedEmpty = true;
client.socket.send(msg);
}
}); });
}); });
} }
setInterval(notifyBuddiesX, 5000); setInterval(notifyBuddiesX, 3000);
}; };