handle APISocketEvents async

This commit is contained in:
HF 2022-07-04 10:10:02 +02:00
parent e036042a3d
commit dc4e57ebaa
2 changed files with 15 additions and 4 deletions

View File

@ -79,10 +79,10 @@ class APISocketServer {
this.ping = this.ping.bind(this);
this.broadcastChatMessage = this.broadcastChatMessage.bind(this);
socketEvents.on('broadcast', this.broadcast);
socketEvents.on('onlineCounter', this.broadcastOnlineCounter);
socketEvents.on('pixelUpdate', this.broadcastPixelBuffer);
socketEvents.on('chatMessage', this.broadcastChatMessage);
socketEvents.onAsync('broadcast', this.broadcast);
socketEvents.onAsync('onlineCounter', this.broadcastOnlineCounter);
socketEvents.onAsync('pixelUpdate', this.broadcastPixelBuffer);
socketEvents.onAsync('chatMessage', this.broadcastChatMessage);
setInterval(this.ping, 45 * 1000);
}

View File

@ -22,6 +22,17 @@ class SocketEvents extends EventEmitter {
};
}
/*
* async event
*/
onAsync(evtString, cb) {
this.on(evtString, (...args) => {
setImmediate(() => {
cb(...args);
});
});
}
/*
* broadcast message via websocket
* @param message Buffer Message to send