class Message { constructor(id, data) { this.id = id; this.data = data; } getId() { return this.id; } getData() { return this.data; } toString() { return JSON.stringify(this); } async send(socket) { if (socket === undefined) { socket = connection.socket; } if (socket === undefined) { return; } const data = this.toString(); // logger.debug('sending data to \'' + socket.remoteAddress + ':' + socket.remotePort + '\': ' + data); await new Promise((resolve, reject) => { socket.write(data + constants.EVENT_DELIMITER, resolve); }); } } module.exports = Message;