process.on('message',data => { const {Client} = require("./Client.js") switch(data.type) { case "CLIENT_CREATED":{ let client = new Client(); client.isProxy = true; client.proxyProcess = data.pid; client.id = data.uuid; Client.clients.set(client.id, client); break; } case "CLIENT_UPDATE_PROP":{ let client = Client.clients.get(data.uuid); client[data.name] = value; break; } case "CLIENT_SEND_MESSAGE":{ let client = Client.clients.get(data.uuid); client.send(data.message) break; } case "CLIENT_DESTROY":{ Client.clients.delete(data.uuid); break; } } }); function CLIENT_CREATED(uuid) { console.log(process.pid, "CLIENT_CREATED"); process.send({ type:'CLIENT_CREATED', uuid: uuid }) }; function CLIENT_UPDATE_PROP(uuid, name, value) { process.send({ type:'CLIENT_UPDATE_PROP', uuid: uuid, name, value }) }; function CLIENT_SEND_MESSAGE(uuid, message) { process.send({ type:'CLIENT_SEND_MESSAGE', uuid: uuid, message }) }; function CLIENT_DESTROY(uuid) { process.send({ type:'CLIENT_DESTROY', uuid: uuid }) }; exports.CLIENT_CREATED = CLIENT_CREATED; exports.CLIENT_UPDATE_PROP = CLIENT_UPDATE_PROP; exports.CLIENT_DESTROY = CLIENT_DESTROY; exports.CLIENT_SEND_MESSAGE = CLIENT_SEND_MESSAGE;