Add a simple self-ping 5 times upon login as a test.
This commit is contained in:
parent
ade0928bdc
commit
2c0690bb34
|
|
@ -19,6 +19,8 @@
|
|||
LEAVE_MUSIC_SESSION_ACK : "LEAVE_MUSIC_SESSION_ACK",
|
||||
HEARTBEAT : "HEARTBEAT",
|
||||
TEST_SESSION_MESSAGE : "TEST_SESSION_MESSAGE",
|
||||
PING_REQUEST: "PING_REQUEST",
|
||||
PING_ACK: "PING_ACK",
|
||||
SERVER_GENERIC_ERROR : "SERVER_GENERIC_ERROR",
|
||||
SERVER_REJECTION_ERROR : "SERVER_REJECTION_ERROR"
|
||||
};
|
||||
|
|
@ -32,6 +34,13 @@
|
|||
return body;
|
||||
}
|
||||
|
||||
// ping the provided client_id
|
||||
message_factory.ping = function(client_id) {
|
||||
var data = {};
|
||||
var target = CLIENT_TARGET_PREFIX + client_id;
|
||||
return client_container(msg.PING_REQUEST, target, data);
|
||||
};
|
||||
|
||||
// create a login message using user/pass
|
||||
message_factory.login_with_user_pass = function(username, password) {
|
||||
var login = { username : username , password : password };
|
||||
|
|
|
|||
|
|
@ -11,20 +11,54 @@
|
|||
if ("undefined" === typeof(context.JamServer))
|
||||
return;
|
||||
|
||||
// Alias some of the globals for less typing.
|
||||
var logger = context.JK.logger;
|
||||
var server = context.JamServer;
|
||||
var messages = context.Messages;
|
||||
var msg_factory = context.message_factory;
|
||||
|
||||
var myClientId = null;
|
||||
var myPingTimer = null;
|
||||
var pingCount = 0;
|
||||
var maxPings = 5;
|
||||
|
||||
function logMessage(messageType, payload) {
|
||||
logger.debug(messageType + ": " + JSON.stringify(payload));
|
||||
}
|
||||
|
||||
function pingMyself() {
|
||||
if (!myClientId)
|
||||
return;
|
||||
pingCount++;
|
||||
message = msg_factory.ping(myClientId);
|
||||
server.send(message);
|
||||
if (pingCount > maxPings) {
|
||||
context.clearInterval(myPingTimer);
|
||||
myPingTimer = null;
|
||||
}
|
||||
}
|
||||
|
||||
function loggedIn(messageType, payload) {
|
||||
logger.debug('Logged In handler: ' + messageType + ':' + JSON.stringify(payload));
|
||||
myClientId = payload.client_id;
|
||||
myPingTimer = context.setInterval(pingMyself, 1000);
|
||||
}
|
||||
|
||||
function registerLoginPinger() {
|
||||
logger.debug("registering login -> pinger");
|
||||
server.registerMessageCallback(messages.LOGIN_ACK, loggedIn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a simple console logger for all known message types.
|
||||
*/
|
||||
this.register = function() {
|
||||
for (var msg in context.Messages) {
|
||||
logger.debug("registering " + msg);
|
||||
context.JamServer.registerMessageCallback(msg, logMessage);
|
||||
for (var message in messages) {
|
||||
logger.debug("registering " + message);
|
||||
context.JamServer.registerMessageCallback(message, logMessage);
|
||||
}
|
||||
|
||||
registerLoginPinger();
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue