omelop
Version:
[](https://travis-ci.org/node-omelop/omelop)
69 lines • 4.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OnlineUserModule = void 0;
/*!
* Pomelo -- consoleModule onlineUser
* Copyright(c) 2012 fantasyni <fantasyni@163.com>
* MIT Licensed
*/
const omelop_logger_1 = require("omelop-logger");
const utils = require("../util/utils");
const omelop_admin_1 = require("omelop-admin");
const omelop_1 = require("../omelop");
const path = require("path");
let logger = (0, omelop_logger_1.getLogger)('omelop', path.basename(__filename));
class OnlineUserModule {
constructor(opts) {
opts = opts || {};
this.app = omelop_1.omelop.app;
this.type = opts.type || omelop_admin_1.ModuleType.pull;
this.interval = opts.interval || 5;
}
/**
* collect monitor data from monitor
*
* @param {Object} agent monitorAgent object
* @param {Object} msg client message
* @param {Function} cb callback function
* @api public
*/
monitorHandler(agent, msg, cb) {
let connectionService = this.app.components.__connection__;
if (!connectionService) {
logger.error('not support connection: %j', agent.id);
return;
}
agent.notify(OnlineUserModule.moduleId, connectionService.getStatisticsInfo());
}
masterHandler(agent, msg) {
if (!msg) {
// pull interval callback
let list = agent.typeMap['connector'];
if (!list || list.length === 0) {
return;
}
agent.notifyByType('connector', OnlineUserModule.moduleId, msg);
return;
}
let data = agent.get(OnlineUserModule.moduleId);
if (!data) {
data = {};
agent.set(OnlineUserModule.moduleId, data);
}
data[msg.serverId] = msg;
}
/**
* Handle client request
*
* @param {Object} agent masterAgent object
* @param {Object} msg client message
* @param {Function} cb callback function
* @api public
*/
clientHandler(agent, msg, cb) {
utils.invokeCallback(cb, null, agent.get(OnlineUserModule.moduleId));
}
}
exports.OnlineUserModule = OnlineUserModule;
OnlineUserModule.moduleId = 'onlineUser';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25saW5lVXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9tb2R1bGVzL29ubGluZVVzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7R0FJRztBQUNILGlEQUEwQztBQUMxQyx1Q0FBdUM7QUFDdkMsK0NBQStHO0FBRS9HLHNDQUFtQztBQUNuQyw2QkFBNkI7QUFDN0IsSUFBSSxNQUFNLEdBQUcsSUFBQSx5QkFBUyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFHNUQsTUFBYSxnQkFBZ0I7SUFRekIsWUFBWSxJQUErQztRQUN2RCxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxHQUFHLGVBQU0sQ0FBQyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLHlCQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7O01BT0U7SUFDRixjQUFjLENBQUMsS0FBbUIsRUFBRSxHQUFRLEVBQUUsRUFBbUI7UUFDN0QsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELE9BQU87U0FDVjtRQUNELEtBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWtCLEVBQUUsR0FBUTtRQUN0QyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ04seUJBQXlCO1lBQ3pCLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDNUIsT0FBTzthQUNWO1lBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2hFLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLElBQUksR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzdCLENBQUM7SUFDRDs7Ozs7OztPQU9HO0lBQ0gsYUFBYSxDQUFDLEtBQWtCLEVBQUUsR0FBUSxFQUFFLEVBQWtCO1FBQzFELEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQzs7QUE3REwsNENBK0RDO0FBN0RVLHlCQUFRLEdBQUcsWUFBWSxDQUFDIn0=