(function(context, $) { "use strict"; context.JK = context.JK || {}; context.JK.SessionLatency = function(jamClient) { var logger = context.JK.logger; var sessionPingsOut = {}; var clientsToSessions = {}; var sessionLatency = {}; var subscribers = {}; function getSortScore(sessionId) { return sessionLatency[sessionId].sortScore; } function ensureSessionLatencyEntry(sessionId) { if (!(sessionId in sessionLatency)) { sessionLatency[sessionId] = { clientLatencies: {}, averageLatency: 0 }; } } function setInitialSortScore(session) { var i, p, score = 0, participant = null; // user has invitations for this session if ("invitations" in session) { score += 2; } for (i=0, p=session.participants.length; i