Exemplo n.º 1
0
var anyHasListener = function (channel) {
  var sockets = channelMap.get('sockets');
  for (var i in sockets) {
    if (sockets.hasOwnProperty(i)) {
      if (channelMap.hasKey(['sockets', i].concat(channel))) {
        return true;
      }
    }
  }
  return false;
};
Exemplo n.º 2
0
Broker.prototype.publish = function (channel, message) {
  var sockets = channelMap.get('sockets');
  var sock, channelKey;
  for (var i in sockets) {
    if (sockets.hasOwnProperty(i)) {
      channelKey = ['sockets', i].concat(channel);
      if (channelMap.hasKey(channelKey)) {
        sock = channelMap.get(channelKey);
        if (sock instanceof com.ComSocket) {
          send(sock, {type: 'message', channel: channel, value: message});
        }
      }
    }
  }
};
Exemplo n.º 3
0
setInterval(function () {
  var keys = dataExpirer.extractExpiredKeys();
  var len = keys.length;
  for (var i = 0; i < len; i++) {
    dataMap.remove(keys[i]);
  }
}, EXPIRY_ACCURACY);
Exemplo n.º 4
0
var removeAllListeners = function (socket) {
  var subMap = channelMap.remove(['sockets', socket.id]);
  var channels = [];
  for (var i in subMap) {
    if (subMap.hasOwnProperty(i)) {
      channels.push(i);
    }
  }
  return channels;
};
Exemplo n.º 5
0
var run = function (query, baseKey) {
  var rebasedDataMap;
  if (baseKey) {
    rebasedDataMap = dataMap.getRaw(baseKey);
  } else {
    rebasedDataMap = dataMap;
  }

  return Function('"use strict"; return (' + query + ')(arguments[0], arguments[1], arguments[2]);')(rebasedDataMap, dataExpirer, channelMap);
};
Exemplo n.º 6
0
var removeListener = function (socket, channel) {
  channelMap.remove(['sockets', socket.id].concat(channel));
};
Exemplo n.º 7
0
var hasListener = function (socket, channel) {
  return channelMap.hasKey(['sockets', socket.id].concat(channel));
};
Exemplo n.º 8
0
var addListener = function (socket, channel) {
  channelMap.set(['sockets', socket.id].concat(channel), socket);
};
Exemplo n.º 9
0
 isSubscribed: function (command, socket) {
   var result = channelMap.hasKey(['sockets', socket.id, command.channel]);
   send(socket, {id: command.id, type: 'response', action: 'isSubscribed', channel: command.channel, value: result});
 },
Exemplo n.º 10
0
var getListeners = function (socket) {
  return channelMap.get(['sockets', socket.id]);
};