From 6701facb0020cbbe1c8912a56544f1a0fba45a67 Mon Sep 17 00:00:00 2001 From: arshiam2 <arshiam2@illinois.edu> Date: Sun, 7 Oct 2018 23:25:41 -0500 Subject: [PATCH] udpated leaving --- README.md | 2 ++ cli/src/commands/leave.js | 24 ++++++++++++++++++++++-- introducer/index.js | 13 ------------- machine/index.js | 9 +++++++++ 4 files changed, 33 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index a4175f7..b91f6dc 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,8 @@ npm run start ``` + + ## Introducer The introducer has a list of all VMs up, and gets messages when anotehr machine joins and leaves. Based on that, it updates all the nodes membership lists. diff --git a/cli/src/commands/leave.js b/cli/src/commands/leave.js index dd2db85..d1f9eed 100644 --- a/cli/src/commands/leave.js +++ b/cli/src/commands/leave.js @@ -18,6 +18,19 @@ const process = require("process"); const socket = dgram.createSocket({ type: "udp4", reuseAddr: true }); +const machineToIps = { + "0": "172.16.138.158", + "1": "172.22.156.15", + "2": "172.22.158.15", + "3": "172.22.154.16", + "4": "172.22.156.16", + "5": "172.22.158.16", + "6": "172.22.154.17", + "8": "172.22.158.17", + "9": "172.22.154.18", + "10": "172.22.156.18" +}; + socket.bind(PORT); function sendMessage(number) { @@ -25,9 +38,16 @@ function sendMessage(number) { socket.send(message, 0, message.length, PORT, HOST, function() {}); } + +function sendMessageToNode(number) { + const message = Buffer.from(`leave ${number}`); + socket.send(message, 0, message.length, PORT, machineToIps[number], function() {}); +} + module.exports.handler = handleErrors(async (argv: {}) => { - console.log("Sending message to introducer") - let number = argv.number + console.log("Sending message to introducer"); + let number = argv.number; await sendMessage(number); + sendMessageToNode(number) process.exit(0); }); diff --git a/introducer/index.js b/introducer/index.js index 751d847..eac95c8 100644 --- a/introducer/index.js +++ b/introducer/index.js @@ -57,19 +57,6 @@ socket.on("listening", function() { ); }); -function syn(machineNumberBeingChecked) { - console.log(machineNumberBeingChecked); - console.log("my machien number" + machineNumber); - const message = Buffer.from(`check ${machineToIps[machineNumber]}`); - socket.send( - message, - 0, - message.length, - PORT, - machineToIps[machineNumberBeingChecked], - function() {} - ); -} function initialize(machineNumber, connectedTo) { const message = Buffer.from(`initialize [${connectedTo}]`); diff --git a/machine/index.js b/machine/index.js index b8f69c0..20c8da2 100644 --- a/machine/index.js +++ b/machine/index.js @@ -163,6 +163,15 @@ socket.on("message", function(message, rinfo) { if (text[0] === "ack") { updateTimeStamp(text[1]) updateStatuses() + } + + if (text[0] === "leave") { + console.log(text[1]) + const deletedConnection = Object.keys(connections).filter(c => c.toString()[0] === text[1]); + console.log(deletedConnection) + + // delete myArray["lastname"]; } + }); -- GitLab