mirror of
https://github.com/yldio/copilot.git
synced 2024-12-26 20:00:05 +02:00
35 lines
646 B
JavaScript
35 lines
646 B
JavaScript
|
const Emitter = require('component-emitter');
|
||
|
|
||
|
const cdm = {};
|
||
|
|
||
|
module.exports = (server) => ({
|
||
|
on: (id) => {
|
||
|
console.log('on', cdm[id]);
|
||
|
if (cdm[id] && (cdm[id].sockets > 0)) {
|
||
|
cdm[id].sockets +=1;
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
|
||
|
let messageId = 0;
|
||
|
const interval = setInterval(() => {
|
||
|
console.log(`publishing /stats/${id}`);
|
||
|
|
||
|
server.publish(`/stats/${id}`, {
|
||
|
when: new Date().getTime(),
|
||
|
cpu: Math.random() * 100
|
||
|
});
|
||
|
}, 100);
|
||
|
|
||
|
cdm[id] = {
|
||
|
interval,
|
||
|
sockets: 1
|
||
|
};
|
||
|
},
|
||
|
off: (id) => {
|
||
|
if (!(cdm[id].sockets -= 1)) {
|
||
|
clearInterval(cdm[id].interval);
|
||
|
}
|
||
|
}
|
||
|
});
|