MWSE/Source/Notify.js

66 lines
1.5 KiB
JavaScript

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;